FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Portage Developer

 
 
LinkBack Thread Tools
 
Old 02-12-2010, 07:54 PM
Zac Medico
 
Default add UUID for comparison of installed package to binary package?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I'm thinking about adding a UUID file in /var/db/pkg, for comparing
installed packages to binary packages. We already have BINPKGMD5,
but the problem with that is that the MD5 of a binary package
changes when it's updated for package moves. A UUID would be
assigned at build time and remain constant thereafter. We can use
python's uuid.uuid4() function to generate a random UUID. Any
suggestions for alternative approaches?
- --
Thanks,
Zac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)

iEYEARECAAYFAkt1v/sACgkQ/ejvha5XGaN96ACg20x9kIr6CxAbWxlxqub3XkY7
7skAnRH3FdZqQs+v9EePrqFwztGSpHt2
=C7Dx
-----END PGP SIGNATURE-----
 
Old 02-12-2010, 08:38 PM
Brian Harring
 
Default add UUID for comparison of installed package to binary package?

On Fri, Feb 12, 2010 at 12:54:21PM -0800, Zac Medico wrote:
> Hi,
>
> I'm thinking about adding a UUID file in /var/db/pkg, for comparing
> installed packages to binary packages. We already have BINPKGMD5,
> but the problem with that is that the MD5 of a binary package
> changes when it's updated for package moves. A UUID would be
> assigned at build time and remain constant thereafter. We can use
> python's uuid.uuid4() function to generate a random UUID. Any
> suggestions for alternative approaches?

Purpose?
~harring
 
Old 02-12-2010, 11:24 PM
Zac Medico
 
Default add UUID for comparison of installed package to binary package?

On 02/12/2010 01:38 PM, Brian Harring wrote:
> On Fri, Feb 12, 2010 at 12:54:21PM -0800, Zac Medico wrote:
>> Hi,
>>
>> I'm thinking about adding a UUID file in /var/db/pkg, for comparing
>> installed packages to binary packages. We already have BINPKGMD5,
>> but the problem with that is that the MD5 of a binary package
>> changes when it's updated for package moves. A UUID would be
>> assigned at build time and remain constant thereafter. We can use
>> python's uuid.uuid4() function to generate a random UUID. Any
>> suggestions for alternative approaches?
>
> Purpose?
> ~harring

If you build binary packages for installation on multiple systems,
and periodically have to rebuild packages for various reasons
(revdep-rebuild or whatnot), it makes it easier to know whether a
particular system has the latest build installed. Then you can
create a package set that reinstalls any installed packages that are
not the latest build.

It's basically a catch-all for rebuilds that aren't tracked by other
kinds of metadata yet. Eventually, we should introduce metadata to
indicate when things need to be reinstalled, as discussed in this bug:

https://bugs.gentoo.org/show_bug.cgi?id=192319

In the mean time, it's nice to have a catch-all for keeping systems
synchronized with the latest builds. We may want to consider
including it in the $PKGDIR/Packages file as a convenience for
binhost users.
--
Thanks,
Zac
 
Old 02-14-2010, 11:36 AM
Brian Harring
 
Default add UUID for comparison of installed package to binary package?

On Fri, Feb 12, 2010 at 04:24:05PM -0800, Zac Medico wrote:
> On 02/12/2010 01:38 PM, Brian Harring wrote:
> > On Fri, Feb 12, 2010 at 12:54:21PM -0800, Zac Medico wrote:
> >> Hi,
> >>
> >> I'm thinking about adding a UUID file in /var/db/pkg, for comparing
> >> installed packages to binary packages. We already have BINPKGMD5,
> >> but the problem with that is that the MD5 of a binary package
> >> changes when it's updated for package moves. A UUID would be
> >> assigned at build time and remain constant thereafter. We can use
> >> python's uuid.uuid4() function to generate a random UUID. Any
> >> suggestions for alternative approaches?
> >
> > Purpose?
> > ~harring
>
> If you build binary packages for installation on multiple systems,
> and periodically have to rebuild packages for various reasons
> (revdep-rebuild or whatnot), it makes it easier to know whether a
> particular system has the latest build installed. Then you can
> create a package set that reinstalls any installed packages that are
> not the latest build.
>
> It's basically a catch-all for rebuilds that aren't tracked by other
> kinds of metadata yet. Eventually, we should introduce metadata to
> indicate when things need to be reinstalled, as discussed in this bug:
>
> https://bugs.gentoo.org/show_bug.cgi?id=192319
>
> In the mean time, it's nice to have a catch-all for keeping systems
> synchronized with the latest builds. We may want to consider
> including it in the $PKGDIR/Packages file as a convenience for
> binhost users.

This gets nasty... you're basically talking about the rpm equivalent
of EPOCH.

Not a fan of an adhoc UUID (especially since it'll become standard
via portage doing it), but a *timestamp* for the build, labeled as
such, gets you what you want and is usable for other things- detecting
when to rebuild a scm package for example.

That route gets my vote, and should also address your intentions.
~harring
 
Old 02-14-2010, 07:11 PM
Zac Medico
 
Default add UUID for comparison of installed package to binary package?

On 02/14/2010 04:36 AM, Brian Harring wrote:
> This gets nasty... you're basically talking about the rpm equivalent
> of EPOCH.
>
> Not a fan of an adhoc UUID (especially since it'll become standard
> via portage doing it), but a *timestamp* for the build, labeled as
> such, gets you what you want and is usable for other things- detecting
> when to rebuild a scm package for example.
>
> That route gets my vote, and should also address your intentions.
> ~harring

Ok, then how about a vdb entry named CTIME that contains an integer
number of seconds since the unix Epoch?
--
Thanks,
Zac
 
Old 02-15-2010, 01:26 AM
Brian Harring
 
Default add UUID for comparison of installed package to binary package?

On Sun, Feb 14, 2010 at 06:02:28PM -0800, Ned Ludd wrote:
> On Sun, 2010-02-14 at 12:11 -0800, Zac Medico wrote:
> > On 02/14/2010 04:36 AM, Brian Harring wrote:
> > > This gets nasty... you're basically talking about the rpm equivalent
> > > of EPOCH.
> > >
> > > Not a fan of an adhoc UUID (especially since it'll become standard
> > > via portage doing it), but a *timestamp* for the build, labeled as
> > > such, gets you what you want and is usable for other things- detecting
> > > when to rebuild a scm package for example.
> > >
> > > That route gets my vote, and should also address your intentions.
> > > ~harring
> >
> > Ok, then how about a vdb entry named CTIME that contains an integer
> > number of seconds since the unix Epoch?
>
> That would be UNIXTIME vs CTIME I'd think.

How about a more descriptive name... build_time or something similar.
Yes, CTIME means creation time, but I'd rather not overload terms that
have specific meanings already just for the sake of saving a few chars
in typing the filename in...
~harring
 
Old 02-15-2010, 04:48 AM
Zac Medico
 
Default add UUID for comparison of installed package to binary package?

On 02/14/2010 06:02 PM, Ned Ludd wrote:
>> Ok, then how about a vdb entry named CTIME that contains an integer
>> number of seconds since the unix Epoch?
>
> That would be UNIXTIME vs CTIME I'd think.

I was alluding to the stat(2) st_ctime field, but I guess BUILD_TIME
is probably more appropriate (as suggested by Brian).
--
Thanks,
Zac
 
Old 02-15-2010, 04:49 AM
Zac Medico
 
Default add UUID for comparison of installed package to binary package?

On 02/14/2010 06:26 PM, Brian Harring wrote:
> How about a more descriptive name... build_time or something similar.
> Yes, CTIME means creation time, but I'd rather not overload terms that
> have specific meanings already just for the sake of saving a few chars
> in typing the filename in...
> ~harring

Ok, BUILD_TIME sounds good to me.
--
Thanks,
Zac
 

Thread Tools




All times are GMT. The time now is 11:42 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org