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 )