perfsonar / unibuild

A kit for building repositories of packaged software
Apache License 2.0
1 stars 0 forks source link

Debian orig tarball should exclude unibuild directory #40

Closed laeti-tia closed 6 months ago

laeti-tia commented 7 months ago

A change in the unibuild-packaging directory, for example correcting a Debian packaging file or even an RPM spec file, will create a new orig tarball (with a different checksum). This makes automatically releasing a new Debian package from the same source impossible. For example, the orig tarball for 5.0.8-1 and 5.0.8-2 should be the same, as such a new package release must contain the same source code. As per Debian packaging guidelines, the orig tarball should only contain the software's source code, not its packaging specifications.

mfeit-internet2 commented 7 months ago

Done.

laeti-tia commented 6 months ago

I'm trying out this change and have the following error using the latest Unibuild images (as per last comment), also seen in the latest Jenkins builds:

Build Package pscheduler-account 5.1.0~a1.0~20240219131141

# Note that we ignore unibuild-packaging differences here because that
# directory it will have been deleted from the .orig tarball.
(((( \
    cd unibuild-work/build/pscheduler-account && dpkg-buildpackage -sa \
        '--diff-ignore=^unibuild-packaging/.*$' \
        --root-command=fakeroot --no-sign 2>&1 ; \
    echo $? >&3 \
) \
| tee unibuild-log >&4) 3>&1) \
| (read XS; exit $XS) \
) 4>&1
dpkg-buildpackage: info: source package pscheduler-account
dpkg-buildpackage: info: source version 5.1.0~a1.0~20240219131141-1
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by perfSONAR developers <debian@perfsonar.net>
 dpkg-source --diff-ignore=^unibuild-packaging/.*$ --before-build .
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
make[1]: Entering directory '/Users/laeti/Jobs/GÉANT/Code/github/pscheduler/pscheduler-account/unibuild-work/build/pscheduler-account'
dh clean 
   dh_clean
make[1]: Leaving directory '/Users/laeti/Jobs/GÉANT/Code/github/pscheduler/pscheduler-account/unibuild-work/build/pscheduler-account'
 dpkg-source --diff-ignore=^unibuild-packaging/.*$ -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building pscheduler-account using existing ./pscheduler-account_5.1.0~a1.0~20240219131141.orig.tar.gz
dpkg-source: warning: executable mode 0755 of 'unibuild-work/build/pscheduler-account/unibuild-packaging/deb/rules' will not be represented in diff
dpkg-source: warning: executable mode 0755 of 'unibuild-work/build/pscheduler-account/unibuild-packaging/deb/tests/user' will not be represented in diff
dpkg-source: info: local changes detected, the modified files are:
 pscheduler-account/unibuild-work/build/pscheduler-account/unibuild-packaging/deb/changelog
 pscheduler-account/unibuild-work/build/pscheduler-account/unibuild-packaging/deb/compat
 pscheduler-account/unibuild-work/build/pscheduler-account/unibuild-packaging/deb/gbp.conf
 pscheduler-account/unibuild-work/build/pscheduler-account/unibuild-packaging/deb/rules
 pscheduler-account/unibuild-work/build/pscheduler-account/unibuild-packaging/deb/source/format
 pscheduler-account/unibuild-work/build/pscheduler-account/unibuild-packaging/deb/tests/control
 pscheduler-account/unibuild-work/build/pscheduler-account/unibuild-packaging/deb/tests/user
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/pscheduler-account_5.1.0~a1.0~20240219131141-1.diff.2eqoHk
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-buildpackage: error: dpkg-source --diff-ignore=^unibuild-packaging/.*$ -b . subprocess returned exit status 2
make: *** [unibuild/unibuild-deb.make:218: build] Error 2
make: Leaving directory '/Users/laeti/Jobs/GÉANT/Code/github/pscheduler/pscheduler-account'
laeti-tia commented 6 months ago

This seems to be happening only with pscheduler-account, pscheduler-server, pscheduler-core and pscheduler-test-throughput are fine for example.

laeti-tia commented 6 months ago

These last comments of mine were a pscheduler packaging issue, not a Unibuild one. Can be closed.