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: