Sven Vermeulen posted on Sat, 08 Dec 2012 20:41:42 +0000 as excerpted:
> On Fri, Nov 30, 2012 at 10:44:31AM -0500, Richard Yao wrote:
>> On 11/30/2012 06:46 AM, Sven Vermeulen wrote:
>> > On Nov 29, 2012 10:24 AM, "Markos Chandras" <
hwoa...@gentoo.org>
>> > wrote:
>> > > > We could slightly simplify the handbook installation procedure if
>> > > > we told people to use emerge-webrsync to fetch the initial
>> > > > snapshot. What do people think?
> Okay, I've updated the instructions.
> Second, the Portage tree snapshots are now installed through
> emerge-webrsync (which means the entire section on downloading the
> tarballs, checking integrity, extracting is now a single paragraph).
Thanks, swift. =:^)
> Finally, the section on updating the Portage tree (using emerge --sync)
> is now marked as optional, with the remark that if you're behind a
> firewall you can safely ignore this section as the user will already
> have a quite up-to-date tree installed.
>
> I don't know if we should remove the section altogether (about emerge
> --sync) or not. It is a small step and users *will* create bug reports
> about it if they don't notice it in the documentation anymore. Marking
> it optional seems to be a good approach here.
++ on optional.
IMHO, one of the finer points of a good handbook-based install is that it
"sets the user up for success" by encouraging correct routine maintenance
practices in the future, stepping them thru the process once during the
initial install. Unfortunately, there's /way/ too many users that read
only the handbook's install section (and perhaps Working with Gentoo) and
never read the rest, so instilling at least some minimal basics of good
routine practices there is important.
Thus, even if the webrsync process grabbed them a reasonably fresh (24
hours) initial tree, keeping the now optional section on updating the
tree to the very latest is a good idea, since even if it's optional,
it'll step the new user thru the process at least once, establishing a
good idea of that routine basic as a good practice for future updates.
...
For the same reason (but likely more controversially), I'd actually argue
that the install section should (optionally?) step thru installing
gentoolkit and running revdep-rebuild and emerge --depclean (with an
appropriate --ask/--pretend first) as the (near) final steps of the
initial install, as well, even if gentoolkit is the only thing in @world
when they do so, and it's technically unnecessary as there should be
nothing to rebuild or depclean. For depclean especially, establishing
the practice right at the beginning will help to ensure that @world
always contains all desired "leaf" packages, and that as a result, users
will never accumulate a huge backlog of "uncovered" packages subject to
getting stale due to lack of @world updating, and that an initial depclean
run when they DO get around to it won't "accidentally" uninstall half
their system, because it never got in @world to begin with. (Of course,
a successful emerge run now includes a helpful depclean reminder anyway,
but stepping the user thru the process once during the initial guided
install certainly can't hurt.)
A quick review of the installation section in the manual suggests either
covering this as part of chapter 11, Finalizing your Gentoo Installation,
or instead, inserting it as chapter 11, bumping the current 11 and 12 to
12 and 13. I'd suggest the latter, with a title for the new chapter 11
of something like "Your first emerge --update @world". It could
encourage readers to look at the working with gentoo and working with
portage sections for more, but would be an initial step-thru of a basic
emerge --update @world and related maintenance (allowing a condensing of
the corresponding chapters in the other sections), for those who never
read past install in the handbook. Additionally, with such a title it'd
be easier for users to refer back to (and see the encouragement to read
the other sections again, when they maybe have more time to do so) for
their second update, etc, if they needed to.
One more suggestion while I'm at it. I remember all those many years ago
when I first installed gentoo, even after reading and absorbing the
handbook well enough to be pointing people to specific chapters and
subchapters in answer to specific questions on the user list, I was still
somewhat confused about the exact nature of the world list, and what
packages should be listed there vs. those that shouldn't. Unless I've
overlooked it, to this day there's still not a real good explanation of
the distinction between "leaf packages" and dependencies, and why "leaf
packages" belong in @world but dependencies don't. Something along the
lines of:
"""""
If you want to use and care about that specific package, put it in the
world list with emerge <package>, without --oneshot. If you don't really
care about that specific package and it's simply pulled in by something
else that you DO care about, but you happen to be specifically emerging
it anyway, use emerge --oneshot <package>, so it doesn't end up in the
world list and emerge --depclean can unmerge it in the future if the
packages pulling it in no longer need it.
"""""
(Actually, here, all my default emerge stub-scripts use --oneshot by
default. I use a special "2" (not oneshot) version when I WANT something
added to @world, which for me is a sort of package testing purgatory
between "I for sure want to keep it and it's in a set listed in
world_sets accordingly" and "I'm not sure I really want to keep it yet
and thus want to be reminded about it the next time I update and then run
depclean --ask to cleanup.")
As a result of my confusion, I ended up with more packages in the world
list than I really needed/wanted, and somewhere along the line, I had to
use some tool (I guess it'd be emaint --clean world, now) to weed out the
unnecessary cruft in my world list.
(Later, with kde4 and portage 2.2 with sets support, I actually went thru
and broke my world file into about a dozen individual sets by functional
category, starting with the kde sets which I sync to those in the kde
overlay with every 6-month kde4-minor bump, but also including sets such
as net-admin with traceroute, etc, and net-user with firefox, etc. This
was actually as a result of sorting out my existing world list to copy it
to my netbook, but I've kept everything in sets since then, and I've run
with an empty world list for about three years now, since everything is
in sets as enumerated in my world_sets file. That practice keeps the
sets that replace my world file REAL clean, since everything listed is in
its own functional category and each set is small enough it's immediately
clear upon cat-ing the set whether every package listed in the set is
something I actually care about or not. (For the kde sets I keep synced
with the ones in the overlay, I comment out the libs and apps I don't
need or care about, but keep them in the set, commented, for easier
syncing with the overlay versions at the next six-month bump.) I'm
really looking forward to the day when proper sets support appears in
stable portage, and sets can eliminate the unsorted world list mess for
others just as they have for me. Unfortunately, that looks to be
something of a "bluesky" enhancement bug for stable or even ~arch, but at
least 2.2's there to be unmasked for people who like me have real,
practical use for sets.)
--
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