[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

pkg-kde: commit - rev 184 - people/dato/kde-common



Author: dato-guest
Date: 2004-11-05 14:00:44 -0700 (Fri, 05 Nov 2004)
New Revision: 184

Modified:
   people/dato/kde-common/rules.mk
   people/dato/kde-common/vars.mk
Log:
- Standardize the use of double-colon rules. Extra rules should be
  written after the include debian/common/rules.mk line, to ensure the
  corresponding *-stamp rule has been run.

- Nuke build-{arch,indep}. One build target seems to suffice.
  BUILD_{ARCH,INDEP_MAKE_TARGETS becomes BUILD_MAKE_TARGETS.

- Install now works like this: there is the make-install target, that
  installs files into debian/tmp. Manipulation on debian/tmp/* files can
  happen in the make-install:: double-colon rule.

  The install rule now calls all dh_install* scripts (moved from
  binary-common). dh_install is called with --list-missing (which now
  works properly since there are no separate install-{arch,indep}
  rules).

- Added binary-% rule that permits building of individual packages.

- The binary rule, instead of depending on binary-{arch,indep}, does
  call debian/rules binary-common with no DH_OPTIONS.

- Use touch $@ statements, that is, without using the name of the stamp.

- use += for DH_COMPRESS_ARGS, allowing the common set of extensions to
  be centralized.


Modified: people/dato/kde-common/rules.mk
===================================================================
--- people/dato/kde-common/rules.mk	2004-11-05 15:46:26 UTC (rev 183)
+++ people/dato/kde-common/rules.mk	2004-11-05 21:00:44 UTC (rev 184)
@@ -7,7 +7,10 @@
 debian/debiandirs: admin/debianrules
 	perl -w admin/debianrules echodirs > debian/debiandirs
 
-configure: configure-stamp
+###########################################################
+### CONFIGURE
+###########################################################
+configure:: configure-stamp
 configure-stamp:
 	dh_testdir
 
@@ -29,100 +32,48 @@
 	cd $(objdir) && \
 	../configure $(configkde) $(CONFIGURE_FLAGS) --disable-dependency-tracking
 
-	touch configure-stamp
+	touch $@
 
-# Build targets
-build: build-arch build-indep
-
-build-arch: build-arch-stamp
-build-arch-stamp: configure-stamp
+###########################################################
+### BUILD
+###########################################################
+build:: build-stamp
+build-stamp: configure-stamp
 	dh_testdir
 
-	cd $(objdir) && $(MAKE) $(BUILD_ARCH_MAKE_TARGETS)
+	cd $(objdir) && $(MAKE) $(BUILD_MAKE_TARGETS)
 
 	# Generate manpages from sgml (if present)
 	for man in $$(find debian/man -name '*.sgml'); do \
 	    docbook-to-man $$man > `dirname $$man`/`basename $$man .sgml`.1; \
 	done
 
-	touch build-arch-stamp
+	touch $@
 
-build-indep: build-indep-stamp
-build-indep-stamp: configure-stamp
+###########################################################
+### INSTALL
+###########################################################
+make-install:: make-install-stamp
+make-install-stamp: build-stamp
 	dh_testdir
-
-	cd $(objdir) && $(MAKE) $(BUILD_INDEP_MAKE_TARGETS)
-
-	touch build-indep-stamp
-
-# Clean targets
-debian-clean:
-	dh_testdir
 	dh_testroot
-
-	dh_clean
-	rm -f install-stamp
-
-clean::
-	dh_testdir
-	dh_testroot
-	rm -f build-arch-stamp build-indep-stamp configure-stamp install-stamp \
-		debian/debiandirs debian/substvars
-
-	# Remove manpages *iff* they were generated from sgml
-	for man in $$(find debian/man -name '*.sgml'); do \
-	    rm -f `dirname $$man`/`basename $$man .sgml`.1; \
-	done
-
-	# Remove Debian specific patches
-	sh debian/common/patches.sh unapply
-
-	# Remove build tree
-	rm -rf $(objdir)
-
-	# if Makefile exists run distclean
-	if test -f Makefile; then \
-	    $(MAKE) distclean; \
-	fi
-
-	if test -d CVS; then \
-	    $(MAKE) -f admin/Makefile.common cvs-clean ;\
-	fi
-
-	dh_clean
-
-# Install targets
-install:: install-stamp
-install-stamp:
-	dh_testdir
-	dh_testroot
 	dh_clean -k
 	dh_installdirs
+	dh_link
 	
 	cd $(objdir) && \
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
 	
-	touch install-stamp
+	touch $@
 
-install-arch: install
-	dh_install -s
-
-install-indep: install
-	if grep -qE '^Architecture: +all *$$' debian/control; then \
-	    dh_install -i; \
-	fi
-
-# Binary targets
-
-# Must not depend on anything. This is to be called by
-# binary-arch/binary-indep in another 'make' thread.
-binary-common:
+install:: install-stamp
+install-stamp: make-install-stamp
 	dh_testdir
 	dh_testroot
 	dh_installxfonts
 	dh_installchangelogs
 	dh_installdocs
-#	dh_installexamples
+	dh_installexamples
 	dh_installmenu
 	dh_installdebconf
 	dh_installlogrotate
@@ -133,7 +84,15 @@
 #	dh_installcron
 #	dh_installinfo
 	dh_installman
-	dh_link
+	dh_install --list-missing
+	touch $@
+
+###########################################################
+### BINARY
+###########################################################
+# binary-common must not depend on anything. it is to be called by
+# binary-whatever in another 'make' thread.
+binary-common:
 	dh_strip
 	dh_compress $(DH_COMPRESS_ARGS)
 	dh_fixperms $(DH_FIXPERMS_ARGS)
@@ -149,23 +108,58 @@
 	dh_md5sums
 	dh_builddeb
 
-# Build architecture independant packages using the common target.
-binary-indep: build-indep install-indep
-	if grep -qE '^Architecture: +all *$$' debian/control; then \
-	    $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common; \
-	fi
+# Build all packages using the common target.
+binary: install
+	$(MAKE) -f debian/rules binary-common
 
 # Build architecture dependant packages using the common target.
-binary-arch: build-arch install-arch
+binary-arch: install
 	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
 
-binary: binary-arch binary-indep
-	@echo; echo; echo "Checking for not installed files..."
-	@if ! test -f debian/not-installed.known; then \
-	    dh_install --no-act --list-missing;  \
-	else \
-	    dh_install --no-act --list-missing 2>&1 | sort | \
-	    comm -3 - debian/not-installed.known || true; \
+# Build architecture independant packages using the common target.
+binary-indep: install
+	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Any other binary targets build just one binary package at a time.
+binary-%: install
+	$(MAKE) -f debian/rules DH_OPTIONS=-p$* binary-common
+
+###########################################################
+### CLEAN
+###########################################################
+debian-clean:
+	dh_testdir
+	dh_testroot
+
+	dh_clean
+	rm -f make-install-stamp install-stamp
+
+clean::
+	dh_testdir
+	dh_testroot
+	rm -f configure-stamp build-stamp make-install-stamp install-stamp \
+		debian/debiandirs debian/substvars
+
+	# Remove manpages *iff* they were generated from sgml
+	for man in $$(find debian/man -name '*.sgml'); do \
+	    rm -f `dirname $$man`/`basename $$man .sgml`.1; \
+	done
+
+	# Remove Debian specific patches
+	sh debian/common/patches.sh unapply
+
+	# Remove build tree
+	rm -rf $(objdir)
+
+	# if Makefile exists run distclean
+	if test -f Makefile; then \
+	    $(MAKE) distclean; \
 	fi
 
-.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
+	if test -d CVS; then \
+	    $(MAKE) -f admin/Makefile.common cvs-clean ;\
+	fi
+
+	dh_clean
+
+.PHONY: configure build make-install install clean binary-indep binary-arch binary

Modified: people/dato/kde-common/vars.mk
===================================================================
--- people/dato/kde-common/vars.mk	2004-11-05 15:46:26 UTC (rev 183)
+++ people/dato/kde-common/vars.mk	2004-11-05 21:00:44 UTC (rev 184)
@@ -24,5 +24,5 @@
 objdir = $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
 
 # dh_* default arguments
-DH_COMPRESS_ARGS   ?= -X.bz2 -X.css -X.dcl -X.docbook -X-license -X.tag
+DH_COMPRESS_ARGS   += -X.bz2 -X.css -X.dcl -X.docbook -X-license -X.tag
 DH_MAKESHLIBS_ARGS ?= -V



Reply to: