]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add reproducible checksum check
authorBastian Dehn <hhaalo@arcor.de>
Mon, 11 May 2026 18:02:23 +0000 (20:02 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 11 May 2026 18:03:56 +0000 (20:03 +0200)
builder/run

index 4a9cee70e7373018d93c993378ff0637b47bad58..53f6f58b442331ddba865d3edd14a7ec9f7179e2 100644 (file)
@@ -11,6 +11,17 @@ create_package_checksum()
        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
@@ -29,6 +40,25 @@ build_package()
        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
@@ -47,18 +77,23 @@ build_imagemagick_package()
        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
@@ -68,11 +103,15 @@ main()
        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