Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Would emerge --sync remove old profiles?
Date: Sat, 26 Apr 2008 20:00:41
Message-Id: 200804262200.30212.alan.mckinnon@gmail.com
In Reply to: Re: [gentoo-user] Would emerge --sync remove old profiles? by Mark Knecht
1 On Saturday 26 April 2008, Mark Knecht wrote:
2
3 > I don't buy that it's my issue created by a long time between
4 > updates. I could turn on any machine that's sitting in a junk heap or
5 > back room somewhere. It hasn't been powered up in a long time. I log
6 > in and want to figure out what's in front of me with respect to
7 > updates. I type emerge sync and portage deletes files. to me that's
8 > just wrong.
9
10 Mark,
11
12 This might be worth discussing. I know you said "enough of this" later
13 on but enough users run into conceptually similar issues to make it
14 worth while. Examples: someone needs a specific kernel version for some
15 hardware and it goes away from portage or weird video cards where only
16 ATIs magic from 2005 actually works.
17
18 First, let's look at the real source of the problem: using rsync to
19 download the tree. To know what will change or what's new portage needs
20 a new tree, and there is no summary for that. It really needs two trees
21 to run a diff against and it has to be done locally - the rsync server
22 is clueless about what you currently have. So basically to tell you
23 what will change, portage has to have a new tree which nukes the old
24 stuff...
25
26 One could write a dual-portage thingy that replicates what you have then
27 does emerge --sync, and also has an --undo fetaure for just in case.
28 Ughh. One must take account of the portage db, the metacache and other
29 bits as well.
30
31 So how about something that creates overlays for you? As a wrapper to
32 emerge? It could have options to convert various bits of the current
33 system to private overlays, and generate a decent cache to speed things
34 up (the current state of affairs will not cache a local overlay by
35 default so it's really slow). I'm thinking of these things:
36
37 - Install every currently installed ebuild to an overlay, or install
38 specific ebuilds or specific categories to an overlay.
39 - Copy an installed ebuild and it's entire installed DEPEND tree to an
40 overlay - this is for cases where <arb_lib> is not in world but is
41 required as a deep dependency of something that is. The user will
42 probably not be aware of this dependency and not having that ebuild
43 will break stuff.
44 - Copy an entire profile to an overlay
45 - Copy everything in an installed ebuild's SRC_URI (or all installed
46 ebuilds) to a different DISTDIR for safety (think ATI driver downloads
47 or kernels here)
48 - Remove old ebuilds and profiles from the overlay that you have since
49 upgraded
50 - Possibly more
51
52 Such a script would do the backup you wished you had done for your
53 folks, but only the bits you had installed (not everything), then run
54 emerge. You get a good compromise between you needing old stuff to be
55 around and the dev's perfectly reasonable desire to not have to support
56 old stuff not in common use.
57
58 It could be implemented one of these ways:
59 - a new feature to portage - highly unlikely considering the fear and
60 dread that comes with modifying portage in it's current state
61 - a new feature to paludis - this might be possible as I believe
62 paludis' code design is quite sane
63 - a wrapper around emerge (easiest and most likely to benefit the
64 largest numbers if interested users)
65
66
67
68 --
69 Alan McKinnon
70 alan dot mckinnon at gmail dot com
71
72 --
73 gentoo-user@l.g.o mailing list

Replies

Subject Author
Re: [gentoo-user] Would emerge --sync remove old profiles? Neil Bothwick <neil@××××××××××.uk>
Re: [gentoo-user] Would emerge --sync remove old profiles? Mark Knecht <markknecht@×××××.com>
Re: [gentoo-user] Would emerge --sync remove old profiles? Mark Knecht <markknecht@×××××.com>
Re: [gentoo-user] Would emerge --sync remove old profiles? Mark Knecht <markknecht@×××××.com>