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