Hi William, Quoting William Blough (2019-08-14 02:52:00) > To reproduce- > > 1. For an arbitrary package (I used hello in my example), create a new > debian/changelog entry with the distribution set to UNRELEASED. > > 2. build with sbuild, specifying a target distribution, and enable lintian: > sbuild -d unstable --run-lintian --lintian-opts=-v > > 3. Note from the output/log that lintian *does not* emit the > "unreleased-changes" tag. > > 4. Find the .changes file produced by the sbuild build > > 5. Run lintian against the changes file from 4, with the same options > used for linitan in 2: > lintian hello_2.10-2.1_amd64.changes -v > > 6. Note that lintian *does* emit the "unreleased-changes" tag for the > changes file produced by the earlier build with sbuild. > > > Expected output: > "unreleased-changes" tag emitted by lintian when run under sbuild and when > run manually > > Observed output: > "unreleased-changes" tag only emitted by linitan when run manually. Tag > not emitted when lintian run by sbuild > > > I've attached a build log (with debug) for an example build, and a terminal > session log for the related manual lintian run. > > I've verified that this happens on both unstable and buster (inside > chroots), with their respective versions of sbuild and lintian. I > haven't tried earlier suites or versions. > > > I'm not 100% certain that this is an sbuild issue, but I've done > everything I can think of to rule out my configuration. And since > lintian seems to produce the correct behavior outside of sbuild, I > thought this would be the logical place to start the bug report. > > I'd appreciate any insight you can give, and would be happy to help > test/troubleshoot further.
thanks a lot for your excellent bug report! Unfortunately, the effect you are seeing is not a bug but a feature back from the time before I started maintaining sbuild. To understand the situation, it is important to know what the -d option that you are using above actually does. >From the man page: -d, --dist=distribution Explicitly set the distribution for the package build. This will be selecting the correct chroot to use and also sets the value of the Distribution field in the created .changes file. Setting this option is necessary when giving sbuild a .dsc file or a plain source package name to build. In the latter case it speci‐ fies the distribution the source package is fetched from. This command line option sets the DISTRIBUTION configuration vari‐ able. See sbuild.conf(5) for more information. As you can see, this will set the Distribution field and thus the value will not be UNRELEASED anymore and thus lintian does not complain anymore. If you look closely at the output of sbuild, you will see that the "Distribution" value is highlighted in yellow. This is to indicate that the value was changed. Usually you should *not* use the -d parameter but instead set up your schroot config such that you don't need the -d parameter. This can be automated by specifying --alias=UNRELEASED when running sbuild-createchroot. What that option effectively does is to set aliases=UNRELEASED in the corresponding config file in /etc/schroot/chroot.d/. Do you see any way sbuild could improve to be less confusing? Thanks! cheers, josch
signature.asc
Description: signature