Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] add UUID for comparison of installed package to binary package?
Date: Sun, 14 Feb 2010 12:37:25
Message-Id: 20100214123628.GJ20770@hrair
In Reply to: Re: [gentoo-portage-dev] add UUID for comparison of installed package to binary package? by Zac Medico
1 On Fri, Feb 12, 2010 at 04:24:05PM -0800, Zac Medico wrote:
2 > On 02/12/2010 01:38 PM, Brian Harring wrote:
3 > > On Fri, Feb 12, 2010 at 12:54:21PM -0800, Zac Medico wrote:
4 > >> Hi,
5 > >>
6 > >> I'm thinking about adding a UUID file in /var/db/pkg, for comparing
7 > >> installed packages to binary packages. We already have BINPKGMD5,
8 > >> but the problem with that is that the MD5 of a binary package
9 > >> changes when it's updated for package moves. A UUID would be
10 > >> assigned at build time and remain constant thereafter. We can use
11 > >> python's uuid.uuid4() function to generate a random UUID. Any
12 > >> suggestions for alternative approaches?
13 > >
14 > > Purpose?
15 > > ~harring
16 >
17 > If you build binary packages for installation on multiple systems,
18 > and periodically have to rebuild packages for various reasons
19 > (revdep-rebuild or whatnot), it makes it easier to know whether a
20 > particular system has the latest build installed. Then you can
21 > create a package set that reinstalls any installed packages that are
22 > not the latest build.
23 >
24 > It's basically a catch-all for rebuilds that aren't tracked by other
25 > kinds of metadata yet. Eventually, we should introduce metadata to
26 > indicate when things need to be reinstalled, as discussed in this bug:
27 >
28 > https://bugs.gentoo.org/show_bug.cgi?id=192319
29 >
30 > In the mean time, it's nice to have a catch-all for keeping systems
31 > synchronized with the latest builds. We may want to consider
32 > including it in the $PKGDIR/Packages file as a convenience for
33 > binhost users.
34
35 This gets nasty... you're basically talking about the rpm equivalent
36 of EPOCH.
37
38 Not a fan of an adhoc UUID (especially since it'll become standard
39 via portage doing it), but a *timestamp* for the build, labeled as
40 such, gets you what you want and is usable for other things- detecting
41 when to rebuild a scm package for example.
42
43 That route gets my vote, and should also address your intentions.
44 ~harring

Replies