[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Upgrading to F11

Filed under: Fedora,Hacking — Thomas @ 3:44 pm

2009-6-24
3:44 pm

I managed to completely skip updating to F10. All my machines (work desktop, home desktop, laptop, media center) where running F9 without any real problems I worried about.

But of course I was curious. And, especially with the move to python 2.6, things I care about where bound to break.

So, last weekend I took the plunge, and after little over a week here are my first impressions:

  • Overall F11 looks slick. Nice work on the artwork! I particularly liked the GDM background, looking like an ancient brushed metal object, reminding me of how I used to love playing Gods by the Bitmap Brothers.
  • Apparently anaconda now has bugzilla integration, allowing you to file a bug directly from inside anaconda. Luckily for Jeremy (who I assume still maintains it) it has some code in there to look for existing bug entries with the same backtrace. Very nice!
  • Of course, I wouldn’t have found out if I hadn’t run into exceptions in anaconda. I ran into while setting up two completely new hard disks with 2 software raid partition and LVM on the second one.
  • I first installed my work desktop, as usual putting the new installation on a separate partition, keeping my old one around in case the install goes wrong or F11 just isn’t stable enough for me. For me, that involves having a /mnt/alpha and /mt/omega partition between which I alternate. At some point I should figure out if other people do this too and if it makes sense for anaconda to support something like this and at least allow me to keep my GRUB configuration for the older installation. For now I do this manually, using a hugeupgrade text file I follow each time I upgrade, accumulating more and more steps each time I perform the procedure.
  • On my home machine, when I booted into F11, as usual my second monitor didn’t work (I have a Radeon GeCube Pro 2400). My own fault really – I should have tried to get a patch upstream into the default radeon driver the same way I sent a patch for the radeonhd driver that I still use. A rebuild later, I at least had the old radeonhd driver rebuilt to get my second screen working again.
  • Having the second screen now made me change my mind completely about the GDM wallpaper. That lion on the right hand side that I didn’t see before completely ruins the style for me. Sorry!
  • Upon logging in to the work desktop, I had no network. Completely puzzled as to why, until I figured out that I had to actually right-click on NetworkManager’s tray icon, choose to configure, and activate eth0 by default. After some browsing it seems that this was a deliberate choice to increase security. While I can possibly sympathize with the motivation for doing so, it really is terrible to change this by default and not provide *any* indication during or after installation. At the very least, the following things could have been done:
    1. provide a clear notice during installation, and allow a user to choose to enable it anyway, assuming the security risk
    2. the same, but during firstboot
    3. after logging in, having the network manager tooltip say ‘the network is disabled by default in this new release, here’s how you enable it

    I am not entirely sure what the security problems are with enabling the network after installation. The default firewall is pretty locked down, SELinux is enabled by default, and there’s no way I can install updates without the network anyway. But I’m sure that I could find huge bikeshedding threads on fedora-devel about this if I really cared why this was decided.

  • Upon logging in to the home desktop, I was greeted with a tooltip saying that one of my drives was going bad. That was a nice touch! Really good idea to have something like that be monitored by default. This prompted me to ponder to finally replace my desktop’s 250 GB PATA drives with real SATA drives – a story for another post.
  • Various deprecation warnings pop up running various Python programs, including my own. Flumotion needed a patch for running against 2.6 (I rebuilt and pushed to F11). So I have some cleanup ahead, and I should revisit pychecker soon.
  • The first piece of functionality I checked was Evolution’s Google Calendar integration. It still seems a bit shaky, given that I had to restart Evolution a few times as it froze doing stuff with the net, but it does seem to work. That means I will finally be able to accept work invitations done through Outlook and get them on my Google Calendar! Awesome. Now if only I didn’t have to manually configure each of the ten calendars I’m interested in…
  • At work, when I played a video using XVideo, my machine instantly froze. Seems to be a known bug. The intel drivers are being rewritten. I’ve never quite understood why rewriting is an excuse for breaking stuff that worked (I should check if Firewire video finally works reliably now when I have the chance, for example), but all in the name of progress I guess.
  • I don’t know why it’s happening, but once in a while my screens blank. Even in the middle of doing stuff. If I were a gamer I’d be hugely annoyed as my character would be shot through the head in that split instant. The closest bug I can find is this one, where I commented. Hugely annoying bug because I don event know how to begin debugging a bug like this that I can’t catch in the act.
  • PulseAudio integration in GDM seems a bit fragile. I have my pulseaudio configured to send audio to my media center pulseaudio server. Sometimes, after choosing a username in GDM, it doesn’t manage to play the audio sample related to that action, and then GDM is stuck there not showing me the password entry dialog. Pretty sure it’s due to blocking on pulseaudio, because when I kill it the password dialog appears. Pretty painful bug for new users though.

All in all, not a bad first week experience, and seems like a solid release. Now, off to rebuild bits and pieces, and clean up Python 2.6 deprecation warnings…

distro conditionals in spec files

Filed under: Fedora — Thomas @ 2:47 pm

2008-8-25
2:47 pm

Every time I have to write a spec file and do something specifically for a certain distro version (like, for example, packages were renamed or split or …) I end up trying to remember what the last package was in which I used it to have the most up-to-date version of that macro.

And once in a while I try one and it doesn’t work, for some silly reason. And these macros are always very fragile.

So, this weekend I rebuilt a package for RHEL5.2 and the spec was supposed to BuildRequire: libXv-devel for RHEL5 and onwards. But the check didn’t take the 5.2 version number (with a period) into account and it failed.

So this time I decided to just create a wiki page on my wiki that I will update if I ever run into problems again, and will reference back to next time I need it. In the process I managed to simplify the macros and make them more correct, so everyone wins. And that includes you – because now you can go there too if you care! *

* Of course, if you’re part of the 99.99999999% of people that doesn’t write spec files for fun or money, then you probably don’t!

Revisor Reredux

Filed under: Fedora,Hacking — Thomas @ 1:06 pm

2008-6-29
1:06 pm

I followed Owen Taylor’s advice and tried livecd-creator instead. He gave me a one liner that worked from an installed package. That’s how it should be – a simple no-frills “see ? this thing works !” experience. Contrasted with the 8 hours I spent on getting revisor to do something, this was a world of difference.

In a few hours I had set up a local mirror to get packages from, and created two specialized live CD’s. Now I’m rebuilding a whole bunch of packages to include on the CD’s and then I’m ready to give it a go.

Anyone in the know who can tell me if the real Fedora Live CD’s are spun with livecd-tools or revisor ?

Revisor Redux

Filed under: Fedora — Thomas @ 12:55 pm

2008-6-27
12:55 pm

I spent part of my lunch break filing 17 tickets in Revisor’s Trac after figuring out thanks to a comment on my blog that I’m supposed to use my Fedora username/password.

Here’s hoping it gives the Revisor guys something to chew on.

Revisor

Filed under: Fedora — Thomas @ 12:45 am

12:45 am

I was just as excited as everyone when revisor hit Fedora. I think I even remember helping those guys out getting started, at a FUDCon hotel in Boston where I was too jetlagged. But I could be misremembering.

But every time there was a new Fedora, I tried out revisor again because I was hoping to do a simple Live CD showing off Fluendo stuff, like Elisa and Flumotion. And it just never worked. I think in F-8 it was trying to install both an i586 and i686 kernel at the same time, then complaining that those rpms shared the same files. In F-7 it just threw tracebacks for everything I tried. And I just don’t know if I’m alone here, and everyone else is happily spinning these custom distros using revisor.

Maybe it’s because there are so goddamn many options that I keep chosing the wrong ones ? Maybe I should actually break out my editor and fix the bugs I run into ? I created a bug report for my current issue, but I found only 3 bugs against revisor. So I checked some more and apparently there’s an upstream Trac (can’t blame those guys for not wanting to use the mutant RedHat Bugzilla).

My bug’s not in there (though there are a lot more bugs, so that’s comforting, it means people use it). There’s no New Ticket at the top, but also no way to register for an account. There’s a helpful link to create a new ticket on the front page, but of course that just tells me off for not having TICKET_CREATE privileges.

I guess that also means I’m not filing tickets for the following problems just yet:

  • Using the F accelerator both for File (menu) and Forward (button)
  • Having a Quit button at the bottom right during the whole process
  • being told my password is wrong in two (not one) dialogs in a row
  • not getting graphical feedback on the above-mentioned exception
  • a bunch of missing images the console complains about
  • not defaulting to the distro you’re actually running (If I’m running F-9, why would I want to create a CentOS live-cd by default ?)
  • Not having a keyboard accelerator for “Get Started” (the only way to do anything useful on the first page
  • Having to click “Apply” when changing “Configuration Section to Use” dropdown to select a different distro
  • Not having a simple way to save a set of choices before it starts the long process of building the install media (how do you guys develop this software if you have to click all the options again every time ?)
  • (this one is my favourite) every time I came on the page where I was forced to give a root password, I would end up with a dialog saying my password didn’t match, and sure enough, the first one was missing an asterisk. Turns out that revisor has a bug where, after I click the entry box to start typing my root password, it ignores the first character I type there. It is almost impossible not to run into the double dialog bug I mentioned above
  • Default Desktop: choice between GNOME and KDE. Except that both radio buttons are checked (I didn’t even know that was possible) and there’s no way to uncheck them. I guess it’s one way to settle an eternal conflict users imagine there being :)
  • After working around the bug I filed (by adding /bin/bash before the script’s path), and lots of console spew, and half an hour of waiting, it again died with a traceback on the console and no UI feedback:

    File “/usr/lib/python2.5/site-packages/revisor/pkgorder.py”, line 36, in
    import iutil
    ImportError: No module named iutil

    Apparently this is a module that’s part of anaconda. Maybe revisor could use a general-purpose exception handling dialog that at least tells you to file a bug ?

  • After working around THAT bug, another one:

    File “/usr/lib/python2.5/site-packages/revisor/pkgorder.py”, line 95, in addPackages
    revisor.misc.resolve_dependencies_ugly(yumobj, logger)
    NameError: global name ‘yumobj’ is not defined

What I’d really like to know is, has any of you fedora heads been able to use Revisor successfully ? If so, which options did you pick ? Someone have a “5 minute click only these things” guide to revisor that is 100% guaranteed to work so I can at least see that this thing can be made to work ? Or should I be switching to Ubuntu to make live cd’s instead ?

And to the revisor guys, don’t take this the wrong way. I feel guilty for never actually having tried to do proper bug reports (I considered the bugs straightforward and easy to see, so I thought it was still in the experimental stage, until I noticed it was touted as one of the big features of Fedora).

I now realize I should actually push you guys a little, provide some useful feedback, and some ideas for improvement. Because your tool obviously struck a nerve, and I want this to be good, and deserve the place it has been given. So, please start by telling me how you want me to report bugs.

And I’m going to go out on a limb and wager a guess that you guys only test your TRUNK versions, not the versions that actually get packaged and shipped with Fedora. You would help your project immensely by making sure some basic Q&A gets done on the versions you actually package and ship, because there is a lot of low-hanging fruit there.

« Previous PageNext Page »
picture