Pick your emerge!

I use amarok to play my music on my gentoo system. My only problem was that at the time of this blog entry gentoo had version 1.2.x in the “stable” and each time I was making an emerge world I had to “downgrade” my “unstable” version 1.3.x. That was not fun at all… ; )

So I found this excellent script called pick your emerge. It lets you choose your world packages dynamically. I highly recommend all gentoo users to use this script. (I`m not responsible if you omit the required packages ; ) )

Here is an example output:

testsec ~ # ./pye world
One moment...

These are the packages that I would merge, in order:

Calculating world dependencies  ...done!
0): [ebuild     U ] dev-db/mysql-4.1.14 [4.0.25-r2]
1): [ebuild  N    ] net-www/gentoo-webroot-default-0.2
2): [ebuild  N    ] dev-libs/apr-0.9.6-r3
3): [ebuild  N    ] app-misc/mime-types-4
4): [ebuild  N    ] dev-libs/apr-util-0.9.6-r2
5): [ebuild     U ] net-www/apache-2.0.54-r31 [2.0.54-r9]
6): [ebuild     U ] mail-client/mozilla-thunderbird-1.0.7 [1.0.6-r2]
7): [ebuild     U ] net-misc/wget-1.10.2 [1.9.1-r5]
8): [ebuild  NS   ] sys-kernel/gentoo-sources-2.6.13-r3
9): [ebuild     U ] sys-devel/gcc-3.3.6 [3.3.5.20050130-r1]
10): [ebuild     U ] games-strategy/freeciv-2.0.5 [2.0.4]
11): [ebuild     U ] sys-devel/libtool-1.5.20 [1.5.18-r1]
12): [ebuild     U ] app-emulation/vmware-workstation-5.0.0.13124-r2 [5.0.0.13124-r1]
13): [ebuild     U ] sys-apps/gawk-3.1.4-r4 [3.1.3-r2]
14): [ebuild     U ] app-office/openoffice-bin-1.1.5 [1.1.4-r1]
15): [ebuild     U ] games-emulation/xmame-0.101 [0.99-r1]
16): [ebuild     U ] net-misc/openssh-4.2_p1 [3.9_p1-r2]
17): [ebuild     U ] sys-libs/glibc-2.3.5-r2 [2.3.5-r1]
18): [ebuild  NS   ] dev-php/mod_php-4.4.0-r3
19): [ebuild     U ] net-analyzer/nessus-libraries-2.2.5 [2.2.4]
20): [ebuild     U ] net-analyzer/libnasl-2.2.5 [2.2.4]
21): [ebuild     U ] net-analyzer/nessus-core-2.2.5 [2.2.4]
22): [ebuild     U ] net-analyzer/nessus-plugins-2.2.5 [2.2.4]
23): [ebuild     U ] net-analyzer/nessus-2.2.5 [2.2.4]
24): [ebuild     UD] net-analyzer/nmap-3.83 [3.93]
25): [ebuild     U ] sys-devel/automake-1.9.6-r1 [1.9.6]
26): [ebuild     U ] x11-base/xorg-x11-6.8.2-r4 [6.8.2-r2]
27): [ebuild     U ] sys-kernel/genkernel-3.3.6 [3.3.5]
28): [ebuild     U ] sys-apps/shadow-4.0.7-r4 [4.0.7-r3]
29): [ebuild     U ] media-sound/beep-media-player-0.9.7-r8 [0.9.7-r6]
30): [ebuild     U ] gnome-base/gdm-2.8.0.3 [2.8.0.1-r1]
31): [ebuild  NS   ] dev-lang/python-2.4.2
32): [ebuild     U ] sys-devel/gnuconfig-20050602 [20050324]
33): [ebuild     U ] sys-apps/util-linux-2.12r [2.12i-r1]
34): [ebuild     U ] gnome-base/libbonoboui-2.10.1 [2.10.0]
35): [ebuild     U ] www-client/mozilla-1.7.12-r2 [1.7.11]
36): [ebuild     UD] media-sound/amarok-1.2.4 [1.3.1-r2]
37): [ebuild     U ] gnome-base/libbonobo-2.10.1 [2.10.0]
38): [ebuild     U ] dev-lang/perl-5.8.6-r6 [5.8.6-r5]
39): [ebuild     U ] app-portage/gentoolkit-0.2.0-r2 [0.2.0]


You can now enter the numbers of packages you want to emerge/unmerge/exclude.

             You have the following possibilities:

             * you can simply enter the numbers comma-separated, e.g. 1,3,5,6,8
             * you can also specify ranges: 2,4-7,9,11-16
             * "a" or "all" merges all packages in the list
             * "!" excludes the specified packages (and merges the rest): !4,6-8,13
             * "x" excludes _and_ masks them in /etc/portage/package.mask or ~/.pye/pye.mask
             * "q" quits pye                                                    
Enter your choices now: !36,!24

I`m about to emerge the following packages: dev-db/mysql
 net-www/gentoo-webroot-default dev-libs/apr 
app-misc/mime-types dev-libs/apr-util net-www/apache 
mail-client/mozilla-thunderbird net-misc/wget 
sys-kernel/gentoo-sources sys-devel/gcc 
games-strategy/freeciv sys-devel/libtool 
app-emulation/vmware-workstation sys-apps/gawk 
app-office/openoffice-bin games-emulation/xmame 
net-misc/openssh sys-libs/glibc dev-php/mod_php 
net-analyzer/nessus-libraries net-analyzer/libnasl 
net-analyzer/nessus-core net-analyzer/nessus-plugins 
net-analyzer/nessus net-analyzer/nmap sys-devel/automake 
x11-base/xorg-x11 sys-kernel/genkernel sys-apps/shadow 
media-sound/beep-media-player gnome-base/gdm dev-lang/python
 sys-devel/gnuconfig sys-apps/util-linux 
gnome-base/libbonoboui www-client/mozilla 
gnome-base/libbonobo dev-lang/perl app-portage/gentoolkit


Is this correct? Choose an option: e(merge)/n(o)/q(uit):