From: <and...@us...> - 2011-09-02 20:12:43
|
Revision: 11907 http://plplot.svn.sourceforge.net/plplot/?rev=11907&view=rev Author: andrewross Date: 2011-09-02 20:12:36 +0000 (Fri, 02 Sep 2011) Log Message: ----------- Add -fvisibility=hidden and -Wl,--as-needed flags to reduce unneeded function exports and linkages. Fix up a number of minor lintian issues. Modified Paths: -------------- branches/v5_9_8_debian/debian/changelog branches/v5_9_8_debian/debian/control branches/v5_9_8_debian/debian/control.in branches/v5_9_8_debian/debian/rules Modified: branches/v5_9_8_debian/debian/changelog =================================================================== --- branches/v5_9_8_debian/debian/changelog 2011-09-02 12:23:52 UTC (rev 11906) +++ branches/v5_9_8_debian/debian/changelog 2011-09-02 20:12:36 UTC (rev 11907) @@ -54,8 +54,14 @@ * debian/libplplot-dev.files, debian/libplplot-fortran9.files: Move fortran .h and .mod files to the libplplot-dev package as these are required for compiling fortran with plplot and not for runtime. + * debian/plplot-tcl-dev.lintian-overrides: Add lintian override for + informational warning about interpreter path not being absolute. + * debian/rules: Add -fvisibility=hidden to CFLAGS and -Wl,--as-needed + to LD_FLAGS to only export required symbols and prevent linking in + unnecessary libraries. Reduces the dependency requirements, + particularly for the drivers. - -- Andrew Ross <and...@us...> Wed, 24 Aug 2011 09:22:38 +0100 + -- Andrew Ross <and...@us...> Fri, 2 Sep 2011 20:35:33 +0100 plplot (5.9.7-1) UNRELEASED; urgency=low Modified: branches/v5_9_8_debian/debian/control =================================================================== --- branches/v5_9_8_debian/debian/control 2011-09-02 12:23:52 UTC (rev 11906) +++ branches/v5_9_8_debian/debian/control 2011-09-02 20:12:36 UTC (rev 11907) @@ -50,9 +50,10 @@ Recommends: pkg-config, libplplot-c++10 (= ${binary:Version}), libplplot-fortran9 (= ${binary:Version}), libplplot-ada (= ${binary:Version}), libplplot-ocaml, libplplot-lua, libplplot-d +Suggests: plplot-doc Depends: libplplot11 (= ${binary:Version}), libqhull-dev, libfreetype6-dev, libltdl3-dev, ${misc:Depends} -Conflicts: libplplot-fortran9 (<< 5.9.8-1) +Breaks: libplplot-fortran9 (<< 5.9.8-1) Description: Scientific plotting library (development files) PLplot is relatively small, portable, freely distributable, and is rich enough to satisfy most users. It has a wide range of plot types including @@ -62,10 +63,9 @@ handful of function calls is typically required. For more advanced use, virtually all aspects of plotting are configurable. . - This package contains all that is needed for doing development in C, C++, Fortran and Ada with PLplot. Examples of programs for these languages are also included. For development in Tcl/Tk, Python, Octave, and Java install - the plplot-tcl, python-plplot, octave-plplot and libplplot-java packages, + the plplot-tcl-dev, python-plplot, octave-plplot and libplplot-java packages, respectively. This package also includes the OCaml, lua and D examples. To use a particular language you will also need to install the libplplot-xxx package for that language. @@ -123,7 +123,6 @@ Package: libcsiro0 Architecture: any Section: libs -Conflicts: libplplot9 (<< 5.3.0.cvs.20040303) Depends: ${shlibs:Depends}, ${misc:Depends} Description: Scientific plotting library (CSIRO libraries) This package contains two libraries developed by Pavel Sakov, from the @@ -154,9 +153,9 @@ Package: libqsastime-dev Architecture: any Section: libdevel -Conflicts: libplplot-dev (<< 5.9.8-1) -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Time format conversion library +Breaks: libplplot-dev (<< 5.9.8-1) +Depends: libqsastime0 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Time format conversion library (development files) The qsastime library is a simple library for handling time format conversion. It overcomes the limitations of the POSIX time handling routines by allow high precision time variables over a large range @@ -223,7 +222,7 @@ Architecture: any Priority: extra Depends: libplplot11 (= ${binary:Version}), plplot-tcl, ${misc:Depends} -Conflicts: plplot-tcl (<= 5.2.0.cvs.20030224-1) +Breaks: plplot-tcl (<= 5.2.0.cvs.20030224-1) Description: Tcl/Tk development support for PLplot, a plotting library PLplot is relatively small, portable, freely distributable, and is rich enough to satisfy most users. It has a wide range of plot types including @@ -302,7 +301,7 @@ Architecture: any Section: python Priority: extra -Depends: libplplot11 (= ${binary:Version}), python-plplot-qt (= ${binary:Version}), +Depends: libplplot11 (= ${binary:Version}), python-plplot (= ${binary:Version}), plplot11-driver-qt (= ${binary:Version}), ${shlibs:Depends}, ${python:Depends}, ${misc:Depends} Provides: ${python:Provides} @@ -315,12 +314,11 @@ handful of function calls is typically required. For more advanced use, virtually all aspects of plotting are configurable. . - This package provides python bindings to allow use of the PLplot API in + This package provides Python bindings to allow use of the PLplot API in qt applications. Package: octave-plplot Architecture: any -Section: math Priority: extra Depends: libplplot11 (= ${binary:Version}), ${shlibs:Depends}, ${octave:Depends}, ${misc:Depends} Modified: branches/v5_9_8_debian/debian/control.in =================================================================== --- branches/v5_9_8_debian/debian/control.in 2011-09-02 12:23:52 UTC (rev 11906) +++ branches/v5_9_8_debian/debian/control.in 2011-09-02 20:12:36 UTC (rev 11907) @@ -50,9 +50,10 @@ Recommends: pkg-config, libplplot-c++10 (= ${binary:Version}), libplplot-fortran9 (= ${binary:Version})[ADA:, libplplot-ada (= ${binary:Version}):], libplplot-ocaml, libplplot-lua, libplplot-d +Suggests: plplot-doc Depends: libplplot11 (= ${binary:Version}), libqhull-dev, libfreetype6-dev, libltdl3-dev, ${misc:Depends} -Conflicts: libplplot-fortran9 (<< 5.9.8-1) +Breaks: libplplot-fortran9 (<< 5.9.8-1) Description: Scientific plotting library (development files) PLplot is relatively small, portable, freely distributable, and is rich enough to satisfy most users. It has a wide range of plot types including @@ -62,10 +63,9 @@ handful of function calls is typically required. For more advanced use, virtually all aspects of plotting are configurable. . - This package contains all that is needed for doing development in C, C++, Fortran and Ada with PLplot. Examples of programs for these languages are also included. For development in Tcl/Tk, Python, Octave, and Java install - the plplot-tcl, python-plplot, octave-plplot and libplplot-java packages, + the plplot-tcl-dev, python-plplot, octave-plplot and libplplot-java packages, respectively. This package also includes the OCaml, lua and D examples. To use a particular language you will also need to install the libplplot-xxx package for that language. @@ -123,7 +123,6 @@ Package: libcsiro0 Architecture: any Section: libs -Conflicts: libplplot9 (<< 5.3.0.cvs.20040303) Depends: ${shlibs:Depends}, ${misc:Depends} Description: Scientific plotting library (CSIRO libraries) This package contains two libraries developed by Pavel Sakov, from the @@ -154,9 +153,9 @@ Package: libqsastime-dev Architecture: any Section: libdevel -Conflicts: libplplot-dev (<< 5.9.8-1) -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Time format conversion library +Breaks: libplplot-dev (<< 5.9.8-1) +Depends: libqsastime0 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Time format conversion library (development files) The qsastime library is a simple library for handling time format conversion. It overcomes the limitations of the POSIX time handling routines by allow high precision time variables over a large range @@ -223,7 +222,7 @@ Architecture: any Priority: extra Depends: libplplot11 (= ${binary:Version}), plplot-tcl, ${misc:Depends} -Conflicts: plplot-tcl (<= 5.2.0.cvs.20030224-1) +Breaks: plplot-tcl (<= 5.2.0.cvs.20030224-1) Description: Tcl/Tk development support for PLplot, a plotting library PLplot is relatively small, portable, freely distributable, and is rich enough to satisfy most users. It has a wide range of plot types including @@ -302,7 +301,7 @@ Architecture: any Section: python Priority: extra -Depends: libplplot11 (= ${binary:Version}), python-plplot-qt (= ${binary:Version}), +Depends: libplplot11 (= ${binary:Version}), python-plplot (= ${binary:Version}), plplot11-driver-qt (= ${binary:Version}), ${shlibs:Depends}, ${python:Depends}, ${misc:Depends} Provides: ${python:Provides} @@ -315,12 +314,11 @@ handful of function calls is typically required. For more advanced use, virtually all aspects of plotting are configurable. . - This package provides python bindings to allow use of the PLplot API in + This package provides Python bindings to allow use of the PLplot API in qt applications. Package: octave-plplot Architecture: any -Section: math Priority: extra Depends: libplplot11 (= ${binary:Version}), ${shlibs:Depends}, ${octave:Depends}, ${misc:Depends} Modified: branches/v5_9_8_debian/debian/rules =================================================================== --- branches/v5_9_8_debian/debian/rules 2011-09-02 12:23:52 UTC (rev 11906) +++ branches/v5_9_8_debian/debian/rules 2011-09-02 20:12:36 UTC (rev 11907) @@ -27,6 +27,15 @@ debex := $(debshr)/plplot$(version)/examples octver := $(shell octave-config -v) +CFLAGS = $(shell dpkg-buildflags --get CFLAGS) +CFLAGS += -fvisibility=hidden +#Don't add -fvisibility=hidden to CXXFLAGS for now as this breaks the octave bindings. +#CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS) +#CXXFLAGS += -fvisibility=hidden +LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) +LDFLAGS += -Wl,--as-needed + + JAVA_HOME = /usr/lib/jvm/default-java PYVERS = $(shell pyversions -vr) @@ -57,14 +66,13 @@ -DCMAKE_Java_COMPILER=$(JAVA_HOME)/bin/javac \ -DCMAKE_Java_ARCHIVE=$(JAVA_HOME)/bin/jar -CONFIGURE_OPTIONS = -DBUILD_TEST=OFF \ +CONFIGURE_OPTIONS = -DBUILD_TEST=ON \ -DBUILD_DOC=OFF -DCMAKE_INSTALL_PREFIX=/usr \ -DOCTAVE_OCT_DIR=$(OCTDIR) \ -DUSE_RPATH=OFF -DPLD_psttf=OFF -DENABLE_tk=ON \ -DPLD_jpeg=ON -DPLD_png=ON -DPLD_gif=ON \ -DTCL_TCLSH=/usr/bin/tclsh8.5 \ - $(ADA_OPTIONS) $(JAVA_OPTIONS) \ - -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" + $(ADA_OPTIONS) $(JAVA_OPTIONS) BUILD_DIR = $(debbase)/build_tmp SRC_DIR = $(shell pwd) @@ -91,7 +99,7 @@ build-arch-stamp: patch config-stamp dh_testdir ( cd $(BUILD_DIR) ; $(MAKE) ) - -( cd $(BUILD_DIR) ; unset DISPLAY ; echo $(MAKE) test_noninteractive ) + -( cd $(BUILD_DIR) ; unset DISPLAY ; $(MAKE) test_noninteractive ) touch build-arch-stamp build-indep: build-indep-stamp @@ -136,7 +144,7 @@ # Strip bindings/octave/plplot_octave.oct as this is missed by # dh_strip. - strip $(BUILD_DIR)/bindings/octave/plplot_octave.oct + strip --strip-unneeded --remove-section=.comment $(BUILD_DIR)/bindings/octave/plplot_octave.oct ( cd $(BUILD_DIR) ; \ $(MAKE) DESTDIR=$(debtmp) install ) @@ -207,6 +215,7 @@ dh_compress -i --exclude=.pdf dh_fixperms -i dh_installdeb -i + dh_lintian -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i @@ -230,6 +239,7 @@ dpkg-shlibdeps -Tdebian/octave-plplot.substvars -S$(debbase)/$(libpkg)/usr/lib/*.so* -S/usr/lib/$(octver)/*.so* $(debbase)/octave-plplot/$(OCTDIR)/plplot_octave.oct octave-depends --package=octave-plplot dh_installdeb -a + dh_lintian -a dh_gencontrol -a -- -VF:OCamlABI="$(OCAMLABI)" dh_md5sums -a dh_builddeb -a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |