Paul's Blog Entries for February 2009

Monday 2nd February 2009

Fedora Project

  • Update gtkwave to 3.2.0RC5 in Rawhide

  • Updated perl-Net-SSH-Perl to 1.34 in Rawhide

  • Updated spamass-milter to address long-standing issue with Postfix support (Bug #452248)

Local Packages

  • Update gtkwave to 3.2.0RC5

  • Update perl-PAR-Dist to 0.44

  • Update perl-Params-Util to 0.36

Tuesday 3rd February 2009

Fedora Project

Made an effort to get my milter SELinux policy backported from upstream into Fedora, as it's needed (particularly in Fedora 10) just to make spamass-milter work. Fortunately, Rawhide has already moved to an upstream version that includes the milter policy, so that just left F-9 and F-10. I made patches against the selinux-policy packages in CVS and raised Bug #483849 to get these patches applied; it's already got Dan Walsh's blessing so hopefully it will happen soon.

Wednesday 4th February 2009

Local Packages

  • Updated dovecot to 1.1.11 and dovecot-managesieve to 0.10.5

  • Rebuild libcurl7112, libcurl7155, and perl-Net-SSLeay to pick up the new openssl in Rawhide

Thursday 5th February 2009

Local Packages

  • Updated perl-Params-Util to 0.37

  • Updated proftpd to 1.32

Monday 9th February 2009

Local Packages

  • Updated fetchyahoo to 2.12.4

  • Updated moin to 1.8.2

Wednesday 11th February 2009

Local Packages

  • Updated perl-FreezeThaw to 0.45

Fedora Project

  • Updated perl-Math-Pari to 2.010801

Thursday 12th February 2009

Local Packages

  • Updated getlive (from CVS) to handle yet another Hotmail UI change

Friday 13th February 2009

Fedora Project

  • Rebuilt milter-regex and spamass-milter in Rawhide to pick up the new shared libmilter

Local Packages

  • Updated python-crypto to fix buffer overflow in ARC2 (CVE-2009-0544)

Monday 16th February 2009

Local Packages

  • Updated python-crypto to use upstream patches for using hashlib rather than our own patches

Tuesday 17th February 2009

Fedora Project

  • Updated gtkwave in Rawhide to 3.2.0

Local Packages

  • New package fuse-davfs2

  • Updated curl with patches from Fedora to fix NSS support; curl is now built using NSS rather than OpenSSL again for releases that support it

  • Updated gtkwave to 3.2.0

  • Updated perl-Params-Util to 0.38

Creating a Local Mirror of a WebDAV Site

I have over the years helped to maintain the Manchester City Supporters' website in conjunction with Svenn Hanssen at the University of Tromsø. This has been an ongoing project since 1994 and our methodologies reflect that - Svenn does most of the maintenance and I keep a local mirror of the site and push my updates after I've made them.

I used to use the traditional mirror script to pull my local copy from the site's FTP server, and later switched to using lftp, still using FTP. However, late last year the site moved over to using WebDAV rather than FTP for upload access, and this proved to be a problem for lftp; although there is support in lftp for WebDAV, it appears to use index pages served out by the web server rather than the WebDAV indexes, and thus doesn't see the whole site (and gets very confused by broken links but I need to fix those anyway). So I've been using cadaver to upload my files and not resyncing back Svenn's changes for a while.

Today I tried a different approach, and it works very nicely. I used davfs2 to mount the remote site as a local filesystem and then used rsync to update my local mirror. Not only does it work well, it's much faster than my old lftp approach :-)

I made fuse-davfs2 packages for Fedora 9, 10, and Rawhide based on some old packages from Dag's repository. Having installed that, I then set up the configuration files I needed, namely an entry in /etc/fstab for the mount: /home/paul/ davfs noauto,user 0 0

and a credentials file ~/.davfs2/secrets:

/home/paul/ username password

The ~/.davfs2/ directory is mode 0700 and the file ~/.davfs2/secrets is mode 0600.

I then added my account paul to the davfs2 group:

# usermod -a -G davfs2 paul

I could then use this script to update my local copy of the site:


# Exit on failure
set -e

echo Mounting WebDAV filesystem
mount /home/paul/

if [ ! -s /home/paul/ ]; then
        echo "sitesync: index.html missing from remote filesystem - aborting" 1>&2
        exit 1

echo Syncing data from WebDAV filesystem to local copy
rsync -av --delete /home/paul/ /home/paul/mymirror

echo Unmounting WebDAV filesystem
umount /home/paul/

{i} Since writing this article, I have renamed the fuse-davfs2 package to davfs2, as that is what the software is known as upstream and, as of March 2009, in Fedora.

Thursday 19th February 2009

Fedora Project

  • Updated libpng10 to 1.0.43, addressing CVE-2009-0040 (a vulnerability in which some arrays of pointers are not initialized prior to using malloc to define the pointers; if the application runs out of memory while executing the allocation loop - which can be forced by malevolent input - libpng10 will jump to a cleanup process that attempts to free all of the pointers, including the undefined ones)

  • Raised Bug #486407 about logwatch warning me that my loopback-mounted ISO image filesystems are "filling up" (they are of course all at 100% but nobody's going to try writing anything else to them!)

Local Packages

  • Updated libpng10 to 1.0.43 as per Fedora

  • Updated perl-BerkeleyDB to 0.37; I had to create two new patches here, one to fix the broken POD test (missing space before >> delimiter in the POD file - CPAN RT#43435), and one to fix a regression where the tests example.t and example3.t failed in anything older than Fedora 9 due to a change of "use util;" to "use util(1);" - CPAN RT#43437

  • Updated perl-File-Find-Rule-Perl to 1.05

Friday 20th February 2009

Fedora Project

  • Updated perl-Pod-Coverage to 0.20

Local Packages

  • Updated perl-Pod-Coverage to 0.20

I've also tweaked my build scripts to generate .586 packages rather than .i386 packages for Fedora 11 onwards, as per Fedora itself.

Sunday 22nd February 2009

Fedora Project

  • Updated perl-Net-SSH-Perl to add buildreq of aspell-en; the F-10 aspell package pulls this in itself, but not the F-11 version

Monday 23rd February 2009

Local Packages

  • Updated perl-BerkeleyDB to 0.38

Tuesday 24th February 2009

Fedora Project

  • Added buildreq glibc-static to ORBit in Rawhide to fix this build failure for the popt test code due to the splitting out of the static C library from glibc-devel:

  • make[4]: Entering directory `/builddir/build/BUILD/ORBit-0.5.17/popt'
    /usr/bin/libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c popt.c
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c popt.c  -fPIC -DPIC -o .libs/popt.o
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c popt.c -o popt.o >/dev/null 2>&1
    /usr/bin/libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c findme.c
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c findme.c  -fPIC -DPIC -o .libs/findme.o
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c findme.c -o findme.o >/dev/null 2>&1
    /usr/bin/libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c poptparse.c
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c poptparse.c  -fPIC -DPIC -o .libs/poptparse.o
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c poptparse.c -o poptparse.o >/dev/null 2>&1
    /usr/bin/libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c poptconfig.c
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c poptconfig.c  -fPIC -DPIC -o .libs/poptconfig.o
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c poptconfig.c -o poptconfig.o >/dev/null 2>&1
    /usr/bin/libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c popthelp.c
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c popthelp.c  -fPIC -DPIC -o .libs/popthelp.o
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c popthelp.c -o popthelp.o >/dev/null 2>&1
    /usr/bin/libtool --mode=link gcc  -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -o   popt.lo findme.lo poptparse.lo poptconfig.lo popthelp.lo  
    libtool: link: ar cru .libs/libpopt.a .libs/popt.o .libs/findme.o .libs/poptparse.o .libs/poptconfig.o .libs/popthelp.o 
    libtool: link: ranlib .libs/libpopt.a
    libtool: link: ( cd ".libs" && rm -f "" && ln -s "../" "" )
    gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c test1.c
    /usr/bin/libtool --mode=link gcc  -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -o test1 -all-static test1.o 
    libtool: link: gcc -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -o test1 -static test1.o  ./.libs/libpopt.a
    /usr/bin/ld: cannot find -lc
    collect2: ld returned 1 exit status
    make[4]: Leaving directory `/builddir/build/BUILD/ORBit-0.5.17/popt'

Wednesday 25th February 2009

Fedora Project

  • Fixed (as a perl-sig member - it's not my package) perl-PDF-API2, which has had broken dependencies in Rawhide for the last few days due to the great font package renaming exercise; whilst I was at it, I fixed up an rpmlint issue (TODO file not UTF-8 encoded) and simplified a perl-requires filter down to two lines from about 7

  • Updated perl-IO-Socket-SSL to 1.23 (whinge if no certificates supplied)

  • Updated perl-IO-Tty to 1.08 (whilst this is notionally Spot's package, it's co-maintained by the perl SIG)

RPM Fusion Project

Local Packages

  • Updated perl-IO-Socket-SSL to 1.23 as per Fedora

  • Updated perl-IO-Tty to 1.08 as per Fedora

Thursday 26th February 2009

Fedora Project

Local Packages

  • Updated perl-Module-Build to 0.32 (which, unlike other versions since 0.28, builds on RHL9 and RHEL3)

  • Updated libpng10 to have more complete bugzilla and CVE references in the changelog

  • Updated mod_fcgid documentation for MoinMoin, Rails (Bug #476658), and SELinux

  • Split a noarch subpackage bluefish-unstable-shared-data off from bluefish-unstable as the arch-independent part of the package dwarfs the rest

Friday 27th February 2009

Fedora Project

  • Fixed a mass rebuild failure in perl-Math-GMP - changes in aspell caused the spell check tests to fail

  • Split off a noarch subpackage shared-data from bluefish for Features/NoarchSubpackages

  • Updated spamass-milter so that the postfix subpackage is noarch, again for Features/NoarchSubpackages

Local Packages

  • Updated perl-Net-LibIDN to 0.12 (mainly just changes for non-Linux platforms)

  • Updated spamass-milter so that the postfix subpackage is noarch, as per Fedora

Previous Month: January 2009
Next Month: March 2009