Gentoo Logo

Gentoo Weekly Newsletter: May 30th, 2005

Content:

1.  Gentoo News

Hardware donation at OSU

Thanks to Gentoo AMD64 archtester Chris Parrott, a developer at AMD's Austin plant, the Open Source Laboratory of Oregon State University received a surprise package this month. What was originally announced as a forthcoming donation of one disused AMD64 architecture PC turned out to be three dual-CPU motherboards complete with six CPUs and 3GB worth of registered DDR RAM.


Figure 1.1: Fresh out of the box: donated AMD64 motherboards

Fig. 1: mobos

One machine goes to the Gentoo release engineering team and will be used for the production of future releases, including LiveCDs, stages and more. The other two are to be used as a general development platform for the Gentoo/AMD64 team and will be made accessible to both Gentoo and outside developers upon request. Thanks a lot to Chris Parrott and AMD for this generous donation!

Documentation status update

A fun game to play for aspiring Gentoo documentation authors: If you'd like to try out your abilities in writing good clean XML code for the Gentoo documentation, why not go over the "magnificently ugly" disfigured document prepared by the documentation team as part of a quiz? If you can fix that one, continue reading the updated policy for becoming a member of the documentation task force, and help them do some more of the things they do: Some of last month's highlights of which include the KDE configuration guide that is catching up with several applications in the split ebuilds of KDE above 3.4, updates to the Gentoolkit and Portage introduction guides that have been made over to reflect changes and additions, and many more new bits and pieces making the Gentoo documentation even better than it is. See the complete status update for the past month at the documentation status page.

2.  Developer of the week

"Try Gentoo once, you'll see it's the obvious way to go" -- Damien Krotkine


Figure 2.1: Damien Krotkine aka dams

Fig. 1: dams

Damien Krotkine or dams is officially one of the PPC monkeys, maintaining a few ebuilds of programs he uses, but he actually spends most of his Gentoo-time on coding configuration tools and related stuff. He used to be the lead of the - currently dormant - Gentoo Desktop Research Project. Outside of Gentoo he has designed the official logo of the PLF (Penguin Liberation Front) and has done some perl hacking in his time, including crazy things like trying to use Mozilla's internal objects from perl with perl-XPCOM. Since he is a rather quiet and modest character, he isn't especially proud of his work, but the combination of Perl and gtk in his hands can do some really neat tricks.

He went to school in different places like Frankfurt and Paris, even studied Computer Science, although his opinion of school seems rather low. His real life work is not as much about Gentoo as one could wish for, but developing software based on Mozilla and an OSS search engine at a French company is quite acceptable as a line of work.

He recently reduced the number of computers at home, but it remains an impressive collection, including an Athlon, a PegasosPPC and an iBook. His predilection for perl and emacs makes him lose most flame war battles, but he's good at avoiding those, too. Other applications he likes are screen, zsh and Firefox which are almost always within reach on one or all of his computers. icewm and enlightenment are his window managers of choice, his mail client is currently Thunderbird instead of gnus - dams enjoys using the right tool for the right job.

Since he is a really cool cat, he does snowboarding, rollerskating and climbing. He used to be "famous TM of the Sporks Of Chaos official team, hey that's actually something I'm proud of", and when he doesn't work or code, he tries to be at OSS events. Living in Paris (which makes him very French), he enjoys reinforcing stereotypes by being a slick seductive Frenchman - but hasn't met the right girl to get married yet.

3.  Heard in the community

gentoo-dev

keeping ebuilds fresh

As time goes by some ebuilds are not maintained as well as one could wish. In this thread many ideas were thrown around how to give users the possibility to help with testing and maintaining new versions of programs in the portage tree.

Bashrc mini HOWTO

Chris White has written a nice mini-howto on the use of a bashrc file with portage - if you don't know what this means, this howto might not yet be for you, but in short it shows the awesome power of the newest portage cvs versions.

baselayout request for testers

Mike Frysinger asks for some testing on the new baselayout 1.11.12-r2, a new and hopefully much better version of the baselayout scipts. Since many things have changed and some things have been modularized there might be some breakage - so if you don't mind potentially wrecking your system and want to help, read Mike's announcement and have fun with it.

4.  Gentoo International

Canada: Ottawa Linux Symposium

The Ottawa Linux Symposium (OLS) will be held from 20 to 23 July 2005. Gentoo PPC64 developer Omkhar Arasaratnam is going, if you would like to join a meet-up of Gentoo users and developers in Ottawa on this occasion, please contact him directly.

Japan: Open Source Party with GentooJP

About 50 Japanese Gentoo developers and power users will meet on 3 June at an Open Source Party marking the occasion of the Linuxworld in Tokyo. Starting at 19:00 hours, it will be held at the Ginza franchise of a T.G.I. Friday's. GentooJP founder Masatomo Nakano, on a visit from London, is said to attend the meeting, too. No need to report back to the GentooJP mailing list to announce your intentions to come, simply sign up in advance at the reservation page.

5.  Gentoo in the press

LinuxUser (May/June 2005)

The German magazine LinuxUser recently published a "Gentoo-Mini-Series". The first part was about the proper installation of a Gentoo system: "Gentoo Linux provides a made-to-measure product: The clever distribution can be perfectly customized to the user's requirements." The second and last part of the series published in their current issue covers system maintenance using Portage. An English version is expected to be released in the UK/US-edition of the Linux Magazine in about two months. As a first success of the Gentoo articles published by LinuxUser, its editor-in-chief got infected with the "Gentoo virus" and could no longer resist the sweet temptation: He installed Gentoo Linux himself.

The Triangle (20 May 2005)

In an article titled Debate pits open source Linux against Microsoft, the student newspaper of Drexel university, reports from an event organized by Drexel's Math and Computer Science Society. Towards the end of a thorough account of the debate between a Microsoft academic relations manager and a member of the local Linux user group. Gentoo is mentioned as an example for 64-bit computing as it should be, with not just the kernel, but also applications compiled for this architecture.

6.  Coding Session

Preface

A short presentation of dams' configuration tools: (code indentation might be broken. In case of questions ask dams)

Libconf

Note: website: http://libconf.net
what is it: it allows you to read/write easily config tools

OK let's say you want to edit your gdm configuration, and set the autologin user. Let's see if libconf provides something for that. Launch simply on a console:

Code Listing 6.1: launch libconf

libconf
      

Figure 6.1: libconf command line

Fig. 1: sc_libconf1

Now let's call the built-in help:

Code Listing 6.2: libconf help

help
      

as suggested, you'll see the 'list_templates' command. Type

Code Listing 6.3: list_templates

list_templates
      

Figure 6.2: list of available high level templates

Fig. 2: sc_libconf2

Generic/Shell is the one the most used, but there are some others. As you can see, there is a 'X/Gdm' template. Now let's see what options it offers:

Code Listing 6.4: options for X/Gdm

list_template_options X/Gdm
      

Figure 6.3: X/Gdm options

Fig. 3: sc_libconf3

You can see it asks you to launch man Libconf::Glueconf::X::Gdm. If you do that it'll tell you there is no such documentation, that's because it's not yet written. Too bad, huh? Nevermind, you'll see it's easy enough.

Now let's do a bit of perl:

Code Listing 6.5: gdm_autologin.pl

#!/usr/bin/perl
# first of all, include the libconf template module
use Libconf::Glueconf::X::Gdm;
# then use the template
my $gdm_conf = Libconf::Glueconf::X::Gdm->new({ filename =>
'/etc/X11/gdm/gdm.conf' });
# now we would like to see what the structure looks like
use Data::Dumper;
print Dumper($gdm_conf) . "\n";
# that will print the content of the structure
      

write this in a file called gdm_autologin.pl, set it executable and launched it:

Code Listing 6.6: launch gdm_autologin.pl

./gdm_autologin.pl
      

Figure 6.4: dumped structure with gdm_autologin.pl

Fig. 4: sc_libconf4

It's easy to understand how it is structured. Now what we want is to take a username in argument, and set it to the autologin. That is done with:

Code Listing 6.7: take username in argument and set it to the autologin

$gdm_con->{daemon}{AutomaticLogin} = $user;
      

Now here is the complete script:

Code Listing 6.8: complete script for autologin

#!/usr/bin/perl
# first of all, include the libconf template module
use Libconf::Glueconf::X::Gdm;
# get the first argument
my $user = $ARGV[0] or die 'please give me one parameter';
# use the template
my $gdm_conf = Libconf::Glueconf::X::Gdm->new({ filename =>
'/etc/X11/gdm/gdm.conf' });
# change the autologin field
$gdm_conf->{daemon}{AutomaticLogin} = $user;
# then write the structure back to the file
$gdm_conf->write_conf();
      

And it'll do the job. You can see that libconf has indented the file, making it easier to read. But if you don't want that, simply add the following line before writing the file:

Code Listing 6.9: don't let libconf indent the file

$Libconf::Templates::Indentspaces = '';
      

Note: More documentation (sorry it's incomplete)

Gtk2Fu

Note: Website: http://libconf.net/gtk2-fu/
What is it: It's a layer on top of perl-gtk2, that make it simplier and better.

gtk2fu is actually simple: it provides more power and easiness. There is also full documentation available.

Now, if you have read the documentation, you should be able to create some simple stuff. Here is a small application that is fully functional, and display a GUI to edit the Automatic Login facility of gdm, based of what we previously did with libconf:

Code Listing 6.10: GUI for Automatic Login facility of gdm based on libconf

#!/usr/bin/perl

# first of all, include the libconf template module
use Libconf::Glueconf::X::Gdm;
my $gdm_conf = Libconf::Glueconf::X::Gdm->new({ filename =>
'/etc/X11/gdm/gdm.conf' });
$Libconf::Templates::Indentspaces = '';

# include Gtk2Fu
use Gtk2Fu qw(:all);
# initialize Gtk2;
Gtk2->init;

# create the window
my $main_window = create_window();
my $entry;
# create the menubar
my ($menubar, $item_factory) = $main_window->create_full_menubar(
   [
     [ '/_File', undef, undef , 0, '<Branch>' ],
     [ '/File/_Save', '<control>S', sub { $gdm_conf->write_conf();
Gtk2->main_quit }, 0, '<StockItem>', 'gtk-save' ],
     [ '/File/_Quit', '<control>Q', sub { Gtk2->main_quit }, 0,
'<StockItem>', 'gtk-quit' ],
   ]
   );
# create the widgets, handlers, and actions
$main_window->signal_connect_(destroy => sub { Gtk2->main_quit } )
  ->add_(Gtk2::VBox->new(0,0)
         ->gtkpack_(0, $menubar,
                    1, Gtk2::VBox->new(0, 0)
                       ->gtkpack_(1, Gtk2::HBox->new(0, 0)
                                     ->gtkpack_(0, 'Gdm AutomaticLogin',

1, $entry = Gtk2::Entry->new()
            ->set_text_($gdm_conf->{daemon}{AutomaticLogin})
	    ->signal_connect_(changed => sub {

$gdm_conf->{daemon}{AutomaticLogin} = $entry->get_text();
                                                                     } )
                                               )
                                  )
                      ->set_border_width_(5),
                    0, Gtk2::HSeparator->new(),
                    0, Gtk2::HButtonBox->new()
                       ->set_spacing_default_(10)
                       ->set_layout_('end')

- ->gtkpack(Gtk2::Button->new_from_stock('gtk-cancel')
                                 ->set_border_width_(5)
                                 ->signal_connect_(clicked => sub {
Gtk2->main_quit; }),
                                 Gtk2::Button->new_from_stock('gtk-ok')
                                 ->set_border_width_(5)
                                 ->signal_connect_(clicked => sub {
$gdm_conf->write_conf(); Gtk2->main_quit; })
                                )
                   )
        )
  ->show_all();
Gtk2->main;
      

Save this in a test.pl, set it executable, and launch it, it'll display something like:


Figure 6.5: gtk2fu autologin test-window

Fig. 5: test.pl

The application is functional, if you run it as root and change the content of the entry and save, it'll work. I use a similar approach with perl-ncurses to build text mode GUIs.

That's it for today, this is just a presentation of what is possible with libconf+gtk2fu+ncurses. I hope it gives some of you some ideas/directions to look into. And if you are willing to join the configuration tool deployment force, contact me.

7.  Moves, adds, and changes

Moves

The following developers recently left the Gentoo team:

  • None this week

Adds

The following developers recently joined the Gentoo Linux team:

  • None this week

Changes

The following developers recently changed roles within the Gentoo Linux project:

  • Mike Doty (kingtaco) - AMD64 strategic lead (replacing Jason Huebel)
  • Simon Stelling (blubb) - AMD64 operational co-lead (with Danny van Dyk)
  • David Holm (dholm) - PPC strategic lead
  • Luca Barbato (lu_zero) - PPC operational lead
  • Lars Weiler (pylon) - PPC release engineering (formerly assigned to the post of tactical lead)
  • Markus Rothe (corsair) - PPC64 Security
  • Daniel Ostrow (dostrow) - PPC profile maintainer
  • Joseph Jezak (josejx) - PPC documentation lead

8.  Gentoo security

Qpopper: Multiple Vulnerabilities

Qpopper contains two vulnerabilities allowing an attacker to overwrite arbitrary files and create files with insecure permissions.

For more information, please see the GLSA Announcement

Net-SNMP: fixproc insecure temporary file creation

Net-SNMP creates temporary files in an insecure manner, possibly allowing the execution of arbitrary code.

For more information, please see the GLSA Announcement

gxine: Format string vulnerability

A format string vulnerability in gxine could allow a remote attacker to execute arbitrary code.

For more information, please see the GLSA Announcement

Mailutils: Multiple vulnerabilities in imap4d and mail

The imap4d server and the mail utility from GNU Mailutils contain multiple vulnerabilities, potentially allowing a remote attacker to execute arbitrary code with root privileges.

For more information, please see the GLSA Announcement

9.  Bugzilla

Summary

Statistics

The Gentoo community uses Bugzilla (bugs.gentoo.org) to record and track bugs, notifications, suggestions and other interactions with the development team. Between 22 May 2005 and 29 May 2005, activity on the site has resulted in:

  • 835 new bugs during this period
  • 474 bugs closed or resolved during this period
  • 35 previously closed bugs were reopened this period

Of the 8480 currently open bugs: 85 are labeled 'blocker', 217 are labeled 'critical', and 615 are labeled 'major'.

Closed bug rankings

The developers and teams who have closed the most bugs during this period are:

New bug rankings

The developers and teams who have been assigned the most new bugs during this period are:

10.  GWN subscription information

To subscribe to the Gentoo Weekly Newsletter, send a blank email to gentoo-gwn+subscribe@gentoo.org.

To unsubscribe to the Gentoo Weekly Newsletter, send a blank email to gentoo-gwn+unsubscribe@gentoo.org from the email address you are subscribed under.

11.  Other languages

The Gentoo Weekly Newsletter is also available in the following languages:



Print

Page updated May 30, 2005

Summary: This is the Gentoo Weekly Newsletter for the week of 30 May 2005.

Ulrich Plate
Editor

Daniel Herzog
Author

Damien Krotkine
Author

Patrick Lauer
Author

Lars Weiler
Author

Donate to support our development efforts.

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