[4569 total ]
Romain Perier: I'm back

Since few weeks I was really busy due to my studies :

I was preparing exams
I got a lot of projects to finish

during this period, gentoo was outside of my priorities (eva: sorry for gnome ).
I'm back now, and I intend to fix a lot of bugs .

Gentoo, I missed you

Original post blogged on b2evolution.

Daniel Gryniewicz: Linux on Asus UL30A-X5

Well, I got a new laptop about a week and a half ago, and I already love it.  It's small, light, cool, and has a huge battery life, even in Linux, even with my normal usage.  It works extremely well out of the box, as well.  Here's the ... [More] specs:

1.3 GHz Intel Core2Duo SU7300
4GB of RAM
500G 5400 RPM HD
13.3" 1366x768 LED backlit screen
Intel GMA 4500MHD GPU
Atheros AR9285 802.11n WiFi
Atheros AR8132 / L1c Gigabit Ethernet
Chicony 0.3 M webcam
Intel ICH9 HD audio
Elantech multi-touch touchpad

First impressions: The screen is bright.  Wow, the screen is bright.  I generally have to run it a <50% brightness.  Makes me wonder if it's visible in sunlight;  since it's winter, I don't know yet.   It's quite slow, compared to my previous laptop.  Or rather, it takes a long time to compile things, because it doesn't feel any slower to use.  If anything, it feels somewhat faster; presumably, this is due to twice as much RAM that is much faster, and a much better GPU.  The keyboard is nice, the touchpad is great (although it's very slightly in the wrong place, meaning you hit it with your palm while typing; more later), the speakers are way too quiet.

On to the real meat of the question: Linux support.  In general, everything works great.  Here's the details.

Video

This works fine with xorg 1.7.3 and xf86-video-intel 2.9.1.  Screen brightness works,  both via Fn keys and software.  KMS also works fine.  The backlight doesn't come back on after resume (and I haven't set up acpid yet to fix that) but a quick chvt works fine to get it back.  HDMI out works (although I wasn't able to get full 1080p on my quick test with my TV; I'll try on a monitor later).  Dual head via HDMI also works fine via xrandr.  I can render 720p video fine, without kicking out of low CPU frequency.  I haven't tried 1080p, since the screen doesn't go that high.

Network

Both the GigE and WiFi work fine; the GigE uses the atl1c driver, and the WiFi uses the ath9k driver.  A word of warning, tho: use 2.6.32 or higher, or the WiFi get poor reception and constantly roams to a non-existent base station, causing your network connection to cycle up and down constantly.  With 2.6.32, it works fine.

Touchpad

The touchpad is detected as a mouse, and handled by evdev, even with the Elantech driver built into the kernel.  Since two-finger scroll and multi-finger tap work out of the box (even without the Elantech driver), I haven't investigated why yet.  I would guess that hal is mis-diagnosing it, and loading evdev rather than synaptics.  I'm planning on looking into this soon.

Audio

Audio works fine with the intelhda driver.  Full volume control, headphone, etc.  The speakers on this thing are way to quiet.  You can't use them to play video for 2 people to watch.  Since I didn't play much with Windows, I'm not sure if it's a hardware thing, or if I'm missing some "make it loud" setting.  The headphones are plenty loud, so that's okay.  I mostly use headphones anyway.

Webcam

This may or may not work.  I added the driver that's supposed to work (uvc) but when I tried to run cheese, it crashed.  I haven't tried any further at this point, so it may work.  The USB ID isn't the same as the ones listed, so it may not work.

Battery Life

This is the big one.  Size/weight and battery life are why I got this laptop in the first place, so it better be good, right?  Well, it is.  I haven't done a full battery drain test (well, I'm doing it right now), but I've gotten 5 hours with space left, and I watched 2 hours of 720p HD video with ~50% left.  When you first unplug, g-p-m claims 10.1 hours left, but that's a damn lie, of course.  I'll have to do a good powerdrain run. [Less]

Raúl Porcel: ARMv7 stages available

Hello everyone,

Finally we have the ARMv7 stages available, you’ll find them your favourite mirror, under the releases/arm directory.

These are possible thanks to Genesi USA’s Powerdeveloper.org project. I filed a request for ... [More] getting an Efika MX to port Gentoo to the ARMv7 architecture, and i received the board last week. So thanks to them for helping us, like they’ve done in the past.

The stages are built with the following CFLAGS/CXXFLAGS:
“-Os -march=armv7-a -mfpu=vfp -mfloat-abi=softfp -pipe” and the armv7a-unknown-linux-gnueabi CHOST.
I know in the -mpfu parameter i can use neon, but the Marvell Dove ARMv7a implementation doesn’t have the NEON fpu.
I’ve also updated my buildtimes page with the info of the Efika MX.

Whats left to do:
-Document it
-armv6 stages
-Play with CFLAGS
-binary repositories for tinderboxing

Let me know if you have any suggestion.

[Less]

Sune Kloppenborg Jeppesen: Having fun with start-stop-daemon and quoting

Yesterday night I had the opportunity to have a small dance with the start-stop-daemon, I don't dance very often and certainly not with the start-stop-daemon, so the result was not very pretty.

Perhaps I just needed more caffeine, perhaps I ... [More] just don't understand start-stop-daemon quotation (I don't).

My problem is similar to this one, but I'm too stubborn to accept those workarounds.

Anyways I tried to simplify my problem into a simple example; how to use a Bash variable with spaces and get start-stop-daemon quotation right.

First simple attempt:

mkdir /tmp/path\ with\ spaces

cat test.sh
#!/bin/bash -x
opt="-lah '/tmp/path with spaces/'"
start-stop-daemon --start --exec /usr/bin/ls -- ${opt}

./test.sh
+ opt='-lah '\''/tmp/path with spaces/'\'''
+ start-stop-daemon --start --exec /usr/bin/ls -- -lah ''\''/tmp/path' with 'spaces/'\'''
/usr/bin/ls: cannot access '/tmp/path: No such file or directory
/usr/bin/ls: cannot access with: No such file or directory
/usr/bin/ls: cannot access spaces/': No such file or directory

As you can see naively quotation is not as expected when the command gets executed by the start-stop-daemon.

Let's try another one:

cat test1.sh
#!/bin/bash -x
opt="-lah \"/tmp/path with spaces/\""
start-stop-daemon --start --exec /usr/bin/ls -- ${opt}

./test1.sh
+ opt='-lah "/tmp/path with spaces/"'
+ start-stop-daemon --start --exec /usr/bin/ls -- -lah '"/tmp/path' with 'spaces/"'
/usr/bin/ls: cannot access "/tmp/path: No such file or directory
/usr/bin/ls: cannot access with: No such file or directory
/usr/bin/ls: cannot access spaces/": No such file or directory

Still not working. Grrr, awful, hairpulling. BAH! It was about to really ruin my evening (when I get really stubborn I don't eat or drink until the problem is solved).

Thanks to Roy Marples here is a possible solution. Split out the options from the path and use eval:

cat test2.sh
#!/bin/bash -x
path="/tmp/path with spaces/"
opt="-lah"
eval start-stop-daemon --start --exec /usr/bin/ls -- "$opt" \"$path\"
./test2.sh
+ path='/tmp/path with spaces/'
+ opt=-lah
+ eval start-stop-daemon --start --exec /usr/bin/ls -- -lah '"/tmp/path' with 'spaces/"'
++ start-stop-daemon --start --exec /usr/bin/ls -- -lah '/tmp/path with spaces/'
total 8.0K

Original post blogged on b2evolution. [Less]

Luca Barbato: VLC Days vs Airfrance

Today I got an interesting email from airfrance...

> Dear Madam, dear Sir,
>
> We inform you that the flight AF1103 18/12 TURIN PARIS is cancelled.
>
> We thank you for your understanding.
>
> ... [More] Please do not respond to this mail.

I'm heading to the airport now to see what's going on wish me luck =)

Original post blogged on b2evolution. [Less]

Diego E. Pettenò: Gentoo's QA weakness: developers

I have written before about some of our soft spots for what concerns Gentoo’s quality. Today I’m writing a quite inflammatory piece that most likely will cause me to take a bit of flak, but which I’m pretty sure it’s going to the ... [More] point.

The main weakness in Gentoo’s Quality Assurance is developers not giving a shit about quality.

Let me try to explain: there are many problems with Gentoo’s QA team, like the lack of proper coordination most of the time, the lack of a real Gentoo-based effort for continuous integration testing (the tinderboxes are mostly direct pet projects of the people running them, which means for the QA standpoint Patrick and me), and the lack of an absolute rulebook of “dos ad don’ts” for what concerns ebuilds.

Of the few accepted rules, there are a few that I’m trying to enforce via the tinderbox and by opening bugs, one of these is installing documentation in the /usr/share/doc/${PF} path (where ${PF} is the full name and version of the package, including the revision number — yes I know that it would have been better to use ${CATEGORY}/${PF} but let’s not go there for now). To do so you either use the Portage-provided dodoc and dohtml helpers, or you have to tell the configure script or the install makefiles to change the directory they install their documentation into; the defaults are never right because at the worst case they don’t take the version into consideration and at the best have no idea about the Gentoo-specific revision.

It doesn’t seem like a controversial rule to enforce, does it?

Well it seems like some developer (whom I’m not going to out just yet) doesn’t like that idea, and even if it’s now very well known that the bugs I’m opening from the tinderbox are vastly on behalf of QA decided to close two of my bugs as WONTFIX. And yes that pisses the hell out of me. Even more because the packages installing in the wrong directory do so because their upstream-provided source packages has been voluntarily split to provide a temporary counter-measure to the lack of proper USE dependencies (and this has caused more than a little grief I’d say).

But it’s not the first time I get responses on this line; for instance some developers find too bothersome to explicitly list the upstream-provided precompiled (sometimes proprietary sometimes not) files that fail important QA/security checks like RPATHs and TEXTRELs, and thus prefer simply restricting binary checks entirely (note: binchecks also fixes vulnerable and wrong RPATHs such as empty entries or current-work-directory).

We got all the “let’s take shortcuts” developers who prefer to commit half-thought stuff without masking it or without experimenting with it for a while to flesh out eventual requirements. While importing a huge amount of code that was developed outside of tree is always a risk (as the Ruby-NG effort is showing pretty well), simply pushing eclasses that support new versions of a language without allowing the user to disable them or without checking for proper reverse dependencies is a pretty bad idea.

Further on the problem comes with developers that drop patches without checking whether they are needed, and without warning that the problem might re-surface (for instance I know that I half-blindly dropped some patches from Linux-PAM; on the other hand I’m currently working on making it work on uClibc again).

So in general, yes, the problem with Gentoo’s QA is mostly developers, and yes, I know wee should come up with some rulebook that is “there or nothing”, I’ll see what I can do about that with the time I got. [Less]

Diego E. Pettenò: Yes Sony, we love you — now try to make sense

I’ll stop writing about Ruby-NG porting or the tinderbox effort for a moment to write a little rant to our beloved Sony.

I’ve already ranted before about the prices of games in Italy, and about the fact that Sony’s own PlayStation ... [More] Network has quite silly pricing policies (sometimes the prices for UK – in pounds – and those for the rest of Europe – in euro – aren’t equivalent, the UK price is sometimes a 20% cheaper), but I guess I’ll just write a bit more of their silliness now.

Remaining in the area of pricing, Sony have been following two very different roads. While both are tied to their expansion of the PlayStation Network game offering because of the introduction of the PSP Go (which does not have an UMD drive, and thus can only play games downloaded through their store), they don’t seem to work quite in the same way.

The first road is making the “usual” games available on PSN as well as UMD, re-issuing older releases and issuing some of the new releases on the two media at the same time. This, though, creates a bit of a problem; while non-UMD releases are faster to load and play (and those with a cracked PSP and pirated games can confirm that quite surely), their price on the PSN is usually quite fixed: it’s the same recommended retail price for the UMD, even when the real stores don’t use that price at all to sell the game. For instance, when I bought Monster Hunter Freedom Unite game for the PSP, I paid it the equivalent of €25 (from Amazon UK), the in-store price in Italy was around €32, and the PSN price was a whopping €39.99! Holy crap! And as it’s a so-called “digital copy” of the game, you cannot lend it to your friend to try it out (which is the way I originally came to know Monster Hunter), nor you can re-sell it if you don’t like it after having bought it (I don’t usually resell the games, but I do buy them preowned).

On the other hand, they have found one thing for which the PSN is well suited in the form of the “minis”, smaller, cheaper games, around 30MB of storage and €5 of price; from the classic Tetris to some newer games. The size and price are just right: for €5 I won’t be scorned by not being able to re-sell or lend the game, and the size allows them to be stored on the PSP’s memory stick even if it’s not that big, which makes them perfect for me when I’m waiting in queue at the doctor’s (or at the airport as it came to be last November).

Now, though, Sony’s silliness comes again: earlier this month (around the 10th if my memory serves me right), Sony released a firmware update that should have allowed PlayStation 3 owners to play minis as well. Since this called out for an emulator, this was the final and crucial hit for those hoping to see PlayStation 2 compatibility in the PS3 (as the last hope that was given was related to a software emulation patent filed by Sony, which is now very well possible to link to the minis emulator rather than PS2 compatibility). It baffled quite a bit of people, me included, that at the time of release of the firmware, the minis weren’t updated: if you simply downloaded them with the PS3 it asked you to copy them on the PSP; Sony did announce with the firmware that the new minis were to be released on the 17th — today. A hint to the next disappointment was already to be seen in their wordings:

[…] we are working on getting the majority of the current minis ready for the PS3 from the 17th December.

Yes they say the “majority” of the current minis, not all of them. Indeed today when I finally went on to re-download the two minis I bought last month (the evergreen Tetris, and a Mahjonng solitaire game, both perfect games to play while waiting in queue — I just miss a card solitaire game, would be awesome to have, now that I don’t have it on my Nokia any more), I got the surprise: the Mahjonng game is available and works on the PS3, but Tetris is not (yet?) available! It still only works on the PSP. Sigh! Really would it have costed so much for Sony to release firmware and minis at the same time? (Probably, a schedule slip-up, they likely wanted to have the whole system ready before Christmas I guess). Okay nevermind that.

Next in line of the series of Sony silliness proofs is the Facebook integration that came with the previous firmware update (3.10); yes you can now link your Facebook account with PSN – no you still cannot add your PSN handler in your contact information like it was an IM user, which is what I would have found most useful (to see which ones of my friends I’m missing) – and it will show on your feed the games and demos you buy or download from the PlayStation Store (it actually asks you every time for that as well), and the trophies that you’re awarded in games. Not a bad idea after all, since it allows you to know whether your friend already bought or tried out the game you were looking forward for.

Unfortunately it seems like Sony forgot that quite a bit of games hide their Trophy description until you actually get them! This is the case, for instance, of Worms (how could I have not bought that game? Sure it’s nowhere near Worms 2 or Worms Armageddon for PC – mouse controls for the win! – but it’s still not bad at all!). Until awarded, those trophies look like “?” with description “?”. And lo and behold, the Facebook integration shows them just like that, even to me!

Add this to my anger already built up for the Fallout 3 UK disc not being compatible with the downloadable content from the Italian PlayStation Store (I’m still looking for two £20 PSN Gift Cards to buy the expansions… a friend of mine looked for them while he was in London for a week-end but couldn’t find them), and you can start to see why I’m quite a bit scorned with Sony. [Less]

Diego E. Pettenò: Adding to the tree for once

You probably are used to me sending last rites for packages on behalf of QA, and thus removing packages (or in the past just removing packages, without the QA part). It often seems like my final contribution to Gentoo will be negative, in the sense ... [More] that I remove more than I add.

Right now, though, I’ve been adding quite a few packages to the tree, so I’d like to say that no, I’m not one of those people who just like to remove stuff and who would like you to have a minimal system!

So with some self-advertisement (and a shameless plug while I’m at it…) I’d like to point out some of the things I’ve been working on.

The first package I’d like to separate is the newly-added app-emacs/nxml-libvirt-schemas: as I ranted on I wanted to be able to have syntax completion for the libvirt (a)XML configuration files (I still maintain they should have had either a namespace, a doctype or a libvirt-explicit document element name), so now that me and Daniel got the schemas to a point where they can be used to validate the current configuration files, I’ve added the package. It uses the source tarball of libvirt, with the intent of not depending on it, I’m wondering if it’d be better to use the system-installed Relax-NG files to create the specific Relax-NG Compact files, but that’ll have to wait for 0.7.5 anyway (which means, hopefully next week).

The second set of packages is obviously tied in with the Ruby-NG work and consists of a few new Ruby packages; some are brought in from the testing overlay I’ve built to try out the new packages, others have been brought in as dependency of packages being ported to the new eclasses, one instead (addressable) is a dependency of Typo that I didn’t install through Portage lately. I should probably add that I’m testing the new ebuilds “live” on this blog, so if you find problems with it, I’d be happy to receive a line about that.

The third set of packages instead relates to a work I’m currently doing for a long-time customer of mine, a company developing embedded systems; I won’t disclose much about the project, but I’m currently helping them build a new firmware, and I’m doing most of my job through the use of Portage and Gentoo’s own ebuilds. For this reason I have already added an ebuild for gdbserver (the small program that allows for remote debugging) that makes it trivial to cross-compile it for a different architecture, and I’m currently working on a gcc-runtime ebuild (which would also be pretty useful, if I get it right, for remote servers, like my own, to void having to install the full-blown GCC, but still have the libraries needed).

And tied to that same work you’ll probably find a few changes for cross-compilation both in and out of Gentoo, and some other similar changes; I have some GCC patches that I have to send upstream, and some changes for the toolchain eclass (right now you cannot really merge a GCJ cross-compiler, or even build one for non-EABI ARM).

So this is what I’m currently adding to the tree myself, I’m also trying to help the newly-cleaned up virtualization team to handle libvirt (and its backports) as well as the GUI programs, and I should be helping Pavel getting gearmand into shape if I had more time (I know, I know). And this is to the obvious side of the tinderbox work which is still going on and on (and identi.ca proves it since the script is denting away the status continuously), or the maintainer work for things like PAM (which I bumped recently and I need to double-check for uclibc).

So now, can you see why I might forget about things from time to time? [Less]

Diego E. Pettenò: Coming up with QA tests

For the tinderbox I’ve been adding quite a few tests that are not currently handled by Portage; some of these tests as I said before are taxing, and all of them are linear, serial, which means that even with the huge amount of power Yamato they ... [More] take quite some time (here the only thing that does help is the memory that allows for more files to be kept in cache).

But even more difficult than implementing the tests is to come up with them. As I said, they are not in Portage for one reason or another: too specific, too taxing, possibly disruptive and so on. Not all of them are my ideas, some are actually suggestions by other developers for particular cases, or by users.

For instance, while I added the tests for /usr/man, /usr/doc and /usr/local directories, the one for the misplaced Perl modules (site dir rather than vendor dir) is something that tove came up with (and I’m filing bugs about that to help him transition site_dir away); and the make “cheat” to call parallel build anyway is something Kevin Pyle came up with.

I came up with the “ELF file in /usr/share” because I had seen Portage stripping some in those path which I knew shouldn’t be there; and from that, I started wondering about the binchecks restriction, so I added the (very slow!) test that ensures that bincheck-restricted packages don’t install ELF files at all (actually it seems like all Linux kernel sources do install some ELF files, I need to track down if it’s a Gentoo problem or if upstream packages them up like that).

The test for bundled libs is very shallow (and leads to false positive on the packages that do provide those libraries of course) but it tries to identify the most common offenders, which is something quite important given that a nasty weakness was found on libtool’s libltdl which is among those most often bundled with software.

The notice on setXid files is something that Robert (rbu) asked me to add so that it would be possible to get a list of setXid executables in Gentoo (just getting them off the livefs of the tinderbox is not possible because you never ever cannot get all packages merged in the same system).

Recently I’ve added one check for libtool .la files so that I can find at least some certainly unhelpful ones (installed with Ruby, Python and Perl extensions: none of those use ltdl to load them so none of those will need the extra file beside the shared object).

If you got any idea for QA tests that you think the tinderbox should be running, you can either mail them to me or leave them as a comment here, just remember that they need to have a fair balance so that I don’t get one out of three to be a false positive, and they need to be efficiently executed over all the packages in the tree. [Less]

Greg KH: How I apply patches to the stable tree

I decided to do a screencast of how I apply patches to
the Linux stable tree to give people an idea of my patch
workflow.

The video is here:

HOWTO - apply a Linux kernel patch to the
stable tree.

If anyone has ... [More] any questions about it, let me know. If there is interest
in how I do a stable kernel release from these patches, or anything else,
let me know. [Less]