[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