Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Official way to do rolling update (Was: Re: Releng breakage with respect to move from dev-python/python-exec to dev-lang/python-exec)
Date: Mon, 04 Nov 2013 09:52:13
Message-Id: pan$38965$466c8d25$570bdb0$55341330@cox.net
In Reply to: Re: Official way to do rolling update (Was: Re: [gentoo-dev] Releng breakage with respect to move from dev-python/python-exec to dev-lang/python-exec) by Daniel Campbell
1 Daniel Campbell posted on Mon, 04 Nov 2013 02:50:27 -0600 as excerpted:
2
3 > -----BEGIN PGP SIGNED MESSAGE-----
4 > Hash: SHA1
5 >
6 > On 11/03/2013 10:15 PM, yac wrote:
7 >> On Sun, 03 Nov 2013 11:02:31 +0200 Alan McKinnon
8 >> <alan.mckinnon@×××××.com> wrote:
9 >>
10 >> [snip]
11 >>>>
12 >>>> Afaik there is no official way to update gentoo, is there?
13 >>>
14 >>> It's always been "emerge -avuND world"
15 >> [snip]
16 >>
17 >> Is this documented annywhere? I have a hard time finding it. I can see
18 >> it mentioned eg. in man emerge in -c option but that's not good enough.
19
20 Read the handbook lately? =:^)
21
22 Handbook, part 2, Working with Gentoo, Chapter 1, A Portage Introduction,
23 Doc_chapter 3, Maintaining Software (this is the amd64 link):
24
25 http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?
26 part=2&chap=1#doc_chap3
27
28 Look under the heading Updating your System. That starts with...
29
30 emerge --update --ask world
31
32 ... then discusses --deep, --withbdeps=y, and --newuse, so the example
33 full update is ...
34
35 emerge --update --deep --with-bdeps=y --newuse world
36
37 --ask and --pretend are discussed in the same doc_chapter as well, as is
38 -v (tho inconsistently, I don't see the long-option --verbose discussed,
39 as it is for the others).
40
41 --depclean, --search and --unmerge are discussed in that chapter too, as
42 is gentoolkit with equery and revdep-rebuild. About the only thing
43 missing is sets, and they're missing from working with portage (part 3)
44 AFAICT as well, most likely because the handbooks simply haven't been
45 updated for sets yet.
46
47 >> Even if it is documented, I think it would be very helpfull to have
48 >> such a way implemented as "kind of option" to emerge like `emerge
49 >> --standard-ugrade` that would just alias to -uaNDv or possibly leverage
50 >> sets like `emerge @upgrade`
51
52
53 This has been discussed before. Zac could give you a summary and
54 possibly point you at the thread, I'm sure.
55
56 I believe the reason it wasn't done is because the default options
57 setting was added instead. Well that and the fact that (as covered
58 below), I guess most users setup their own scripts/aliases at some point,
59 at which point the existence of something that general-purpose default
60 built-in becomes moot.
61
62 > You could emulate this yourself by setting up an environment variable to
63 > pass to emerge, or use an alias like I do:
64 >
65 > alias sysupdate='emerge -avuDN --with-bdeps=y @world'
66 >
67 > (Note: I should probably extend this to accept $1 args, in case I want
68 > to add `-t` or something)
69 >
70 > If you wanted something to cover more bases, you could make a script to
71 > do the above in addition to revdep-rebuild, python-updater, etc-update,
72 > and so on. Given the power and flexibility of portage/emerge and the
73 > extremely broad variety of needs that Gentoo meets, I believe it would
74 > be somewhat wasted work to add the option when users are already
75 > expected to read manpages and the Handbook. Perhaps -avuND should be
76 > made more obvious in a place or two in the documentation as a sort of
77 > compromise.
78
79 ++
80
81 FWIW, I have a whole set of short, often 2-4 letter aliases/scripts that
82 take care of the various options, as I'm lazy and find reaching for the
83 "-" key difficult. Most of them are broken down into ea* and ep*
84 variants, for ask and pretend, and the default is oneshot so as not to
85 pollute the world file (which is normally empty anyway, as is @system for
86 that matter as I negated it in my profile, everything's in sets, tho I
87 sometimes use the worldfile as a sort of "package purgatory" when I want
88 to try something out and keep it updated, but am not sure I want it in
89 one of my permanent sets yet).
90
91 Then there's esyn, which syncs both the gentoo tree and layman, as well
92 as automatically handling ebuild patching and redigesting using a tree
93 similar to the /etc/portage/patches/ tree, and does an automatic fetch
94 deep world before its done.
95
96 Then there's the ead (depclean) and ear (revdep-rebuild) variants, as
97 well as epc to lookup changelogs, ept* for tree, and eal for @smart-live-
98 rebuild.
99
100 Completing the set are eup (etc-update) and envup (env-update).
101
102 I have a similar set, but starting with k* instead of e*, for automatic
103 mainline kernel fetching, building, etc. There are git-kernel commands
104 and tarball-kernel commands, tho I've not used the latter in a few years
105 so it could well be bitrotted.
106
107 --
108 Duncan - List replies preferred. No HTML msgs.
109 "Every nonfree program has a lord, a master --
110 and if you use the program, he is your master." Richard Stallman

Replies