sha256sum *.deb > $package.sha256 || return $?
}
+reproducible_package_checksum_check()
+{
+ local package=$(find . -name '*.deb' | head --lines=1)
+ cp /src/build/$package.sha256 . || return $?
+ sha256sum -c $package.sha256
+}
+
+################################################################################
+# normal build #
+################################################################################
+
run_tests()
{
mkdir --parents /app/tests && cd /app/tests
make --jobs=$(nproc) package || return $?
}
+copy_package()
+{
+ cp /app/build/*.deb /src/build/ || return $?
+ cp /app/build/*.sha256 /src/build/ || return $?
+}
+
+build_reproducible_package()
+{
+ mkdir --parents /app/reproducible-build && cd /app/reproducible-build
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DIMAGEMAGICK=OFF \
+ -DEXTRA_VERSION="-$ID-$VERSION_CODENAME" /src || return $?
+ make --jobs=$(nproc) package || return $?
+}
+
+################################################################################
+# with imagemagick library #
+################################################################################
+
run_imagemagick_tests()
{
mkdir --parents /app/imagemagick-tests && cd /app/imagemagick-tests
make --jobs=$(nproc) package || return $?
}
-copy_package()
-{
- cp /app/build/*.deb /src/build/ || return $?
- cp /app/build/*.sha256 /src/build/ || return $?
-}
-
copy_imagemagick_package()
{
cp /app/imagemagick-build/*.deb /src/build/ || return $?
cp /app/imagemagick-build/*.sha256 /src/build/ || return $?
}
+build_imagemagick_reproducible_package()
+{
+ mkdir --parents /app/imagemagick-reproducible-build && cd /app/imagemagick-reproducible-build
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DIMAGEMAGICK=ON \
+ -DEXTRA_VERSION="-imagemagick-$ID-$VERSION_CODENAME" /src || return $?
+ make --jobs=$(nproc) package || return $?
+}
+
+################################################################################
+
main()
{
source /etc/os-release
build_package || return $?
create_package_checksum || return $?
copy_package || return $?
+ build_reproducible_package || return $?
+ reproducible_package_checksum_check || return $?
run_imagemagick_tests || return $?
build_imagemagick_package || return $?
create_package_checksum || return $?
- copy_imagemagick_package
+ copy_imagemagick_package || return $?
+ build_imagemagick_reproducible_package || return $?
+ reproducible_package_checksum_check || return $?
}
main
\ No newline at end of file