Gentoo Logo

Gentoo Monthly Newsletter: 31 August 2008

Content:

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. 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.

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. 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 held its monthly meeting on August 18. The agenda may be found here; the Trustees will vote at a later date on the proposed Foundation Bylaws.

Coming Up

  • Bugday: 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.
  • Council Meeting: 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 irc.freenode.net at 2000UTC.
  • Trustees Meeting: 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, 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 miniorb.in 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 professionals.

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 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. ^_^

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 announces parallel builds for Portage and Jeremy Olexa has some initial tests.

More sets: Zac Medico tells us about new package sets 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 presents its replacement: Willikins.

Another ebook: Sven Vermeulen is discusses his work 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; several articles were contributed by Gentoo developers Olivier Fisette and Luis Francisco Araujo. Some of the articles are even available online (in French).

Tigase: A Gentoo-based LiveCD

Tigase 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. 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 is a LiveCD based on Hardened Gentoo. 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 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 page.

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!

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/cdrom
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
COMMAND  PID   USER   FD  TYPE  DEVICE SIZE NODE NAME
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

Summary

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.

Moves

The following developers recently left the Gentoo project:

Note: The number is higher than usual because several inactive developers were retired as per Gentoo policy. This operation is performed on a regular basis by the Undertakers 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)

Adds

The following developers recently joined the Gentoo project:

  • Jesus Rivero (neurogeek) joined the Python team

Changes

The following developers recently changed roles within the Gentoo project:

  • Ben de Groot (yngwin) joined the LXDE team

6.  Portage

Summary

This section summarizes the current state of the Portage tree.

General Statistics
Architectures 15
Categories 151
Packages 12839
ebuilds 24971
Keyword Distribution
Architecture Stable Testing Total % Packages
alpha 3685 461 4146 32.29%
amd64 7203 4041 11244 87.58%
arm 1590 112 1702 13.26%
hppa 2712 567 3279 25.54%
ia64 3230 597 3827 29.81%
m68k 494 21 515 4.01%
mips 1004 787 1791 13.95%
ppc 6366 2910 9276 72.25%
ppc64 3493 657 4150 32.32%
s390 1194 50 1244 9.69%
sh 1407 62 1469 11.44%
sparc 4852 1313 6165 48.02%
sparc-fbsd 0 367 367 2.86%
x86 9432 3217 12649 98.52%
x86-fbsd 0 2730 2730 21.26%

Figure 6.1: Package distribution by keyword

Fig. 1: Packages 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 and various developers.

Removals:

Package: Removal date: Contact:
dev-db/freecdb 01 Aug 2008 Akinori Hattori
mail-client/claws-mail-pdf-viewer 03 Aug 2008 Christian Faulhammer
Package: Removal date: Contact:
www-apps/knowledgetree 09 Aug 2008 Christian Hoffmann
dev-php4/ZendOptimizer 09 Aug 2008 Robin H. Johnson
dev-php4/adodb-ext 09 Aug 2008 Robin H. Johnson
dev-php4/creole 09 Aug 2008 Robin H. Johnson
dev-php4/eaccelerator 09 Aug 2008 Robin H. Johnson
dev-php4/ffmpeg-php 09 Aug 2008 Robin H. Johnson
dev-php4/jargon 09 Aug 2008 Robin H. Johnson
dev-php4/jpgraph 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-apc 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-crack 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-fileinfo 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-http 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-id3 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-imagick 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-json 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-mailparse 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-memcache 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-pdflib 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-ps 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-radius 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-sqlite 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-tidy 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-translit 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-yaz 09 Aug 2008 Robin H. Johnson
dev-php4/pecl-zip 09 Aug 2008 Robin H. Johnson
dev-php4/php-java-bridge 09 Aug 2008 Robin H. Johnson
dev-php4/phpdbg 09 Aug 2008 Robin H. Johnson
dev-php4/phpunit 09 Aug 2008 Robin H. Johnson
dev-php4/suhosin 09 Aug 2008 Robin H. Johnson
dev-php4/syck-php-bindings 09 Aug 2008 Robin H. Johnson
dev-php4/xcache 09 Aug 2008 Robin H. Johnson
dev-php4/xdebug 09 Aug 2008 Robin H. Johnson
Package: Removal date: Contact:
mail-mta/xmail 24 Aug 2008 Torsten Veller

Additions:

Package: Addition date: Contact:
sci-geosciences/osmosis 28 Jul 2008 Hanno Boeck
sci-geosciences/mkgmap 28 Jul 2008 Hanno Boeck
media-libs/sublib 29 Jul 2008 Steve Dibb
dev-python/pygene 30 Jul 2008 Jesus Rivero
dev-perl/Text-Markdown 30 Jul 2008 Torsten Veller
dev-perl/CGI-FormBuilder 30 Jul 2008 Torsten Veller
app-emacs/tempo-snippets 30 Jul 2008 Ulrich Müller
app-misc/tmux 30 Jul 2008 Sven Wegener
dev-java/lucene-analyzers 30 Jul 2008 Jean-Noël Rivasseau
x11-libs/xpyb 30 Jul 2008 Donnie Berkholz
dev-util/radare 31 Jul 2008 Ioannis Aslanidis
net-misc/wicd 31 Jul 2008 Jeremy Olexa
dev-perl/LWP-Authen-Wsse 01 Aug 2008 Torsten Veller
dev-perl/XML-Atom 01 Aug 2008 Torsten Veller
dev-perl/Feed-Find 01 Aug 2008 Torsten Veller
dev-perl/URI-Fetch 01 Aug 2008 Torsten Veller
dev-perl/XML-Feed 01 Aug 2008 Torsten Veller
dev-perl/LWPx-ParanoidAgent 01 Aug 2008 Torsten Veller
dev-perl/Net-OpenID-Consumer 02 Aug 2008 Torsten Veller
net-misc/switzerland 03 Aug 2008 Cédric Krier
net-analyzer/nagvis 03 Aug 2008 Tobias Scherbaum
dev-java/glassfish-transaction-api 03 Aug 2008 Petteri Räty
java-virtuals/transaction-api 03 Aug 2008 Petteri Räty
sci-chemistry/xds-bin 03 Aug 2008 Donnie Berkholz
Package: Addition date: Contact:
sci-chemistry/arp-warp-bin 04 Aug 2008 Donnie Berkholz
games-action/wordwarvi 04 Aug 2008 Michael Sterrett
sys-apps/ack 04 Aug 2008 Rajiv Aaron Manglani
media-libs/libass 05 Aug 2008 Alexis Ballier
media-sound/a2jmidid 06 Aug 2008 Alexis Ballier
www-apps/horde-dimp 07 Aug 2008 Gunnar Wrobel
app-doc/casting-spels-emacs 08 Aug 2008 Ulrich Müller
dev-libs/luafilesystem 08 Aug 2008 Matsuu Takuto
dev-util/luadoc 08 Aug 2008 Matsuu Takuto
app-emacs/bongo 08 Aug 2008 Ulrich Müller
app-emulation/virtualbox-guest-additions 10 Aug 2008 Markus Ullmann
Package: Addition date: Contact:
x11-plugins/pidgin-msn-pecan 18 Aug 2008 Bernard Cafarelli
dev-db/m17n-contrib 18 Aug 2008 Matsuu Takuto
net-analyzer/symon 19 Aug 2008 Peter Volkov
net-analyzer/syweb 19 Aug 2008 Peter Volkov
dev-python/python-scw 20 Aug 2008 Jesus Rivero
net-wireless/iwl5000-ucode 21 Aug 2008 Tony Vroon
dev-python/webut 21 Aug 2008 Jesus Rivero
dev-perl/LWP-UserAgent-Determined 22 Aug 2008 Torsten Veller
dev-perl/Net-Amazon-S3 22 Aug 2008 Torsten Veller
x11-drivers/xf86-input-synaptics 22 Aug 2008 Tony Vroon
x11-wm/echinus 22 Aug 2008 Ben de Groot
dev-perl/XML-SAX-Expat 23 Aug 2008 Torsten Veller
dev-perl/Net-LibIDN 23 Aug 2008 Torsten Veller
sys-libs/mars 23 Aug 2008 Luca Barbato
dev-perl/Email-Date-Format 23 Aug 2008 Torsten Veller
dev-python/gnome-python-base 24 Aug 2008 Arun Raghavan
dev-python/gconf-python 24 Aug 2008 Arun Raghavan
dev-python/gnome-vfs-python 24 Aug 2008 Arun Raghavan
dev-python/libgnomecanvas-python 24 Aug 2008 Arun Raghavan
dev-python/libbonobo-python 24 Aug 2008 Arun Raghavan
dev-python/libgnome-python 24 Aug 2008 Arun Raghavan

7.  Bugzilla

Statistics

The Gentoo community uses Bugzilla (bugs.gentoo.org) 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

Fig. 1: Bug activity

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.2: Bug closed rankings

Fig. 2: Bugs closed

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.3: Bugs assigned rankings

Fig. 3: Bugs assigned

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 gmn-writers@gentoo.org 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 gmn-feedback@gentoo.org.

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

9.  GMN subscription information

To subscribe to the Gentoo Monthly Newsletter, send a blank e-mail to gentoo-gmn+subscribe@gentoo.org.

To unsubscribe to the Gentoo Monthly Newsletter, send a blank e-mail to gentoo-gmn+unsubscribe@gentoo.org from the e-mail address you are subscribed under.

10.  Other languages

The Gentoo Monthly Newsletter is available in the following languages:



Print

Page updated August 31, 2008

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

Anant Narayanan
Editor

Joshua Saddler
Editor

Andrey Falko
Author

Christian Faulhammer
Author

Olivier Fisette
Author

Artur Hefczyc
Author

Anthony G. Basile
Author

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.