#!/usr/bin/make -f # Made with the aid of debmake, by Christoph Lameter, # based on the sample debian/rules file for GNU hello by Ian Jackson. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # 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 include /usr/share/dpkg/pkg-info.mk DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) CFLAGS := $(shell dpkg-buildflags --get CFLAGS) LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) CFLAGS += $(CPPFLAGS) CFLAGS += $(LDFLAGS) RUBYVERSIONS := $(shell dh_ruby --print-supported) #PHPAPI := $(shell php-config --phpapi) MANPAGES := $(wildcard debian/man/*.*.xml) MS_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's/\+.*//') BUILD_DATE := $(shell LC_ALL=C date -u "+%d %B %Y" -d "@$(SOURCE_DATE_EPOCH)") CMAKE_OPTS := \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)" \ -DCMAKE_MODULE_LINKER_FLAGS="$(LDFLAGS)" \ -DCMAKE_SHARED_LINKER_FLAGS="$(LDFLAGS)" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_VERBOSE_MAKEFILE=1 \ -DWITH_PROJ=1 \ -DWITH_KML=1 \ -DWITH_SOS=1 \ -DWITH_WMS=1 \ -DWITH_FRIBIDI=1 \ -DWITH_HARFBUZZ=1 \ -DWITH_ICONV=1 \ -DWITH_CAIRO=1 \ -DWITH_SVGCAIRO=0 \ -DWITH_RSVG=1 \ -DWITH_MYSQL=0 \ -DWITH_FCGI=1 \ -DWITH_GEOS=1 \ -DWITH_POSTGIS=1 \ -DWITH_GDAL=1 \ -DWITH_OGR=1 \ -DWITH_CURL=1 \ -DWITH_CLIENT_WMS=1 \ -DWITH_CLIENT_WFS=1 \ -DWITH_WFS=1 \ -DWITH_WCS=1 \ -DWITH_LIBXML2=1 \ -DWITH_THREAD_SAFETY=1 \ -DWITH_GIF=1 \ -DWITH_ORACLESPATIAL=0 \ -DWITH_ORACLE_PLUGIN=0 \ -DWITH_MSSQL2008=0 \ -DWITH_EXEMPI=0 \ -DWITH_XMLMAPFILE=0 \ -DWITH_V8=0 \ -DWITH_PIXMAN=0 %: dh $@ --with python2,pkgkde_symbolshelper \ --parallel \ --buildsystem cmake override_dh_auto_clean: dh_clean -$(RM) -f $(CURDIR)/debian/man/*.1 -$(RM) -rf obj-*/ -$(RM) -rf build-ruby*/ debian/tmp-ruby*/ override_dh_auto_configure: dh_auto_configure -- $(CMAKE_OPTS) \ -DWITH_PYTHON=1 \ -DWITH_PHP=0 \ -DWITH_PERL=1 \ -DWITH_RUBY=0 \ -DWITH_JAVA=1 \ -DWITH_CSHARP=0 for RUBY in $(RUBYVERSIONS); do \ dh_auto_configure --builddirectory=build-$$RUBY -- $(CMAKE_OPTS) \ -DWITH_PYTHON=0 \ -DWITH_PHP=0 \ -DWITH_PERL=0 \ -DWITH_RUBY=1 \ -DWITH_JAVA=0 \ -DWITH_CSHARP=0 \ -DRUBY_EXECUTABLE=/usr/bin/$$RUBY \ ; \ done override_dh_auto_build: # Create man pages from DocBook XML for x in $(MANPAGES) ; do \ docbook2x-man --string-param header-3="$(BUILD_DATE)" $$x ; \ mv `basename $$x | sed 's/.xml$$//'` `dirname $$x` ; \ done dh_auto_build for RUBY in $(RUBYVERSIONS); do \ dh_auto_build --builddirectory=build-$$RUBY ; \ done override_dh_auto_test: # msautotest submodule is not used override_dh_auto_install: dh_auto_install for RUBY in $(RUBYVERSIONS); do \ dh_auto_install --builddirectory=build-$$RUBY --destdir=debian/tmp-$$RUBY ; \ mkdir -p debian/tmp/`$$RUBY -r rbconfig -e "print RbConfig::CONFIG['vendorarchdir']"` ; \ mv -v debian/tmp-$$RUBY`$$RUBY -r rbconfig -e "print RbConfig::CONFIG['vendorarchdir']"`/mapscript.so \ debian/tmp`$$RUBY -r rbconfig -e "print RbConfig::CONFIG['vendorarchdir']"`/ ; \ done -mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ -mv -v $(CURDIR)/debian/tmp/usr/lib/libmapserver*.so* $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ -sed -i "s/lib\/libmapserver/lib\/$(DEB_HOST_MULTIARCH)\/libmapserver/g" $(CURDIR)/debian/tmp/usr/share/*/cmake/*.cmake # removing embedded rpath in binaries -find $(CURDIR)/debian/tmp/usr/bin -type f -exec chrpath --delete {} \; # removing embedded rpath in libraries -find $(CURDIR)/debian/tmp/usr/lib -name "*.so*" -type f -exec chrpath --delete {} \; # TODO: Use dh_php for substvars & mapscript.ini installation # PHP mapscript #echo 'misc:Depends=phpapi-'$(PHPAPI) >> debian/php-mapscript.substvars #-mkdir -p debian/tmp/etc/php/7.0/mods-available/ #install -m644 debian/mapscript.ini debian/tmp/etc/php/7.0/mods-available/ override_dh_installchangelogs: dh_installchangelogs HISTORY.TXT override_dh_installexamples: dh_installexamples #-chmod a-x $(CURDIR)/debian/php-mapscript/usr/share/doc/php-mapscript/examples/*.phtml override_dh_install: dh_install --autodest --list-missing override_dh_compress: dh_compress -X.xml -X.xsd -X.xsl override_dh_makeshlibs: dh_makeshlibs -Xphp_mapscript -- -c0 -v$(MS_VERSION) override_dh_python2: dh_python2 -ppython-mapscript override_dh_perl: dh_perl -plibmapscript-perl override_dh_java: dh_java -plibmapscript-java override_dh_strip: dh_strip --dbgsym-migration='libmapserver-dbg (<< 7.2.0~)'