openSUSE:Reproducible openSUSE/Part2

Jump to: navigation, search

This is documentation Part 2 of Bernhard's R-B-OS - about making enough packages reproducible for a small DVD with some graphical UI. It is sponsored by a grant from the nice people at the NLNet foundation.

package sources are collected in https://build.opensuse.org/project/show/home:bmwiedemann:reproducible:distribution:ring1

Note: building with pbuild is significantly slower here, because dependency resolution is implemented in pure perl and takes a minute to figure out what to build next.

How to build

Ensure you have enough disk space. The binaries need 460GB and the sources another 60GB. Plus builds need another 150GB in /var/tmp with the default build.sh setting of '--buildjobs 2' A full build needs 1-4 weeks.

zypper in osc qemu

Install the `build` tool from https://build.opensuse.org/package/show/home:bmwiedemann:reproducible:distribution:ring1/build (needed for emacs, colord and python-lxml) via

osc getbinaries home:bmwiedemann:reproducible:distribution:ring1 build standard x86_64
sudo rpm -U --oldpackage binaries/build-20241114-1.1.noarch.rpm
osc co home:bmwiedemann:reproducible:distribution:ring1 && cd $_
ln -s 000pbuildconf/_* .
sh 000pbuildconf/sha256sums.src
# => 89b83cb4978ba1298730f771298c22a0e1ce0f5b489386598449921099f3c8ae
sh 000pbuildconf/build.sh
# => da22ee7978861e59a3e4611b86f9c3bfc8dfc9779d38d35eb2b5ae3a8e8b8c36

How to run a minimal VM built from this (credentials are user=root pass=nots3cr3t ):

unrpm /path/to/altimagebuild-1*.rpm
qemu-kvm -drive format=raw,file=var/lib/altimagebuild-x86_64.img -m 1000 -serial stdio -vnc :99

Encountered issues/fixes

worked around

remaining issues