Gentoo Archives: gentoo-portage-dev

From: Amit Dor-Shifer <amitds@××××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] version management for eclasses
Date: Sun, 29 Mar 2009 07:12:03
Message-Id: 49CF1F41.2080907@oversi.com
In Reply to: Re: [gentoo-portage-dev] version management for eclasses by Zac Medico
1 That environment.bz relates to the installed package? And "downgrading"
2 means I'm installing a lesser version instead of the current, and not
3 necessarily the prev. one in-line. I might be downgrading to a *very*
4 old version.
5
6 I can see how a/m archive can aid in removing the current version.
7 However, the replacing package also relies on eclass code, and it might
8 rely on code which was already gone when I initially created the ebuild
9 of the current version.
10
11 Here's an example timeline:
12 1. Creating myapp-1.0, inheriting myeclass.eclass "version a".
13 2. Modifying myeclass.eclass to "version b". myapp-2.0 is created.
14 eclass is not backward-compatible.
15 3. ...
16 3. Creating myapp-20.0.
17
18 On a system with myapp-20.0 (and eclass of at-least "version b"), I
19 don't see how I would be able to downgrade to myapp-1.0, as "version a"
20 of the eclass is nowhere to be found.
21
22 Thanks,
23 Amit
24
25 Zac Medico wrote:
26 > Amit Dor-Shifer wrote:
27 > > I've been through the list, and also read GLEP #33, in search for
28 > > recommended practices regarding eclasses.
29 > > the way I understand it, when an eclass is modified to accomodate a new
30 > > ebuild, old ebuilds are broken. Specifically, downgrading with those
31 > > broken ebuilds is no longer possible, as the eclass code they used to
32 > > execute is no longer available.
33 >
34 > > So, basically, downgrade is possible only while dependent eclasses
35 > > haven't changed. And AFAIK, portage doesn't test whether inherited
36 > > eclasses were modified since the ebuild was signed. This means that
37 > > there's also no traceability: old ebuilds cannot say "When I was in
38 > > business, my inherited eclass was THIS".
39 >
40 > > I'm wondering how do others address the downgrade issue.
41 >
42 > Since portage-2.1.4, it's not a problem because we reuse
43 > /var/db/pkg/*/*/environment.bz2 which contains code from the
44 > original version of the eclass.

Replies

Subject Author
Re: [gentoo-portage-dev] version management for eclasses Zac Medico <zmedico@g.o>