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 openpkg-cvs@openpkg.org