On Sat, Jul 20, 2013 at 3:21 PM, Dicebot <public@dicebot.lv> wrote:
It is nothing of real importance but question is, what harm does explicit versioning do?
Interesting question because it underlines some benefits of being a rolling release for their maintainers. 1) Productivity You don't need to modify your package deps each time you update it. You only have to check (most of time, read the changelog). When upstream check this for you, in a configure or by providing a test suite, you could even forget the minimal version check and free your mind to do interesting things. Arch maintainers manage a high number of packages, every unnecessary update is time lost. 2) Correctness More than avoid unnecessary changes in the update process, it avoid mistakes (and their fixes). When upstream doesn't provides minimal deps, it's long (and not easy) to find which minimal version is really required. 3) Troublemaker The version is about a package, *NOT* an upstream source. I remember a discussion with a Debian developer about opening a bugfix because the required dep version is badly too high. A maintainer, wants a lib compiled with an option (e.g. --with-caca), so he bumps the lib version (e.g. from 1.15-1 to 1.15-2) and require it in his package (e.g: from 1.10-1 to 1.15-2). The old versions (from 1.10 to 1.15 in the previous example) of the library is working perfectly (if you rebuild the package with the option --with-caca). Its happens (sometimes) when you do a backport on Debian. You don't know, by looking at it, if a required version is due to upstream or downstream change. 4) Speed It avoid pacman to checks version for each deps. This save a lot of useless computing (parsing and comparing two version)[1]. Even if it's not a big deal on last intel processor, this is noticeable on slow processor (like raspberry pie, alix or soekris). We can resume these 4 points by saying : It's more simple. Of course there is drawback for people not updating the whole system. It's unsupported. Cheers, [1] https://projects.archlinux.org/pacman.git/tree/lib/libalpm/version.c#n232 -- Sébastien "Seblu" Luttringer https://www.seblu.net GPG: 0x2072D77A