Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] Going back to Gentoo

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: "Eric Sandall" <eric AT sandall.us>
  • To: sm-discuss AT lists.ibiblio.org, "Kevin Monceaux" <Kevin AT RawFedDogs.net>
  • Subject: Re: [SM-Discuss] Going back to Gentoo
  • Date: Wed, 29 Oct 2008 19:05:31 -0700

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





Archive powered by MHonArc 2.6.24.

Top of Page