Package: sbuild-qemu
Version: 0.85.8
Severity: normal
X-Debbugs-Cc: invernom...@paranoici.org

Hello!

I am still trying to set up sbuild-qemu to build (and check/test) Debian
packages.

After creating the virtual machine image:

  $ mkdir -p ~/.cache/sbuild/build
  $ cd /dev/shm
  $ TMPDIR=/dev/shm mmdebstrap-autopkgtest-build-qemu \
                    --size=25G --boot=efi sid unstable-autopkgtest-amd64.img
  $ mv -i unstable-autopkgtest-amd64.img ~/.cache/sbuild/

I prepared the following configuration file:

  $ cat ~/.sbuildrc 
  $source_only_changes = 1;
  $run_lintian = 1;
  $lintian_require_success = 0;
  $run_piuparts = 1;
  $piuparts_root_args = '';
  $piuparts_require_success = 1;
  $run_autopkgtest = 1;
  $autopkgtest_root_args = '';
  $autopkgtest_require_success = 1;
  $build_dir = "$HOME/.cache/sbuild/build";
  
  # don't remove this, Perl needs it:
  1;

I can update the virtual machine:

  $ sbuild-qemu-update --boot=efi unstable-autopkgtest-amd64.img

and I can build a package from within the unpacked source tree:

  $ sbuild-qemu --boot=efi --overlay-dir=/dev/shm

However, when I do so, I am not necessarily planning to upload the
Debian package to the Debian archive: it could be still in development
(not yet ready for an upload) and I just want to check that it can be
built and perform the usual checks on it, namely lintian (first of all!),
followed by piuparts and autopkgtest.
If this is the case, my latest changelog entry will read 'UNRELEASED' in the
distribution field, but, at the same time, I want to build the package
with the 'unstable-autopkgtest-amd64.img' VM image (to build it for
unstable).

What happens here? It turns out that sbuild-qemu modifies the Distribution
field in the .changes file and sets it to 'unstable', despiting reading
'UNRELEASED' in the latest changelog entry.
Hence lintian complains with an error:

  [...]
  Running lintian...
  E: $PKG_NAME changes: unreleased-changes
  W: $PKG_NAME: changelog-distribution-does-not-match-changes-file unreleased 
!= unstable [usr/share/doc/$PKG_NAME/changelog.gz:1]
  
  E: Lintian run failed (runtime error)
  [...]

How can I fix this issue?
Shouldn't it work out of the box?

I found bug report [#934721], which, however, seems to advocate that
this is the right behavior ?!? Or am I misinterpreting it?

[#934721]: <https://bugs.debian.org/934721>

How can I run lintian on a still-in-developed UNRELEASED package (with
sbuild-qemu)?

Please note that my current setup with pbuilder does not have this issue:
pdebuild generates a .changes file with 'Distribution: UNRELEASED'
and with the latest changelog entry correctly quoted (with 'UNRELEASED'
after the version number parenthesis), and hence lintian is happy...

It has to work out of the box with sbuild-qemu, as well!

Please fix the issue and/or explain what's wrong.

Thanks for your time and patience.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (800, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.7.12-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages sbuild-qemu depends on:
ii  autopkgtest      5.34
ii  python3          3.11.8-1
ii  python3-pexpect  4.9-2
ii  python3-psutil   5.9.8-2
ii  qemu-system-x86  1:8.2.3+ds-2
ii  qemu-utils       1:8.2.3+ds-2
ii  sbuild           0.85.8
ii  vmdb2            0.40-1

Versions of packages sbuild-qemu recommends:
ii  qemu-system-arm  1:8.2.3+ds-2
ii  qemu-system-ppc  1:8.2.3+ds-2

sbuild-qemu suggests no packages.

-- no debconf information

Reply via email to