github.com/liamawhite/cli-with-i18n@v6.32.1-0.20171122084555-dede0a5c3448+incompatible/ci/cli/tasks/create-installers.yml (about)

     1  ---
     2  platform: linux
     3  
     4  image_resource:
     5    type: docker-image
     6    source:
     7      repository: cfcli/cli-package
     8  
     9  inputs:
    10  - name: cli-ci
    11  - name: extracted-binaries
    12  
    13  outputs:
    14  - name: packaged
    15  
    16  run:
    17    path: bash
    18    args:
    19    - -c
    20    - |
    21      set -ex
    22      set -o pipefail
    23  
    24      root=$PWD
    25  
    26      cat<< EOF >~/.rpmmacros
    27      CF CLI Team <cf-cli-eng@pivotal.io>
    28      EOF
    29  
    30      VERSION=$(cat cli-ci/ci/VERSION)
    31      RPM_VERSION=$(echo $VERSION | sed 's/-/_/')
    32  
    33      echo "Building 32-bit Debian package"
    34      (
    35          SIZE="$(BLOCKSIZE=1000 du $root/extracted-binaries/cf-cli_linux_i686 | cut -f 1)"
    36  
    37          pushd cli-ci/ci/installers/deb
    38            mkdir -p cf/usr/bin cf/usr/share/doc/cf-cli/ cf/DEBIAN cf/usr/share/bash-completion/completions
    39  
    40            cp copyright_preamble cf/DEBIAN/copyright
    41            sed 's/^$/ ./' ../../../LICENSE >> cf/DEBIAN/copyright
    42            cat copyright_comment_header >> cf/DEBIAN/copyright
    43            sed 's/^$/ ./' ../../license/3RD-PARTY-LICENSES >> cf/DEBIAN/copyright
    44  
    45            cp cf/DEBIAN/copyright cf/usr/share/doc/cf-cli/copyright
    46  
    47            cp ../../license/NOTICE cf/usr/share/doc/cf-cli
    48            cp ../../license/LICENSE-WITH-3RD-PARTY-LICENSES cf/usr/share/doc/cf-cli/LICENSE
    49  
    50            cp control.template cf/DEBIAN/control
    51            echo "Installed-Size: ${SIZE}" >> cf/DEBIAN/control
    52            echo "Version: ${VERSION}" >> cf/DEBIAN/control
    53            echo "Architecture: i386" >> cf/DEBIAN/control
    54  
    55            cp ../completion/cf cf/usr/share/bash-completion/completions/cf
    56  
    57            cp $root/extracted-binaries/cf-cli_linux_i686 cf/usr/bin/cf
    58  
    59            fakeroot dpkg --build cf cf-cli-installer_i686.deb
    60            mv cf-cli-installer_i686.deb $root/packaged
    61            rm -rf cf
    62          popd
    63      )
    64  
    65      echo "Building 64-bit Debian package"
    66      (
    67          SIZE="$(BLOCKSIZE=1000 du $root/extracted-binaries/cf-cli_linux_x86-64 | cut -f 1)"
    68  
    69          pushd cli-ci/ci/installers/deb
    70            mkdir -p cf/usr/bin cf/usr/share/doc/cf-cli/ cf/DEBIAN cf/usr/share/bash-completion/completions
    71  
    72            cp copyright_preamble cf/DEBIAN/copyright
    73            sed 's/^$/ ./' ../../../LICENSE >> cf/DEBIAN/copyright
    74            cat copyright_comment_header >> cf/DEBIAN/copyright
    75            sed 's/^$/ ./' ../../license/3RD-PARTY-LICENSES >> cf/DEBIAN/copyright
    76  
    77            cp cf/DEBIAN/copyright cf/usr/share/doc/cf-cli/copyright
    78  
    79            cp ../../license/NOTICE cf/usr/share/doc/cf-cli
    80            cp ../../license/LICENSE-WITH-3RD-PARTY-LICENSES cf/usr/share/doc/cf-cli/LICENSE
    81  
    82            cp control.template cf/DEBIAN/control
    83            echo "Installed-Size: ${SIZE}" >> cf/DEBIAN/control
    84            echo "Version: ${VERSION}" >> cf/DEBIAN/control
    85            echo "Architecture: amd64" >> cf/DEBIAN/control
    86  
    87            cp ../completion/cf cf/usr/share/bash-completion/completions/cf
    88  
    89            cp $root/extracted-binaries/cf-cli_linux_x86-64 cf/usr/bin/cf
    90  
    91            fakeroot dpkg --build cf cf-cli-installer_x86-64.deb
    92            mv cf-cli-installer_x86-64.deb $root/packaged
    93          popd
    94      )
    95  
    96      echo "Building 32-bit RedHat package"
    97      (
    98        pushd cli-ci/ci/installers/rpm
    99          cp $root/extracted-binaries/cf-cli_linux_i686 cf
   100          cp ../../license/NOTICE .
   101          cp ../../license/LICENSE-WITH-3RD-PARTY-LICENSES LICENSE
   102          cp ../completion/cf cf.bash
   103          echo "Version: ${RPM_VERSION}" > cf-cli.spec
   104          cat cf-cli.spec.template >> cf-cli.spec
   105          rpmbuild --target i386 --define "_topdir $(pwd)/build" -bb cf-cli.spec
   106          mv build/RPMS/i386/cf-cli*.rpm $root/packaged/cf-cli-installer_i686.rpm
   107        popd
   108      )
   109  
   110      echo "Building 64-bit RedHat package"
   111      (
   112        pushd cli-ci/ci/installers/rpm
   113          cp $root/extracted-binaries/cf-cli_linux_x86-64 cf
   114          cp ../../license/NOTICE .
   115          cp ../../license/LICENSE-WITH-3RD-PARTY-LICENSES LICENSE
   116          cp ../completion/cf cf.bash
   117          echo "Version: ${RPM_VERSION}" > cf-cli.spec
   118          cat cf-cli.spec.template >> cf-cli.spec
   119          rpmbuild --target x86_64 --define "_topdir $(pwd)/build" -bb cf-cli.spec
   120          mv build/RPMS/x86_64/cf-cli*.rpm $root/packaged/cf-cli-installer_x86-64.rpm
   121        popd
   122      )
   123  
   124      echo "Building OS X installer"
   125      (
   126        SIZE="$(BLOCKSIZE=1000 du $root/extracted-binaries/cf-cli_osx | cut -f 1)"
   127  
   128        pushd cli-ci/ci/installers/osx
   129          sed -i -e "s/VERSION/${VERSION}/g" Distribution
   130          sed -i -e "s/SIZE/${SIZE}/g" Distribution
   131          mkdir -p cf-cli/usr/local/bin cf-cli/usr/local/share/doc/cf-cli
   132  
   133          cp $root/extracted-binaries/cf-cli_osx cf-cli/usr/local/bin/cf
   134          cp ../../license/NOTICE cf-cli/usr/local/share/doc/cf-cli
   135          cp ../../license/LICENSE-WITH-3RD-PARTY-LICENSES cf-cli/usr/local/share/doc/cf-cli/LICENSE
   136          chmod -R go-w cf-cli
   137          pushd cf-cli
   138            find usr | cpio -o --format=odc | gzip -c > ../Payload
   139          popd
   140          ls4mkbom cf-cli | sed 's/1000\/1000/0\/80/' > bom_list
   141          mkbom -i bom_list Bom
   142          mv Bom Payload com.cloudfoundry.cli.pkg
   143          xar -c --compression none -f cf-cli-installer_osx.pkg com.cloudfoundry.cli.pkg Distribution
   144          mv cf-cli-installer_osx.pkg $root/packaged/cf-cli-installer_osx.pkg
   145        popd
   146      )