[Nix-dev] Tracking upstream releases
Ludovic Courtès
ludo at gnu.org
Wed Jul 22 21:36:09 CEST 2009
Hi Nicolas,
Nicolas Pierron
<nicolas.b.pierron at gmail.com> writes:
> Many commits until now have been made to to bump the version number.
> This auto-update task can be seen as the patch-shebang function, some
> things have to be done automatically because we don't want to lose
> time on them. We should focus our work on more valuable (without
> expiration) features. Thus, a tool which generates & maintains Nix
> expressions could be extremely valuable.
While I agree in principle, I think there's a number of issues that
would need to be solved. Often, updating a package takes more than just
taking the new tarball:
* At least you may need to fetch and check its digital signature or
cryptographic hash.
* Sometimes, new dependencies must be added, which you find out
manually when trying to build it.
* When the package has specific patches, they may have to be updated.
* Last but not least, as Isaac suggested, you'd want to check the
aftermath of upgrading the package---how many packages that depend
on it are broken by the upgrade?
I think these constraints rule out a fully automated mechanism.
However, we could surely have tools to help us track upstream releases.
Debian has a tool ("watches"). For example, the `watch' file for
GCC 4.4 looks like this:
--8<---------------cut here---------------start------------->8---
version=2
ftp://gcc.gnu.org/pub/gcc/releases/gcc-(4\.4[\d\.]*) debian uupdate
--8<---------------cut here---------------end--------------->8---
(See
http://www.debian.org/doc/maint-guide/ch-update.en.html#s-newupstream
for details.)
I guess we could have a `meta' attribute to contain this kind of
information. Then `nix-build' could be changed to actually use this
information; or there could be a dedicated tool.
What do you think?
Thanks,
Ludo'.
More information about the nix-dev
mailing list