Debian Bug report logs - #1104092
libftdi1 reduce Build-Depends for architecture bootstrap

version graph

Package: src:libftdi1; Maintainer for src:libftdi1 is Aurelien Jarno <[email protected]>;

Reported by: Helmut Grohne <[email protected]>

Date: Fri, 25 Apr 2025 14:12:01 UTC

Severity: normal

Tags: patch

Found in version libftdi1/1.5-10

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], Aurelien Jarno <[email protected]>:
Bug#1104092; Package src:libftdi1. (Fri, 25 Apr 2025 14:12:02 GMT) (full text, mbox, link).


Acknowledgement sent to Helmut Grohne <[email protected]>:
New Bug report received and forwarded. Copy sent to Aurelien Jarno <[email protected]>. (Fri, 25 Apr 2025 14:12:02 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Helmut Grohne <[email protected]>
To: Debian Bug Tracking System <[email protected]>
Subject: libftdi1 reduce Build-Depends for architecture bootstrap
Date: Thu, 24 Apr 2025 08:26:02 +0200
[Message part 1 (text/plain, inline)]
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
[libftdi1_1.5-10.1.debdiff (text/plain, attachment)]

Information forwarded to [email protected]:
Bug#1104092; Package src:libftdi1. (Fri, 25 Apr 2025 19:39:01 GMT) (full text, mbox, link).


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).


Message #10 received at [email protected] (full text, mbox, reply):

From: Aurelien Jarno <[email protected]>
To: Helmut Grohne <[email protected]>, [email protected]
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



Information forwarded to [email protected], Aurelien Jarno <[email protected]>:
Bug#1104092; Package src:libftdi1. (Fri, 25 Apr 2025 21:24:04 GMT) (full text, mbox, link).


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).


Message #15 received at [email protected] (full text, mbox, reply):

From: Helmut Grohne <[email protected]>
To: Aurelien Jarno <[email protected]>
Cc: [email protected]
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




Information forwarded to [email protected]:
Bug#1104092; Package src:libftdi1. (Tue, 13 May 2025 21:48:02 GMT) (full text, mbox, link).


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).


Message #20 received at [email protected] (full text, mbox, reply):

From: Aurelien Jarno <[email protected]>
To: Helmut Grohne <[email protected]>, [email protected]
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



Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Fri Jun 6 17:14:19 2025; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.