[rkward/frameworks] debian: Experimental: Use dh_auto-based rules for PPA-builds, too.

Thomas Friedrichsmeier null at kde.org
Wed Mar 28 08:50:11 UTC 2018


Git commit b33a4fa2c076544c52287edcec03b356d6e2bc8e by Thomas Friedrichsmeier.
Committed on 28/03/2018 at 08:49.
Pushed by tfry into branch 'frameworks'.

Experimental: Use dh_auto-based rules for PPA-builds, too.

M  +17   -80   debian/rules

https://commits.kde.org/rkward/b33a4fa2c076544c52287edcec03b356d6e2bc8e

diff --git a/debian/rules b/debian/rules
index 31910a94..dfe03c0a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,25 +1,4 @@
 #!/usr/bin/make -f
-# -*- makefile -*-
-# Based on the sample debian/rules of dh_make
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# For CXXFLAGS and CFLAGS.
-# See http://lists.debian.org/debian-devel-announce/2011/09/msg00001.html 
-DPKG_EXPORT_BUILDFLAGS = 1
--include /usr/share/dpkg/buildflags.mk
-
-CFLAGS += -Wall
-
-# Workaround for cmake not handling CPPFLAGS (https://wiki.debian.org/HardeningWalkthrough):
-CFLAGS += $(CPPFLAGS)
-CXXFLAGS += $(CPPFLAGS)
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
 #we need to know the R version
 RVERS = $(shell dpkg-query -W --showformat='$${Version}' r-base-core)
@@ -29,24 +8,20 @@ RMINOR = $(shell echo $(RVERS) | awk -F. '{print $$2}')
 # set built-time of GNUR packages to time of created binary package based on stamp in changelog
 builttime = $(shell dpkg-parsechangelog -l$(CURDIR)/debian/changelog | awk -F': ' '/Date/ {print $$2}')
 
+# Workaround for cmake not handling CPPFLAGS (https://wiki.debian.org/HardeningWalkthrough):
+# As we cannot easily use dh for configuring, we have to merge flags, manually.
+CFLAGS += $(CPPFLAGS)
+CXXFLAGS += $(CPPFLAGS)
+
 # easier typing
 DESTDIR = $(CURDIR)/debian/tmp
+BUILDDIR = $(CURDIR)/debian/build
 
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -O0
-else
-	CFLAGS += -O2
-endif
-
-build: build-arch build-indep
-build-arch: build-stamp
-build-indep: build-stamp
-
-build-stamp:
-	dh_testdir
-
-	mkdir -p $(CURDIR)/build
+%:
+	dh $@ --buildsystem=cmake --builddirectory=$(BUILDDIR)
 
+override_dh_auto_configure:
+	mkdir -p $(BUILDDIR)
 	# Some installations of R need a specific version of the compiler(s)
 	# R CMD config provides info on which compiler to use
 	CC="`/usr/bin/R CMD config CC`" \
@@ -57,51 +32,25 @@ build-stamp:
 		-DR_LIBDIR=/usr/lib/R/site-library/ \
 		-DBUILD_TIMESTAMP="$(builttime)"
 
-	# Add here commands to compile the package.
-	dh_auto_build '--buildsystem=kf5' --parallel
-	touch build-stamp
-
-clean:
-	dh_auto_clean
-	rm -f build-stamp
-	dh_clean
-
-install: build
+override_dh_auto_install:
 	dh_auto_install
 
 	# dirty hack to get rid of conflicting r.xml file without adjusting all makefiles
 	rm -vf $(DESTDIR)/usr/share/katepart/syntax/r.xml
-	
 	# remove unneeded R package files
 	rm -vf $(DESTDIR)/usr/lib/R/site-library/R.css $(DESTDIR)/usr/lib/R/site-library/rkward/COPYING
-
 	# remove x-test locale KF5 TODO FIXME
 	rm -rvf $(DESTDIR)/usr/share/kde4/apps/rkward/po/x-test $(DESTDIR)/usr/share/locale/x-test
 
-	# Sort the remaining bits into rkward and rkward-data subpackages
-	dh_install --sourcedir=$(DESTDIR)
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs ChangeLog
-	dh_installdocs
-	dh_installexamples
-	dh_installmenu
-	dh_installman
-	dh_link
-	dh_strip
+override_dh_compress:
 	# do not compress KDE HTML help
 	dh_compress -Xusr/share/doc/kde/HTML
-	dh_fixperms
-	dh_installdeb
+
+override_dh_shlibdeps:
 	dh_shlibdeps
 	# unfortunately, the r-base-core dependency can not be found by dh_shlibdeps, so we need to get at the version manually
+	# NOTE: This "if" is currently always true (see build-deps), but left here, for convenience, in case we get into trouble
+	# with binary incompatibility (esp. foward incompatibility) again, in the future.
 	@if [ "$(RMAJOR)" -eq "3" ] && [ "$(RMINOR)" -ge "0" ] ; then \
 		echo "rvers=r-base-core (>= $(RVERS))" >> $(CURDIR)/debian/rkward.substvars ; \
 	else \
@@ -110,16 +59,4 @@ binary-arch: build install
 	else \
 		if [ "$(RMAJOR)" -eq "2" ] && [ "$(RMINOR)" -ge "9" ] ; then \
 		echo "rvers=r-base-core (<< 2.14.0), r-base-core (>= 2.9.0)" >> $(CURDIR)/debian/rkward.substvars ; \
-	else \
-		if [ "$(RMAJOR)" -eq "2" ] && [ "$(RMINOR)" -ge "8" ] ; then \
-		echo "rvers=r-base-core (<< 2.9.0), r-base-core (>= 2.8.0)" >> $(CURDIR)/debian/rkward.substvars ; \
-	else \
-		if [ "$(RMAJOR)" -eq "2" ] && [ "$(RMINOR)" -ge "7" ] ; then \
-		echo "rvers=r-base-core (<< 2.8.0), r-base-core (>= 2.7.0)" >> $(CURDIR)/debian/rkward.substvars ; \
-	fi; fi ; fi ; fi ; fi
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
+	fi; fi; fi;



More information about the rkward-tracker mailing list