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

Re: source dependencies - and recomndations



Andreas Jellinghaus writes:
 > the main question is :
 > should we use source dependencies to build the packacke, or to reproduce
 > the package like the maintainer build it ?
[...]
 > but if we want to generate the same result like the maintainer, we
 > should require these packages.

One point that I didn't see mentionned is that the effective set of
relevant packages present on the system when compiling a package
should be (for compilation to complete):

- a superset of Depends		[that's what we only talk about]
- a subset of {Depends, Recommends, Suggests}

Then, to reproduce a binary package, we need to specify *exactly* this
set of packages used to build. [That would maybe imply something of a
Source-Conflicts, but I don't really like it]

Further more, to *reproduce* a binary package, we might need to have
dependencies on *exact versions*.


This IMHO advocates the use, for reproductibility, of a specific field
[let's call him Rebuilt-Deps: for discussion] (auto-generated on build
?), that would exactly list those packages from the source's
{Depends,Recommends,Suggests}, with their versions, present on the
system at binary built-time.

Perhaps we should add support for those --with[out]-xxx stuff from
autoconf, that would allow to make this latter type of dependencies a
bit weeker when possible (ie. not having to uninstall a package just
to allow rebuilt of another).

 > We could also list a Source-Alternatives: or so, to note that someone
 > may use e.g. lex instead of flex or yacc instead of bison.

This would be made possible by my proposal without a
Source-Alternatives field: alternatives would just be specified as
they are for binary packages (ie. '|' operator or virtual packages),
and the specific one used for build would be listed in the field I
named Rebuilt-Deps. But that would make this field's auto-generation
more difficult.

 > But again :
 > a developer may make such notes, and support them. But Debian as
 > distribtuion will not support them. Who wants to track down a bug, to
 > figure out that someone used a yacc compiled packge instead of the
 > official debian version compiled with bison ? maybe the developer knows
 > that compiling with yacc is possible, but might introduce race
 > conditions. (i don't know lex, yacc, bison or flex - it's only an
 > example.)

Then the Rebuilt-Deps field could be integrated in a binary package's
control file (maybe as only Built-Deps), and inserted by 'bug' into
bug-reports. This would at least speed up figuring-up this type of
substitution.

-- 
Yann Dirson <dirson@univ-mlv.fr>
alt-email:<ydirson@a2points.com>

http://monge.univ-mlv.fr/~dirson


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: