PaulHowarth/Blog/2008-04

Paul's Blog Entries for April 2008

Tuesday 1st April 2008

Fedora Project

  • Reviewed (and approved) pyPdf for Felix Schwarz; Felix is a new contributor and I shall be sponsoring him for cvsextras membership. He tells me that he's a professional python developer and he's also volunteered to take over maintainership of python-zope-interface from me once he's up and running in Fedora.

Local Packages

  • Updated python-twisted metapackage to 8.0.1

  • Updated python-twisted-conch to 8.0.0

  • Updated python-twisted-core to 8.0.1

  • Updated python-twisted-lore to 8.0.0

  • Updated python-twisted-mail to 8.0.0

  • Updated python-twisted-names to 8.0.0

  • Updated python-twisted-news to 8.0.0

  • Updated python-twisted-runner to 8.0.0

  • Updated python-twisted-web to 8.0.0

  • Updated python-twisted-words to 8.0.0

  • Updated python-zope-interface to 3.4.1

Wednesday 2nd April 2008

Local Packages

  • Updated perl-Module-CoreList to 2.15

Fedora Project

  • Sponsored Felix Schwarz
  • Updated python-zope-interface to 3.4.1 in Rawhide; there's an outstanding issue of whether it needs a dependency on python-setuptools and Felix will look at that (it's certainly not a hard dependency)

Thursday 3rd April 2008

Fedora Project

  • Updated libpng10 in Rawhide to 1.0.32

Local Packages

  • Updated libpng10 to 1.0.32

Monday 7th April 2008

Local Packages

  • Updated gtkwave to 3.1.8

Fedora Project

Wednesday 9th April 2008

Fedora Project

Finally found some time to look at the pile of bugs that have built up on bittorrent, and apply some fixes. I guess the bugzilla triaging effort and yesterday's Final Freeze for Fedora 9 were enough to spur me on. In additional to updating Rawhide, I cloned the package for Fedora 7 and 8 and requested they be pushed to the testing repositories.

  • Bug #189072 (bittorrent doesn't die gracefully)

  • This one is about the GUI not saving fastresume data when the client is killed (e.g. when the user logs out) rather than shut down cleanly. Would need help from someone with better python skills to fix this. I've left the ticket open.
  • Bug #189295 (bittorrent is not utf-8 aware)

  • This one was raised on Fedora 6 and is about the curses client not displaying non-ASCII characters properly. This mainly affects non-English locales and as such doesn't manifest itself in Fedora 7 onwards because translations don't work at all (Bug #237254). I've left this one open.

  • Bug #204622 (bittorrent takes an unreasonable amount of memory and has a memory leak)

  • I suspect that this was a bug elsewhere and in fact a duplicate of Bug #221124, where upgrading other packages fixed the problem. I've left the ticket open but it'll get closed as WONTFIX as part of the BugZappers/F9CleanUp process if the reporter doesn't confirm that there's still a problem in a current release within the next month.

  • Bug #223623 (bittorrent-5.0.5 and wxPython-2.8)

  • This one is about the incompatibility of bittorrent-gui 5.x and wxPython > 2.6; all 5.x versions are affected by this (5.0.5 was in Rawhide briefly during the Fedora 7 development phase, where this problem first showed up). As upstream have gone closed source with version 6.x and nobody seems to be doing any ongoing development on the 5.x versions, I've closed this one as CANTFIX.

  • Bug #230878 (bittorrent-curses does not show upload activity and produces setrlimit message)

  • This was a problem that was present in bittorrent 5.0.5, which was briefly in Rawhide; since Fedora is highly unlikely ever to include a 5.x version again (see Bug #223623), I closed this one as CURRENTRELEASE (it's not a problem in 4.4.0).

  • Bug #231697 (RPM install scripts don't create homedir for torrent user)

  • I fixed this one a year ago actually (bittorrent-4.4.0-4.fc6) but the ticket was still open so I closed it as ERRATA.

  • Bug #237254 (bittorrent-gui missing translations)

  • The translations provided by upstream don't work in Fedora 7 onwards, though they did in Fedora 6. Appears to be that something has changed in the way translations work in python 2.5 (Fedora 6 had python 2.4.x) and this has probably broken things. I've left this one open.

  • Bug #237256 (Error in about dialog)

  • This one crept in when downgrading Rawhide from 5.0.5 back to 4.4.0. The 5.0.5 version didn't include the credits-l10n.txt file, and I didn't add it back into the %files list for the package when downgrading, and this caused the problem. An easy fix - just include the file.

  • Bug #245421 (bittorrent fastresume does not work (because of python incompatibility?))

  • A python 2.5 compatibility issue that caused the fastresume data not to be saved correctly. Somebody kindly included a reference to a fix for this on the ticket, so it was an easy fix with a small patch, and I changed the bug status to ON_QA after requesting the updates for Fedora 7 and 8 be pushed to the testing repository.

  • Bug #365361 (bittorrent: use xdg-open for opening a browser)

  • This was one of a series of bugs opened against various applications to get them to use xdg-open to open the user's chosen browser rather than doing it in an application-specific way. However, bittorrent already hands over this choice to the webbrowser module in python, so I closed the bug as a DUPLICATE of Bug #388531, the corresponding ticket for python itself.

  • Bug #440906 (FTBFS bittorrent-4.4.0-5.fc7)

  • The Rawhide bittorrent package wasn't building successfully because python-based packages in Fedora 9 onwards now include egg-info data, and that wasn't accounted for in the %files list for the package. Another easy fix; as this was a Rawhide bug, I was able to close it as RAWHIDE once the package was built in koji.

  • Bug #430849 (bittorrent track/generate/seed fails, and documents do not help)

  • This one was about the documentation for creating torrents and running the seed/tracker services, which consisted of upstream's README.txt and was clearly inadequate (and in fact wrong in some parts). I added an additional file README.Fedora to improve the situation and changed the bug status to ON_QA after requesting the updates for Fedora 7 and 8 be pushed to the testing repository.

In addition to those bugs, I also moved the default data directory out of /srv to /var/lib/bittorrent because Fedora policy is not to include anything under /srv in packages (see PackagingDrafts/NoBitsInSrv), and also silenced some "deprecated function" warnings that originated from pygtk2.

I also managed to get the updated Rawhide package included in Fedora 9 Final despite missing the Final Freeze date, by making a successful appeal to the Fedora Release Engineering team :-)

A busy day!

Thursday 10th April 2008

Local Packages

  • Built a new set of bittorrent 4.4.0 packages containing the fixes made in Fedora yesterday. Still need to rationalize the other bittorrent packages in the repo though, probably dispensing with the 4.20.9 packages and just keeping the 5.2.0 ones to leave two versions altogether.

Friday 11th April 2008

Local Packages

  • Updated libidn to 1.7

  • Patched weblint to fix some issues it had building on perl 5.10.0 on Rawhide; I've been looking at this on and off for a few weeks now because I don't know perl well and the errors were IMHO quote obscure:

  • + /usr/bin/make test
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    t/font.........
    Bareword "MF_DEFAULT" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 438.
    Bareword "MC_ERROR" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 12.
    Bareword "MC_WARNING" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 12.
    Bareword "MC_STYLE" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 12.
    Bareword "MC_INTERNAL" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 12.
    Bareword "DISABLED" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 20.
    Bareword "MC_STYLE" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 20.
    Bareword "DISABLED" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 20.
    Bareword "MC_STYLE" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 20.
    Bareword "ENABLED" not allowed while "strict subs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint/Messages.pm line 20.
    ... many more like those ...
  • and having fixed that one, there was this:
  • + /usr/bin/make test
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    t/font.........
    ok
    t/form.........
    Can't use string ("3") as an ARRAY ref while "strict refs" in use at /builddir/build/BUILD/weblint-1.9.3/blib/lib/Weblint.pm line 530, <DATA> chunk 1.
    dubious
            Test returned status 255 (wstat 65280, 0xff00)
    DIED. FAILED tests 1-24
            Failed 24/24 tests, 0.00% okay
  • The fixes were quite simple in the end. The "bareword" problem was due to a missing require Exporter in the package defining the complained-about constants, and the "ARRAY ref" problem was due to using the wrong idiom for dereferencing an array reference:

  • --- weblint-1.9.3/lib/Weblint.pm        1999-04-08 12:46:24.000000000 +0100
    +++ weblint-1.9.3/lib/Weblint.pm        2008-04-11 14:42:48.000000000 +0100
    @@ -525,7 +525,7 @@
         {
            my $i;
     
    -       for ($i=$#{@{ $self->{tags}}}; $self->{tags}->[$i] ne $tag; --$i)
    +       for ($i=$#{ $self->{tags} }; $self->{tags}->[$i] ne $tag; --$i)
            {
            }
            $self->whine('nested-element', $tag, $self->{taglines}->[$i]);
    --- weblint-1.9.3/lib/Weblint/Constants.pm      2008-03-12 18:41:14.000000000 +0000
    +++ weblint-1.9.3/lib/Weblint/Constants.pm      2008-03-12 18:41:55.000000000 +0000
    @@ -12,6 +12,7 @@
     package Weblint::Constants;
     use 5.004;
     use strict;
    +require Exporter;
     
     use vars qw( $VERSION @ISA @EXPORT );
     $VERSION = '';

Testing GUI Applications in Mock

mock is the standard tool for building Fedora packages these days, and provides a convenient way to build RPMs for older or newer distribution releases than the machines you have available. For instance, all of my machines are running Fedora 8 at the moment but by using mock I can build packages for distributions as old as Red Hat Linux 7.3, and also for CentOS 3,4,5. However, what's not as obvious is that mock can also be used to run applications for these distributions so as to test them in their target environments.

For instance, earlier this week I applied a bunch of patches to my bittorrent package and wanted to make sure that the GUI still worked on Fedora Core 4 (basically checking that I hadn't introduced something that relied on newer versions of dependent packages). I used two machines to do this test, the build server (let's call it buildhost) where I built the package, and the display server (let's call it displayhost) where I wanted to view the GUI window.

The first task is to install the package to be tested (and any necessary infrastructure) into the mock chroot on the build server:

$ mock -r fedora-4-x86_64-core init
$ mock -r fedora-4-x86_64-core --install bittorrent-gui bitmap-fonts dejavu-fonts xorg-x11-fonts-base  xorg-x11-fonts-misc xorg-x11-fonts-Type1

Then set up an X display to view the application. I use Xnest (from the xorg-x11-server-Xnest package) on the display host for this, to set up a clean new display with no authentication aggravation.

$ Xnest -ac :2

Then, back on the build server, I point the DISPLAY variable at my target display and start the application.

$ mock -r fedora-4-x86_64-core shell
mock-chroot> export DISPLAY=displayhost:2
mock-chroot> bittorrent

The application appears on the Xnest display and I can test it to my heart's content.

Tuesday 15th April 2008

Local Packages

  • Updated perl-MailTools to 2.03

Fedora Project

  • Updated perl-MailTools to 2.03 in Rawhide

  • Approved Felix Schwarz as co-maintainer for python-zope-interfaceand in fact as owner of it in Rawhide

Monday 21st April 2008

No updates recently as I was in the States on business last week.

Local Packages

  • Updated moin to 1.6.3

  • Updated perl-ExtUtils-CBuilder to 0.23

  • Updated perl-Text-Template to 1.45

Tuesday 22nd April 2008

Local Packages

  • Updated gtkwave to 3.1.9

  • Did most of the work to create a Fedora 9 repository; outstanding issues include a few packages that won't build (e.g. perl-Sendmail-Milter, perl-Term-ReadLine-GNU), a few that need minor tweaks (e.g. xxdiff), and I won't be building a city-fan.org-release package until Fedora 9 final is available

Fedora Project

  • Updated gtkwave to 3.1.9 in the devel branch, which is now targeting Fedora 10

  • Branched and built pptp for EPEL (4 and 5) (requested in Bug #443331)

  • Received Bug #443702 about the bittorrent package containing files in /srv, which is no longer allowed as per Packaging/Guidelines - this was an easy one to close as I fixed that a couple of weeks ago for Fedora 9 onwards

Wednesday 23rd April 2008

Local Packages

  • Updated python-fpconst to 0.7.3

  • Updated smbldap-tools to 0.9.5

  • Built the remaining packages missing from the Fedora 9 repo that aren't afflicted by bugs that prevent building (i.e. perl-Sendmail-Milter and perl-Term-ReadLine-Gnu); still need to merge some updates from the bittorrent 4.4.0 package into the bittorrent 5.2.0 package and rebuild that, then look at what to do about the broken dependencies. I'll probably have a go a doing perl-Sendmail-PMilter for instance.

Thursday 24th April 2008

Local Packages

  • Updated libidn to 1.8

  • Updated perl-Test-File to 1.23

Sunday 27th April 2008

Fedora Project

  • Updated the EPEL-4 and EPEL-5 versions of mod_fcgid to 2.2, resyncing with current Fedora versions. There hadn't been an EPEL-4 build before, which was an oversight on my part.

Local Packages

  • Built compat-wxPython26 packages for Fedora 7 onwards and RHEL 5 (and dependency packages wxPython and compat-wxGTK where necessary); there are only to satisfy dependencies for bittorrent 5.2.0 and anyone that uses them is on their own as I won't be able to fix bugs in this stuff. It'd be nice if someone maintained them in RPMfusion or even Fedora but I won't hold my breath.

Wednesday 30th April 2008

Local Packages

  • Updated libpng10 to 1.0.33 and later, 1.0.34

  • New package perl-Sendmail-PMilter; this is a replacement for perl-Sendmail-Milter, which hasn't built successfully on 64-bit platforms for some time and won't build at all on Fedora 9. Since perl-Sendmail-PMilter builds cleanly on all of the platforms I build for, I can now include sendmail-milter-spf in the 64-bit repositories, since its perl(Sendmail::Milter) dependency can be satisfied by perl-Sendmail-PMilter.

Fedora Project

  • Updated libpng10 to 1.0.33, which addresses CVE-2008-1382 (Bug #441839); it's not a big deal really since no Fedora applications are affected by this issue, but it's conceivable that some third-party applications might be. The 1.0.33 release is affected by the same autotools issues as 1.2.27, and I had to include a substantial patch (generated by re-running the autotools) to get it to build at all on any system. There was today a release of 1.0.34 that is supposed to address the autotools issue but it hasn't actually made any difference. There's no point updating to this in Fedora because all it would involve is a new version of the patch - the underlying code is unchanged - and no doubt there will be another attempt to fix it soon, hopefully one that's tested on a Fedora-like distribution (not that there's anything unusual about Fedora).

Previous Month: March 2008
Next Month: May 2008

Recent