The following commit has been merged in the jessie branch:
commit 5b7cd06b2d265eab3ff415f0aa8c165f9582e36f
Author: Bas Couwenberg <sebas...@xs4all.nl>
Date:   Fri Jul 19 19:10:34 2013 +0200

    Use minimal dh rules, libmapserver now Multi-Arch.

diff --git a/debian/control b/debian/control
index 5ef91c1..393fc16 100644
--- a/debian/control
+++ b/debian/control
@@ -34,6 +34,7 @@ Replaces: libmapserver (<< 6.2.1-3~)
 Breaks: libmapserver (<< 6.2.1-3~)
 Section: libs
 Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: cgi-mapserver, mapserver-bin, mapserver-doc,
  php5-mapscript, python-mapscript, libmapscript-perl, libmapscript-ruby
diff --git a/debian/libmapserver-6.2.1-dev.install 
b/debian/libmapserver-6.2.1-dev.install
index 073899d..bbe1641 100644
--- a/debian/libmapserver-6.2.1-dev.install
+++ b/debian/libmapserver-6.2.1-dev.install
@@ -1,4 +1,4 @@
 usr/bin/mapserver-config
 usr/include/mapserver/*
-usr/lib/libmapserver.la
-usr/lib/libmapserver.so
+usr/lib/*/libmapserver.la
+usr/lib/*/libmapserver.so
diff --git a/debian/libmapserver-6.2.1.install 
b/debian/libmapserver-6.2.1.install
index 0c84993..01666b4 100644
--- a/debian/libmapserver-6.2.1.install
+++ b/debian/libmapserver-6.2.1.install
@@ -1 +1 @@
-usr/lib/libmapserver-*.so
+usr/lib/*/libmapserver-*.so
diff --git a/debian/patches/hardening.patch b/debian/patches/hardening.patch
index c5ffdf6..accb53d 100644
--- a/debian/patches/hardening.patch
+++ b/debian/patches/hardening.patch
@@ -3,21 +3,23 @@ Author: Bas Couwenberg <sebas...@xs4all.nl>
 Last-Update: 2013-06-30
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -254,6 +254,9 @@ FLAGS = @DEBUG_FLAGS@ $(DEFINES) $(INCLU
+@@ -254,6 +254,11 @@ FLAGS = @DEBUG_FLAGS@ $(DEFINES) $(INCLU
  
  CFLAGS   = @CFLAGS@ $(FLAGS)
  CXXFLAGS = @CXXFLAGS@ $(FLAGS)
 +LDFLAGS = @LDFLAGS@
 +
++HARDENING_FLAGS = @CFLAGS@ @LDFLAGS@
++
 +LINK+=$(LDFLAGS)
  
  # Link flags and shared libs only
  SUP_LIBS =  $(FT_LIB) $(GD_LIB) $(OGL_LIB) $(FTGL_LIB) $(PROJ_LIBS) \
-@@ -417,6 +420,7 @@ mapscriptvars:     Makefile
+@@ -417,6 +422,7 @@ mapscriptvars:     Makefile
        echo $(LIBMAP) >> mapscriptvars
        echo -Wl,$(EXE_LDFLAGS) >> mapscriptvars
        grep '#define MS_VERSION ' mapserver.h >> mapscriptvars
-+      echo $(CFLAGS) >> mapscriptvars
++      echo $(HARDENING_FLAGS) >> mapscriptvars
  
  mapserver-config: Makefile
        rm -f mapserver-config
@@ -34,14 +36,14 @@ Last-Update: 2013-06-30
  # Default is 4.3
  else { $ms_version = '4.3'; }
  
-+$cflags = <STREAM>;
-+chomp $cflags;
++$hardening_flags = <STREAM>;
++chomp $hardening_flags;
 +
  print $inc."\n";
  print $libs."\n";
  print $static_libs."\n";
  print $ms_version."\n";
-+print $cflags."\n";
++print $hardening_flags."\n";
  
  my $swigInterfaceFile = "../mapscript.i";
  my $swigWrapperFile   = "mapscript_wrap.c";
@@ -49,8 +51,8 @@ Last-Update: 2013-06-30
              'DEFINE'          => $define,
              'INC'             => $inc,
              'LIBS'            => [$libs,$static_libs],
-+            'OPTIMIZE'        => $cflags,
-+            'LD'              => "$Config{ld} $cflags",
++            'OPTIMIZE'        => $hardening_flags,
++            'LD'              => "$Config{ld} $hardening_flags",
              'OBJECT'          => 'mapscript_wrap.o',
                  'VERSION'     => $ms_version
              );
diff --git a/debian/rules b/debian/rules
index 68b765f..a2201b9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -8,35 +8,30 @@
 # This has to be exported to make some magic below work.
 export DH_OPTIONS
 
-# Enable hardening build flags
-export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+# Enable hardening build flags, except:
+#  pie: causes build failure
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie
+
 
 CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
 CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
 LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
 
 CFLAGS+=$(CPPFLAGS)
-CFLAGS+=$(LDFLAGS)
 
-# mapscript.so for ruby1.9.1 fails to build with -Werror=format-security
+# Perl mapscript requires CPPFLAGS & LDFLAGS in CFLAGS
+PERL_CFLAGS=$(CFLAGS)
+PERL_CFLAGS+=$(LDFLAGS)
+
+# Ruby mapscript fails to build with -Werror=format-security
 RUBY_CPPFLAGS=$(subst -Werror=format-security,,$(CFLAGS))
+RUBY_CPPFLAGS+=$(LDFLAGS)
  
-package=mapserver
-
-version=$(shell expr `pwd` : '.*-\([0-9.]*\)')
-version_major=$(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*')
-CURDIR := $(shell pwd)
 PYVERS=$(shell pyversions -r debian/control)
 RUBYVERS=1.8 1.9.1
 PHP5API=$(shell php-config5 --phpapi)
 MANPAGES:=$(wildcard debian/man/*.*.xml)
 
-# Configure config :
-# Not using non free libpdf
-# Explicit disable direct goetiff support, 
-# it's better to use gdal geotiff support for stability reasons
-
-
 COMMON_CONFIG= --prefix=/usr \
                --with-gd=/usr \
                --with-freetype=/usr \
@@ -57,69 +52,15 @@ COMMON_CONFIG=      --prefix=/usr \
                --with-php \
                --with-cairo
 
-rstoptions=--stylesheet=mapscript.css --link-stylesheet 
-
 MS_CFLAGS=$(CFLAGS)
-MS_CXXFLAGS=$(MS_CFLAGS)
+MS_CXXFLAGS=$(CFLAGS)
 MS_CPPFLAGS=$(CPPFLAGS)
 MS_LDFLAGS=$(LDFLAGS)
 
-configure-stamp:
-       dh_testdir
-       ./configure $(COMMON_CONFIG) CFLAGS="$(MS_CFLAGS)" 
CXXFLAGS="$(MS_CXXFLAGS)" CPPFLAGS="$(MS_CPPFLAGS)" LDFLAGS="$(MS_LDFLAGS)"
-
-       touch configure-stamp
-
-# This is the correct, policy-compliant build target
-#build: build-indep build-arch
-
-# This is the incorrect, non-policy compliant build target
-# it is nessecary because the auto-builders use build, but don't install 
Build-Depends-Indep
-build: build-arch
+%:
+       dh $@ --with python2
 
-build-indep: build-indep-stamp
-build-indep-stamp:
-       dh_testdir
-       touch build-indep-stamp
-
-build-arch: build-arch-stamp
-build-arch-stamp: configure-stamp
-       dh_testdir
-
-       # Create man pages from DocBook XML
-       for x in $(MANPAGES) ; do \
-         docbook2x-man $$x ; \
-         mv `basename $$x | sed 's/.xml$$//'` `dirname $$x` ; \
-       done
-
-       # Build binary lib
-       $(MAKE) mapscriptvars || touch mapscriptvars
-       $(MAKE)  
-
-       # Build Perl mapscript
-       cd $(CURDIR)/mapscript/perl && \
-         perl Makefile.PL INSTALLDIRS=vendor \
-         && $(MAKE) LD_RUN_PATH="" OPTIMIZE="$(CFLAGS) -W -Wall"
-
-       # Build python
-       cd $(CURDIR)/mapscript/python && \
-         set -e; for python in $(PYVERS); do CFLAGS="$(CFLAGS)" 
LDFLAGS="$(LDFLAGS)" $$python setup.py build; done
-
-       # Build ruby
-       cd $(CURDIR)/mapscript/ruby && set -e ; \
-         for v in $(RUBYVERS) ; do \
-           ruby$$v extconf.rb --with-cppflags="$(RUBY_CPPFLAGS) " && $(MAKE) 
&& \
-             mv mapscript.so ruby$$v-mapscript.so ; \
-         done
-
-       touch build-arch-stamp
-
-
-# This is needed to do 'make clean', but will be removed by the clean
-# targets.  The end result is that 'debuild clean' only can execute
-# once.  Hack around this problem by faking the creation when make fail.
-
-clean-first-build:
+override_dh_auto_clean:
        dh_testdir
 
        -$(RM) configure-stamp build-arch-stamp build-indep-stamp
@@ -133,13 +74,14 @@ clean-first-build:
          for python in $(PYVERS); do $$python setup.py clean; done
        -$(RM) -rf mapscript/python/build mapscript/python/Makefile
        [ ! -f $(CURDIR)/mapscript/ruby/Makefile ] || $(MAKE) distclean -C 
$(CURDIR)/mapscript/ruby
-       -$(RM) -rf $(CURDIR)/mapscript/ruby/mapscript_wrap.c
+       -$(RM) -rf $(CURDIR)/mapscript/ruby/mapscript_wrap.c 
$(CURDIR)/mapscript/ruby/*mapscript.so
        -$(RM) mapscriptvars libtool
 
        -$(RM)  mapscript/perl/mapscript.i \
                mapscript/tcl/mapscript.i \
                mapscript/python/mapscript.i
 
+       touch config.log
        [ ! -f $(CURDIR)/Makefile ] || $(MAKE) distclean
 
        # Remove some generated files 
@@ -149,27 +91,48 @@ clean-first-build:
 
        -$(RM) debian/.#* .#*
 
-clean: clean-first-build
-       dh_testdir
        dh_prep
+
        -$(RM) install-arch-stamp install-indep-stamp
+
        -$(RM) -rf $(CURDIR)/debian/files
-       [ ! -f Makefile ] || $(MAKE) distclean
        rm -f debian/*.debhelper.log
+       rm -f debian/man/*.1
+
+override_dh_auto_configure:
+       dh_auto_configure -- $(COMMON_CONFIG) CFLAGS="$(MS_CFLAGS)" 
CXXFLAGS="$(MS_CXXFLAGS)" CPPFLAGS="$(MS_CPPFLAGS)" LDFLAGS="$(MS_LDFLAGS)"
+
+override_dh_auto_build:
+       dh_testdir
 
-install-indep: install-indep-stamp
-install-indep-stamp: build-indep
-       dh_testdir -i
-       dh_testroot -i
-       dh_installdirs -i
-       dh_install -i
-       touch install-indep-stamp
-
-install-arch: install-arch-stamp
-install-arch-stamp: build-arch
-       dh_testdir -a
-       dh_testroot -a
-       dh_installdirs -a
+       # Create man pages from DocBook XML
+       for x in $(MANPAGES) ; do \
+         docbook2x-man $$x ; \
+         mv `basename $$x | sed 's/.xml$$//'` `dirname $$x` ; \
+       done
+
+       dh_auto_build
+
+       # Perl mapscript
+       cd $(CURDIR)/mapscript/perl && \
+         perl Makefile.PL INSTALLDIRS=vendor \
+         && $(MAKE) LD_RUN_PATH="" OPTIMIZE="$(PERL_CFLAGS) -W -Wall"
+
+       # Python mapscript
+       cd $(CURDIR)/mapscript/python && \
+         set -e; for python in $(PYVERS); do CFLAGS="$(CFLAGS)" 
LDFLAGS="$(LDFLAGS)" $$python setup.py build; done
+
+       # Ruby mapscript
+       cd $(CURDIR)/mapscript/ruby && set -e ; \
+         for v in $(RUBYVERS) ; do \
+           ruby$$v extconf.rb --with-cppflags="$(RUBY_CPPFLAGS) " && $(MAKE) 
&& \
+             mv mapscript.so ruby$$v-mapscript.so ; \
+         done
+
+override_dh_auto_test:
+       # msautotest submodule is not used
+
+override_dh_auto_install:
        dh_auto_install
 
        # Perl mapscript
@@ -180,6 +143,7 @@ install-arch-stamp: build-arch
        cd $(CURDIR)/mapscript/python && set -e ; \
          for python in $(PYVERS); do \
            $$python setup.py install --install-layout=deb 
--root=$(CURDIR)/debian/python-mapscript ; \
+           $(RM) -f 
$(CURDIR)/debian/python-mapscript/usr/lib/$$python/dist-packages/mapscript.pyc 
; \
          done
 
        # Ruby mapscript
@@ -201,7 +165,7 @@ install-arch-stamp: build-arch
        -$(RM) -rf $(CURDIR)/debian/tmp/usr/lib/php5/$(PHP5API)/*.la
 
        # empty dependency_libs in la file
-       sed -i "/dependency_libs/ s/'.*'/''/" 
$(CURDIR)/debian/tmp/usr/lib/libmapserver.la
+       sed -i "/dependency_libs/ s/'.*'/''/" 
$(CURDIR)/debian/tmp/usr/lib/*/libmapserver.la
 
        # CGI mapserver
        -mkdir -p debian/tmp/usr/lib/cgi-bin
@@ -213,50 +177,26 @@ install-arch-stamp: build-arch
        -mkdir -p debian/tmp/usr/include/mapserver/
        install -m755 *.h debian/tmp/usr/include/mapserver/
 
-       touch install-arch-stamp
-
-binary-indep: install-indep
-       dh_testdir -i
-       dh_testroot -i
-       dh_installchangelogs -i HISTORY.TXT
-       dh_installdocs -i
-       dh_installexamples -i
-       dh_installdebconf -i
-       dh_installman
-       dh_compress -i -X.xml -X.xsd -X.xsl
-       dh_link -i
-       dh_lintian -i
-       dh_fixperms -i
-       dh_installdeb -i
-       dh_gencontrol -i
-       dh_md5sums -i
-       dh_builddeb -i
-
-binary-arch: install-arch
-       dh_testdir -a
-       dh_testroot -a
-       dh_install --autodest --list-missing 
-       dh_installchangelogs -a HISTORY.TXT
-       dh_installdocs -a
-       dh_installexamples -a
+override_dh_installchangelogs:
+       dh_installchangelogs HISTORY.TXT
+
+override_dh_installexamples:
+       dh_installexamples
+
        chmod a-x 
debian/php*-mapscript/usr/share/doc/php*-mapscript/examples/*.phtml
-       dh_installdebconf -a
-       dh_installman
-       dh_python2 -ppython-mapscript
-       dh_compress -a
-       dh_link -a
-       dh_lintian -a
-       dh_strip -a
-       dh_fixperms -a
-       dh_makeshlibs -a -Xphp_mapscript
-       dh_installdeb -a
-       dh_shlibdeps -a
-       dh_perl -plibmapscript-perl
-       dh_gencontrol -a
-       dh_md5sums -a
-       dh_builddeb -a
 
-binary: binary-indep binary-arch
+override_dh_install:
+       dh_install --autodest --list-missing
+
+override_dh_compress:
+       dh_compress -X.xml -X.xsd -X.xsl
 
-.PHONY: build build-arch build-indep clean binary-indep binary-arch binary 
install install-indep install-arch
+override_dh_makeshlibs:
+       dh_makeshlibs -Xphp_mapscript
+
+override_dh_python2:
+       dh_python2 -ppython-mapscript
+
+override_dh_perl:
+       dh_perl -plibmapscript-perl
 

-- 
Mapserver

_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to