Your message dated Wed, 22 Jan 2025 15:40:42 +0100
with message-id <[email protected]>
and subject line Re: Bug#1093766: dpkg-architecture should still call the build
targets before the binary targets
has caused the Debian Bug report #1093766,
regarding dpkg-architecture should still call the build targets before the
binary targets
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1093766: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1093766
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dpkg-dev
Version: 1.22.14
dpkg-buildpackage should still call the build targets before the binary
targets.
apparently the no-root changes cause issues like #1092374, which were
not seen with test rebuilds, but only with our normal test rebuilds.
The schema is, that a debian/rules build call leaves some information,
which is then taken by a fakeroot debian/rules binary call for further
packaging.
I think it's just an unnecessary optimization to just call the binary
target without root. Please could you consider calling first the build
targets as non-root, and then the binary targets as non-root.
--- End Message ---
--- Begin Message ---
Hi!
On Wed, 2025-01-22 at 13:42:21 +0100, Matthias Klose wrote:
> Package: dpkg-dev
> Version: 1.22.14
> dpkg-buildpackage should still call the build targets before the binary
> targets.
>
> apparently the no-root changes cause issues like #1092374, which were not
> seen with test rebuilds, but only with our normal test rebuilds.
>
> The schema is, that a debian/rules build call leaves some information, which
> is then taken by a fakeroot debian/rules binary call for further packaging.
>
> I think it's just an unnecessary optimization to just call the binary target
> without root. Please could you consider calling first the build targets as
> non-root, and then the binary targets as non-root.
The bash debian/rules file seems to have incorrect prerequisite rules
(which is also related to it not being parallel-safe).
Simply running «fakeroot debian/rules binary» reproduces the problem,
which seems clearly broken. The Debian Policy has this to say about
it:
,---
"binary" (required), "binary-arch" (required), "binary-indep" (required)
The "binary" target must be all that is necessary for the user to
build the binary package(s) produced from this source package. It
is split into two parts: "binary-arch" builds the binary packages
which are specific to a particular architecture, and "binary-indep"
builds those which are not.
"binary" may be (and commonly is) a target with no commands which
simply depends on "binary-arch" and "binary-indep".
Both "binary-*" targets should depend on the "build" target, or on
the appropriate "build-arch" or "build-indep" target, so that the
package is built if it has not been already. It should then create
the relevant binary package(s), using "dpkg-gencontrol" to make
their control files and "dpkg-deb" to build them and place them in
the parent of the top level directory.
[…]
`---
I'm thus closing this, as not an issue in dpkg.
Thanks,
Guillem
--- End Message ---