Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/.config/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 10 kB image not shown  

Quelle  user_steps.winget   Sprache: unbekannt

 
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2

# configuration to setup the dependencies in ~/lo and add make, jom and clang-format to ~/bin
# and install a wsl distro with the required packages
# this configuration is meant to be applied as the build user, and after the admin_java_and_deps one
# has been applied. It also creates a ~/lo/autogen.input with some sensible defaults that can be
# used as a template for own modifications

properties:
  assertions:
    - resource: xPSDesiredStateConfiguration/xScript
      id: prerequisitecheck
      directives:
        description: check that everything had been downloaded by the admin-step
      settings:
        GetScript: return $false
        SetSCript: return $false
        # the empty string element is so that each file can be specified with trailing comma
        TestScript: |
          $files = @(
              "apache-ant-1.10.15-bin.zip",
              "clang-format-5.0.0-win.exe",
              "jom_1_1_4.zip",
              "junit-4.10.jar",
              "make-4.2.1-msvc.exe",
              "meson-1.7.2.zip",
              "pkgconf-2.4.3.exe",
              "strawberry-perl-5.40.0.1-64bit-portable.zip",
          "")
          !(($files | foreach {Test-Path "$env:PUBLIC/Downloads/$_"}) -contains $false)
    - resource: xPSDesiredStateConfiguration/xScript
      id: wsl-check
      directives:
        description: check that wsl utility is available/working - i.e. whether wsl is installed
      settings:
        TestScript: wsl.exe --status ; return ![bool]$LASTEXITCODE
        GetScript: return $false
        SetScript: return $false
  resources:
    - resource: xPSDesiredStateConfiguration/xScript
      id: bindir
      directives:
        description: create the ~/bin directory
      settings:
        TestScript: Test-Path -Path "$env:UserProfile/bin" -PathType "Container"
        GetScript:  Test-Path -Path "$env:UserProfile/bin" -PathType "Container"
        SetScript: New-Item -ItemType "directory" -Path "$env:UserProfile" -Name "bin"
    - resource: xPSDesiredStateConfiguration/xScript
      id: lodir
      directives:
        description: create the ~/lo directory
      settings:
        TestScript: Test-Path -Path "$env:UserProfile/lo" -PathType "Container"
        GetScript:  Test-Path -Path "$env:UserProfile/lo" -PathType "Container"
        SetScript: New-Item -ItemType "directory" -Path "$env:UserProfile" -Name "lo"
    - resource: xPSDesiredStateConfiguration/xScript
      id: make
      dependsOn:
        - bindir
      directives:
        description: copy make.exe to the ~/bin directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/bin/make.exe"
        GetScript:  Test-Path -Path "$env:USERPROFILE/bin/make.exe"
        SetScript: Copy-Item -Path "$env:PUBLIC/Downloads/make-4.2.1-msvc.exe" -Destination "$env:USERPROFILE/bin/make.exe"
    - resource: xPSDesiredStateConfiguration/xScript
      id: clang-format
      dependsOn:
        - bindir
      directives:
        description: copy clang-format.exe to the ~/bin directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/bin/clang-format.exe"
        GetScript:  Test-Path -Path "$env:USERPROFILE/bin/clang-format.exe"
        SetScript: Copy-Item -LiteralPath "$env:PUBLIC/Downloads/clang-format-5.0.0-win.exe" -Destination "$env:USERPROFILE/bin/clang-format.exe"
    - resource: xPSDesiredStateConfiguration/xScript
      id: pkgconf
      dependsOn:
        - bindir
      directives:
        description: copy pkgconf-2.4.3.exe to the ~/bin directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/bin/pkgconf-2.4.3.exe"
        GetScript:  Test-Path -Path "$env:USERPROFILE/bin/pkgconf-2.4.3.exe"
        SetScript: Copy-Item -LiteralPath "$env:PUBLIC/Downloads/pkgconf-2.4.3.exe" -Destination "$env:USERPROFILE/bin/pkgconf-2.4.3.exe"
    - resource: xPSDesiredStateConfiguration/xScript
      id: junit
      dependsOn:
        - lodir
      directives:
        description: copy junit to the ~/lo directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/lo/junit-4.10.jar"
        GetScript:  Test-Path -Path "$env:USERPROFILE/lo/junit-4.10.jar"
        SetScript: Copy-Item -LiteralPath "$env:PUBLIC/Downloads/junit-4.10.jar" -Destination "$env:USERPROFILE/lo/junit-4.10.jar"
    # the DSC Archive module doesn't operate with $env:FOO / would need hardcoded paths
    - resource: xPSDesiredStateConfiguration/xScript
      id: ant-extract
      dependsOn:
        - lodir
      directives:
        description: extract ant to the ~/lo directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/lo/apache-ant-1.10.15/bin/ant"
        GetScript:  Test-Path -Path "$env:USERPROFILE/lo/apache-ant-1.10.15/bin/ant"
        SetScript: Expand-Archive -LiteralPath "$env:PUBLIC/Downloads/apache-ant-1.10.15-bin.zip" -Destination "$env:USERPROFILE/lo/"
    - resource: xPSDesiredStateConfiguration/xScript
      id: meson-extract
      dependsOn:
        - lodir
      directives:
        description: extract meson to the ~/lo directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/lo/meson-1.7.2/meson.py"
        GetScript:  Test-Path -Path "$env:USERPROFILE/lo/meson-1.7.2/meson.py"
        SetScript: Expand-Archive -LiteralPath "$env:PUBLIC/Downloads/meson-1.7.2.zip" -Destination "$env:USERPROFILE/lo/"
    - resource: xPSDesiredStateConfiguration/xScript
      id: spp-extract
      dependsOn:
        - lodir
      directives:
        description: extract strawberry-perl-portable to the ~/lo directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/lo/spp/perl/bin/perl.exe"
        GetScript:  Test-Path -Path "$env:USERPROFILE/lo/spp/perl/bin/perl.exe"
        SetScript: Expand-Archive -LiteralPath "$env:PUBLIC/Downloads/strawberry-perl-5.40.0.1-64bit-portable.zip" -Destination "$env:USERPROFILE/lo/spp"
    - resource: xPSDesiredStateConfiguration/xScript
      id: spp-install-font-ttf
      dependsOn:
        - spp-extract
      directives:
        description: install perl-font-TTF to spp via cpan
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/lo/spp/perl/site/lib/Font/TTF.pm"
        GetScript:  Test-Path -Path "$env:USERPROFILE/lo/spp/perl/site/lib/Font/TTF.pm"
        SetScript: |
          $env:Path = "$env:USERPROFILE/lo/spp/c/bin;$env:USERPROFILE/lo/spp/perl/bin;$env:path"
          cpanm Font::TTF
    - resource: xPSDesiredStateConfiguration/xScript
      id: jom
      dependsOn:
        - bindir
        - lodir
      directives:
        description: extract and copy jom to the ~/bin directory
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/bin/jom.exe"
        GetScript:  Test-Path -Path "$env:USERPROFILE/bin/jom.exe"
        SetScript: |
          Expand-Archive -LiteralPath "$env:PUBLIC/Downloads/jom_1_1_4.zip" -Destination "$env:USERPROFILE/lo/jom_unpack"
          Copy-Item -LiteralPath "$env:USERPROFILE/lo/jom_unpack/jom.exe" -Destination "$env:USERPROFILE/bin/jom.exe"
          Remove-Item -LiteralPath "$env:USERPROFILE/lo/jom_unpack" -Recurse
    - resource: xPSDesiredStateConfiguration/xScript
      id: gitsettings
      directives:
        description: configure git to use protocol.version 2 and core.autocrlf false
      settings:
        TestScript: return $false
        GetScript:  return $false
        SetScript: |
          git config --global core.autocrlf false
          git config --global protocol.version 2
    - resource: xPSDesiredStateConfiguration/xScript
      id: autogensnippet
      dependsOn:
        - lodir
      directives:
        description: create an autogen.input snippet with some sensible defaults
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/lo/autogen.input"
        GetScript:  Test-Path -Path "$env:USERPROFILE/lo/autogen.input"
        SetScript: |
          New-Item -Path "$env:USERPROFILE/lo" -Name "autogen.input" -ItemType "file" -Value "# adjust to your needs
          --host=x86_64-pc-cygwin
          #--host=i686-pc-cygwin
          --disable-ccache
          --with-visual-studio=2022
          --enable-python=fully-internal
          --without-lxml
          --disable-online-update
          --with-external-tar=$env:USERPROFILE\lo\lo-externaltar
          --with-strawberry-perl-portable=$env:USERPROFILE\lo\spp
          --with-ant-home=$env:USERPROFILE\lo\apache-ant-1.10.15
          --with-junit=$env:USERPROFILE\lo\junit-4.10.jar
          --with-doxygen=$env:USERPROFILE\lo\spp\c\bin\doxygen.exe
          #--enable-odk
          #--disable-dependency-tracking
          #--enable-dbgutil
          #--with-lang=fr ja
          MESON=$env:USERPROFILE\lo\meson-1.7.2\meson.py
          PKG_CONFIG=pkgconf-2.4.3.exe
          "
    - resource: xPSDesiredStateConfiguration/xScript
      id: cloud-init-dir
      directives:
        description: create the ~/.cloud-init directory
      settings:
        TestScript: Test-Path -Path "$env:UserProfile/.cloud-init" -PathType "Container"
        GetScript:  Test-Path -Path "$env:UserProfile/.cloud-init" -PathType "Container"
        SetScript: New-Item -ItemType "directory" -Path "$env:UserProfile" -Name ".cloud-init"
    - resource: xPSDesiredStateConfiguration/xScript
      id: cloud-init-config
      dependsOn:
        - cloud-init-dir
      directives:
        description: create a cloud-init configuration to automate the installation of Ubuntu 24.04
      settings:
        TestScript: Test-Path -Path "$env:USERPROFILE/.cloud-init/Ubuntu-24.04.user-data"
        GetScript:  Test-Path -Path "$env:USERPROFILE/.cloud-init/Ubuntu-24.04.user-data"
        SetScript: |
          New-Item -Path "$env:USERPROFILE/.cloud-init" -Name "Ubuntu-24.04.user-data" -ItemType "file" -Value '#cloud-config
          users:
            - name: ubuntu
              # ubuntu
              password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
              groups: [user, adm, dialout, cdrom, floppy, sudo, audio, dip, video, plugdev, netdev]
              shell: /bin/bash

          write_files:
          - path: /etc/wsl.conf
            append: true
            content: |
              [user]
              default=ubuntu

          packages: [pkg-config, automake, make, gperf, bison, nasm, flex, zip, libfont-ttf-perl]
          '
    - resource: xPSDesiredStateConfiguration/xScript
      id: install-Ubuntu
      dependsOn:
        - cloud-init-config
      directives:
        description: installs Ubuntu with help of the cloud-init file
      settings:
        TestScript: wsl.exe --list ; return ![bool]$LASTEXITCODE
        GetScript:  wsl.exe --list ; return ![bool]$LASTEXITCODE
        SetScript: |
          wsl.exe --install --no-launch --distribution Ubuntu-24.04
          ubuntu2404.exe install --root
          ubuntu2404.exe run cloud-init status --wait
  configurationVersion: 0.2.0

[ Dauer der Verarbeitung: 0.57 Sekunden  (vorverarbeitet)  ]