Gentoo Weekly Newsletter: May 30th, 2005
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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:
Adds
The following developers recently joined the Gentoo Linux team:
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:
|