feeds2read
Latest Flows from this sub-category:
Noticias de iSeries / AS400 y noticias de Clientes ligeros Linux, XP y CE.Net

Busby SEO Challenge STT-PLN Online Community

Блог программиста-дилетанта

Logging, Syslog and Log Anaylsys Forums

Royal HeHe2-ness!

КОТорый летает сам по себе...

Пакет дня Debian

Ohmpie.com - Linux, Programming, Electronics, Freedom

My Linux Way

Shell Tips !

random selection from this sub-category:
freshmeat.net announcements (Unix)

BMG Main

DistroWatch.com: Distributions

Linux Pratique

Nongeek Perspective

Linux.com :: Features

GNOME News

Linux.com :: Features

Léa : Les nouvelles

Linux Magazine

Rss Directory > Computer > Unix/Linux > Planet Gentoo


Planet Gentoo - http://planet.gentoo.org/
 

Here’s links to a few places that posted announcements for 2008.0. Go there and get involved by voting and commenting!

Gentoo 2008.0 makes the Digg frontpage
Gentoo 2008.0 makes the Digg frontpage

There’s also a ton of talk about Gentoo 2008.0 happening on Twitter, which I’m following through the Summize search engine with a search for gentoo. I’m also following blogs talking about Gentoo, and I have a news search for Gentoo that I expect to pick up more later once more journalists pick up the news.

Update 1: Added Phoronix, thanks to Denis Dupeyron (Calchan).

Update 2: Added OSNews

Update 3: Added OStatic, Heise, Linux Format, Clubic, FOSSWire, DesktopLinux.com, Linux Magazine (UK)

Update 4: Added InternetNews.com

Update 5: Added Open Source Pixels, Techgage

Update 6: Added LinuxNews.pl, Programas Livres

Update 7: Added Linux Journal, Linux1.no, PettiNix, Linux.org.ru

  Wed, 09 Jul 2008 02:29:15 +0200

That’s right, kvm-70 just hit portage.  Go hit a rsync mirror near you!

What’s kvm, you ask?  Some kind of virtual keyboard/mouse thingy?  No, it’s the Kernel Virtual Machine.  It’s basically like vmware.  It’s actually a modified qemu that uses hardware virtualization (and only hardware virtualization; if you don’t have Intel VT or AMD-V, then use qemu or something else).  It’s fast, it’s featureful, but it’s not exactly user friendly, at least not without help.

In the coming weeks, the Gentoo Virtualization team will get libvirt and the associated front ends working for it.  That should up the user-friendly factor a fair amount.

Thanks Cardoe (cardoe) and Tiziano (dev-zero), the kvm co-maintainers with me, who did a lot of the work getting this ready for the tree.

For those unfortunate souls who couldn't boot or burn the LiveCD, we've provided the 2008.0-r1 revision bump. It fixes these specific problems:

  • Bug #230998: 2008.0 LiveCD for x86/amd64 messes up when copying kernel/initramfs into tmpfs
  • Bug #231024: LiveCD AMD64 image does not fit on ordinary 700MB CD

We apologize if you encountered one of these problems. We fixed them as quickly as we could after hearing about them. Get the new 2008.0-r1 revision from our "Get Gentoo!" page.

Discuss this!

As some of you may have noticed, I recently added a few more packages to portage. First of all I want to mention Arora, the Qt4 WebKit browser for which I already have a live git ebuild in berkano overlay. I am making snapshot ebuilds now, about twice a month, to make it easy for Gentoo users to keep up to date with its development. These ebuilds are hardmasked in portage at the moment, as Arora depends on Qt-4.4 which is currently still hardmasked. As soon as Arora makes an official release and Qt-4.4 will be unmasked, I will make an ebuild available for ~arch users. We’ll have to wait till Qt-4.5 though to use plugins like flash. (Users prefering GTK+ might want to take a look at Midori.)

I also added a few other Qt4 applications: QtScrobbler, a GUI for easily submitting a scrobbler log from your portable media player to Last.fm; and JuffEd, a nice editor with tabs and syntax hilighting, based on QScintilla. Lastly, I added SubtitleComposer, a KDE3 application for working with text-based subtitles (srt or ssa for example).

If there are any more applications hiding in our bugzilla, or in obscure corners of the ‘net, that you believe deserve to be in Gentoo’s portage tree, let me or another developer know. Personally my interests lie in the fields of sound, video, fonts and miscellaneous desktop apps (and, as you may have noticed, a growing preference for Qt4 based programs).

ShareThis

As it reads in the topic, excellent news!

We have finally decided to get GHC 6.8.2 stable in our official Gentoo portage tree. Lennart Kolmodin filled a stabilization request yesterday to get this GHC version stable along with many of their existing libraries.

As we all know, since the Glasgow Haskell Compiler went modular, our dev-haskell/ category has increased its size considerably and the maintenance effort too; so, though we have probably got a bit late stabilizing these packages, we have carefully worked with most of them, and they have been already publicly available for anyone willing to test them from our Gentoo-Haskell overlay since many months ago.

This stabilization will greatly reduce the burden for working with Haskell packages in Gentoo now. Users don't need to keyword most of these packages versions by themselves, and a simply emerge command will suffice to get all the glory out of them :-). Therefore we expect and encourage users to test the stabilized packages and report at bugs.gentoo.org any bug found.

With this important stabilization, Himerge version 0.21.9 also got stabilized, which is the latest and most stable release of it. Now the process of installing this program will be smoother since all their dependencies are marked stable too and a simple 'emerge himerge' will make it.

As explained in the bug #230919, these packages are only stabilized for x86/amd64 , more arches to follow.

All the kudos go to the arch teams and everyone who has helped us to test packages and detect bugs during all this time.

Regards and Enjoy!
  Mon, 07 Jul 2008 14:26:02 +0200
A stabilisation request is open for the Nvidia binary drivers. Unfortunately no x86 team member seems to have a Nvidia card available and the last stabilisation round has been a disaster. So I ask users to report their failures and success to x86@gentoo.org with x11-drivers/nvidia-drivers-173.14.09 on a stable system (at least 95% stable packages including system and base like kernel and X).
The same goes out for Python 2.5 and Kernel 2.6.25, where users can spot any package in stable profile that will break if either of them goes stable.
Thanks for your support.
  Sun, 06 Jul 2008 23:06:00 +0200

So the results for this year’s council election are out, and it seems like my fellow developers voted me in for the third time. Thank you guys! And thanks for confirming most of the previous concil too.

So just to make it clear, tomorrow I’ll officially ask for comments on a proposal to change the council GLEP so that there won’t be a new opportunity to call off a council based on a practical mistake.

The rest of my TODO list for the week, that seems to be quite cooler than the past one, standing to all the weather forecasts I checked, counts finding a way to fix .la files after removal of stuff like libpopt’s (that break a lot of other .la files). The nice thing is that the complex script that we exected to need before (fixing the VDB for the mtimes and md5sums) is not needed; recent enough Portage versions will be removing the modified .la files anyway so sedding them out after gather will suffice.

Also, I’ll have some more docs to write, will try to do my best to keep you updated on these.

Again, thanks to all the developers for the trust they gave me (and us) again! THANKS! :)

IF you want to try another groupware server, I finally made up ebuilds for Scalable OpenGroupware.org, SOGo for short. These are available in the GNUstep overlay for now (it seems to work fine, but I lack the full server installation needed to completely test it, mostly an IMAP server with LDAP backend).

From the SOGO folks:

SOGo is a free and modern scalable groupware server. It offers shared calendars, address books and emails through your favorite Web browser or by using a native client such as Mozilla Thunderbird and Lightning. SOGo is standard-compliant and supports CalDAV, CardDAV, GroupDAV and reuses existing IMAP, SMTP and database servers - making the solution easy to deploy and interoperable with many applications.

For the curious, a demo web site is running here. Feedback appreciated of course if you try it on Gentoo

On other news, I noticed that the Window Maker web site is back up, stating:

windowmaker.info Back Online posted on 2008-06-30 09:04:16 by kairi

windowmaker.info has been brought online as of early July, 2008. We are currently working on reimplementing the site in a more modern, safe fashion, while at the same time restoring all services required for development and communication. With that said, we are working very hard to revitalize Window Maker's presence on X Window (and perhaps beyond) desktops. With this new focus, we can now truly assert that Window Maker will be resuming active development very soon. We expect to once again provide the de-facto minimalist yet extremely functional window manager to the world.

This has been my main window manager since... well a loooong time, I'm crossing fingers and hoping it will really come back from the dead projects world!

Oh, and if you did not get the news, 2008.0 is here! Thanks release engineering team members

I almost forgot: congratulations to the new Council members, both veterans and newcomers!

  Sun, 06 Jul 2008 14:30:02 +0200
ACID3 in midoriSeems with the latest versions of webkit-gtk and midori, a long-standing crasher-bug got fixed and it now allows you to run the browser-test ACID3.

I just bumped the webkit-gtk ebuild in Gentoo to the latest snapshot.

ACID3 is a test for the standards compliance of modern web browsers. I wrote about ACID2 some years ago.

I said this briefly on the gentoo-dev list, and I want to expand on it here. The council is Gentoo’s leadership, and it’s composed of 7 people elected by all Gentoo developers using a Condorcet-style ranking vote. Of the 7 people on the old council, 5 of them decided to run again and every single council member who ran was re-elected.

This is significant because the re-election was forced over miscommunication about a meeting, and this created some serious conflicts with a sentence in the Gentoo Linux Enhancement Proposal that created the current structure, including the council. I consider this a mandate, showing that Gentoo developers have confidence in the existing leadership doing what’s best for Gentoo.

This was your chance to say yes or no, and you gave us a resounding yes. Since it isn’t often we hear much from the vast majority of developers, this really means a lot to me in saying which directions we should go, based on who you voted for (graphs here). My interpretation is that you like what’s going on now and where we’re talking about going. I’d really love to hear more input from those of you who don’t normally speak up, though. What can we do for you?

P.S. The 2008.0 release is out.

  Sun, 06 Jul 2008 11:10:30 +0200

After more than 3/4 of a year of working (and setbacks), it's finally done: Gentoo Linux 2008.0 install media have been released this morning. Enjoy!

  Sun, 06 Jul 2008 11:02:08 +0200

The 2008.0 final release is out! Code-named "It's got what plants crave," this release contains numerous new features including an updated installer, improved hardware support, a complete rework of profiles, and a move to Xfce instead of GNOME on the LiveCD. LiveDVDs are not available for x86 or amd64, although they may become available in the future. The 2008.0 release also includes updated versions of many packages already available in your ebuild tree.

  • Updated installer: The installer now only performs networkless installations using the packages and ebuild tree on the LiveCD. It also contains numerous fixes for extended and logical partitions.
  • Improved hardware support: Moving to the 2.6.24 kernel added many new drivers for hardware released since the 2007.0 release.
  • Complete rework of profiles: Restructuring profiles allowed significant cleanup of redundancies, reducing developer maintenance and confusion. The difference for you is that profiles now appear in /usr/portage/profiles/ under default/linux/ instead of default-linux/. See the upgrading guide for more details.
  • Xfce instead of GNOME on the LiveCD: To save space, the LiveCDs switched to the smaller Xfce environment. This means that a binary installation using the LiveCD will install Xfce, but you're still free to build GNOME or KDE from source.
  • No LiveDVDs on x86 or amd64: In the interest of getting the release out, the release engineering team decided to postpone LiveDVDs because of problems in their generation. They may show up later—if so, we'll let you know.
  • Updated packages: Highlights of the 2008.0 release include Portage 2.1.4.4, a 2.6.24 kernel, Xfce 4.4.2, gcc 4.1.2 and glibc 2.6.1.

A big thanks goes out to our release engineering team members for their hard work over many months to turn 2008.0 into reality.

Get the new release from our "Get Gentoo!" page.

Discuss this!

  Sun, 06 Jul 2008 10:02:10 +0200

Elections just ended for the Gentoo council for the next year. Turnout was 57% with 145 developers voting, which is quite excellent. The council, created by GLEP 39 to replace Gentoo's previous hierarchy, decides on global issues and policies that affect multiple projects. To select council members, Gentoo uses the Condorcet voting method, which involves ranking them in order rather than just picking a single candidate. Here are your new council members, listed by ranking in the election results:

All of the previous council members who ran again were re-elected, and the two new members are Mark Loeser and Tobias Scherbaum. A full list of ranked candidates is also available. These graphs illustrate the results more clearly. They are histograms, where higher columns on the left side indicate high rankings, and higher columns on the right side indicate low rankings.

The new council members will get right to work—the new council's first meeting, scheduled for July 10, is approaching fast.

Discuss this!

  Sat, 05 Jul 2008 22:13:50 +0200
xxxxxxxxx
xxxxxxx
xxxxxxxxx
xxxxxxxxxx
xxxxxxx
xxxxx
xxxxxxxxxx
xxxxxx
xxxxxxxx
xxxx
xxxx
xxxxxx
xxx
xxx
xxxxx
xxxxxxx
xxxxx xxxxx
xxxx
Figure it out and you get a cookie.

So working on a cleanup of machines, I looked at the history of the infra pages in CVS, and I noticed that infra has had a lot of developers of the years.

I'm probably missing a few, that never made it to the list, or predated the list, but I think it's a good start. I've also listed what they did either from the webpage, or from memory, again apologies if I got it wrong.

I'd like to thank all of those that put work into infra in the past, but have retired from Gentoo

  • Alex Howells (astinus) - Mirrors, DNS.
  • Jeffrey Forman (jforman) - Mirrors, DNS, Bugzilla, sysadmin, lots
  • Andrea Barisani (lcars) - Lists, LDAP, mail, sysadmin, lots
  • Kyle England (kengland) - sysadmin, cfengine
  • Lars Weiler (pylon) - CVS, SVN, overlays
  • Robert Coie (rac) - Forums, DBA
  • Jon Portnoy (avenj) - Mirrors
  • Sascha Schwabbauer (cybersystem) - Mail, Jabber
  • Tim Haynes (piglet) - Mirrors
  • Corey Shields (cshields) - LOTS
  • Rob Holland (tigger) - sysadmin
  • Benjamin Coles (sj7trunks) - Bugzilla, sysadmin
  • Michael Cummings (mcummings) - sysadmin
  • David Olsen (lude) - Mirrors
  • Albert Hopkins (marduk) - packages.g.o
  • Luca Mercuri (siggy) - www
  • Andrew D. Fant (jfmuggs) - backups, www
  • Curtis Napier (curtis119) - www, torrents
  • ???? (little_bob) - nagios

I'm not forgetting our current infra team, I hope to do a followup about them sometime soon too.

  Fri, 04 Jul 2008 11:43:20 +0200

Devs, listen up–voting closes for the Gentoo council at 23:59 UTC today (Friday). Here I’m going to tell you my surprise underdog picks. By underdog, I mean people who I didn’t realize I was going to rank fairly highly for before doing research. I dig through all my mailing-list archives of -dev, -project and -core, looking at all the recent posts by each candidate. Then I decided whether they expressed enough opinion on global directions, whether they were active enough on-list, and whether I agreed with their ideas about where Gentoo should go. Based on that, here’s my underdogs:

  • jer (HPPA arch team)
  • leio (wxWidgets, GNOME maintainer)
  • ulm (emacs maintainer)
  • dev-zero (cpp, postgresql, samba, python maintainer)

Other than them, I strongly endorse our QA lead, Halcy0n (also on GCC porting, toolchain, and C++ teams). I’m not listing anyone who’s been on the council before, because that isn’t as interesting. There are other candidates who I think have the technical qualifications–I’m not voting for some of them because I think having a strong community that follows and enforces its own Code of Conduct is not just important but vital for Gentoo to move down the path of greatness.

Today I was feeling somewhat blue, mostly because I’m demotivated to do most stuff, and I wanted to see what it was like to work in Gentoo two years ago.

One thing I read is that a little shy of exactly two years ago, ICQ broke Kopete, just like they did yesterday. Interestingly enough, even though a workaround has been found for Kopete 0.12 (the one shipped with KDE 3.5), there is no bump I see in the tree this time. Sign that the KDE support in Gentoo has changed, most likely.

There is also the whole thing with ALSA problems, which span so many posts that it’s not worth listing all them. The current ALSA maintainer simply gave up on providing something that, at least for some users, ended up being quite important.

And all the work on Gentoo/FreeBSD! Although Javier is doing a huge work now to support FreeBSD 7.0, he’s not prone to blog about it, and you can see that Gentoo/FreeBSD is easily ending up in the “historical” memory, rather than being discussed and tried out by users daily.

What didn’t change at all is my insomnia, it’s almost 2AM and I’m still up. And this time I don’t even have Antiques Roadshow to watch. I’m currently working on xine, just like two years ago.

In general, I think a lot of areas in Gentoo did go downhill from two years ago, rather than improving. While Portage is certainly improved, thanks to Zac, Genone and the rest of the team, and we can see that in the new extended repoman checks, that also helps QA. But the general user support seems, to me, lacking.

This is a direct consequence, in my opinion, of leaving open doors for people who are just driving Gentoo’s energy away, by taking over projects to make them stall, by discussing details over and over and over, by repeating the same request even when people reject it as it stands, and so on.

I hope things will improve in the next months, thanks to a new council that can finally grow some balls, straightening up the situation, but if this does not happen, I’m already preparing for my plan B…

MapSource in WINEThere are two tools out there for Linux to put Garmin maps (which you can convert from OpenStreetMap Data) on devices, sendmap (proprietary) and qlandkarte (free). Sadly, both don't support my device (Garmin Quest), so I had to find an alternative solution. This should also work with other garmin devices.

After some playing around, I managed to get it running with MapSource on wine. I've used wine 1.1.0 on Gentoo, if you have problems, be sure to get a recent wine version.

Steps to do:
  • Download MapSource_6137.exe from the Garmin webpage.
  • Use 7-Zip to unpack the exe to some directory: 7z x MapSource_6137.exe
  • Install MAIN.msi: wine start MAIN.msi
  • Install MapSource: wine MapSource.exe
  • Get one of the MapSource Installers from here and install it: wine Setup_OSM-Germany-2008-06-11.exe
  • wine doesn't support usb, so you need the garmin_gps module. If it's installed on your system, it should load automatically after attaching your device and switching it on.
  • You should now have a device ttyUSB0, which you need to symlink as com1 for wine: ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
  • Run MapSource: wine ~/.wine/drive_c/MapSource/MapSource.exe
  • Go to Settings -> Transfer, there you can select a serial port. Select COM1.
  • Click the map selection tool from the buttons and select an area.
  • Select Transfer -> Transfer to device. If everything went fine, it'll detect your garmin device attached to the serial port and you can start your upload.
I couldn't believe it, but afterwards I had routable OpenStreetMap maps on my garmin.

I’ve been working as an experiment on rewriting xclip to use XCB rather than Xlib. This is mostly because I always have been interested in XCB but I never had time to learn the internals too much.

To make my task easier I ended up using some funcitons that are not available in the currently-released version of xcb-util, the side-package of XCB that contains some higher-level functions that make it easier to replace Xlib.

Beside the fact that xcb-util still haven’t bumped its version, which makes it impossible to check for the right version with pkg-config, there is one interesting point in using the latest available version through the x11 overlay.

Letting alone some problems with being able to actually fetch and install the packages I need (Donnie, I’ll send you the patches later if I can polish them a bit), over the actual GIT tree there are a few patches applied, coming from Jamey Sharp (an XCB developer) from March 2008. These remove one library (libxcb-xlib) and change the locking method used to make Xlib use the same socket as XCB. These changes not only break ABI (without changing the soname, alas!) but also make it impossible to build the old libX11 against the new libxcb. Using the live version of libX11 (that is also patched to use the new hand-out mechanism) fixes this problem, but the result is a way bigger trouble.

First of all, this is a perfectly good example of what I said about preserve-libs. If you are not using --as-needed, and you had libX11 built with xcb USE flag enabled, you’ll have libxcb.so.1 links on almost all X-using binaries in your system; after rebuilding the new libxcb and libX11 (which respectively would install libxcb.so.2, in theory, and let libX11 link to that), all the binaries will have in their process space both the old and the new libxcb. With different ABIs. And that’s a huge problem on itself.

Then there is the other problem, that is related to the .la files I discussed a few months back. As a huge amount of KDE modules (and not limited to) linked to Xlib, they also had libxcb-xlib listed in their .la files dependencies. Which causes everything to fail linking with libtool as it’s looking for the missing libxcb-xlib.la file.

I suppose it’s time to spend time to get a script to fix this situation, but I admit I’m not much motivated at the moment. Especially since my system is pretty slow when it comes to rebuild stuff for testing, and my employer is not going to pay me anytime soon to allow me getting a newer box.

Once the script is available, it should probably be much much easier to get rid of .la files in ebuilds, as we could just say to the users to run the fixing script and be done with that..

But I admit I was planning on doing some different things in the next days, I had little time for myself lately to begin with, and I’m following way too many things at once. Sigh.


Last night, Dave Airlie released libdrm 2.3.1, which set the stage for all the pieces of the X.Org 7.4 prereleases to actually work (with a couple mesa patches). If you’d like to test 7.4, here’s how. This assumes you’re already running an ~arch (testing) system–if you aren’t, you might want to hold off on testing hard-masked packages. This may not work with binary drivers–particularly ati-drivers. It looks like nvidia-drivers has preliminary support for xorg-server 1.5.

echo "
# xorg-server-1.5 prerelease
=x11-base/xorg-server-1.4.99*
=media-libs/mesa-7.1*
x11-proto/dri2proto
=x11-libs/libdrm-2.3.1*
” >> /etc/portage/package.unmask
emerge -va xorg-server
emerge -va1 $(qlist -I x11-drivers)

I’ve still got 16 more packages to bump before everything’s up to date, but the main parts are in place.

g-pypi 0.2.1 has been released. This is a bug fix release with changes that allow it to work with the portage 2.2 API changes and with older portage versions. There is also a change for a reported amd64 bug, so amd64 users please try 0.2.1 and file a ticket if you encounter a bug.

What is g-pypi? g-pypi creates Python package ebuilds for Gentoo Linux (think g-cpan of the Python world). Unlike CPAN, The Python Package Index is very liberal about the packages you can upload and the metadata you supply. You can also use any crazy versioning scheme you can think of and PyPI probably won’t flinch. This makes it difficult to create ebuilds and has kept it in my overlay a few years now.

I’ve only had a few actual bug reports over the last couple of years, but I’m afraid that if I put it in the official tree people may expect it to perform as well as g-cpan and file reports saying it couldn’t figure out the license or dependencies when the upstream maintainer didn’t provide any of that information. There are a few other problems that won’t get fixed until things change with the Python Package Index and distutils. Maybe Py4k.

So, give me some feedback, let me know if it’s been reliable enough for you that it warrants going in the official tree.  Go to ohloh and let me know you’re using g-pypi so I get motivated again.

You can find g-pypi in my overlay (layman -a pythonhead)

In the next major version I’ll have g-pypi search the semantic web for missing metadata. If PyPI doesn’t have the license, for instance, but Ohloh or Freshmeat or SourceForge does, it’ll figure it out.

What: Gentoo contributors get together to help each other fix bugs

Where: irc.freenode.net, #gentoo-bugs

When: Saturday, July 5, in a timezone near you

What do you need to bring?

  • A Gentoo system, an Internet connection and an IRC client
  • Your bug. If you don't have one, we will find you one to suit your area of interest and your skills
  • Your favorite editor
  • A way to test that your bug is fixed (asking people counts!)
  • You don't need to know C, C++, or bash

What's a bug? Gentoo's way of tracking change requests. A change request can be anything from "I've found a typo in foo" to "I've built this really useful program called bar but there's no ebuild for it." Bugs have various levels of helpfulness, from identifying the existence of a problem to localizing the problem to providing the patch to fix it.

There are bugs in documentation such as man pages as well as ebuilds and the source code that Gentoo distributes. These bugs are problem reports. Bugs for things Gentoo doesn't do yet but you think should be done are feature requests. Bugday is more about fixing problems than adding features, but you won't be turned away if you want help with a new feature.

Want to know more about Bugday? It's held on the first Saturday of every month. It's an opportunity for everyone to contribute to making Gentoo better, and eventually you might even become a Gentoo developer. See the Bugday project page for more details.

Bugday is about community spirit. Gentoo is a community—there is no "me" and "them", there is only "we," so instead of lobbying for "them" to fix your particular bug, work together to fix it! Bugday is an opportunity to get help to help yourself.

If you've been wanting to get involved but weren't sure how, Bugday is a great way for you to see what goes on in making a distribution and get involved in Gentoo.

Discuss this!

Roy Bamford contributed the draft for this announcement.

I created a tool that uses FOAF to create home pages for Gentoo developers.

ternate takes Gentoo Linux developer information from our LDAP server on http://dev.gentoo.org and creates a FOAF file.

We use an XML format called GuideXML for all our official documentation and I thought that would give me an easy way to create a consistent look. I created an XSLT style sheet that takes FOAF and outputs GuideXML which can then be converted to HTML using www-servers/gorg.

For now it’s fairly basic since our LDAP servers don’t contain too much info. I’ll add features to parse our herds.xml file and add herds, parse our blog roll to find your blog URL etc.

You can take the FOAF and manually add quite a bit of info that can be included in GuideXML. Take a look at mine to see what I did with my FOAF file.

I was planning on setting up a SPARQL endpoint so we could do interesting things like checking if your fellow developers have accounts for games etc. but Apache on dev.gentoo.org is ignoring my .htaccess and refuses to serve .rdf files as anything but text.

dev-python/ternate can be found in my overlay (layman -a pythonhead).

It’s fairly easy to use -

Get your LDAP info:

$ ssh USERNAME@dev.gentoo.org ‘/usr/local/bin/perl_ldap -b anon -s USERNAME’ > ldap.txt

Convert it to FOAF:

$ ternate –foaf ldap.txt > foaf.rdf

Convert FOAF to GuideXML

$ ternate –guidexml foaf.rdf > index.xml

To convert it to HTML you’ll need www-servers/gorg:

$ gorg < index.xml > index.html

  Tue, 01 Jul 2008 03:09:30 +0200

Many people think of code as artwork in some way or another and consider good code something of elegance and beauty. While working today, I came across another example of that in a visual representation of a project I’m working on.

This image shows the call graph of the file I’m editing, which is one component of a much larger project. I made it with Python’s hotshot profiler and José Fonseca’s Gprof2dot. Brighter colors mean more time is spent in those functions or their children, although it’s hard to see at this size. Or does it show some sort of futuristic gun? Your call.

The above callgraph shows every single function, but here’s a profile generated with the same tools that shows only functions that use a certain percentage of time. You can actually see the colors:


You heard it here last, to use sog’s catchphrase. Haven’t you always wanted to track down the runaway process that was sucking up all your disk I/O? Now you can, with iotop. It’s a simple Python script, not even a full-out application. iotop uses the I/O accounting in newer 2.6 kernels >=2.6.20 (check whether /proc/self/io exists to see whether you’ve got it enabled) and requires at least Python 2.5 for AF_NETLINK sockets. Here’s what it looks like (click for larger image):

iotop screenshot

It shows overall disk read and write in MB/s. Per-process, it shows disk read and write speeds as well as percentage of time spent swapping in and percentage of time spent while waiting on I/O. In other words, it rocks.

To install it on Gentoo:
emerge iotop

You might need to sync your tree because I just added it. It’s still got testing keywords, so if you’re running stable, do this:
echo =dev-lang/python-2.5* >> /etc/portage/package.keywords
echo sys-process/iotop >> /etc/portage/package.keywords

The June issue of the Gentoo Monthly Newsletter has been released. In this month's issue: LinuxTag and FliSoL, GSOC interview, Gentoo in space, and more!

Discuss This!

  Mon, 30 Jun 2008 21:32:56 +0200
(102/253 ballots submitted so far, voting ends on the 4th, 23:59 utc)
Not much left and more than half of us haven't voted yet!
Vote NOW!

Voted

Fellow developer Zhang Le wrote about the new preserve-libs feature from Portage 2.2 that removes the need for revdep-rebuild.

As I wrote on gentoo-dev mailing list when Marius asked for comments, there are a few prolems with its implementation as it is, in my not-so-humble opinion. (Not-so-humble because I know exactly what I’m talking about, and I know it’s a problem).

Let’s take a common scenario, a system where --as-needed as never used, that is updating a common library from ABI 0 to ABI 1 (so with a change of soname). This library might be, for instance, libexpat.

I don’t want to discuss here what an ABI is and what an ABI bump consists of. Let’s just say that when you make an ABI bump you either remove functions, or you change the meaning of some functions (like the parameters, the behaviour or other things like those).

In the first case the bump is annoying but not much of a problem, executables stop being loaded because symbols are undefined; with lazy-loaded executables, they might die in the middle at the moment the undefined symbols is called, but that’s not our concern here.

The problem comes when a function with the same exact name changes meaning, parameters or return type. In this case, the executable might pass too much or too little data to the function, he pointers might be referring to something completely different, or might be truncated. In general, when you change the interface or the meaning of a function, if the executables built to use the previous version are executed with the new version, they’ll either crash down or behave in a corrupted manner. Which are two subtle issues which we should be looking forward to, as they are hard to debug unless you know about them.

So let’s return to our library changing ABI. Let’s say we have libfooA.so.0 and libfooA.so.1 installed, the first is preserved by preserved-libs, the second is the new one. libfooB.so.$anything links to libfooA as it uses it directly, so it will be in the set of packages to rebuild.

Introducing libfooC.so.$anything that links to libfooB.so.$anything, but as destiny wishes, is also using libfooA.

At this point before the ABI bump we have libfooB depending on libfooA.0, and libfooC depending on libfooB and libfooA.0; after the bump, we decide to rebuild only libfooB, which means that libfooB now depends on libfooA.1 while libfooC is still depending on libfooA.0.

What this means is that, minus symbol versioning, the same symbol would have two (probably different) definitions, which will collide one with the other, leading to subtle crashes, misbehaviour and other fun-to-debug problems.

The problem is that the two ABIs of the libraries are both being loaded in the same userspace, which is a very bad thing, unless the symbols are versioned. On the other hand, symbol versioning is a bit of a mess, it’s not implemented by all operating systems, and I find it quite convoluted.

At the moment I don’t see anything in portage that stops you from shooting in your own foot by doing a partial rebuild. I hope I’m mistaken, but if I’m not, please remember to always do a full rebuild, rather than a partial one. Instead of having programs not starting, you might have programs corrupting your data, otherwise.


I’m quite happy today. Not because I had lots of fun at yesterday’s party, for which I’m completely dead after having danced salsa for more than 3 hours. I’m really happy because the Gentoo Infrastructure Team investigated what the Exherbo team reported (see details in my latest post).

This, incidentally, means that nobody can act like a sheriff with complete impunity. I won’t comment on the outcome of it, not because I dislike it, but because I think it wouldn’t be fair after all. If someone is interested, they can read the bug themselves.

Update: Alexander wrote a followup post about the whole thing: Follow-Up: Attack on Exherbo.org machine. I can’t do anything else than joining him in his thanks to the Gentoo Infrastructure Team.

— ferdy

PS: Some people have shown disagreement with the way I write stuff (not with what I write about). It seems I’m overly negative and bad publicity for Gentoo. If you feel that way, I apologise. My intention is to give information that I honestly think is relevant about both Gentoo and myself. I’ll try to be less negative in future, even though I’ll still post about what I think is relevant and/or important.

UPDATE: It looks like the entire post didn’t get published the first time around (Wordpress FAIL), but the whole post is now up!

There are few people I’ve met who found the experience of dealing with shared libraries pleasant. Personally, I really despise them. The whole idea of “shared code” is great and all, but the implementations in the Unix and Windows worlds are not something I would like to deal with. I would like to go as far as saying, “shared libraries suck”, but that would mean a lot of people are going to flame me - just because they are extremely prevalent and that they’re “working” for a vast majority of cases.

Before I proceed with the post, I would like to share two quotes from people that I greatly respect:

the trouble with shared libraries is that they seem at first quite reasonable, and indeed at a fairly abstract level, it seems irrational to be more opposed to them than any other form of sharing, such as shared text, but the mechanics of linking and sharing (especially on current processors), and of configuration control, have so many hard facts that the simplicity of the original is quite lost. having experienced several variants, i find it now saves time just to adopt the irrational position from the start. 

i think i’d rather have (say) mondrian memory protection than either shared libraries or the vm crud they keep adding to chips and systems.

- Charles Forsyth

shared libraries are obviously a good idea until you’ve actually used them. then whether it’s obvious or not that they’re a bad idea is mostly a matter of how close you are to trying to get them to work.

- Rob Pike

I like static linking. But code these days is getting extremely complex and bloated, so people needed an alternative. Instead of focussing on making their code more cleaner and lean, they started thinking about they can share this huge piece of complex and bloated code across several applications. If you think about it, if your code is small and clean, you wouldn’t feel the need for shared libraries.

Ulrich Drepper’s famous page on why static linking is considered harmful is worth a mention here. In point 1, he says ‘fixes have to be applied to only place’, but that also means that it takes only one “fix” to introduce two bugs that has wide-reaching consequences (imagine a “fix” that introduces two new bugs in a shared libc - this *has* happened!). The other points are probably valid, but his conclusion is certainly not:

The often used argument about statically linked apps being more portable (i.e., can be copied to other systems and simply used since there are no dependencies) is not true since every non trivial program needs dynamic linking at least for one of the reasons mentioned above.

There exists an entirely functional, portable, (and superior) operating system that doesn’t support shared libraries (and for very good reasons).

If you’re not convinced that shared libraries are clunky hacks that shouldn’t be used, that’s Ok. Let’s assume that shared libraries are a great idea and are a boon to computing. That doesn’t mean we shouldn’t look at better ways of achieving the same goals in a cleaner, better manner.

Synthetic File Systems.

As an advocate of the Plan 9 operating system and it’s underlying principles, my opinion may be a bit biased; but I think synthetic file systems are frickin’ awesome. If I were to design a system where several applications were to share common cryptography code (for example), here’s how I would do it:

Schematic diagram of a synthetic Crypto filesystem

The synthetic file system in the center works something like this: applications wanting some cryptography work to be done read and write to files exposed by the FS. For example, ‘Application 1′ would write the data it needs SHA-1ed to /crypto/hash/sha1/data, and a subsequent read on the same file would return the hash (the read would block until the SHA1 was actually calculated). The great thing about such filesystems are that they are language independent, since almost any respectable language has file operations in its standard library.

However, in order to take care of things like type safety, we make this very tiny, stub library called ‘libcryptofs’. The job of this library is merely to pass on data from applications to files, while ensuring the compiler catches type safety errors (because this library is statically linked to every application wanting to use CryptoFS) and also performing the task of gracefully handling errors like /crypto being absent.

On the other side of the FS, we have ‘cryptofs’, the code that is responsible for actually providing the filesystem. It would statically link with a synthetic filesystem library (Not show in diagram: lib9p on Plan 9, maybe FUSE on Linux - but would you statically link with it? lib9p is also available on POSIX systems, by the way, thanks to the Plan 9 from User Space project). But this library is also small, because it delegates the actual cryptography operations to ‘libcrypto’, the library that has all the code implementing SHA1, RSA and so on.

But since ‘libcrypto’ is a small and awesomely written cryptography library, ‘Application 3′ may decide to directly link with it. Suitable for embedded devices or other memory-starved environments, where you want to avoid the whole FS in the middle because you know there is only going to be one application needing it.

Now, what about versioning. That is, after all, why shared libraries began to suck. With filesystems, it’s trivial to add functionality without breaking applications depending on older versions of your FS. That’s because all the compiler sees is a bunch of fopen/fread/fwrites and is not going to complain if the version of the filesystem changes because it doesn’t know. Alternatively, if you’re thinking of modifying the behavior of your filesystem; consider providing a ‘version’ file in the root of your FS right from the beginning. Applications would then write the version number they expect to be working with in that file as a way of initializing the filesystem - and multiple versions of the filesystem can live in harmony if your system implements per-process namespaces (Plan 9 has them, Linux does too thanks to CLONE_NEWNS) because every application ’sees’ its own private copy of the CryptoFS file hierarchy.

In summary, the answer is to write lean, efficient and small pieces of code (a very difficult task if you’re thinking of using the GNU toolchain!) and use filesystems in place of shared libraries. Plan 9 has been using it successfully for years, and I think we should learn something and try to apply the philosophy to other systems we love as well: Firefox extensions, COM models for Games, Plugin systems; anywhere we make extensive used of shared libraries and dynamic loading. Let me know what you think, and whether you would consider this approach for your next project! I know I certainly will :-)

  Sun, 29 Jun 2008 09:56:30 +0200

Up until recently, I had thought most Gentoo users and developers to be adults, who made sensible choices in their actions (but not always their words). This may be generalized to acting professionally. I am saddened to report on the ongoing degradation of the community in this regard, and how infra will deal with their side of it.

I've been with the infrastructure team in general for a very long time, however, up until April 2007, I was only the CVS administrator, and had no roles nor access outside of that. Since then, I stepped in as an extra sysadmin, and I've ended up as one of the operational leads, which still means I do most of the work, I just get to make the choices about it too. While the 'old' infra were in some cases called tyrants, dictators, cabals, and other nasty things, we as the 'new infra' hoped to change this view.

We're charged with a lot for developers and users: procuring machines to run them on, maintaining them, developing new services, troubling some user and developer issues (eg: cvs/mirrors) and more.

For myself, in addition to the CVS/SVN/Git services that grew out of my CVS administration, I presently maintain LDAP, Lists and Bugzilla. I have also been the infra liaison to the releng team since 2007.0.

The various VCS and LDAP services are only of primary concern to developers, because extremely few users interact directly with them. However, Bugzilla and Lists are used by significantly more users than developers, and the interactions show.

All messages to mailing lists with 'unsubscribe' in the subject line get moderation and passed to me, and a great many of them are in the realm of blunt and abusive - usually on generic-sounding email accounts that have changed ownership to clueless people. There's also the fun of keeping the spam off (see my recent post to the mlmmj list, of which I should possibly blog about). That's the mundane side. There's also moderation of the actual moderated announcement lists, and tracing mis-delivered list bouncemail as it gets reported. Lastly, and perhaps most important to some, we are held accountable to userrel and devrel for enacting list bans.

Bugzilla gets less direct abuse, however when it happens, it's usually quite flagrant. jakub used to complain to me once or twice a month about users refusing to take no for an answer, and repeatedly filing duplicates, or deleting entire CC lists, or spamming a bug. Since his absence, I've caught less of these early on, simply because he basically read every bug that was filed, and I don't have the time for that (yes, I'd like him back, he did a good job). Bots that ignore robots.txt are a hassle, but are mostly manageable.

For developer issues, we haven't been offering executable homedirs for several years, since some former developers tried running BOINC, and various servers. It seems however that there has never been any codified warning, merely action on a case-by-case basis.

As of today, we're formalizing the handling of this. All infra-maintained machines either already, or will shortly have an AUP banner as follows:

 Any or all uses of this system and all files on this system may be
 intercepted, monitored, recorded, copied, audited, inspected, and
 disclosed to authorized site personnel, as well as authorized officials
 of federal law enforcement agencies, both domestic and foreign. By 
 using this system, the user consents to such interception, monitoring,
 recording, copying, auditing, inspection, and disclosure at the
 discretion of authorized site personnel. Use of this system constitutes
 consent to security monitoring and testing. All activity is logged with
 your host name and IP address. Unauthorized or improper use of this
 system may result in civil and criminal penalties. By continuing to use
 this system you indicate your awareness of and consent to these terms
 and conditions of use. -- Gentoo Linux Infrastructure Admins.

To make it more concise without the legalese: If you abuse a Gentoo infrastructure system, we have no compunctions about kicking your ass and handing you to the suitable authorities (userrel, devrel, $GOV_AUTHORITY).

What does this not mean? Aside from being proactive about patching security issues, we are not intended, nor do have no plans to target people that some of our group don't get along with - we're meant to be accountable and responsible to other authorities in Gentoo. We'll collect the evidence (logging) and execute you (retirement), but somebody else (devrel) gets to sentence you - the only exceptions to this are preemptive actions where we consider security to be at risk.

On the matter of logging, we aren't the Stasi either, we have far better things to do than babysit logs, and we've been logging a lot longer than I was ever even a Gentoo developer. Some former developers and infra folk automated the log analysis, so the only time we really need to look is when something has been brought to our direct attention and needs logs to back it up. The most common uses for the logs are finding abusive users and bots against rsync and bugzilla, plus doing audits after (in)security events.

  Sun, 29 Jun 2008 04:11:31 +0200

IMG_0351

For me this has become a literal item and thing to do. Its entirely relaxing actually and quite soothing. Others like to air out other kinds of laundry and seem to have nothing better to do with their time. Its quite sad to consider.

I’ll go back to tending to my little patio garden and laundry on the lines. Continuing to do the minor things I do for Gentoo. Its not always a lot but at least its not something that causes trouble for others or gives the impression that you are five and can’t clamp your mouth shut.

Also, the laundry smells so much nicer after its been drying out on the patio. Its amazing how much of a difference it makes. I just need to find some actual clothespins so I can use them instead of draping it over the line.

  Sun, 29 Jun 2008 04:00:44 +0200

I’ve just released a new development version of libusb-1.0. It incorporates all the feedback I’ve received from the v0.9.0 release, and includes some API changes, so be sure to update and recompile your apps if you were previously using v0.9.0.

Download links:

Maybe I am not the right person to write about it. But I felt the necessity to write about it. So I will just write something about preserve-libs, leaving other FEATURES to more competent people.

Portage-2.2 has already entered unstable tree. Many people has started using it. It has many new features, like preserve-libs, sets, license filter and so on. Please check README and RELEASE-NOTES for a complete list. I will only talk about preserve-libs.

To understand why we need it, we have to know some background information.
First of all, applications are not built from scratch. Any non trivial apps use lot of libraries.
In GNU/Linux, most of them are shared libraries, i.e. .so files.
You can use `ldd /usr/bin/mplayer` to check what shared libraries an app has been linked to, replace mplayer to whatever program you'd like to check.
Shared libraries have versions.
E.g. /usr/lib/libavformat.so.51, here 51 denotes its version.
After upgrading, the version number may change.
E.g. /usr/lib/libavformat.so.52

Previously in Gentoo Linux, after upgrading, old version of so file will be deleted.
As a consequence, all the apps which have previously been linked to the old so file will cease to work.
The most well known case may be "XML::Parser perl module not found".
At that time, to solve this problem, you would have to use revdep-rebuild to rebuild all such apps.
Before they are rebuilt, you can't use them.
I myself have experienced this a lot, especially on mplayer.
Sometimes, a soccer match is about to kick off, suddenly I found my mplayer not working because of a missing old so file.

Now, the nightmare is all over.
With preserve-libs, your apps will continue to work, because old so files are preserved.
And they will not stay on your hard disk forever.
After `emerge @preserved-rebuild` they will be all gone and your apps will be linked to the new version of so file.

Such a wonderful world~~~

The following is from the output of a recent system upgrade:
!!! existing preserved libs:
>>> package: sys-libs/glibc-2.8_p20080602
* - /lib/libm-2.7.so
>>> package: www-client/mozilla-firefox-3.0-r1
* - /usr/lib/mozilla-firefox/libgfxpsshar.so
* - /usr/lib/mozilla-firefox/libgkgfx.so
* - /usr/lib/mozilla-firefox/libgtkembedmoz.so
* - /usr/lib/mozilla-firefox/libgtkxtbin.so
* - /usr/lib/mozilla-firefox/libmozjs.so
* - /usr/lib/mozilla-firefox/libxlibrgb.so
* - /usr/lib/mozilla-firefox/libxpcom.so
* - /usr/lib/mozilla-firefox/libxpcom_compat.so
* - /usr/lib/mozilla-firefox/libxpcom_core.so
>>> package: sys-devel/libtool-2.2.4
* - /usr/lib/libltdl.so.3
* - /usr/lib/libltdl.so.3.1.6
>>> package: media-video/ffmpeg-0.4.9_p20080326
* - /usr/lib/libavformat.so.51
* - /usr/lib/libavformat.so.51.12.1
Use emerge @preserved-rebuild to rebuild packages using these libraries


Now I have both old and new versions of libavformat.so
$ ls /usr/lib/libavformat.so.5*
/usr/lib/libavformat.so.51 /usr/lib/libavformat.so.51.12.1 /usr/lib/libavformat.so.52 /usr/lib/libavformat.so.52.12.0

And my mplayer is still working.
  Sat, 28 Jun 2008 16:57:35 +0200

I can’t find a different word to describe this situation. I’m usually very proud of being part of Gentoo, even if I don’t agree with every single thing Gentoo does (hey, unlike others, I’m able to live with people disagreeing). But what happened yesterday is really really sad and shameful.

The explanation is long but, fortunately, Alexander wrote a nice blag post explaining what happened:

Attack on Exherbo.org Machine

Do read it. It is important to know the kind of people you work with, and the kind of people you trust certain resources to. I hope Gentoo does something about this. It is of such a bad taste that I don’t want to get started… You can follow the process here: https://bugs.gentoo.org/229895 . I really do hope Gentoo does something.

— ferdy

Today I finally got time to open my last cell phone bill and found something which seemed like an error. I picked up the phone, called the customer service and got greeted by an automated voice that by the way mentioned to me that "To improve the child protection on the Internet, Vodafone has decided to filter out access to suspicious or illegal sites" (rough translation of a spoken notice). This made me really surprised as this is the first action of such kind in this country, AFAIK.

When I got put through to the operator and had solved the issue I was calling about, I asked him what the recently introduced filtering is, how exactly it works and if I can have it deactivated (I for one don't like my ISP deciding what I can and what I can't read, that seems too Chinese to me). He explained that this is done to protect the safety of children on the Internet (I don't consider myself a child, and feel pretty much comfortable on the Internet, thank you), works by filtering based on a "list of illegal sites", like those offering child pornography (I don't really suspect crowds of people downloading child pornography through their cell phones and watching it on the tiny screen) or promoting racism.

In their press release, they are nicely making the whole issue sound like an optional filter that allows parents to block drugs/sex/whatever from reaching their children, while in fact this is a ridiculous attempt to filter the Internet for all customers. When I pay for GPRS access, I pay for access to the Internet as a whole, not to a subset of it (and the "subset" is a very precise word here, and I even make the customer care guy say it to me). So, it seems that even Czech republic is starting to follow the admirable leadership of certain countries to censor as much as possible :(...

  Sat, 28 Jun 2008 00:04:38 +0200

Examples of poisonous people that only contribute to having a bad working environment includes:

* solar shitlists zlin ferdy peper on his ballot
<astinus> wolf31o2: agaffney: Seeing as there appears to be an arms
    race between $new_asshat_distribution developers who're still part of Gentoo and
    $non_asshats, consider yourself nominated for the non-asshats team on Gentoo Council

Fortunately, nobody cares about poisonous people, of course.

— ferdy

  Thu, 26 Jun 2008 20:58:03 +0200

A new version of portpeek can be found here (version 1.6.1) or emerged through portage.

Changes:

This version is for users of portage >= 2.2 as it removes the use of deprecated modules. Recommendations for additional features are gladly welcomed.

  Thu, 26 Jun 2008 17:00:57 +0200
paludis-utils is a paludis replacement for portage-utils. It uses paludis python bindings. Currently there are four applets available:
alip@trippin> p
Usage: p <applet> <args>
Invoke a paludis-utils applet

Currently defined applets:
p <applet> <args>    : Virtual applet
patom [options] <pkgname>  : Split atom strings
pfile [options] <filename> : List packages owning files
plist [options] <pkgname>  : List contents of packages matching requirements
psize [options] <pkgname>  : Calculate size of installed packages
Contributions are welcome :-)

Yesterday one of my Xen DomU's died with:

Unable to handle kernel paging request at ffff8800064d9000 RIP:
[<ffffffff801b99c7>] leaf_copy_items_entirely+0x15f/0x1fb
PGD 516067 PUD 517067 PMD 54a067 PTE 80100000064d9065
Oops: 0003 [1]
CPU 0
Modules linked in:
Pid: 25320, comm: sshd Not tainted 2.6.21-xen #1
RIP: e030:[<ffffffff801b99c7>] [<ffffffff801b99c7>] leaf_copy_items_entirely+0x15f/0x1fb
RSP: e02b:ffff88000620f228 EFLAGS: 00210282
RAX: 0000000000000b64 RBX: 000000000000fc3c RCX: fffffffffffc60d8
RDX: ffff880003ff8af0 RSI: ffff8800009eaf28 RDI: ffff8800064d9000
RBP: ffff8800064aec3c R08: ffff8800064aec3c R09: 0000000000000000
R10: 0000000000000120 R11: ffff8800049b0000 R12: 0000000000000210
R13: 00000000000000d8 R14: 0000000000000008 R15: ffff88000649f000
FS: 0000000000000000(0000) GS:ffffffff80434000(0063) knlGS:0000000000000000
CS: e033 DS: 002b ES: 002b CR0: 000000008005003b
CR2: 0000000000000000 CR3: 000000000278a000 CR4: 0000000000000660
Process sshd (pid: 25320, threadinfo ffff88000620e000, task ffff880002494990)
Stack: 0000000000000016 ffff880006223d60 ffff88000620f2c8 ffff88000649f0c0
fdf088000620f2c8 ffff880003ff8af0 0000000803ff8af0 0000000000000016
0000000000000000 ffff880006223d60 ffff88000620f2c8 0000000000000016
Call Trace:
[<ffffffff801bb509>] leaf_move_items+0x21f/0x321
[<ffffffff801c19b1>] get_cnode+0x5c/0x61
[<ffffffff801bb683>] leaf_shift_left+0x30/0x95
[<ffffffff801a6e49>] do_balance+0x420/0x271b
[<ffffffff80184dd4>] __getblk+0x1b/0x1c7
[<ffffffff801861b9>] __bread+0x6/0x74
[<ffffffff801c0b45>] reiserfs_prepare_for_journal+0x4f/0x56
[<ffffffff801b4e8d>] fix_nodes+0x501/0x7c6
[<ffffffff801bed82>] reiserfs_delete_item+0x311/0x34e
[<ffffffff801c0725>] direct2indirect+0x34c/0x3fb
[<ffffffff801ad8ff>] reiserfs_get_block+0x9c3/0xf70
[<ffffffff80185482>] ll_rw_block+0x8b/0xa4
[<ffffffff8018560e>] __block_prepare_write+0x173/0x42a
[<ffffffff801acf3c>] reiserfs_get_block+0x0/0xf70
[<ffffffff801858df>] block_prepare_write+0x1a/0x24
[<ffffffff801abfa8>] reiserfs_prepare_write+0xc9/0x126
[<ffffffff80184915>] __generic_cont_expand+0x9f/0xfa
[<ffffffff801b0667>] reiserfs_file_write+0x2e3/0x18e8
[<ffffffff801b5d48>] reiserfs_dirty_inode+0x61/0x68
[<ffffffff80127dfa>] current_fs_time+0x35/0x3a
[<ffffffff80181b0f>] __mark_inode_dirty+0x2f/0x171
[<ffffffff8017a372>] touch_atime+0xbe/0x104
[<ffffffff801489f6>] do_generic_mapping_read+0x3c1/0x407
[<ffffffff80147e55>] file_read_actor+0x0/0x118
[<ffffffff80176316>] __posix_lock_file_conf+0x35f/0x394
[<ffffffff80176db5>] fcntl_setlk+0x214/0x241
[<ffffffff80169a80>] vfs_write+0xad/0x136
[<ffffffff80169f3c>] sys_write+0x45/0x6e
[<ffffffff80117eb8>] ia32_sysret+0x0/0xa
[<ffffffff80117e40>] ia32_syscall+0x0/0x5a

Code: f3 a4 8b 44 24 34 03 04 24 66 41 89 47 02 66 41 29 dd 44 89
RIP [<ffffffff801b99c7>] leaf_copy_items_entirely+0x15f/0x1fb
RSP <ffff88000620f228>
CR2: ffff8800064d9000
BUG: at /usr/src/linux-2.6.21-xen/kernel/exit.c:861 do_exit()

Call Trace:
[<ffffffff8012651e>] do_exit+0x47/0x790
[<ffffffff801207cd>] __wake_up+0x23/0x46
[<ffffffff801145f4>] do_page_fault+0x1206/0x1282
[<ffffffff80108c94>] __switch_to+0x351/0x45d
[<ffffffff80346eb7>] error_exit+0x0/0x69
[<ffffffff801b99c7>] leaf_copy_items_entirely+0x15f/0x1fb
[<ffffffff801b9994>] leaf_copy_items_entirely+0x12c/0x1fb
[<ffffffff801bb509>] leaf_move_items+0x21f/0x321
[<ffffffff801c19b1>] get_cnode+0x5c/0x61
[<ffffffff801bb683>] leaf_shift_left+0x30/0x95
[<ffffffff801a6e49>] do_balance+0x420/0x271b
[<ffffffff80184dd4>] __getblk+0x1b/0x1c7
[<ffffffff801861b9>] __bread+0x6/0x74
[<ffffffff801c0b45>] reiserfs_prepare_for_journal+0x4f/0x56
[<ffffffff801b4e8d>] fix_nodes+0x501/0x7c6
[<ffffffff801bed82>] reiserfs_delete_item+0x311/0x34e
[<ffffffff801c0725>] direct2indirect+0x34c/0x3fb
[<ffffffff801ad8ff>] reiserfs_get_block+0x9c3/0xf70
[<ffffffff80185482>] ll_rw_block+0x8b/0xa4
[<ffffffff8018560e>] __block_prepare_write+0x173/0x42a
[<ffffffff801acf3c>] reiserfs_get_block+0x0/0xf70
[<ffffffff801858df>] block_prepare_write+0x1a/0x24
[<ffffffff801abfa8>] reiserfs_prepare_write+0xc9/0x126
[<ffffffff80184915>] __generic_cont_expand+0x9f/0xfa
[<ffffffff801b0667>] reiserfs_file_write+0x2e3/0x18e8
[<ffffffff801b5d48>] reiserfs_dirty_inode+0x61/0x68
[<ffffffff80127dfa>] current_fs_time+0x35/0x3a
[<ffffffff80181b0f>] __mark_inode_dirty+0x2f/0x171
[<ffffffff8017a372>] touch_atime+0xbe/0x104
[<ffffffff801489f6>] do_generic_mapping_read+0x3c1/0x407
[<ffffffff80147e55>] file_read_actor+0x0/0x118
[<ffffffff80176316>] __posix_lock_file_conf+0x35f/0x394
[<ffffffff80176db5>] fcntl_setlk+0x214/0x241
[<ffffffff80169a80>] vfs_write+0xad/0x136
[<ffffffff80169f3c>] sys_write+0x45/0x6e
[<ffffffff80117eb8>] ia32_sysret+0x0/0xa
[<ffffffff80117e40>] ia32_syscall+0x0/0x5a

Which caused all kinds of problems and eventually causing the DomU to die until I ran fsck. The closest thing I've found is the Crash DomU for reiserfs filesystem bug un Launchpad. Unfortunately it's closed and not fixed. I'm a bit puzzled wether this is caused by bad hardware or it's a real bug...

  Wed, 25 Jun 2008 20:00:26 +0200

The inimitable Dave Neary just blogged about his favorite new GNOME apps, so I thought it’d be interesting to take a look at what it takes to get them running in Gentoo. To get a quick idea of the status, I searched our main tree and overlays using eix, then searched our Bugzilla using pybugz.

for i in gnome-do hamster tasque cheese vagalume pimlico transmission; do eix $i; bugz search $i; done

Here’s what I found (useless output removed):

* gnome-extra/gnome-do
Available versions: (~)0.4.2.0 {debug}
Homepage: http://do.davebsd.com/
Description: GNOME Do allows you to search for and perform actions on items in your desktop environment

* gnome-extra/gnome-do-plugins
Available versions: (~)0.4.0 {amarok debug evo}
Homepage: http://do.davebsd.com/
Description: Plugins to put the Do in Gnome Do

* gnome-extra/hamster-applet [1]
Available versions:  (~)0.6.1
Homepage:            http://projecthamster.wordpress.com/ http://code.google.com/p/projecthamster/
Description:         Time tracking for the masses, in a GNOME applet

[1] “sunrise” /usr/local/portage/layman/sunrise

[I] media-video/cheese
Available versions:  (~)2.22.0 (~)2.22.1 (~)2.22.2 {v4l}
Installed versions:  2.22.2(03:07:37 PM 06/18/2008)(v4l)
Homepage:            http://www.gnome.org/projects/cheese/
Description:         A cheesy program to take pictures and videos from your webcam

225775 maintainer-wanted    New ebuild: media-sound/vagalume-0.6 (Last.fm radi

* net-p2p/transmission
Available versions:  1.1.0 (~)1.11 (~)1.20 {gtk libnotify}
Homepage:            http://www.transmissionbt.com/
Description:         Simple BitTorrent client

Visiting the pimlico homepage, I found that it’s actually a suite of apps. Searching for their names revealed that we also have them. So far we’ve got gnome-do, hamster, cheese, vagalume, transmission and pimlico. Not too shabby. A quick Google search for the terms “tasque ebuild” found an ebuild for that, too! Apparently that overlay isn’t part of the eix cache, perhaps because it isn’t available through layman.

It’s worth noting that out of the 7 apps, 3 exist outside the main tree but are still trivial to find. I don’t have the time or interest in trying some of them myself. If you do try ‘em, let folks know how it goes in the comments!

  Wed, 25 Jun 2008 11:34:21 +0200

I'll stay for about a month in Japan, till the latest I was too busy and not so sure I'd make it so I avoided blogging about this till I were sure.

Hopefully I'll have another great time hurrying from a city to another (Hiroshima and Sapporo will be the southern and northern cities I plan to visit) and I'm looking forward to meet the local gentoo community again (I never thanked you enough).

I'm not sure how I'll be able to get a reliable network link, but I think I'll find a way ^^.

Today I got yet another GSM modem, this time around from TDC/Vodafone. I thought that I'd just to the same test like I did the with Telia and 3.

wget h