diff -Nru reprotest-0.7.8/debian/changelog reprotest-0.7.9/debian/changelog --- reprotest-0.7.8/debian/changelog 2018-07-09 13:33:05.000000000 +0000 +++ reprotest-0.7.9/debian/changelog 2019-09-15 16:08:10.000000000 +0000 @@ -1,3 +1,39 @@ +reprotest (0.7.9) unstable; urgency=medium + + [ Dmitry Shachnev ] + * reprotest/build.py: + - do not use faketime at all when asked to not vary time. Closes: #930592. + + [ Ryan Scott ] + * reprotest/__init__.py: fix --extra-build. + + [ Thomas Coldrick ] + * reprotest/lib/adt_testbed.py: add FedoraInterface. + + [ AJ Jordan ] + * reprotest/__init__.py: reference --no-clean-on-error in --store-dir text. + + [ Arnout Engelen ] + * README.rst: add command-line example for make-based program. + + [ Chris Lamb ] + * Add a .gitlab-ci.yml. + * Publish built packages via aptly. + + [ Holger Levsen ] + * setup.py: bump version number for the next release. + * d/control: + - bump standards version to 4.4.0, no changes needed. + - drop debian/compat and build-depend on debhelper-compat instead. + - bump build-depends on debhelper-compat=12, no changes + - drop versioned recommends, the versions are fullfilled in oldstable. + - stop declaring "X-Python3-Version: >= 3.5", this is the minimal version + in oldstable anyway. + - drop Ximin Luo from uploaders, thanks for all your work, Ximin! + - add myself to uploaders. + + -- Holger Levsen Sun, 15 Sep 2019 18:08:10 +0200 + reprotest (0.7.8) unstable; urgency=medium * Team upload. diff -Nru reprotest-0.7.8/debian/compat reprotest-0.7.9/debian/compat --- reprotest-0.7.8/debian/compat 2018-07-09 13:01:04.000000000 +0000 +++ reprotest-0.7.9/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -11 diff -Nru reprotest-0.7.8/debian/control reprotest-0.7.9/debian/control --- reprotest-0.7.8/debian/control 2018-07-09 13:16:00.000000000 +0000 +++ reprotest-0.7.9/debian/control 2019-09-15 15:45:19.000000000 +0000 @@ -1,12 +1,13 @@ Source: reprotest Maintainer: Reproducible builds folks -Uploaders: Ceridwen , Ximin Luo +Uploaders: Ceridwen , + Holger Levsen Section: devel Priority: optional -Standards-Version: 4.1.5 +Standards-Version: 4.4.0 Rules-Requires-Root: no Build-Depends: - debhelper (>= 11), + debhelper-compat (=12), dh-python, python3-all, python3-setuptools, @@ -27,7 +28,6 @@ xxd Vcs-Git: https://salsa.debian.org/reproducible-builds/reprotest.git Vcs-Browser: https://salsa.debian.org/reproducible-builds/reprotest -X-Python3-Version: >= 3.5 Package: reprotest Architecture: all @@ -40,8 +40,8 @@ python3-rstr, ${misc:Depends} Recommends: - diffoscope (>= 84), - disorderfs (>= 0.5.2), + diffoscope, + disorderfs, faketime, locales-all, sudo, diff -Nru reprotest-0.7.8/debian/rules reprotest-0.7.9/debian/rules --- reprotest-0.7.8/debian/rules 2018-07-09 13:12:53.000000000 +0000 +++ reprotest-0.7.9/debian/rules 2019-09-15 14:03:42.000000000 +0000 @@ -38,7 +38,7 @@ endif endif -# This is mean to be run by autopkgtest, and runs against the *installed* +# This is meant to be run by autopkgtest, and runs against the *installed* # version of reprotest. To run it against the development version, give # PYTHONPATH=$PWD. (Or just use override_dh_auto_test, above.) autopkgtest-pytest: diff -Nru reprotest-0.7.8/Dockerfile reprotest-0.7.9/Dockerfile --- reprotest-0.7.8/Dockerfile 1970-01-01 00:00:00.000000000 +0000 +++ reprotest-0.7.9/Dockerfile 2019-09-15 13:48:20.000000000 +0000 @@ -0,0 +1,9 @@ +FROM debian:stretch +RUN apt-get update -q && DEBIAN_FRONTEND=noninteractive apt-get install -qy --no-install-recommends \ + python3 python3-setuptools ca-certificates \ + diffoscope disorderfs faketime locales-all sudo \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /reprotest +COPY . . +RUN python3 setup.py install +ENTRYPOINT ["reprotest"] diff -Nru reprotest-0.7.8/.dockerignore reprotest-0.7.9/.dockerignore --- reprotest-0.7.8/.dockerignore 1970-01-01 00:00:00.000000000 +0000 +++ reprotest-0.7.9/.dockerignore 2019-09-15 13:48:20.000000000 +0000 @@ -0,0 +1,4 @@ +Dockerfile +.dockerignore +.git +.gitignore diff -Nru reprotest-0.7.8/.gitlab-ci.yml reprotest-0.7.9/.gitlab-ci.yml --- reprotest-0.7.8/.gitlab-ci.yml 1970-01-01 00:00:00.000000000 +0000 +++ reprotest-0.7.9/.gitlab-ci.yml 2019-09-15 13:46:58.000000000 +0000 @@ -0,0 +1,12 @@ +image: registry.salsa.debian.org/salsa-ci-team/ci-image-git-buildpackage:latest + +pages: + stage: deploy + except: + - tags + artifacts: + paths: + - public + script: + - gitlab-ci-git-buildpackage-all + - gitlab-ci-aptly diff -Nru reprotest-0.7.8/README.rst reprotest-0.7.9/README.rst --- reprotest-0.7.8/README.rst 2017-12-18 21:32:58.000000000 +0000 +++ reprotest-0.7.9/README.rst 2019-09-15 13:48:20.000000000 +0000 @@ -27,6 +27,9 @@ $ reprotest . $ reprotest . -vv -- null -d # for very verbose output + # Build a make-based program + $ reprotest "make clean && make" mybinary + # Build the given Debian source package in an schroot # See https://wiki.debian.org/sbuild for instructions on setting that up. $ reprotest reprotest_0.3.3.dsc -- schroot unstable-amd64-sbuild diff -Nru reprotest-0.7.8/reprotest/build.py reprotest-0.7.9/reprotest/build.py --- reprotest-0.7.8/reprotest/build.py 2017-12-18 21:32:58.000000000 +0000 +++ reprotest-0.7.9/reprotest/build.py 2019-09-15 13:48:23.000000000 +0000 @@ -357,6 +357,8 @@ @tool_required("faketime") def faketime(ctx, build, vary): + if "time" not in ctx.spec: + return build if not vary: # fix the time at base_faketime faket = ctx.base_faketime diff -Nru reprotest-0.7.8/reprotest/__init__.py reprotest-0.7.9/reprotest/__init__.py --- reprotest-0.7.8/reprotest/__init__.py 2018-07-09 13:11:23.000000000 +0000 +++ reprotest-0.7.9/reprotest/__init__.py 2019-09-15 13:45:34.000000000 +0000 @@ -560,7 +560,8 @@ group1.add_argument('--store-dir', default=None, metavar='DIRECTORY', help='Save the artifacts in this directory, which must be empty or ' 'non-existent. Otherwise, the artifacts will be deleted and you only ' - 'see their hashes (if reproducible) or the diff output (if not).') + 'see their hashes (if reproducible) or the diff output (if not). See ' + 'also --no-clean-on-error.') group1.add_argument('--variations', default="+all", help='Build variations to test as a comma-separated list of variation ' 'names. Default is "+all", equivalent to "%s", testing all available ' @@ -771,7 +772,8 @@ source_pattern = values.source_pattern + (" " + source_pattern if source_pattern else "") # Variations args - specs = [get_main_spec(parsed_args)] + spec = get_main_spec(parsed_args) + specs = [spec] if parsed_args.auto_build: check_func = check_auto elif parsed_args.env_build: diff -Nru reprotest-0.7.8/reprotest/lib/adt_testbed.py reprotest-0.7.9/reprotest/lib/adt_testbed.py --- reprotest-0.7.8/reprotest/lib/adt_testbed.py 2017-12-18 21:32:58.000000000 +0000 +++ reprotest-0.7.9/reprotest/lib/adt_testbed.py 2019-09-15 13:45:34.000000000 +0000 @@ -39,12 +39,14 @@ from reprotest.lib.system_interface.debian import DebianInterface from reprotest.lib.system_interface.arch import ArchInterface +from reprotest.lib.system_interface.fedora import FedoraInterface from reprotest.lib import adtlog from reprotest.lib import VirtSubproc SYSTEM_INTERFACES = { 'debian': DebianInterface, - 'arch': ArchInterface + 'arch': ArchInterface, + 'fedora': FedoraInterface, } timeouts = {'short': 100, 'copy': 300, 'install': 3000, 'test': 10000, diff -Nru reprotest-0.7.8/reprotest/lib/system_interface/fedora.py reprotest-0.7.9/reprotest/lib/system_interface/fedora.py --- reprotest-0.7.8/reprotest/lib/system_interface/fedora.py 1970-01-01 00:00:00.000000000 +0000 +++ reprotest-0.7.9/reprotest/lib/system_interface/fedora.py 2019-09-15 13:45:34.000000000 +0000 @@ -0,0 +1,21 @@ +import subprocess + +from . import SystemInterface + +class FedoraInterface(SystemInterface): + """ + SystemInterface implementation for Fedora hosts. Contains commands + that are specific to the Fedora toolchain. + """ + + def get_arch(self): + return ['uname', '-m'] + + def get_installed_packages(self, target_file): + return ['sh', '-ec', 'rpm -qa > %s' % target_file.tb] + + def can_query_packages(self): + try: + return subprocess.check_call(['which', 'rpm'],stdout=subprocess.DEVNULL) == 0 + except subprocess.CalledProcessError: + return 0 diff -Nru reprotest-0.7.8/setup.py reprotest-0.7.9/setup.py --- reprotest-0.7.8/setup.py 2018-06-03 13:54:53.000000000 +0000 +++ reprotest-0.7.9/setup.py 2019-09-15 14:14:22.000000000 +0000 @@ -6,7 +6,7 @@ from setuptools import setup, find_packages setup(name='reprotest', - version='0.7.8', + version='0.7.9', description='Build packages and check them for reproducibility.', long_description=open('README.rst', encoding='utf-8').read(), author='Ximin Luo, Ceridwen',