[SM-Discuss] Going back to Gentoo

Eric Sandall eric at sandall.us
Wed Oct 29 22:05:31 EDT 2008


As others have already commented in most of the areas, I'll only add a  
few tidbits. :)

Quoting "Kevin Monceaux" <Kevin at RawFedDogs.net>:
> Source Mage Fans,
<snip>
> One clear advantage with Gentoo is the number of available packages.  A
> recent sync reports I have 13,025 packages in my portage tree.

I believe that count uses each ebuild file as a package (e.g. vim-7.1,  
vim-7.2, vim-6.4 count as 3) as well as masked packages, which would  
be our test and stable grimoires.

For stable, games, and z-rejected (which doesn't count our  
multi-version spells (CVS, Devel, beta, multiple stable versions)), we  
have 6,248 packages. A little under half, and we're not counting as  
much as they are. ;)

> On to the subject of speed - It was a couple of years or so ago when I got
> fed up with Gentoo and first tried SMGL.  At that time many portage
> operations were painfully slow.  I can remember an emerge --sync, roughly
> equivalent to SMGL's scribe update, taking a half hour or more to update
> the portage cache, and that was after it had downloaded all the updates.
> It got to where I hardly ever updated my box.  Sure, I could have set up a
> cron job to sync in the middle of the night, but I prefer to do such
> things interactively.  At that time SMGL had a clear speed advantage.
> But, I think the tables have turned.  After giving Gentoo a second chance
> recently I've discovered that portage's speed is vastly improved.  Now
> from start to finish an emerge --sync takes about a minute or three.
> And, since I use eix, I also get a nice colorful summary afterwords
> listing package updates, and highlighting the version if the package is
> currently installed, not to mention a list of new packages, etc.  For
> example, here's the last two lines of summary info from the sync I just
> ran:

Our updates take just about as long, with devel Sorcery (in the works  
stuff ;)), though I do like having easy access to the following:
>      Available versions:  7.0.235 7.1.123 7.2 ~7.2.021 {acl  
> bash-completion  cscope gpm minimal nls perl python ruby vim-pager
>  vim-with-x}
>      Installed versions:  7.2(06:58:04 PM 10/27/2008)(acl gpm nls  
> perl python  ruby -bash-completion -cscope -minimal -vim-pager  
> -vim-with-x)

> On a similar note, portage searches are also much faster now days.
> Unless something is bogging down the system, search results start flying
> by almost as soon as I hit the enter key.  And, I like the colorized
> output and amount of information they show.  For example, if I:

Our searches are fairly quick, too. ;)
$ time gaze search -name gnome | wc -l
133

real    0m0.391s
user    0m0.312s
sys     0m0.081s

> which shows it's available use flags, the use flags it was installed with,
> etc.  eix is a portage search utility that was created back when portage
> itself was so painfully slow.  Now emerge --search speed is comparable to
> eix, but eix still has a few nifty features which makes it worth keeping.
> I mainly use eix for searching.  I've omitted several other search results
> from the above.  With eix there's also a "compact" listing option which
> works well when a search returns lots of results.  A few results from
> eix -c vim:

> Again, it looks better with color.  It highlights versions that are
> installed, and even shows the date they were installed From the above, I
> can tell at a glance that gvim isn't installed while vim and vim-core are.

We can add colour to ours, just need a patch. ;) We already have  
colour throughout most of our output.

> It seems with gaze I have to ask for each bit of info available for a
> spell separately.  Although I did manage to get a little more information
> when searching with something like:
>
> # gaze version `gaze -q search -name vim`
>
> I do like the long descriptions available on SMGL.  Gentoo appears to only
> have short descriptions.

An alias doing the commands you usually string together is the answer  
here. *nix tools should do one thing, and one thing well, and that's  
how we've tried to build ours. You could also file enhancement bugs  
(with patches? ;)) to add helper commands.

e.g. for one helper command already in:
`sorcery rebuild` is, simplified, just `cast -c $(gaze installed|cut -d: -f1)`

> Another area where speed is concerned - revdep-rebuild versus cleanse:
> With a little over 300 packages on my SMGL box a cleanse run took well
> over an hour.  I just ran a revdep-rebuild on my Gentoo box with 494
> installed packages.  Total time was 2:06.17.  That's two minutes, not
> hours.  Now that might not be a fair comparison.  I'm not sure exactly
> what's going on under the hood but I suspect cleanse is performing a much
> more thorough check, sometimes too thorough.  Did I mention my recent
> battles with cleanse above?

I believe revdep-rebuild is more like `cleanse --prune`, which runs quickly.

# time cleanse --prune
Pruning...
Pruning done.
Removed information is backed up to /tmp/cleanse/backup/14560.

real    0m0.505s
user    0m0.337s
sys     0m0.113s

# gaze installed|wc -l
700

Twice as many packages, in a quarter of the time. ;)

May want to compare apples to apples (ASSuMEing I am correct about  
revdep-rebuild ;)).

> On to configuration file updates - How are configuration file updates
> handled in SMGL?  Several man pages say to see confmeld.  I viewed the
> confmeld man page but never found any updated files where the man page
> said they should be.  I did, however, see the occasional message while
> casting a spell asking me how I wanted to handle a config file update.  Of
> course, if the cast was running unattended, it would time out and take the
> default response without me seeing the message.  On Gentoo after a merge
> it displays the number of config files that need updating, if there are
> any.  If there are any, I can use dispatch-conf to take care of the
> updates.

If you use castfs, you will see a summary at the end of which packages  
need their configuration files merged.

> On to the subject of USE flags versus playing 297,586 questions.  The
> first time around using Gentoo I hated USE flags.  After trying some other
> distros, I've come to realize USE flags can be a good thing.  Combined
> with emerge's pretend feature one can get things set they way he/she
> wants, then start the emerge and walk away.  For example, if I were about
> to install vim I could run an emerge -pv vim, which would list vim and all
> the dependencies that would be installed, along with all their use flags.
> In the case of vim, I have the X USE flag set globally on my system but I
> just want plain vim.  So, after running the pretend emerge for vim I
> realized that and disabled the X USE flag for vim itself.  I ran one more
> pretend emerge to make sure all was to my liking, then started the real
> emerge and went on to doing other things while it ran.
>
> Another plus to USE flags - I'm on my third recent Gentoo install.  I
> saved copies of my /etc/make.conf and /etc/portage/package.{keywords,use}
> files from the first time around.  On the second and third installs I
> could just install everything and all my USE flag preferences were already
> set.

You can have USE flags in SMGL:
$ sorcery --help
...
default add spell_1 spell_2 on/off      If "spell_1" optionally depends
                                         on "spell_2" the default answer
                                         is on/off.

default add "" spell on/off     If anything optionally depends on "spell" the
                                 default answer is on/off.

default add spell "" on/off     If "spell" optionally depends on anything
                                 the default answer is on/off.

default add spell PROVIDER on/off       "Spell" is the provider for
                                         PROVIDER by default, in the
                                         case of optional_depends, if
                                         on/off is off, none is chosen
                                         by default instead.

default remove [spell|""] [spell|PROVIDER|""] Remove entry from defaults
default search [spell|""] [spell|PROVIDER|""] [on|off] Search defaults

That's USE flags right there, then just set PROMPT_DELAY=0 and you  
have exactly the same functionality. :)

> I see two drawbacks to SMGL's question/answer sessions.  If I respond to a
> question and realize right after responding to it that I should have
> answered differently, I have to cancel and start over.  Also, for most
> questions timing out and taking the default answer makes sense.  For some,
> it doesn't.  For example, while I was casting openoffice-bin it wanted
> some form of Java.  I picked one and was told that I needed to download
> the file manually.  While I was doing so, the prompt asking if I had
> downloaded the file timed out and the cast continued and failed because I
> hadn't finished downloading the file it wanted yet.  Those type of
> questions should not time out.

If you cancel a cast, your prior answers are remembered and used  
(under /var/state/sorcery/abandoned, I believe) on the next cast  
unless you do a `cast -r`, which is "reconfigure."


> Okay, I think I've rambled long enough.  I'll continue to follow the SMGL
> mailing lists but I think for now Gentoo is the better fit for me
> personally.

Thank you for the helpful feedback, we can always improve, especially  
with documenting how to do the above so it's easy to find. ;)

-sandalle

-- 
Eric Sandall                     |  Source Mage GNU/Linux Developer
eric at sandall.us PGP: 0xA8EFDD61  |  http://www.sourcemage.org/
http://eric.sandall.us/          |  http://counter.li.org/  #196285



More information about the SM-Discuss mailing list