Daniel Campbell posted on Mon, 04 Nov 2013 02:50:27 -0600 as excerpted: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 11/03/2013 10:15 PM, yac wrote: >> On Sun, 03 Nov 2013 11:02:31 +0200 Alan McKinnon >> <alan.mckin...@gmail.com> wrote: >> >> [snip] >>>> >>>> Afaik there is no official way to update gentoo, is there? >>> >>> It's always been "emerge -avuND world" >> [snip] >> >> Is this documented annywhere? I have a hard time finding it. I can see >> it mentioned eg. in man emerge in -c option but that's not good enough.
Read the handbook lately? =:^) Handbook, part 2, Working with Gentoo, Chapter 1, A Portage Introduction, Doc_chapter 3, Maintaining Software (this is the amd64 link): http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml? part=2&chap=1#doc_chap3 Look under the heading Updating your System. That starts with... emerge --update --ask world ... then discusses --deep, --withbdeps=y, and --newuse, so the example full update is ... emerge --update --deep --with-bdeps=y --newuse world --ask and --pretend are discussed in the same doc_chapter as well, as is -v (tho inconsistently, I don't see the long-option --verbose discussed, as it is for the others). --depclean, --search and --unmerge are discussed in that chapter too, as is gentoolkit with equery and revdep-rebuild. About the only thing missing is sets, and they're missing from working with portage (part 3) AFAICT as well, most likely because the handbooks simply haven't been updated for sets yet. >> Even if it is documented, I think it would be very helpfull to have >> such a way implemented as "kind of option" to emerge like `emerge >> --standard-ugrade` that would just alias to -uaNDv or possibly leverage >> sets like `emerge @upgrade` This has been discussed before. Zac could give you a summary and possibly point you at the thread, I'm sure. I believe the reason it wasn't done is because the default options setting was added instead. Well that and the fact that (as covered below), I guess most users setup their own scripts/aliases at some point, at which point the existence of something that general-purpose default built-in becomes moot. > You could emulate this yourself by setting up an environment variable to > pass to emerge, or use an alias like I do: > > alias sysupdate='emerge -avuDN --with-bdeps=y @world' > > (Note: I should probably extend this to accept $1 args, in case I want > to add `-t` or something) > > If you wanted something to cover more bases, you could make a script to > do the above in addition to revdep-rebuild, python-updater, etc-update, > and so on. Given the power and flexibility of portage/emerge and the > extremely broad variety of needs that Gentoo meets, I believe it would > be somewhat wasted work to add the option when users are already > expected to read manpages and the Handbook. Perhaps -avuND should be > made more obvious in a place or two in the documentation as a sort of > compromise. ++ FWIW, I have a whole set of short, often 2-4 letter aliases/scripts that take care of the various options, as I'm lazy and find reaching for the "-" key difficult. Most of them are broken down into ea* and ep* variants, for ask and pretend, and the default is oneshot so as not to pollute the world file (which is normally empty anyway, as is @system for that matter as I negated it in my profile, everything's in sets, tho I sometimes use the worldfile as a sort of "package purgatory" when I want to try something out and keep it updated, but am not sure I want it in one of my permanent sets yet). Then there's esyn, which syncs both the gentoo tree and layman, as well as automatically handling ebuild patching and redigesting using a tree similar to the /etc/portage/patches/ tree, and does an automatic fetch deep world before its done. Then there's the ead (depclean) and ear (revdep-rebuild) variants, as well as epc to lookup changelogs, ept* for tree, and eal for @smart-live- rebuild. Completing the set are eup (etc-update) and envup (env-update). I have a similar set, but starting with k* instead of e*, for automatic mainline kernel fetching, building, etc. There are git-kernel commands and tarball-kernel commands, tho I've not used the latter in a few years so it could well be bitrotted. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman