On Dec 26, 2007 3:33 AM, Darwin Bautista <djclue917@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