OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 06-Jul-2005 16:29:48
Branch: HEAD Handle: 2005070615294800
Added files:
openpkg-src/rrdtool rrdtool.patch
Modified files:
openpkg-src/rrdtool rrdtool.spec
Log:
A recent package change was:
> because we provide a shared object for use with perl, its unresolved
> freetype dependencies must match symbols in a freetype shared object
Just because a Perl DSO RRDs.so requires the FreeType library doesn't
mean that we need FreeType in turn as a DSO! Our usual approach since
many years is to link those dependency libraries (libfreetype.a)
directly into the resulting DSO (RRD.so). That's all which is required.
Even if a DSO libfreetype.so exists and is linked, for portability
reasons one would need some -Rxxx hacks in addition.
So, back out this change and instead fix it the way similar DSO linkage
problems were fixed: by linking the DSOs against the static libs.
Finally, just linking FreeType was not enough! GD actually in addition
requires PNG/ZLib. So, link in those, too.
Summary:
Revision Changes Path
1.10 +29 -0 openpkg-src/rrdtool/rrdtool.patch
1.70 +5 -6 openpkg-src/rrdtool/rrdtool.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/rrdtool/rrdtool.patch
============================================================================
$ cvs diff -u -r0 -r1.10 rrdtool.patch
--- /dev/null 2005-07-06 16:29:48 +0200
+++ rrdtool.patch 2005-07-06 16:29:48 +0200
@@ -0,0 +1,29 @@
+Index: bindings/perl-shared/Makefile.PL
+--- bindings/perl-shared/Makefile.PL.orig 2005-07-06 16:06:03 +0200
++++ bindings/perl-shared/Makefile.PL 2005-07-06 16:20:33 +0200
+@@ -1,24 +1,7 @@
+ use ExtUtils::MakeMaker;
+ use Config;
+-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+-# the contents of the Makefile that is written.
+
+-# Specify the location of the archive containing PIC compiled object files.
+-my $R = "";
+-
+-
+-for ($^O){
+- /linux/ && do{ $R = "-Wl,--rpath -Wl,\$(RPATH)"};
+- /hpux/ && do{ $R = "+b\$(RPATH)"};
+- /solaris/ && do{ $R = "-R\$(RPATH)"};
+-}
+-
+-# darwin works without this because librrd contains its
+-# install_name which will includes the final location of the
+-# library after it is installed. This install_name gets transfered
+-# to the perl shared object.
+-
+-my $librrd = "-L../../src/.libs/ $R -lrrd";
++my $librrd = "-L../../src/.libs/ -lrrd -L$Config{prefix}/lib -lfreetype
-lpng -lz -lart_lgpl";
+
+ WriteMakefile(
+ 'NAME' => 'RRDs',
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/rrdtool/rrdtool.spec
============================================================================
$ cvs diff -u -r1.69 -r1.70 rrdtool.spec
--- openpkg-src/rrdtool/rrdtool.spec 5 Jul 2005 10:57:43 -0000 1.69
+++ openpkg-src/rrdtool/rrdtool.spec 6 Jul 2005 14:29:48 -0000 1.70
@@ -33,21 +33,22 @@
Group: Database
License: LGPL
Version: 1.2.10
-Release: 20050705
+Release: 20050706
# package options
%option with_cgi no
# list of sources
Source0:
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-%{version}.tar.gz
+Patch0: rrdtool.patch
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, gcc, make, pkgconfig,
perl-openpkg >= 5.8.3-20040126
PreReq: OpenPKG, openpkg >= 20040130
-BuildPreReq: perl, png, zlib, libart, freetype, freetype::with_shared = yes
-PreReq: perl, png, zlib, libart, freetype, freetype::with_shared = yes
+BuildPreReq: perl, png, zlib, libart, freetype
+PreReq: perl, png, zlib, libart, freetype
%if "%{with_cgi}" == "yes"
BuildPreReq: cgilib, pkgconfig
PreReq: cgilib
@@ -74,10 +75,8 @@
%prep
%setup -q
+ %patch -p0
rm -f perl-shared/ntmake.pl
- %{l_shtool} subst \
- -e 's;^\(my \$librrd =.*\$R \)-lrrd;\1 -R%{l_prefix}/lib/ftdyn -lrrd
-lfreetype;' \
- bindings/perl-shared/Makefile.PL
%build
# configure package
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]