Mailing List Archive

Gentoo Monthly Newsletter: 31 August 2008
Gentoo Monthly Newsletter
This is the eighth issue of the Gentoo Monthly Newsletter, for July 2008 –
August 2008.

1. Introduction

This month in the GMN

Welcome to the August issue of the Gentoo monthly newsletter!

As usual, you can discuss any aspect of this issue of the GMN in the
corresponding forum thread[1]. We look forward to hearing from you!


2. Gentoo News

PHP4 removed from the Portage tree

All work on PHP4 was been discontinued by upstream on August 8. No more
security or bug fixes will be released. PHP4 has already been hardmasked in
the Portage tree since October 2007 (for security reasons), and now it has
finally been removed from the tree[2].


If possible, you should upgrade to PHP5, which is still supported with bug
and security fixes.

If you or your company have still not upgraded to PHP5, there is a PHP4
overlay available[3]. However, running these older PHP4 packages on publicly
accessible services is not recommended, as the packages still contain
multiple security vulnerabilities.


Trustees Meeting

The Gentoo Trustees[4] held its monthly meeting on August 18. The agenda may
be found here[5]; the Trustees will vote at a later date on the proposed
Foundation Bylaws[6].


Coming Up

* Bugday[7]: Looking for a way to help out Gentoo without investing a
lot of time? Join us on September 06 for our monthly bugday, and help us
squash some bugs[8].
* Council Meeting[9]: The Gentoo Council meets twice every month to
discuss important technical issues that affect Gentoo as a whole. The
next meeting is scheduled to be held on September 14, and everyone is
welcome to participate - #gentoo-council on at 2000UTC.
* Trustees Meeting[4]: Scheduled for September 19.


3. Heard in the Community

Interview: Google Summer of Code Student Nandeep Mali

In the third of the series of interviews with our Summer of Code students, we
chat with Nandeep Mali[10], who is working on "Setting Beacon Afloat". Find
out more about him and the project by reading on!


GMN: Give us a brief introduction of yourself. Where are you from? Where and
what do you study? What's your homepage or other means for fans to stalk you?

Nandeep: Hi folks! :) I am from India and completed my undergraduate (B.Tech)
in Computer Engineering from NIT Jaipur this year in May. My homepage/blog
used to be at but now it's just an empty domain awaiting some
care. And one can always haunt me at my email or poking me at Freenode (alias
= n9986).

GMN: Were you already involved with Gentoo and/or open source in general
before acceptance into SoC? If yes, briefly tell us how you got involved and
why you like writing open source code.

Nandeep:This summer has been my first plunge into this addictive activity. :D

I have been really interested in this whole front-end-for-the-network (read
'The Web') concept and wanted to vent out my energy into something more
useful than looping around my localhost.

While searching for a nice project I came upon this interesting idea in
Gentoo project pages. Knowing Anant (gamer buddy), I discussed with him the
possibilities with Beacon. The helpful 'pong' by rane during the drafting
stages helped me get around the Gentoo community. It was an awesome moment to
see my project page show 'Application Accepted!'.

From then on I have come a long way, learning about Gentoo by hanging out
#gentoo-dev and the mailing lists.

GMN: How has your experience with the Gentoo community been so far?

Nandeep: It's been a pleasure to be in touch with such efficient and very
talented developers. The documentation is very well done and user
contribution is also very easy. Despite some rumors about Gentoo not being
fun loving I would say that people here are very good humored and

GMN: Please tell our readers a little about the project you're working on,
and why you think it will be helpful to Gentoo users. What was your
inspiration for starting the project? What do you expect to achieve with it?

Nandeep: The project is a kick start on a sleeping project 'Beacon' (and yes,
we'll gladly accept the award for the best project name) which was created by
Anant Narayanan[11] in 2006 as his Summer of Code project. I am working on
reviving this tool to, as put by rane, bring Gentoo documentation team out of
the middle ages of online editing (vim and cvs). The code base was already
strong and helped me get a good head start.


There are many possibilities with Beacon. The Rich text Editor will help save
a lot of time and once integrated with the Documentation site it'll help easy
wiki-like editing of the docs. The useful repodoc-web module which was
already in place and the collaborative editor (like Google Docs) should have
some interesting impacts on the way the Doc Team works.

In fact I typed out the answers to this interview in Beacon's Rich text
Editor and probably saved the GMN some time. ^_^

The basic design consists of a master-server and numerous slaves. The master
does bookkeeping of jobs, hosts the various resources, preserves state, and
manages distribution among the slaves. The slaves run jobs according to sets
of instructions called "jobuilds" which are similar in spirit (and syntax) to
ebuilds, but are used to describe the smallest "quantum of work". The
(lengthy) details of how they all will work can be found in my first weekly


GMN: What do you do when you're not coding? (hobbies, interests, favorite
T.V. shows etc.)

Nandeep: Anime, Gaming, Music that my ears fancy (anything based on the
mood), Tolkien fiction, Roald Dahl's twists and rampaging around on the web
looking for random stuff. TV is an alien concept. And of course I never
really thought of coding as work. :)

GMN: Thanks for your time!

Planet Gentoo

Parallel merges: Zac Medico[13]announces[14] parallel builds for Portage and
Jeremy Olexa[15] has some initial tests[16].


More sets: Zac Medico[13] tells us about new package sets[17] available for
the Portage 2.2 RC versions.


New IRC servant: As Jeeves, the IRC butler, reached its end of work life,
Robin H. Johnson[18] presents its replacement: Willikins[19].


Another ebook: Sven Vermeulen[20] is discusses his work[21] in progress on a
Linux book, centered around Gentoo.


Gentoo in the News

Gentoo was recently featured in the French edition of Linux Identity
Magazine[22]; several articles were contributed by Gentoo developers Olivier
Fisette[23] and Luis Francisco Araujo[24]. Some of the articles are even
available online[25] (in French).


Tigase: A Gentoo-based LiveCD

Tigase[26] is a new Gentoo-based distribution. The project focuses on
developing XMPP (Jabber) server and web, AJAX based clients.


The LiveCD contains the Tigase server, Drupal CMS and Dovecot IMAP4 server
pre-configured to work together as one system. All services use the same user
database for authentication. You can also post news on the example website
directly from your Jabber client and also you can receive notifications about
new comments and posts to your Jabber client. More details are available on
the download page[27]. The LiveCD demonstrates how Tigase's Jabber code can
be integrated with other systems.


Even though the project's code is written in Java, the development platform
was always Gentoo Linux, and all the Tigase servers are based on the Gentoo
Linux. Selecting Gentoo for the LiveCD was a natural choice. It gives the
developers plenty of flexibility and control over installed elements and the
way they work with all installed programs. Additionally, the developers can
easily update all packages using Portage.

The LiveCD is a 32-bit environment to make sure it will work on as many
platforms as possible, but it was prepared and built on a 64-bit Gentoo
installation. Despite the architectural differences, building the LiveCD is
quite easy and smooth.

Tin Hat: A Hardened Gentoo-based LiveCD

Tin Hat[28] is a LiveCD based on Hardened Gentoo[29]. It aims to provide a
very secure, stable, fast desktop environment that lives purely in RAM. It
doesn't mount any filesystem from CD, but instead it is a huge disc image
(2.3GB) that loads into tmpfs at boot. Tin Hat can also be run from a USB key
for somewhat shorter boot times. Whether used from a CD or USB key, once Tin
Hat is running in memory it's quite speedy, as it never has to access its
boot media.


Tin Hat[30] takes security quite seriously, even aiming for "zero information
loss" -- its developers have taken steps to ensure that data is secured even
if an attacker physically acquires the box. To protect against network/code
exploits, Tin Hat layers GRSEC, PAX, and other nifty tricks. More information
on Tin Hat's security, speed, and rationale may be found on its project


Tin Hat makes it easy to roll your own version via templates; you can even
save a snapshot of a currently running Tin Hat system and use that as a base,
complete with customizations, additional files, etc.

Want to try out Tin Hat? Get it here[31]!


4. Tips and Tricks

Using lsof to find open files and directories

Have you had problems deleting a file or unmounting a device even as the root
user? More likely than not, your file or the directory where your device is
mounted is simply being used by another user or application. This edition of
Tips and Tricks shows you how to find who and what may be using the file or
directory that you are having trouble with.

First install the lsof tool:

| Code Listing 4.1 |
| Installing lsof |
| # emerge lsof |

lsof lists the open files on the system. An open file can be a file that you
are editing, reading with another program, or a directory that you are
browsing. An example of how lsof can be used is to unmount a device that
refuses to be unmounted. Let's say Larry the Cow mounted a CD-ROM a few days
ago and now wants to unmount it. When he tries to unmount it, he gets the
following error:

| Code Listing 4.2 |
| Unmounting a CD |
| # umount /mnt/cdrom |
| umount: /mnt/cdrom: device is busy |
| umount: /mnt/cdrom: device is busy |

Something has /mnt/cdrom open. Since Larry does not remember what it can be,
he runs lsof to get the following:

| Code Listing 4.3 |
| Using lsof |
| # lsof | grep /mnt/cdrom |
| bash 6453 larry cwd DIR 7,0 2048 1856 /mnt/cdrom |
| su 15774 root cwd DIR 7,0 2048 1856 /mnt/cdrom |

The first two fields describe the process name and process ID, the third
field is the user who owns the process, the forth field is file descriptor,
followed by the type of file, device number, size of the file, node number,
and finally the filename. The file descriptor is the type of the file, in
this case it is cwd, or current working directory. This means that somewhere
the user larry has his shell's directory pointed to /mnt/cdrom. Since Larry
has too many shells open, he decides to narrow down which shell it might be:

| Code Listing 4.4 |
| Examining shells |
| # lsof -R | grep /mnt/temp |
| bash 6453 6437 larry cwd DIR 7,0 2048 1856 /mnt/cdrom |
| su 15774 6453 root cwd DIR 7,0 2048 1856 /mnt/cdrom |

An extra third field appears, which shows the parent process of bash and su.
As you can see, su is the child of bash. This likely means that Larry ran su
in the bash session that is keeping /mnt/cdrom busy. Next Larry finds the
parent of the bash process:

| Code Listing 4.5 |
| Finding a parent process |
| # ps aux | grep 6437 |
| larry 6437 0.0 0.7 38880 24628 ? S Aug09 9:00 konsole [kdeinit] -session 10be696 |

Larry uses Konsole as his terminal program. Thus he knows that he must find
the bash session somewhere in one of his Konsole windows. Larry finds the
possible Konsole window by running pstree:

| Code Listing 4.6 |
| Looking for Konsole |
| # pstree 6437 |
| konsole-+-bash---python---{python} |
| |-2*[bash] |
| |-bash---su---bash---pstree |
| |-2*[bash---su---bash] |
| |-bash---su---bash---vi |
| |-bash---ssh |
| `-bash---su---bash---man---sh---sh---less |

Using this information, Larry narrows down his guessing to four bash sessions
where he ran su. To make /mnt/cdrom not busy he simply exits out of his su
terminals and uses cd to get out of the /mnt/cdrom directory.

lsof can be used for different purposes. For example, you can use it to
monitor your network connections:

| Code Listing 4.7 |
| Monitoring network connections |
| # lsof -i TCP:22 |
| sshd 6094 root 3u IPv4 9145 TCP *:ssh (LISTEN) |
| ssh 9962 andrey 3u IPv4 3489405 TCP larry.cow:35467>larry.bull:ssh (ESTABLISHED) |

Here we see the sshd service that listens for ssh connections and an outgoing
ssh session.

lsof also comes with some scripts in the /usr/share/lsof/scripts/ directory.
Most will be useful in your quest to better spy on your users.

5. Gentoo developer moves


Gentoo is made up of 242 active developers, of which 43 are currently away.
Gentoo has recruited a total of 649 developers since its inception.


The following developers recently left the Gentoo project:

* Chris Gianelloni (wolf31o2)
* Nguyen Thai Ngoc Duy (pclouds)
* Benjamin Smee (strerror)
* Guillaume Destuynder (kang)
* Christian Heim (phreak)
* Antoine Raillon (cab)
* Benigno Batista Júnior (bbj)
* Stefan Knoblich (stkn)
* Ingmar Vanhassel (ingmar)
* Bo Ørsted Andresen (zlin)


The following developers recently joined the Gentoo project:

* Jesus Rivero (neurogeek) joined the Python team


The following developers recently changed roles within the Gentoo project:

* Ben de Groot (yngwin) joined the LXDE team

6. Portage


This section summarizes the current state of the Portage tree.

General Statistics
Architectures 15
Categories 151
Packages 12839
ebuilds 24971

Keyword Distribution
Architecture StableTestingTotal% Packages
alpha 3685461414632.29%
amd64 720340411124487.58%
arm 1590112170213.26%
hppa 2712567327925.54%
ia64 3230597382729.81%
m68k 494215154.01%
mips 1004787179113.95%
ppc 63662910927672.25%
ppc64 3493657415032.32%
s390 11945012449.69%
sh 140762146911.44%
sparc 48521313616548.02%
sparc-fbsd 03673672.86%
x86 943232171264998.52%
x86-fbsd 02730273021.26%

Figure 6.1: Package distribution by keyword

The following section lists packages that have either been moved or added to
the tree. The package removals come from many locations, including the
Treecleaners[32] and various developers.



Package: Removal date: Contact:
dev-db/freecdb 01 Aug 2008 Akinori Hattori[33]
mail-client/claws-mail-pdf-viewer 03 Aug 2008 Christian Faulhammer[34]


Package: Removal date: Contact:
www-apps/knowledgetree 09 Aug 2008 Christian Hoffmann[35]
dev-php4/ZendOptimizer 09 Aug 2008 Robin H. Johnson[18]
dev-php4/adodb-ext 09 Aug 2008 Robin H. Johnson[18]
dev-php4/creole 09 Aug 2008 Robin H. Johnson[18]
dev-php4/eaccelerator 09 Aug 2008 Robin H. Johnson[18]
dev-php4/ffmpeg-php 09 Aug 2008 Robin H. Johnson[18]
dev-php4/jargon 09 Aug 2008 Robin H. Johnson[18]
dev-php4/jpgraph 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-apc 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-crack 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-fileinfo 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-http 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-id3 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-imagick 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-json 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-mailparse 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-memcache 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-pdflib 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-ps 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-radius 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-sqlite 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-tidy 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-translit 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-yaz 09 Aug 2008 Robin H. Johnson[18]
dev-php4/pecl-zip 09 Aug 2008 Robin H. Johnson[18]
dev-php4/php-java-bridge 09 Aug 2008 Robin H. Johnson[18]
dev-php4/phpdbg 09 Aug 2008 Robin H. Johnson[18]
dev-php4/phpunit 09 Aug 2008 Robin H. Johnson[18]
dev-php4/suhosin 09 Aug 2008 Robin H. Johnson[18]
dev-php4/syck-php-bindings 09 Aug 2008 Robin H. Johnson[18]
dev-php4/xcache 09 Aug 2008 Robin H. Johnson[18]
dev-php4/xdebug 09 Aug 2008 Robin H. Johnson[18]


Package: Removal date: Contact:
mail-mta/xmail 24 Aug 2008 Torsten Veller[36]



Package: Addition date: Contact:
sci-geosciences/osmosis[37] 28 Jul 2008 Hanno Boeck[38]
sci-geosciences/mkgmap[39] 28 Jul 2008 Hanno Boeck[38]
media-libs/sublib[40] 29 Jul 2008 Steve Dibb[41]
dev-python/pygene[42] 30 Jul 2008 Jesus Rivero[43]
dev-perl/Text-Markdown[44] 30 Jul 2008 Torsten Veller[36]
dev-perl/CGI-FormBuilder[45] 30 Jul 2008 Torsten Veller[36]
app-emacs/tempo-snippets[46] 30 Jul 2008 Ulrich Müller[47]
app-misc/tmux[48] 30 Jul 2008 Sven Wegener[49]
dev-java/lucene-analyzers[50] 30 Jul 2008 Jean-Noël Rivasseau [51]
x11-libs/xpyb[52] 30 Jul 2008 Donnie Berkholz[53]
dev-util/radare[54] 31 Jul 2008 Ioannis Aslanidis[55]
net-misc/wicd[56] 31 Jul 2008 Jeremy Olexa[15]
dev-perl/LWP-Authen-Wsse[57] 01 Aug 2008 Torsten Veller[36]
dev-perl/XML-Atom[58] 01 Aug 2008 Torsten Veller[36]
dev-perl/Feed-Find[59] 01 Aug 2008 Torsten Veller[36]
dev-perl/URI-Fetch[60] 01 Aug 2008 Torsten Veller[36]
dev-perl/XML-Feed[61] 01 Aug 2008 Torsten Veller[36]
dev-perl/LWPx-ParanoidAgent[62] 01 Aug 2008 Torsten Veller[36]
dev-perl/Net-OpenID-Consumer[63] 02 Aug 2008 Torsten Veller[36]
net-misc/switzerland[64] 03 Aug 2008 Cédric Krier[65]
net-analyzer/nagvis[66] 03 Aug 2008 Tobias Scherbaum[67]
dev-java/glassfish-transaction-api[68] 03 Aug 2008 Petteri Räty[69]
java-virtuals/transaction-api[70] 03 Aug 2008 Petteri Räty[69]
sci-chemistry/xds-bin[71] 03 Aug 2008 Donnie Berkholz[53]


Package: Addition date: Contact:
sci-chemistry/arp-warp-bin[72] 04 Aug 2008 Donnie Berkholz[53]
games-action/wordwarvi[73] 04 Aug 2008 Michael Sterrett[74]
sys-apps/ack[75] 04 Aug 2008 Rajiv Aaron Manglani[76]
media-libs/libass[77] 05 Aug 2008 Alexis Ballier[78]
media-sound/a2jmidid[79] 06 Aug 2008 Alexis Ballier[78]
www-apps/horde-dimp[80] 07 Aug 2008 Gunnar Wrobel[81]
app-doc/casting-spels-emacs[82] 08 Aug 2008 Ulrich Müller[47]
dev-libs/luafilesystem[83] 08 Aug 2008 Matsuu Takuto[84]
dev-util/luadoc[85] 08 Aug 2008 Matsuu Takuto[84]
app-emacs/bongo[86] 08 Aug 2008 Ulrich Müller[47]
app-emulation/virtualbox-guest-additions[87] 10 Aug 2008 Markus Ullmann[88]


Package: Addition date: Contact:
x11-plugins/pidgin-msn-pecan[89] 18 Aug 2008 Bernard Cafarelli[90]
dev-db/m17n-contrib[91] 18 Aug 2008 Matsuu Takuto[84]
net-analyzer/symon[92] 19 Aug 2008 Peter Volkov[93]
net-analyzer/syweb[94] 19 Aug 2008 Peter Volkov[93]
dev-python/python-scw[95] 20 Aug 2008 Jesus Rivero[43]
net-wireless/iwl5000-ucode[96] 21 Aug 2008 Tony Vroon[97]
dev-python/webut[98] 21 Aug 2008 Jesus Rivero[43]
dev-perl/LWP-UserAgent-Determined[99] 22 Aug 2008 Torsten Veller[36]
dev-perl/Net-Amazon-S3[100] 22 Aug 2008 Torsten Veller[36]
x11-drivers/xf86-input-synaptics[101] 22 Aug 2008 Tony Vroon[97]
x11-wm/echinus[102] 22 Aug 2008 Ben de Groot[103]
dev-perl/XML-SAX-Expat[104] 23 Aug 2008 Torsten Veller[36]
dev-perl/Net-LibIDN[105] 23 Aug 2008 Torsten Veller[36]
sys-libs/mars[106] 23 Aug 2008 Luca Barbato[107]
dev-perl/Email-Date-Format[108] 23 Aug 2008 Torsten Veller[36]
dev-python/gnome-python-base[109] 24 Aug 2008 Arun Raghavan[110]
dev-python/gconf-python[111] 24 Aug 2008 Arun Raghavan[110]
dev-python/gnome-vfs-python[112] 24 Aug 2008 Arun Raghavan[110]
dev-python/libgnomecanvas-python[113] 24 Aug 2008 Arun Raghavan[110]
dev-python/libbonobo-python[114] 24 Aug 2008 Arun Raghavan[110]
dev-python/libgnome-python[115] 24 Aug 2008 Arun Raghavan[110]


7. Bugzilla


The Gentoo community uses Bugzilla ([116]) to record and track
bugs, notifications, suggestions and other interactions with the development
team. The following chart summarizes activity on Bugzilla between 27 July
2008 and 29 August 2008.


Figure 7.1: Bug activity split-up

Of the 11946 currently open bugs: 14 are labeled blocker, 106 are labeled
critical, and 422 are labeled major.

Closed bug ranking

The developers and teams who have closed the most bugs during this period are
as follows.

Rank Developer/Team Bug Count
0 Others 931
1 Gentoo Linux Gnome Desktop Team 65
2 Gentoo's Team for Core System packages 47
3 Gentoo Security 44
4 Gentoo Games 41
5 Python Gentoo Team 34
6 media-video herd 33
7 Portage team 27
8 Gentoo Linux bug wranglers 26
9 Gentoo non-Linux Team 26

Figure 7.1: Bug closed rankings

Assigned bug ranking

The developers and teams who have been assigned the most bugs during this
period are as follows.

Rank Developer/Team Bug Count
0 Others 720
1 Default Assignee for New Packages 85
2 Gentoo Security 53
3 Gentoo Linux Gnome Desktop Team 30
4 Gentoo KDE team 26
5 Gentoo's Team for Core System packages 25
6 Java team 21
7 Gentoo Toolchain Maintainers 20
8 Gentoo/BSD Team 20
9 Gentoo X packagers 18

Figure 7.1: Bugs assigned rankings

8. Getting Involved

The GMN relies on volunteers and members of the community for content every
month. If you are interested in writing for the GMN, do write in to with your articles in plaintext or GuideXML format.

Note: The deadline for articles to be published in the next issue is
September 19, 2008.

We solicit feedback from all our readers on the newsletter. If you have any
ideas for articles, sections, or have anything to say about the GMN, don't
hesitate to email us at

You can also give us your feedback and comment on this particular issue of
the GMN on the forum thread[1].


9. GMN subscription information

To subscribe to the Gentoo Monthly Newsletter, send a blank e-mail to

To unsubscribe to the Gentoo Monthly Newsletter, send a blank e-mail to from the e-mail address you are subscribed

10. Other languages

The Gentoo Monthly Newsletter is available in the following languages:

* English[117]
* German[118]
* Italian[119]
* Japanese[120]
* Polish[121]
* Spanish[122]
* Simplified Chinese[123]


Anant Narayanan <> - Editor
Joshua Saddler <> - Editor
Andrey Falko <> - Author
Christian Faulhammer <> - Author
Olivier Fisette <> - Author
Artur Hefczyc <> - Author
Anthony G. Basile <> - Author