Source: libftdi1
Version: 1.5-10
Tags: patch
User: [email protected]
Usertags: rebootstrap
Hi Aurelien,
I learned that libftdi1 technically became part of the architecture
cross bootstrap set and that results in severe constraints about what it
can depend on. The root cause is the addition of libtss2-dev to gnupg's
Build-Depends from from libftdi1 via boost it goes really bad. Some
package will have to get a build profile.
As part of this, I've looked into libftdi1 and tried reducing its
dependencies. I see three main opportunities.
* We can turn libboost-test-dev optional via <!nocheck>, but we retain
libboost-dev for libftdipp.
* We can make all that Python stuff optional via <!nopython> and that
works really well, because py3vers returns an empty sequence when
missing and that makes stuff mostly just work. The exception here is
override_dh_auto_install-arch, because the last installed version
"wins". To make things reproducible, the main build needs to be
installed last.
* Making libftdipp (and thus boost) optional is difficult, because the
CMake files installed into libftdi1-dev contain information about
libftdipp1-dev and that goes missing if you -DFTDIPP:BOOL=OFF, so
it'd be unreproducible.
I'm attaching a patch for the first two items as those feel like fairly
direct improvements with little downsides. Would you agree to merge
them?
What I still needs is getting boost out of the cross bootstrap set. I'll
be looking into adding a profile to gnupg next, but I still appreciate
if you happen to see a way of reasonably building libftdi1 without
boost.
Helmut
Acknowledgement sent
to Aurelien Jarno <[email protected]>:
Extra info received and forwarded to list.
(Fri, 25 Apr 2025 19:39:01 GMT) (full text, mbox, link).
Subject: Re: Bug#1104092: libftdi1 reduce Build-Depends for architecture
bootstrap
Date: Fri, 25 Apr 2025 21:35:06 +0200
Hi Helmut,
On 2025-04-24 08:26, Helmut Grohne wrote:
> Source: libftdi1
> Version: 1.5-10
> Tags: patch
> User: [email protected]
> Usertags: rebootstrap
>
> Hi Aurelien,
>
> I learned that libftdi1 technically became part of the architecture
> cross bootstrap set and that results in severe constraints about what it
> can depend on. The root cause is the addition of libtss2-dev to gnupg's
> Build-Depends from from libftdi1 via boost it goes really bad. Some
> package will have to get a build profile.
>
> As part of this, I've looked into libftdi1 and tried reducing its
> dependencies. I see three main opportunities.
> * We can turn libboost-test-dev optional via <!nocheck>, but we retain
> libboost-dev for libftdipp.
Agreed.
> * We can make all that Python stuff optional via <!nopython> and that
> works really well, because py3vers returns an empty sequence when
> missing and that makes stuff mostly just work. The exception here is
> override_dh_auto_install-arch, because the last installed version
> "wins". To make things reproducible, the main build needs to be
> installed last.
The reason why the python build is installed last is to have a correct
.pc file which includes LIBFTDI_PYTHON_MODULE_PATH, and your patch
breaks that for the standard builds.
It also means that the nopython profile produces a slightly different
libftdi1-dev, and I am not sure it is something allowed.
> * Making libftdipp (and thus boost) optional is difficult, because the
> CMake files installed into libftdi1-dev contain information about
> libftdipp1-dev and that goes missing if you -DFTDIPP:BOOL=OFF, so
> it'd be unreproducible.
One way would be to stop using boost, as it seems to only be used for
boost::shared_ptr, so there might be an alternative. But that kind of
change has to be done at the upstream level.
> I'm attaching a patch for the first two items as those feel like fairly
> direct improvements with little downsides. Would you agree to merge
> them?
I am find merging the nocheck part, but as explained above, I think the
nopython part needs improvements.
Regards
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
[email protected]http://aurel32.net
Acknowledgement sent
to Helmut Grohne <[email protected]>:
Extra info received and forwarded to list. Copy sent to Aurelien Jarno <[email protected]>.
(Fri, 25 Apr 2025 21:24:04 GMT) (full text, mbox, link).
Subject: Re: Bug#1104092: libftdi1 reduce Build-Depends for architecture
bootstrap
Date: Fri, 25 Apr 2025 22:45:21 +0200
Hi Aurelien,
On Fri, Apr 25, 2025 at 09:35:06PM +0200, Aurelien Jarno wrote:
> The reason why the python build is installed last is to have a correct
> .pc file which includes LIBFTDI_PYTHON_MODULE_PATH, and your patch
> breaks that for the standard builds.
Oh no. Thanks for catching this. Evidently, I did not compare builds
sufficiently well. Otherwise, I would have ruled this out.
> I am find merging the nocheck part, but as explained above, I think the
> nopython part needs improvements.
Agreed. Please skip the nopython part. I'll focus more on the gnupg
side for now.
Helmut
Acknowledgement sent
to Aurelien Jarno <[email protected]>:
Extra info received and forwarded to list.
(Tue, 13 May 2025 21:48:02 GMT) (full text, mbox, link).
Subject: Re: Bug#1104092: libftdi1 reduce Build-Depends for architecture
bootstrap
Date: Tue, 13 May 2025 23:45:12 +0200
Hi Helmut,
On 2025-04-25 21:35, Aurelien Jarno wrote:
> > * Making libftdipp (and thus boost) optional is difficult, because the
> > CMake files installed into libftdi1-dev contain information about
> > libftdipp1-dev and that goes missing if you -DFTDIPP:BOOL=OFF, so
> > it'd be unreproducible.
>
> One way would be to stop using boost, as it seems to only be used for
> boost::shared_ptr, so there might be an alternative. But that kind of
> change has to be done at the upstream level.
I have just submitted a patch doing that, let's wait for the review from
upstream:
http://developer.intra2net.com/mailarchive/html/libftdi/2025/msg00013.html
Regards
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
[email protected]http://aurel32.net