Closed malcyon closed 2 years ago
Adding this to the 4.3
branch so that it does not break any 4.2
builds.
Below is my test plan. Everything looks good to me. The chromedriver
and headless_shell
will now have the architecture appended to the end of the file name.
Edit data.yml to point to snapshot tarballs on local disk
graylog-enterprise:
source: file:///home/jenkins/fpm-recipes/recipes/graylog-enterprise/graylog-enterprise-4.3.0-SNAPSHOT-20220118174216.tgz
sha256: fe6b1106bb1f274fecd9ba7433e7c45ed554389155fa3035e0e1ae9bf7005dc5
graylog-enterprise-plugins:
source: file:///home/jenkins/fpm-recipes/recipes/graylog-enterprise-plugins/graylog-enterprise-plugins-4.3.0-SNAPSHOT-20220118174216.tgz
sha256: 5b9b1bedb134b3f0b66c56c1d22a9ba96fef75d28dc27ea4048531ea134c52bc
Build the arch-specific packages
docker run -it -v /home/donald/src/fpm-recipes:/home/jenkins/fpm-recipes -w/home/jenkins/fpm-recipes/recipes/graylog-enterprise fpm-test:latest /bin/bash
cd recipes/graylog-enterprise
export PKG_ARCH=amd64
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target deb /home/jenkins/fpm-recipes/recipes/graylog-enterprise/recipe.rb
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target rpm /home/jenkins/fpm-recipes/recipes/graylog-enterprise/recipe.rb
export PKG_ARCH=arm64
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target deb /home/jenkins/fpm-recipes/recipes/graylog-enterprise/recipe.rb
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target rpm /home/jenkins/fpm-recipes/recipes/graylog-enterprise/recipe.rb
cd ../graylog-enterprise-plugins
export PKG_ARCH=amd64
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target deb /home/jenkins/fpm-recipes/recipes/graylog-enterprise-plugins/recipe.rb
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target rpm /home/jenkins/fpm-recipes/recipes/graylog-enterprise-plugins/recipe.rb
export PKG_ARCH=arm64
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target rpm /home/jenkins/fpm-recipes/recipes/graylog-enterprise-plugins/recipe.rb
fpm-cook --tmp-root /tmp/fpm-cook --pkg-dir /home/jenkins/fpm-recipes/packages/test package --no-deps --target deb /home/jenkins/fpm-recipes/recipes/graylog-enterprise-plugins/recipe.rb
Ensure architecture is correct
dpkg-deb -I ./graylog-enterprise_4.2.5-1_amd64.deb | grep Architecture
dpkg-deb -I ./graylog-enterprise_4.2.5-1_arm64.deb | grep Architecture
rpm -qpi ./graylog-enterprise-4.2.5-1.aarch64.rpm | grep Architecture
rpm -qpi ./graylog-enterprise-4.2.5-1.x86_64.rpm | grep Architecture
dpkg-deb -I ./graylog-enterprise-plugins_4.2.5-1_amd64.deb | grep Architecture
dpkg-deb -I ./graylog-enterprise-plugins_4.2.5-1_arm64.deb | grep Architecture
rpm -qpi ./graylog-enterprise-plugins-4.2.5-1.aarch64.rpm | grep Architecture
rpm -qpi ./graylog-enterprise-plugins-4.2.5-1.x86_64.rpm | grep Architecture
Ensure all the files still exist and are in the right place
dpkg-deb -c graylog-enterprise_4.2.5-1_amd64.deb | awk '{print $6}' | sort > graylog-enterprise_4.2.5-1_amd64.deb.out
dpkg-deb -c graylog-enterprise_4.2.5-1_arm64.deb | awk '{print $6}' | sort > graylog-enterprise_4.2.5-1_arm64.deb.out
dpkg-deb -c graylog-enterprise_4.2.5-1_all.deb | awk '{print $6}' | sort > graylog-enterprise_4.2.5-1_all.deb.out
dpkg-deb -c graylog-enterprise-plugins_4.2.5-1_all.deb | awk '{print $6}' | sort > graylog-enterprise-plugins_4.2.5-1_all.deb.out
dpkg-deb -c graylog-enterprise-plugins_4.2.5-1_amd64.deb | awk '{print $6}' | sort > graylog-enterprise-plugins_4.2.5-1_amd64.deb.out
dpkg-deb -c graylog-enterprise-plugins_4.2.5-1_arm64.deb | awk '{print $6}' | sort > graylog-enterprise-plugins_4.2.5-1_arm64.deb.out
diff graylog-enterprise_4.2.5-1_all.deb.out graylog-enterprise_4.2.5-1_amd64.deb.out
diff graylog-enterprise_4.2.5-1_all.deb.out graylog-enterprise_4.2.5-1_arm64.deb.out
diff graylog-enterprise-plugins_4.2.5-1_all.deb.out graylog-enterprise-plugins_4.2.5-1_amd64.deb.out
diff graylog-enterprise-plugins_4.2.5-1_all.deb.out graylog-enterprise-plugins_4.2.5-1_arm64.deb.out
Here is the bin directory for graylog-enterprise
on amd64
:
donald@laptop:~/src/fpm-recipes/packages/test$ grep bin graylog-enterprise_4.2.5-1_amd64.deb.out
./usr/share/graylog-server/bin/
./usr/share/graylog-server/bin/chromedriver_amd64
./usr/share/graylog-server/bin/chromedriver_start.sh
./usr/share/graylog-server/bin/graylog-server
./usr/share/graylog-server/bin/headless_shell_amd64
Here is the bin directory for graylog-enterprise-plugins
on amd64
:
donald@laptop:~/src/fpm-recipes/packages/test$ grep bin graylog-enterprise-plugins_4.2.5-1_amd64.deb.out
./usr/share/graylog-server/bin/
./usr/share/graylog-server/bin/chromedriver_amd64
./usr/share/graylog-server/bin/chromedriver_start.sh
./usr/share/graylog-server/bin/headless_shell_amd64
Next steps:
gl2-build-pkg
to have it build arch-specific packages for builds past a certain version.
Adding architecture-specific
chromedriver
andheadless_shell
into enterprise packages.See: https://github.com/Graylog2/ci-infrastructure/issues/27