[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