Nǐmen hǎo!
I did another _source_ rebuild of the archive -- checking if every package
is capable of repacking its source. Ie, if you can unpack it, (possibly modify), and pack again.
Putting aside packages that are broken in other ways as well (B-Depends non-installable, FTBFS or a RC bug), there seems to be no new fancy types
of breakage that haven't been fixed in 2020.
This leaves one big set: packages that fail the clean step due to
undeclared B-Depends. According to the Policy:
# "clean"
# Only the "Build-Depends" and "Build-Conflicts" fields must be
# satisfied when this target is invoked.
... which makes sense as you might be interested in only an arch:all or arch:any build, and we have no clean-indep/clean-arch targets.
For sbuild, the incantation is:
alias sbuild-source='sbuild -s --source-only-changes --no-arch-all --no-arch-any --no-run-autopkgtest'
As 291 packages fail this requirement, I'm posting here before (instead?) filing bugs. There's also a question of severity.
This leaves one big set: packages that fail the clean step due to
undeclared B-Depends. According to the Policy:
# "clean"
# Only the "Build-Depends" and "Build-Conflicts" fields must be
# satisfied when this target is invoked.
... which makes sense as you might be interested in only an arch:all or arch:any build, and we have no clean-indep/clean-arch targets.
On 02/10/22 at 04:23 +0200, Adam Borowski wrote:[...]
I did another _source_ rebuild of the archive -- checking if every package is capable of repacking its source. Ie, if you can unpack it, (possibly modify), and pack again.
[...]This leaves one big set: packages that fail the clean step due to undeclared B-Depends.
[...]... which makes sense as you might be interested in only an arch:all or arch:any build, and we have no clean-indep/clean-arch targets.
As 291 packages fail this requirement, I'm posting here before (instead?) filing bugs. There's also a question of severity.
Are you saying that those 291 packages fail when only Build-Depends/Build-Conflicts are satisfied, but do not fail when Build-Depends-Indep is also satisfied?
FWIW, when I do archive rebuilds, I rebuild the source, but that's with Build-Depends-Indep installed.
On 10/2/22 04:23, Adam Borowski quoted Policy:
# "clean"
# Only the "Build-Depends" and "Build-Conflicts" fields must be
# satisfied when this target is invoked.
Shouldn't Build-Depends-Indep be considered as part of Build-Depends?
Packages that only build Architecture: all binary packages tend to use Build-Depends-Indep.
Packages that only build Architecture: all binary packages tend to use Build-Depends-Indep.
Policy is quite clear about that being a bug. I think a better rule of
thumb for maintainers in a hurry would be: if you don't have time to think about which dependency list is the right one, and preferably test the
result (with a source-only build like Adam has been doing, a --build=all build, and a --build=any build), then the safe option is to put everything
in B-D.
Nǐmen hǎo!
I did another _source_ rebuild of the archive -- checking if every package
is capable of repacking its source. Ie, if you can unpack it, (possibly modify), and pack again.
Putting aside packages that are broken in other ways as well (B-Depends non-installable, FTBFS or a RC bug), there seems to be no new fancy types
of breakage that haven't been fixed in 2020.
This leaves one big set: packages that fail the clean step due to
undeclared B-Depends. According to the Policy:
# "clean"
# Only the "Build-Depends" and "Build-Conflicts" fields must be
# satisfied when this target is invoked.
... which makes sense as you might be interested in only an arch:all or arch:any build, and we have no clean-indep/clean-arch targets.
For sbuild, the incantation is:
alias sbuild-source='sbuild -s --source-only-changes --no-arch-all --no-arch-any --no-run-autopkgtest'
As 291 packages fail this requirement, I'm posting here before (instead?) filing bugs. There's also a question of severity.
Raw list and dd-list attached.
On 02/10/22 at 04:23 +0200, Adam Borowski wrote:
Nǐmen hǎo!
I did another _source_ rebuild of the archive -- checking if every package is capable of repacking its source. Ie, if you can unpack it, (possibly modify), and pack again.
Putting aside packages that are broken in other ways as well (B-Depends non-installable, FTBFS or a RC bug), there seems to be no new fancy types of breakage that haven't been fixed in 2020.
This leaves one big set: packages that fail the clean step due to undeclared B-Depends. According to the Policy:
# "clean"
# Only the "Build-Depends" and "Build-Conflicts" fields must be
# satisfied when this target is invoked.
... which makes sense as you might be interested in only an arch:all or arch:any build, and we have no clean-indep/clean-arch targets.
For sbuild, the incantation is:
alias sbuild-source='sbuild -s --source-only-changes --no-arch-all --no-arch-any --no-run-autopkgtest'
As 291 packages fail this requirement, I'm posting here before (instead?) filing bugs. There's also a question of severity.
Raw list and dd-list attached.
All those source packages are Architecture: all.
To make this easier to detect (and avoid regressions in the long term),
I wonder if sbuild should have an option that would make it do, for a source+all build:
- install B-D
- run clean
- install B-D-I
- build the binary packages
On 02/10/22 at 04:23 +0200, Adam Borowski wrote:
I did another _source_ rebuild of the archive -- checking if every package is capable of repacking its source. Ie, if you can unpack it, (possibly modify), and pack again.
All those source packages are Architecture: all.
To make this easier to detect (and avoid regressions in the long term),
I wonder if sbuild should have an option that would make it do, for a source+all build:
- install B-D
- run clean
- install B-D-I
- build the binary packages
Hi,
Quoting Lucas Nussbaum (2022-10-02 21:51:52)
On 02/10/22 at 04:23 +0200, Adam Borowski wrote:
Nǐmen hǎo!
I did another _source_ rebuild of the archive -- checking if every package
is capable of repacking its source. Ie, if you can unpack it, (possibly modify), and pack again.
Putting aside packages that are broken in other ways as well (B-Depends non-installable, FTBFS or a RC bug), there seems to be no new fancy types of breakage that haven't been fixed in 2020.
This leaves one big set: packages that fail the clean step due to undeclared B-Depends. According to the Policy:
# "clean"
# Only the "Build-Depends" and "Build-Conflicts" fields must be
# satisfied when this target is invoked.
... which makes sense as you might be interested in only an arch:all or arch:any build, and we have no clean-indep/clean-arch targets.
For sbuild, the incantation is:
alias sbuild-source='sbuild -s --source-only-changes --no-arch-all --no-arch-any --no-run-autopkgtest'
As 291 packages fail this requirement, I'm posting here before (instead?) filing bugs. There's also a question of severity.
Raw list and dd-list attached.
All those source packages are Architecture: all.
To make this easier to detect (and avoid regressions in the long term),
I wonder if sbuild should have an option that would make it do, for a source+all build:
please do not abuse sbuild to produce source packages. Source packages are the
input to sbuild and not its output. Sbuild has some convenience features that let it create the source package for you from an unpacked directory so that you
do not have to do that step manually but that doesn't change the fact that to operate it still needs to create a dsc first.
Instead of trying to use the -s or --source option, use the --source-only-changes option instead which will not re-create the source package but gives you a .changes file ready to a source-only upload anyways in
addition to the arch-all or arch-any .changes file.
- install B-D
- run clean
- install B-D-I
- build the binary packages
This will be tricky to implement because sbuild doesn't run the clean target. Instead it runs dpkg-buildpackage which then runs the clean target. But feel free to try and implement it and file a merge request on salsa. Maybe it's not
as bad as I fear.
Changing salsa-ci.yml to test for this would not be easy either, because "apt-get build-dep" only exposes the --arch-only and --indep-only options. So there is no way to tell apt "only the dependencies for the clean target, please".
On Sun, Oct 02, 2022 at 10:57:11AM +0100, Simon McVittie wrote:
Packages that only build Architecture: all binary packages tend to use Build-Depends-Indep.
Policy is quite clear about that being a bug. I think a better rule of thumb for maintainers in a hurry would be: if you don't have time to think about which dependency list is the right one, and preferably test the result (with a source-only build like Adam has been doing, a --build=all build, and a --build=any build), then the safe option is to put everything in B-D.
I totally agree, and I consider that a RC bug in my mind.
I would support filing all the bugs as sev:important, and bump them
right after the bookworm release (so we don't add all these RC bugs so
near the freeze, even if they are trivial to fix).
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 32:46:58 |
Calls: | 6,707 |
Files: | 12,239 |
Messages: | 5,353,199 |