[pacman-dev] [PATCH] Autoversion deps upon package creation in makepkg

Dan McGee dpmcgee at gmail.com
Wed Dec 26 09:01:01 EST 2007


On Dec 26, 2007 3:33 AM, Darwin Bautista <djclue917 at gmail.com> wrote:
> On Dec 21, 2007 5:25 PM, Nagy Gabor <ngaba at bibl.u-szeged.hu> wrote:
> > > On Sun, Dec 02, 2007 at 11:53:00AM +0800, Darwin Bautista wrote:
> > > > Hi all,
> > > >
> > > > Attached is a patch to add "autoversion of dependencies" in
> > > > makepkg. I think the usage of the term "autoversion" is a little
> > > > vague but I can't of any other term. Anyway, autoversioning will
> > > > save package maintainers a lot of time in adding and bumping the
> > > > minimum required versions of a certain package's dependencies
> > > > directly in the PKGBUILD. Of course, this autoversioning can be
> > > > overridden by directly specifying the minimum/maximum (if
> > > > ever)/exact version of a dep. Autoversioning can be disabled by
> > > > using these opts: '-v' or '--nodepsver'.
> > > >
> > > > I've seen quite a lot of packages (extra, community) which have
> > > > "out-dated" or wrong minimum versions of the deps. For instance,
> > > > I've seen a package (which I can't remember) of a KDE app built
> > > > against KDE 3.5.8 yet the specified minimum version is 3.5.7 (or
> > > > older?). This can help prevent bugs resulting from this seemingly
> > > > subtle issue.
> > > >
> > >
> > > Hm I hoped someone would reply to this. I thought it might be
> > > interesting, but I don't really know.
> > > Could you please file this as a feature request on flyspray? A mail
> > > on the ML is likely to be forgotten rapidly, while a feature request
> > > would stay there.
> > >
> > Well, I will be unpopular again:
> >
> > 1. First of all, I think that our maintainers should set dependencies
> > by hand, because this autoversion stuff just guarantees that the
> > generated dependency is a satisfier, but it may be too strict (for
> > example currently it generates 'a52dec>=0.7.4-3' from a52dec and maybe
> > simple 'a52dec' or 'a52dec>=0.7' would be enough)
>
> I had the thought of including the pkgrel because of qt4's (in
> [community]) move from /opt/qt4 (4.3.2-1) to /usr (4.3.2-2). But now,
> come to think of it, it might have been a bad idea after all because
> those kind of changes doesn't really happen in every package release.
> Anyway, the pkgrel can be dropped so that it isn't too strict and
> autoversioning can be off by default.
>
> Also, the packager can override the autoversion behavior by explicitly
> specifying the required versions. I just thought that it would be
> simpler (KIS) and better if the "real" versions of dependencies are
> included in a package. For instance, a52dec>=0.7.4 instead of just
> a52dec>=0.7 (what if there's a soname change? Just a whatif/caveat
> even though .4 is just a minor/maintenance release).

Although Arch doesn't recommend it/support it, there would be people
out there (me being one of them) that don't upgrade all their packages
on a regular basis. Thus, installing one new package would be dragging
in a lot more dependencies and such that people may not want upgraded.

On that note, I also try and separate makepkg and its functionality
from the ideals of Arch Linux, which may clash a bit at times (see the
man page moving, removal of docs, etc). I'm a bit weary of defaulting
to something that all users of makepkg may not want or use.

-Dan




More information about the pacman-dev mailing list