yak shaving time again

Working on old packages in Cooker always leads to interesting bouts of yak shaving. The latest goes like this...

I'm working through the few remaining 2007.1-era packages in main. I got to libgfortran1 - an old major of libgfortran, which came from GCC 4.1.x. It's still around because some apps haven't been rebuilt against libgfortran2, the newer major.

So I start working on these. I hit ghemical, which builds fine on i586 but fails on x86-64 due to a bunch of 'undefined references to (various bits of libSC)' errors.

I determine that hacking a bunch of extra parameters onto the GCC command line at this point of the build fixes the problem, but that's obviously not the right fix, so it's time to go hunting...

In the end it turns out that what's happening is ghemical is running the command 'sc-config' to find the compiler parameters needed by libSC. On i586, sc-config returns the correct parameters. On x86-64, it doesn't.

After some more poking and much head-scratching, I notice that sc-config is simply a shell script. The top of it defines a variable called 'libdir'. Even on x86-64, this was set to /usr/lib . For Mandriva, this is not correct; our x86-64 edition uses /usr/lib64 as the library directory.

So I do a quick hack to the script and verify that yes, if I set libdir to be /usr/lib64 on x86-64, sc-config immediately starts returning all the correct parameters. So I go hunting through the libSC source and find out exactly how that libdir setting is created, patch that, rebuild, and success! sc-config works, so ghemical builds properly, so one more dependency on libgfortran1 is gone...

...and after several dozen things like this, we can finally remove the old package :)

History of the BBC

I'm currently listening to an episode of The Goon Show from 1956, and was amused to note that the stock sound effects they used for gunfire were exactly the same ones used in an episode of Red Dwarf in 1993 (Gunmen Of The Apocalypse). It seems the BBC sound library never throws anything away. :)

A Mandriva Christmas present: latest NVIDIA and ATI drivers for Cooker, 2008 and 2007 Spring

Well, Anssi and I might not quite look like elves, but we act like them sometimes! Indeed, your Christmas present from Mandriva is the latest NVIDIA and ATI drivers packaged for all supported Mandriva distributions.

Updated for the latest drivers (February 2008) and better instructions to avoid the DKMS bug.

The latest drivers are ATI Catalyst 7.13 (a.k.a. 8.45.2 under the old versioning scheme) and NVIDIA 169.09. You can find reviews of these drivers on Phoronix: here's ATI, here's NVIDIA. The short version is they add support for new cards, fix bugs, and improve performance. The information for the new cards has been added to the hardware detection databases, so if you have a recent ATI or NVIDIA card that is not detected and supported correctly, this backport should help you out.

For those adventurous souls on Cooker, you'll just get the update with your regular urpmi --auto-select. For those on 2008 and 2007 Spring, the procedure is similar to the one for previous backports.

First, ensure you have the /main/backports repository enabled. Then ensure you have the matching kernel -devel package for your running kernel installed. You can tell what kernel you're using with 'uname -r'. Ideally, just install the -latest and -devel-latest packages for whatever flavour of kernel you're using, then you never have to worry about it again. This step is necessary as we don't do static builds of the modules for all possible kernel flavours for backports, so you have to have the necessary kernel headers available so DKMS can do the rebuild for you.

Next - due to a bug in DKMS - you need to remove the prebuilt binary packages for the kernel module. For NVIDIA, remove all packages with names in this form: nvidia-current-kernel . For ATI, remove all packages with names in this form: fglrx-kernel-

Next, install the appropriate packages. You need the new version of ldetect-lst, 0.1.167.3-1mdv2007.1 (for 2007 Spring) or 0.1.205-1mdv2008.0 (for 2008). For ATI, install the new versions of x11-driver-video-fglrx and dkms-fglrx (on 2008) or ati and dkms-ati (on 2007 Spring). If you installed an earlier backport on 2008, you can also remove all fglrx-hd2000 packages at this point, although it shouldn't be necessary.

For NVIDIA, the packages are nvidia97xx and dkms-nvidia97xx (on 2007 Spring) or x11-driver-video-nvidia-current and dkms-nvidia-current (on 2008).

Once the new packages are installed, if your system was already using the proprietary driver before, restart the system, and you should be using the new driver. If your system was not using the proprietary driver before, you will need to re-run the graphics card configuration utility, re-select the correct card group for your card (if your card group was not previously correctly automatically detected, it now should be), and it should offer you the option of using the proprietary driver. Agree, and the driver will be set up for you. Now you must once more remove the pre-built binary package for the kernel module, as the graphics card configuration utility will have reinstalled it. Again, for NVIDIA, remove all packages with names in this form: nvidia-current-kernel . For ATI, remove all packages with names in this form: fglrx-kernel- . Now restart the system.

Apart from the updated proprietary drivers, there's some other fun. Anssi has also introduced the 'nouveau' free driver for NVIDIA cards to Cooker. It has no 3D support, but it improves over the old 'nv' driver's 2D support in several ways. There's more details in his post to the Cooker mailing list on how to test out nouveau.

Nokia 6300: de-branding, upgrading, Linux

So I just got a new phone. My contract with Fido was up, and I was just going to let it go and stick with my V360 till the Neo1973 is available in a really usable form, but my boyfriend decided he wanted a 6300 so I extended my contract and got it, and now he decided he doesn't want it really so I figured I'll use it rather than selling it.

It's a fairly nice phone: very thin and light, pretty snappy, has that lovely Nokia interface. It also has the one thing I was missing on the V360 - a decent audio player. The V360 almost does, but it doesn't let you sort by album and it doesn't support standard (m3u) playlists, so you have to create playlists on the phone for each album you transfer, which is a massive pain. The 6300 sorts by album, so it's a complete non-issue.

I made a quick patch for hal-info to support the phone (in USB storage device mode) as a music player, and submitted it upstream. Until it gets merged upstream and your distro's packages are updated, if you have this phone, just apply that patch to 10-usb-music-players.fdi (probably in /usr/share/hal/fdi/information/10freedesktop ), restart HAL, and whenever you connect the phone in USB storage mode it should be treated as a music player, and you'll be able to drag-and-drop songs to it with Rhythmbox, Banshee or Amarok (they'll be transcoded to an appropriate format on-the-fly). I love HAL.

With the help of several threads at HowardForums, I was also able to mostly de-brand the phone (restore the features Fido locks up, like the email client and MP3 ringtones) and upgrade it to the latest firmware, 5.50. De-branding is pretty easy: get NSS, plug in the phone, run NSS, click the magnifying glass, go to Tools and do a full factory reset, unplug the phone, restart it. To upgrade the firmware on a phone provided by a carrier like Fido, you also have to change the phone's product code to one of the ones used by the phones sold direct, unlocked and unbranded, by Nokia: the update applet refuses to recognize an update is available if you leave the product code as-is. There's a list of product codes here, I used 0537621. To change the code with NSS, go to the phone information tab, check the 'enable' button next to the Code field, type in that code, and click Write. Then you can run the Nokia Software Update tool (available from the Nokia U.S. or Europe site) and it'll let you upgrade to firmware 5.50. After doing that you may need to re-do the factory reset step.

Of course, all this stuff will destroy any data saved on the phone, so back up your contacts (to SIM card or to the Nokia Windows backup) first. The Nokia Windows tool identifies the phone by the product code, so either change the code before doing the backup, or backup before doing anything, then temporarily change it back to the original code once you've done all the upgrading so you can restore the backup.

Mandriva Linux 2008 Spring Alpha 1 "Barlia" released

Yep, the first alpha of 2008 Spring is out, with the latest KDE, GNOME, kernel and lots of other fun stuff. It's also unreasonably stable for a first alpha. One and Free editions are available (one of the last remaining problems in the 2008 release cycle was that we didn't do a One pre-release until the final RC, so this is good news). We (and I specifically) are particularly interested in hardware detection in this alpha, and it's really easy to test - just download One, burn it, boot it, and see if everything works. If it doesn't, file bugs!

Full info at the Club announcement and on the wiki page - download locations are on the wiki page. Jump to it!

Digg it! FSDaily

2008 Spring development update

The first major milestone of 2008 Spring development arrived today: the 2008 Spring area of the Wiki was created. The top page is here. More interestingly, the development page - including the tentative release schedule - was added. You will also find the general and detailed technical specifications pages, listing the planned features for this release. Highlights include PulseAudio (as previously posted about), a switch to the fork of RPM that SUSE and Fedora are using, a parental control tool, mail import support for the Windows migration tool introduced in 2008, and automatic repository configuration via geoip.

PulseAudio for 2008.1

For those who don't follow the Cooker list, it's recently been announced that Mandriva will switch to using PulseAudio as its default sound server for all desktops in the next release. Several other distros have announced plans to do this, and Fedora has been doing it since Fedora 8, but it's rather more complex for Mandriva as we support both KDE and GNOME desktops. However, testing indicates that we can manage a good KDE implementation, so we're going to go with it.

For anyone who hasn't yet come across PulseAudio, it's a sound server. This means it sits between applications and your actual hardware sound output devices, accepting audio from applications and mixing it together and potentially processing it in other ways before sending it out to the device(s). At its most basic level, this allows for software mixing of audio from various applications, allowing them all to play audio together. This is nothing new; the existing servers, esd for GNOME and arts for KDE, do this already (more or less...), and so (in a slightly different way) does the 'dmix' component of ALSA itself. However, PulseAudio has rather more potential than any of these. It is also able to easily and universally configure default input and output devices, a common bugbear on Linux, and increasingly so as more and more people have more than one audio device on their system. It can move a stream from one output device to another while it's playing, which is very useful. It can adjust volume for different streams independently. It can also be used over a network (and supports Zeroconf), so you can even move output streams around between different machines. In simple practical terms, too, it just tends to work rather better than esd, arts or dmix do alone; for instance, I've only ever been able to reliably get sound output from Flash working using Pulse.

As you can probably tell, I personally like Pulse a lot and am very happy to see this change: it should reduce the audio configuration headaches in future Mandriva releases massively.

It's worth noting that Pulse has actually been in Mandriva for many releases now (in older releases, under its old name of PolypAudio); it just hasn't been used by default. If you want to try it out on an existing Mandriva release, just install all the available Pulse packages (and libflashsupport, if it's available - you need that for Flash) and then follow the PulseAudio perfect setup guide. To actually start Pulse, if you use GNOME you can rename /usr/bin/esd to /usr/bin/esdbak and rename /usr/bin/esdcompat to /usr/bin/esd , if you're on KDE you'll probably have to start it manually with each session. To control it, it's probably easiest to have 'padevchooser' running permanently, it's a panel icon you can use to launch the other control applications. "Volume Control" is the most useful one, it lets you monitor and move about the currently playing audio streams.

Thanks to the PulseAudio team for being the ones to finally write a good next-generation sound server for Linux, thanks to Colin Guthrie for most of the recent packaging work and cheerleading for Pulse within the MDV community, and thanks to Fred Crozat for being the inside guy for Pulse :)

eBay

A lovely article on a French government agency's attempt to compel eBay to accept regulation in France, like all other auction houses...

Typical meaningless bullcrap from eBay representative:

"The company said that the regulations should not apply because it is not an auction house, just a facilitator. "EBay has invented a new way of buying and selling, which has been adopted by 10 million French people, and which is not at all the same as that of auction houses," said a company statement. It called the action "totally unjust"."

Response from the French:

"The Council said that it did not accept eBay's assertion that it was simply a broker and not an actual auctioneer. "What is the difference?" Giacomotto said to The Times. "They charge a commission to the seller and a commission to the buyer. These people cannot say they are responsible for nothing at all."

Which rather seems to nail it.

New 2008 Flash released

So many of you wondered if it was coming, glad to be able to give the happy news - we released the new 2008-based Flash today. This version is based on shiny new 2008, is $10 / 10€ cheaper than the old Flash, and has some cool new features - I haven't got one to play with yet, but I really like the idea of being able to plug the Flash into a Windows system and run Thunderbird and Firefox from the Flash, with all your bookmarks and emails from the Linux boot. That's neat. I just hope someone mails me one soon so I can check it out. :)

It's available now from the Mandriva Store.

aRTee posted a very good, in-depth review of 2008 on Mandriva Tips 4 Free - take a look.

Misc stuff

Still playing Super Mario Galaxy and enjoying the hell out of it. I'm up around 90 stars now and still working through the final hub. I just 'unlocked' the red stars in the hub world but I'm not sure if they're supposed to be added as extra stages in some galaxies yet, or what (it's obvious there's 6 stars in most galaxies but I've only gotten 5 in them all so far, not sure if I'm just missing some hidden ones or if there's some kinda 'trigger' point where extra quests show up). I'm trying to get all the stars without any outside help so please don't post comments :)

Misc. Mandriva stuff: the backport of ATI driver 8.42.3 to 2008.0 is complete, see this forum post for details and instructions. radeonhd 1.0.0 came out too, I'm just uploading it to Cooker and will push it to 2008.0 /backports soon.

We made a bit of a booboo with the latest official kernel update (2.6.22.12-1mdv). The external kernel modules - stuff like ATI and NVIDIA drivers, VirtualBox modules and so on - were not rebuilt for the new kernel and issued as updates at the same time as the kernel update, as they should be (and were for the previous update, 2.6.22.9-2mdv). So people who got this update as soon as it came out didn't get their external drivers updated, and if they reboot into the new kernel, will have troubles (e.g. ATI / NVIDIA driver not working, VirtualBox not working, wireless not working). If you find yourself in this situation, first run MandrivaUpdate again and see if the appropriate update shows up - the packages have now been issued, so it should. If not, look for it manually in rpmdrake. If it's ATI or NVIDIA at issue, you'll also have to re-run drakx11 and re-select your card to let Mandriva re-configure the driver, as it will have fallen back to a free driver for now. If you're still having trouble after following this procedure, post in the forums or contact me directly and we'll get you sorted out. The kernel and security teams are working together to ensure this does not happen again with any future kernel updates.

Edit - if your networking was broken by the update, reboot and pick an older kernel - 2.6.22.9-1mdv or 2.6.22.9-2mdv - at the boot menu. These ones should still work without trouble and you can sort out the issues with the new kernel from there.

We released two new builds of 2008 One with extra translations. See the official download page for details.

On a personal note, David Barth is leaving Mandriva. I know some of the stuff he's done or been involved with internally may have been controversial, but personally I think all the changes he's introduced (that I know about) have been very positive and often necessary; stuff like the revisions to the Club system and improvements to the release process have had a great positive impact on the distro and the company. I've also enjoyed working with him at a personal level. So I'm sorry to see him go and wish him all the luck in the world in whatever he decides to take on next :)