Hi Andreas,

On Sun, Apr 27, 2025 at 04:20:37PM +0200, Andreas Metzler wrote:
> just to doublecheck that I have the gist of it: You propose to add a
> pkg.gnupg2.gpgvonly build-profile because
> - gnupg2 breaks bootstrapping, deps are huge.

Allow me to add precision here. gnupg2 is part of the package set for
building build-essential. It used to be fully cross buildable with what
we could build there, but the recent addition of libtss-dev poses a
problem, because tpm2-tss build-depends on libftdi1-dev (all other
dependency can be cross built in the bootstrap setting) and libftdi1
requires libboost-dev for building, which at which point the dependency
closure explodes.

> - You only need gpgv for bootstrapping.

Correct.

> - It is beneficial to have a minimal profile instead of of profile that
>   only throws out the most problematic part (tss) because the less
>   required deps the component (gnupg) has the simpler bootstrapping
>   gets.

Let me also add detail here. It is preferrable to have packages be
buildable without any build profiles, because then automatic ordering is
possible. gnupg2 was ordered automatically until it started depending on
libtss-dev. It has now become evident that we need some build profile in
some package to cut down dependency chains. Once we have a need for a
build profile, it is preferable to cut down as much as possible from a
bootstrapping pov as the goal is to use as few profiles as possible.

You may still prefer to have a profile disabling tpm2daemon as a package
maintainer and your preference for such a profile would likely bear more
weight than the bootstrapper's preference for a minimal profile.

We may also figure a way to add a profile to a different package instead
of gnupg2. I tried to add it to libftdi1 first, but that does not look
promising now.

> Regarding the patch: Personally I do not like the debian/rules changes.
> The file alread is Byzantine and this adds another 4 ifdefs. How about
> changing this to
> #ifdef
> normal build
> #else
> gpgv-only
> #endif
> 
> Proposed diff (for 2.4.7-16) attached. (I have looked over the buildlogs
> for your variant and this one and did not see a significant difference.)

I think you missed attaching a diff. Generally, I am not opposed to
implementing in such a way. It took me quite a while to arrive at a way
that would work at all and I ended up not polishing it beyond that
point. Evidently, it served as a starting point for discussion.

Helmut

Reply via email to