Paul's Blog Entries for October 2009

Thursday 1st October 2009

Local Packages

Friday 2nd October 2009

Local Packages

Saturday 3rd October 2009

Local Packages

Tuesday 6th October 2009

Local Packages

Wednesday 7th October 2009

Local Packages

Thursday 8th October 2009

Local Packages

Friday 9th October 2009

Local Packages

Monday 12th October 2009

Local Packages

Fedora Project

Thursday 15th October 2009

Local Packages

Monday 19th October 2009

Local Packages

Tuesday 20th October 2009

Local Packages

Wednesday 21st October 2009

Fedora Project

Local Packages

Thursday 22nd October 2009

Local Packages

Friday 23rd October 2009

Local Packages

Monday 26th October 2009

Local Packages

Tuesday 27th October 2009

Local Packages

Wednesday 28th October 2009

Fedora Project

Local Packages

Thursday 29th October 2009

Fedora Project

Upstream for perl-Math-Pari released version 2.010802 yesterday so today I looked at doing the update in Fedora. Something I've been meaning to do for a long time is switch to using the system pari library rather than building it (and an old version of it too - 2.1.7 is the latest version still fully supported for the Perl Math::Pari module, whereas the system pari library is currently version 2.3.4) as part of perl-Math-Pari (which is actually severely frowned upon in Fedora and many other distributions).

The Math::Pari build system does now provide hooks for building against a system library, but if you do this it doesn't include as many tests nor as much documentation as it does if you build the library locally. However, I found it was quite easy to fix this problem by including the library sources even though I was linking against the system pari library, and patching Makefile.PL like this:

--- Math-Pari-2.010802/Makefile.PL.orig 2009-10-29 10:47:15.349216927 +0000
+++ Math-Pari-2.010802/Makefile.PL      2009-10-29 11:12:54.651293844 +0000
@@ -102,11 +102,13 @@
 }
 
 my %opts;
+
+# We want to build the docs and the test suite even though we're using the system pari lib
+build_tests $paridir;                          # Convert the test suite
+make_pod 'libPARI.pod', '-to_pod', $paridir;   # Now the docs
+make_pod 'libPARI.dumb.pod', '-to_dumb_pod', $paridir;
+
 unless ($common::parilib) {
-  build_tests $paridir;                # Convert the test suite
-  make_pod 'libPARI.pod', '-to_pod', $paridir; # Now the docs
-  make_pod 'libPARI.dumb.pod', '-to_dumb_pod', $paridir;
-  # ... and paricfg.h
   %opts = build_paricfg($paridir, $common::do_configure, $pari_version);
 
   if ($ENV{MATH_PARI_REPORT_CODES}) {

I also found that the test suite fell over on 64-bit builds because of missing results files. The pari test suite, when run normally, copies over the expected results from the 32-bit results directory if the expected file in the 64-bit results directory is missing, but that step was missing from the Math::Pari build, so I did it myself:

# If 64-bit test results missing, they should be copied from 32-bit test results
cd pari-%{pari_version}/src/test/in
for test in *; do
        [ ! -f ../64/${test} ] && %{__cp} -a ../32/${test} ../64/${test}
done
cd -

That was enough to get the test suite running and passing with the system pari version 2.3.4.

In order to ensure that the perl-Math-Pari package stays in step with the system pari package, I added a fixed version dependency on the system pari library to the perl-Math-Pari. I've requested watchcommits and watchbugzilla access to pari so I'll know when there's going to be a change.

The only issue now is that the system pari dependency now pulls in lots of unwanted dependencies:

# yum install perl-Math-Pari-2.010802-1.fc12.x86_64.rpm 
Loaded plugins: refresh-packagekit
Setting up Install Process
...
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================
 Package                        Arch       Version              Repository     Size
=====================================================================================
Installing:
 perl-Math-Pari                 x86_64     2.010802-1.fc12 /perl-Math-Pari-2.010802-1.fc12.x86_64 869 k
Installing for dependencies:
 Xaw3d                          x86_64     1.5E-14.fc11         fedora-dvd    170 k
 kpathsea                       x86_64     2007-42.fc11         fedora        118 k
 pari                           x86_64     2.3.4-2.fc11         fedora        1.4 M
 t1lib                          x86_64     5.1.2-3.fc11         fedora        214 k
 texlive                        x86_64     2007-42.fc11         fedora        2.2 M
 texlive-dvips                  x86_64     2007-42.fc11         fedora        200 k
 texlive-texmf                  noarch     2007-28.fc11         fedora        3.5 M
 texlive-texmf-dvips            noarch     2007-28.fc11         fedora        392 k
 texlive-texmf-errata           noarch     2007-6.fc11          fedora        4.8 k
 texlive-texmf-errata-dvips     noarch     2007-6.fc11          fedora        4.9 k
 texlive-texmf-errata-fonts     noarch     2007-6.fc11          fedora        5.0 k
 texlive-texmf-fonts            noarch     2007-28.fc11         fedora         57 M
 xdvik                          x86_64     22.84.14-6.fc11      updates       735 k

Transaction Summary
=====================================================================================
Install      14 Package(s)
Upgrade       0 Package(s)

Total size: 66 M
Total download size: 66 M
Is this ok [y/N]: n
Exiting on user Command
Complete!

It's even worse on a system with no X libraries. So I've added my voice to the request to split the libraries in pari off to a subpackage in Bug #530565.

Friday 30th October 2009

Local Packages

Previous Month: September 2009
Next Month: November 2009