Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://salsa.debian.org/reproducible-builds/reprotest
reprotest builds the same source code twice in different environments, and then checks the binaries produced by each build for differences.
https://salsa.debian.org/reproducible-builds/reprotest
Last synced: 29 days ago
JSON representation
reprotest builds the same source code twice in different environments, and then checks the binaries produced by each build for differences.
- Host: salsa.debian.org
- URL: https://salsa.debian.org/reproducible-builds/reprotest
- Owner: reproducible-builds
- Created: 2018-05-15T15:15:46.748Z (over 6 years ago)
- Default Branch: master
- Last Synced: 2024-11-09T03:19:37.134Z (about 1 month ago)
- Stars: 1
- Forks: 12
- Open Issues: 8
-
Metadata Files:
- Readme: README-dev.rst
Awesome Lists containing this project
- awesome-software-supply-chain-security - Reproducible Builds / reprotest
README
Running the Tests
=================Tests are run with `Tox `__,
`pytest `__ and
`Coverage `__. On Debian, this
can be done with
``apt-get install python3-coverage python3-pytest tox``.To run the tests, go to the root of the repository, where ``tox.ini`` is
and run ``tox``. For more verbose output, run ``tox -- -s``.This runs the tests with no virtualization. To test that reprotest works
correctly with virtualization, you'll need to setup the virtualization
servers schroot and qemu.Some of the following instructions rely on Debian utilities. For
schroot, run ``mk-sbuild --debootstrap-include=devscripts stable``. (If
you aren't on ``amd64``, you'll have to include ``--arch``.) For qemu,
first ``apt-get install autopkgtest vmdebootstrap qemu``, then run:::
$ vmdebootstrap --verbose --serial-console --distribution=sid \
--customize=/usr/share/autopkgtest/setup-commands/setup-testbed \
--user=adt/adt --size=10000000000 --grub --image=adt-sid.raw
$ qemu-img convert -O qcow2 adt-sid.raw adt-sid.img
$ rm adt-sid.rawThe last two commands reduce the size of the image but aren't strictly
necessary. Move ``adt-sid.img`` to ``linux/`` under your home directory.To log into the schroot and qemu containers, respectively, run:
::
$ sudo schroot -c source:stable-amd64
$ qemu-system-x86_64 -enable-kvm -drive file=~/linux/adt-sid.img,if=virtio \
-net user -net nic,model=virtio -m 1024After replacing ``~`` with your home directory.
For the host system and the two containers, run:
::
$ apt-get install disorderfs
(Additionally for mk-sbuild stable, enable the backports repository.)
(Additionally for chroot, run:
$ mknod -m 666 /dev/fuse c 10 229)
$ apt-get install python3
$ apt-get install locales-allNow, finally run the tests:
::
$ REPROTEST_TEST_SERVERS=null,qemu,schroot tox -- -s
Releasing
=========When uploading to the Debian archive as usual, please also release a
signed tarball::$ TARBALL=$(dpkg-parsechangelog -SSource)_$(dpkg-parsechangelog -SVersion).tar.xz
$ gpg --detach-sign --armor --output=../${TARBALL}.asc < ../${TARBALL}And commit them to our LFS repository at https://salsa.debian.org/reproducible-builds/reproducible-lfs
After uploading, please also update the version on PyPI using::
$ python3 setup.py sdist upload --sign
Once the tracker.debian.org entry appears, consider tweeting the release on
``#reproducible-builds`` with::%twitter reprotest $VERSION has been released. Check out the changelog here: $URL