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