Gentoo Logo

Gentoo Monthly Newsletter: 30 September 2008

Content:

1.  Introduction

This month in the GMN

Welcome to the September 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

TeTex deprecated

The TeX distribution teTeX has been obsoleted as the author has no time to maintain it anymore. However, there is a complete distribution on top of it, that is now the successor: TeXLive. Many Linux distributions have already adopted it as their standard, and it's now the TeX flavor of choice for Gentoo, as well.

You are encouraged to emerge --unmerge tetex and then emerge world to get to an up-to-date system with a modern TeX version. Please read the TeXLive migration guide for more detailed instructions.

Gentoo's TeX maintainers have also created a poll in the forums on which TeX distribution you're using. Please vote, and let them know!

Release strategy changes

As you've probably read by now, there are some planned changes in Gentoo's release strategy. We're looking to do automated weekly builds of the stages and minimal CDs, with a possible once-a-year or so update to the networkless media (Installer LiveCDs/DVDs and Universal/Package CDs). Please read the announcement for more details; there's a lot of work involved to get the process going, and we need the help!

Trustees Meeting Summary

The Gentoo Trustees held its monthly meeting on September 14, 2008. The agenda is available here.

Council Meeting Summary

The Gentoo Council held its monthly meeting on September 11, 2008. The items put up for discussion were:

  • Filling the empty slot: as council member Diego Elio Pettenò retired from the council for medical reasons, Doug Goldstein has replaced him. cardoe was the next person from the original voting rankings.
  • PMS as a draft standard of EAPI 0: the council voted on whether to approve PMS as a draft standard of EAPI 0. Result: approved, with acceptance conditional upon resolution of the requirements outlined by the council.

The Council met again on September 25, 2008. The items put up for discussion were:

  • EAPI-2: the new EAPI is approved. This brings features such as USE dependencies to Portage; for example, a package can now directly depend on a package built with USE="foo" without resorting to trickery or "built_with_use || die" hacks.
  • PROPERTIES in cache: Since using PROPERTIES in the cache is related to the EAPI, this issue should be settled among package manager developers, and only present it to the council if they cannot agree on a solution. The PM developers agreed on adding PROPERTIES to the cache as a value that the package managers can ignore.
  • PROPERTIES=interactive in ebuilds: This is a retroactive, backwards-compatible EAPI change that council approved. It allows ebuilds to set a variable stating up-front that they require user interaction, such as agreeing to a license or inputting information.

Coming Up

  • Bugday: Looking for a way to help out Gentoo without investing a lot of time? Join us on October 04 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 October 09, and everyone is welcome to participate - #gentoo-council on irc.freenode.net at 2000UTC.
  • Trustees Meeting: Scheduled for October 19.

3.  Heard in the Community

Gentoo-Quebec training

The Gentoo-Quebec group has offered its first training session about the Gentoo distribution on Saturday 13th, 2008. First of a series of 18, this course enabled 23 participants to familiarize themselves with the Gentoo LiveCD and to briefly learn about the command line utilities involved when installing Gentoo.

This training session was made possible thanks to the Gentoo-Quebec team as well as Copernic, which provided a training room and the network installation for all participants. For more information, please consult the Internet web site at the following address (in French): http://gentoo-quebec.org


Figure 3.1: Learning Gentoo in Quebec

Fig. 1: The class

Planet Gentoo

OLPC XO: Daniel Drake works for the One Laptop Per Child project which release the XO unit some time ago, which ships with a special version of Linux. But it's also possible to use standard desktop distributions.

Surfing the MIPS: Stuart Longland started the compilation some months ago, but now Firefox 3 on MIPS is there.

Gentoo book revisited: The first German book published about Gentoo has been reworked by its author Tobias Scherbaum.

RAID tips: Robin H. Johnson has a little howto about having missing slots in a RAID and then move in the real disks later.

Not dead: Steve Dibb and Ben de Groot address a few things about Gentoo.

Beautifying Xfce: Joshua Saddler has some tips and screenshots on creating a beautiful, yet practical Xfce environment using small, lightweight applications.

Gentoo in the News

Gentoo gaming servers spotted: Internode has relaunched its Games On Net service. The good-sized network runs (at least in part) on Gentoo Linux.

4.  Tips and Tricks

Running commands on many machines

If you have been logging into your horde of Gentoo boxes one by one in order to run a command or two, this tip should help you save a lot of time. We provide a glimpse into some of the methods you can use to run commands on multiple machines both sequentially and in parellel.

The first method is the most primitive. It uses pure bash. Let's say we have ten machines with the hostnames gentoo-box-1, gentoo-box-2, and so on. We want to run emerge --info on each machine at the same time. Here is what we do:

Code Listing 4.1: Running emerge on multiple machines

$ for i in `seq 10`; do ssh gentoo-box-$i "emerge --info"; done

Warning: Do not try run interactive commands in parallel with this "for" loop. This includes running it without public key encryption. The machines will prompt you for passwords, but you will be unable to input your passwords.

If you don't have public key encryption setup for ssh, you should read the OpenSSH Key Management series of articles. You may also want to consult this guide.

If you don't want to hassle with public key encryption, writing complicated "for" loops in bash, and want to run interactive commands, there is a good option for you: Cluster SSH. Let's install it:

Code Listing 4.2: Installing Cluster SSH

# emerge clusterssh

Cluster SSH requires X11 in order to work. Cluster SSH works by opening an xterm window for every machine in the list you provide. It also opens a small command window where you can type text that gets relayed to other machines' command lines at the same time. To do the same thing we did before with the ten Gentoo boxes, we do the following Cluster SSH:

Code Listing 4.3: Starting Cluster SSH

$ cssh gentoo-box-{1,2,3,4,5,6,7,8,9}

First, you will see the machines ask for passwords unless you have public key encryption set up for them. If one of your machines has a different password, no worries, you can just click on the window of the machine and type it there. Once you see yourself logged into all of the machines, you can type commands to all of them at once or individually.

Another alternative is to use Tentakel. Tentakel is used in a more static way. Users modify a static configuration file, and then tell Tentakel which group of hosts it should connect to. First, we need to install Tentakel:

Code Listing 4.4: Installing Tentakel

# emerge tentakel

Next, we create a configuration file:

Code Listing 4.5: Configuring Tentakel

# echo "set ssh_path=\"`which ssh`\"" >> /etc/tentakel.conf
# echo "set method=\"ssh\"" >> /etc/tentakel.conf
# echo 'group ten_gentoos (user="root")' >> /etc/tentakel.conf
# for i in `seq 10`; do echo -e "\t+gentoo-box-$i"; done >> /etc/tentakel.conf

It might be more practical to simply edit the sample configuration file shipped with Tentakel:

Code Listing 4.6: Editing the sample configuration file

# cp /usr/share/doc/tentakel/tentakel.conf.example /etc/tentakel.conf
# nano -w /etc/tentakel.conf

Once you have everything configured, it's time to run Tentakel:

Code Listing 4.7: Running Tentakel

$ tentakel -g ten_gentoos

This will launch Tentakel's interactive command interface. In order to run a command use the provided exec function:

Code Listing 4.8: Running commands within Tentakel

$ exec emerge --info

If you are lost in Tentakel's command interface, just run help. You can run Tentakel without the interactive command interface like this:

Code Listing 4.9: Running Tentakel without the interactive interface

$ tentakel -g ten_gentoos "emerge --info"

These tips only brush the surface of the programs available to distribute commands to machines. If you're unhappy with Cluster SSH and Tentakel, you may want to try out dsh, pdsh, pconsole, and shmux.

Iotop

When a process is slowing down a computer that has plenty of extra memory and disk space, it is probably because of cpu usage or input/output (I/O). Most Gentooers are used to using top to locate those pesky CPU and memory hogs, but few have ever used iotop to find the disk usage hogs.

iotop displays columns for the I/O bandwidth read and written by each process/thread during the sampling period. It also displays the percentage of time the thread/process spent while swapping in and while waiting on I/O. In addition the total I/O bandwidth read and written during the sampling period is displayed at the top of the interface.

Install it with emerge iotop. If Portage warned you that you don't have the necessary kernel options (TASKSTATS and TASK_IO_ACCOUNTING) to run the tool, then you will need to recompile your kernel with the options shown below.

Code Listing 4.10: Configuring the kernel for iotop

General Setup -->
  [*] Export task/process statistics through netlink
  [ ]   Enable per-task delay accounting
  [*]   Enable extended accounting over taskstats
  [*]     Enable per-task storage I/O accounting

Once you've booted into your reconfigured kernel, you can run iotop from the commandline. Here's what it might look like if you were backing up a DVD:

Code Listing 4.11: Running iotop

$ iotop
Total DISK READ: 387.25 K/s | Total DISK WRITE: 221.29 K/s
  PID USER      DISK READ  DISK WRITE   SWAPIN    IO>    COMMAND
 7703 root      387.25 K/s       0 B/s  0.00 %  0.00 % tccat -i /shared/...
  211 root           0 B/s   13.83 K/s  0.00 %  0.00 % [pdflush]
 7672 root           0 B/s  207.46 K/s  0.00 %  0.00 % transcode -H 10 ...

A misbehaving user might have the following output:

Code Listing 4.12: A runaway user

$ iotop
Total DISK READ: 5.21 K/s | Total DISK WRITE: 7.37 M/s
  PID USER      DISK READ  DISK WRITE   SWAPIN    IO>    COMMAND
 7936 user1       5.21 K/s    7.37 M/s  0.00 %  0.00 % dd if /dev/zero of ./bigfile

iotop is a good way to see what's eating your disks, so that you can reallocate resources when needed. The program has a few options available, so run iotop --help to get a summary of its capabilities.

Using lsof: revisited

Last month's edition of Tips and Tricks showed you how to use lsof to find open files and directories.

An astute reader emailed the GMN to show another use of lsof: to check for processes that should be restarted after package updates.

For example, after upgrading a package like openssl, you might need to restart a mail server, a web server, or even several client applications. lsof is kind enough to point out the open files that have been deleted, so you can easily spot these processes:

Code Listing 4.13: Finding processes with lsof

# lsof | grep 'DEL.*lib' | cut -f 1 -d ' ' | sort -u

Note: Some services open and then delete temporary files or shm files, so that's why 'lib' is part of the regex.

Restarting processes after an upgrade is especially important when the library includes a security fix.

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:

  • None this month

Adds

The following developers recently joined the Gentoo project:

Changes

The following developers recently changed roles within the Gentoo project:

6.  Portage

Summary

This section summarizes the current state of the Portage tree. Unfortunately, we will not be able to publish statistics this month, as we update our tools to work with the newly introduced EAPI-2. We should be able to resume next issue though, stay tuned!

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-cpp/libwefts 02 Sep 2008 Jeremy Olexa
dev-util/bazaar 02 Sep 2008 Jeremy Olexa
app-i18n/kon2 02 Sep 2008 Jeremy Olexa
sys-fs/trustees 02 Sep 2008 Jeremy Olexa
app-portage/herdstat 04 Sep 2008 Tiziano Müller
dev-cpp/libherdstat 04 Sep 2008 Tiziano Müller
Package: Removal date: Contact:
dev-lang/caml-light 08 Sep 2008 Alexis Ballier
dev-util/tla 12 Sep 2008 Jeremy Olexa
app-emacs/xtla 12 Sep 2008 Jeremy Olexa
app-admin/systemconfigurator 12 Sep 2008 Jeremy Olexa
media-gfx/gimp-freetype 12 Sep 2008 Jeremy Olexa
Package: Removal date: Contact:
games-fps/tremulous-bin 16 Sep 2008 Michael Sterrett
games-arcade/sdljump 18 Sep 2008 Alfredo Tupone
Package: Removal date: Contact:
sci-libs/blas-config 23 Sep 2008 Sebastien Fabbro
sci-libs/lapack-config 23 Sep 2008 Sebastien Fabbro
sci-libs/libscigraphica 23 Sep 2008 Sebastien Fabbro
sci-visualization/scigraphica 23 Sep 2008 Sebastien Fabbro

Additions:

Package: Addition date: Contact:
dev-tcltk/tktray 01 Sep 2008 Olivier Crête
app-accessibility/espeakup 02 Sep 2008 William Hubbs
sci-physics/pythia 02 Sep 2008 Sebastien Fabbro
dev-python/sympy 02 Sep 2008 Andrey Grozin
dev-python/rope 02 Sep 2008 Rob Cakebread
dev-ml/lwt 02 Sep 2008 Alexis Ballier
dev-python/ropeide 02 Sep 2008 Rob Cakebread
dev-java/juel 03 Sep 2008 Miroslav Šulc
dev-tex/pdftex 03 Sep 2008 Alexis Ballier
dev-tex/luatex 03 Sep 2008 Alexis Ballier
games-server/etqw-ded 03 Sep 2008 Tristan Heaven
app-admin/emacs-updater 04 Sep 2008 Ulrich Müller
games-engines/frobtads 05 Sep 2008 Michael Sterrett
net-misc/amazonmp3 05 Sep 2008 Jim Ramsay
net-misc/ssh-askpass-fullscreen 05 Sep 2008 Jeremy Olexa
app-i18n/ibus 05 Sep 2008 Matsuu Takuto
app-i18n/ibus-hangul 06 Sep 2008 Matsuu Takuto
app-mobilephone/openmoko-dfu-util 06 Sep 2008 Mike Frysinger
app-i18n/ibus-pinyin 06 Sep 2008 Matsuu Takuto
app-i18n/ibus-anthy 06 Sep 2008 Matsuu Takuto
app-i18n/ibus-chewing 06 Sep 2008 Matsuu Takuto
app-i18n/ibus-m17n 06 Sep 2008 Matsuu Takuto
games-fps/etqw-data 06 Sep 2008 Tristan Heaven
games-fps/etqw-bin 06 Sep 2008 Tristan Heaven
dev-util/kbuild 06 Sep 2008 Markus Ullmann
net-dialup/dgcmodem 07 Sep 2008 Denis Dupeyron
sci-biology/glimmer 07 Sep 2008 Andrey Kislyuk
app-forensics/lynis 07 Sep 2008 Friedrich Oslage
sci-biology/glimmerhmm 07 Sep 2008 Andrey Kislyuk
dev-perl/IO-LockedFile 07 Sep 2008 Torsten Veller
dev-perl/Authen-Htpasswd 07 Sep 2008 Torsten Veller
sci-physics/lhapdf 07 Sep 2008 Sebastien Fabbro
sci-physics/hepmc 07 Sep 2008 Sebastien Fabbro
Package: Addition date: Contact:
dev-perl/HTML-RewriteAttributes 08 Sep 2008 Torsten Veller
dev-perl/File-ShareDir 08 Sep 2008 Torsten Veller
dev-perl/Class-Accessor-Chained 08 Sep 2008 Torsten Veller
dev-perl/Text-vFile-asData 08 Sep 2008 Torsten Veller
dev-perl/Data-ICal 08 Sep 2008 Torsten Veller
x11-misc/ipager 09 Sep 2008 Jim Ramsay
dev-texlive/texlive-documentation-slovenian 09 Sep 2008 Alexis Ballier
app-admin/eselect-mpost 09 Sep 2008 Alexis Ballier
app-admin/eselect-pdftex 09 Sep 2008 Alexis Ballier
app-i18n/ibus-table 10 Sep 2008 Matsuu Takuto
games-strategy/defcon-demo 10 Sep 2008 Michael Sterrett
x11-plugins/pidgin-facebookchat 11 Sep 2008 Bernard Cafarelli
media-sound/xwax 13 Sep 2008 Joe Sapp
dev-python/gnome-python-desktop-base 14 Sep 2008 Arun Raghavan
dev-python/bug-buddy-python 14 Sep 2008 Arun Raghavan
dev-python/evolution-python 14 Sep 2008 Arun Raghavan
dev-python/gnome-applets-python 14 Sep 2008 Arun Raghavan
dev-python/gnome-desktop-python 14 Sep 2008 Arun Raghavan
dev-python/gnome-media-python 14 Sep 2008 Arun Raghavan
dev-python/gnome-keyring-python 14 Sep 2008 Arun Raghavan
dev-python/gtksourceview-python 14 Sep 2008 Arun Raghavan
dev-python/libgnomeprint-python 14 Sep 2008 Arun Raghavan
dev-python/libgtop-python 14 Sep 2008 Arun Raghavan
dev-python/librsvg-python 14 Sep 2008 Arun Raghavan
dev-python/libwnck-python 14 Sep 2008 Arun Raghavan
dev-python/nautilus-cd-burner-python 14 Sep 2008 Arun Raghavan
dev-python/totem-python 14 Sep 2008 Arun Raghavan
dev-python/metacity-python 14 Sep 2008 Arun Raghavan
x11-misc/sselp 14 Sep 2008 Jeroen Roovers
Package: Addition date: Contact:
app-cdr/recorder 15 Sep 2008 Ben de Groot
dev-util/shunit2 15 Sep 2008 Donnie Berkholz
games-rpg/drascula 16 Sep 2008 Michael Sterrett
media-libs/stk 17 Sep 2008 Alexis Ballier
media-sound/lmms 17 Sep 2008 Alexis Ballier
dev-python/foolscap 17 Sep 2008 Ali Polatel
gnome-extra/gnome-lirc-properties 17 Sep 2008 Doug Goldstein
games-arcade/gnujump 18 Sep 2008 Alfredo Tupone
dev-embedded/pk2cmd 19 Sep 2008 Joseph Jezak
dev-ruby/net-scp 20 Sep 2008 Hans de Graaff
dev-ruby/net-ssh-gateway 20 Sep 2008 Hans de Graaff
media-gfx/wally 21 Sep 2008 Ben de Groot
dev-embedded/arduino 21 Sep 2008 Ned Ludd
dev-libs/polylib 21 Sep 2008 Mike Frysinger
dev-libs/ppl 21 Sep 2008 Mike Frysinger
dev-libs/libxr 21 Sep 2008 Luca Barbato
Package: Addition date: Contact:
app-emacs/nxml-docbook5-schemas 22 Sep 2008 Diego Pettenò
app-text/docbook-xsl-ns-stylesheets 22 Sep 2008 Diego Pettenò
app-laptop/hdaps-gl 22 Sep 2008 Hanno Boeck
net-misc/termpkg 23 Sep 2008 Stefan Briesenick
media-sound/ncmpcpp 23 Sep 2008 Ben de Groot
media-video/whaawmp 24 Sep 2008 Ben de Groot
app-text/xfbib 24 Sep 2008 Christoph Mende
xfce-extra/xfce4-modemlights 24 Sep 2008 Christoph Mende
media-plugins/gmpc-alarm 24 Sep 2008 Christoph Mende
media-plugins/gmpc-extraplaylist 24 Sep 2008 Christoph Mende
media-plugins/gmpc-libnotify 24 Sep 2008 Christoph Mende
media-plugins/gmpc-lyricwiki 24 Sep 2008 Christoph Mende
sci-geosciences/mapnik 25 Sep 2008 Steve Arnold
mail-mta/qpsmtpd 28 Sep 2008 Markus Ullmann

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 30 August 2008 and 29 September 2008.


Figure 7.1: Bug activity split-up

Fig. 1: Bug activity

Of the 12369 currently open bugs: 12 are labeled blocker, 106 are labeled critical, and 451 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 865
1 Gentoo Games 54
2 Gentoo KDE team 50
3 Default Assignee for Orphaned Packages 44
4 Gentoo Security 41
5 Gentoo Linux Gnome Desktop Team 41
6 Gentoo's Team for Core System packages 34
7 Java team 32
8 Gentoo non-Linux Team 28
9 Gentoo Linux bug wranglers 25

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 628
1 Default Assignee for New Packages 78
2 Gentoo Linux Gnome Desktop Team 40
3 Gentoo Security 38
4 Gentoo's Team for Core System packages 32
5 Gentoo X packagers 27
6 Gentoo KDE team 25
7 Java team 23
8 Python Gentoo Team 22
9 Gentoo Sound Team 20

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 October 17, 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 September 30, 2008

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

Anant Narayanan
Editor

Joshua Saddler
Editor

Daniel Black
Author

Christian Faulhammer
Author

Kevin Bryan
Author

Andrey Falko
Author

Jon Malachowski
Author

Laurent Duchesne
Author

Sylvain Alain
Author

Donate to support our development efforts.

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