[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Proposal, a Build-Depends-Optional field



Quoting Johannes Schauer (2015-05-25 13:39:13)
> Quoting Gianfranco Costamagna (2015-05-25 09:22:57)
>> Problem: I have a package that might depend on a libfoo-dev library.
>> 
>> "might" because it tries to detect it at configure time, and if the 
>> libfoo is found some features are enabled, otherwise the features are 
>> disabled.
>> 
>> Since the libfoo isn't build on every architecture, I would like to 
>> have some field in my control file, like "try to install it, if not 
>> found just discard it", instead of keeping track of every 
>> architecture built or not at each upload and enable when a new 
>> architecture is successfully built.
>
> This thread was also asking for a method to overcome the problem of 
> keeping an architecture list up to date: 
> http://lists.debian.org/20141211180858.GS2361@bivouac.eciton.net
>
> One solution was proposed by Helmut: 
> http://lists.debian.org/20141217084500.GA16582@alf.mars
>
> In your case this would mean that the source package building 
> libfoo-dev would modify the binary package libfoo-dev to Provides: 
> optional-libfoo-dev and additionally build a binary package called 
> no-libfoo-dev on all architectures where libfoo-dev is *not* built 
> which also Provides: optional-libfoo-dev. Lastly, let your source 
> package build depend on optional-libfoo-dev.
>
> This solution might have a slight advantage over the one one proposed 
> by Jakub by explicitly listing the package no-libfoo-dev in the 
> Build-Environment field in the .buildinfo file on architectures where 
> your package is built without libfoo-dev instead of just leaving it 
> out.

Both above approaches are suitable only when in control of the dependent 
package as well.

What I do is add a custom build target that rewrites debian/control 
based on rmadison query resolving current archs for a given package.

See e.g. uwsgi source package and its script debian/pkgarchs.sh.

NB! Must be a custom target: control file must be deterministic to 
comply with Debian Policy.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature


Reply to: