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" <hwoar...@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


Reply via email to