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

Bug#577804: apt: debian/rules improvements -- EOL whitespace, long options, POSIX cmd substitution



Julian Andres Klode <jak@debian.org> writes:

>>     r1687 nosmart+http://bzr.debian.org/apt/apt/debian-experimental/
>
> This branch has not been touched since March 2009. You should use
> the debian-sid branch instead.

Attached.

    against 2010-03-26 r1964 http://bzr.debian.org/apt/debian-sid

>From ca6b0b210d2f2b619e2c2442b8be5c5f27097f4d Mon Sep 17 00:00:00 2001
From: Jari Aalto <jari.aalto@cante.net>
Date: Fri, 16 Apr 2010 20:42:55 +0300
Subject: [PATCH] debian/rules: use --long options and POSIX command substitution
Organization: Private
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

- Spell out the meaning of the command by using --long style options
  where possible. With long options, manual pages need to be consulted
  less frequently.
- Remove subshell calls in simple lines, like in "(cd DIR; cmd)".
- Utilize GNU tar option --directory in cases like "cd DIR; tar ..."
- Use POSIX command substitution: $(<command sequence>)
- Put redirections like '>' at the end of line
- Remove EOL whitespace

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
---
 rules |   83 +++++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 43 insertions(+), 40 deletions(-)

diff --git a/rules b/rules
index 2fe6ed6..21a015d 100755
--- a/rules
+++ b/rules
@@ -47,7 +47,7 @@ BASE=.
 ifdef BUILD
 BUILD_POSSIBLE := $(BUILD) $(BASE)/$(BUILD)
 else
-BUILD_POSSIBLE := $(BASE) $(BASE)/build-$(shell uname -m) $(BASE)/build
+BUILD_POSSIBLE := $(BASE) $(BASE)/build-$(shell uname --machine) $(BASE)/build
 endif
 BUILDX:= $(foreach i,$(BUILD_POSSIBLE),$(wildcard $(i)/environment.mak*))
 BUILDX:= $(patsubst %/,%,$(firstword $(dir $(BUILDX))))
@@ -84,7 +84,7 @@ LIBAPTINST_PROVIDE=libapt-inst$(LIBAPTINST_MAJOR)
 debian/shlibs.local: apt-pkg/makefile
 	# We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and
 	# one for the rest of the packages. This ensures that each package gets
-	# the right overrides.. 
+	# the right overrides..
 	rm -rf $@ $@.apt $@.apt-utils
 	echo "libapt-pkg $(LIBAPTPKG_MAJOR)" > $@.apt
 
@@ -94,8 +94,8 @@ debian/shlibs.local: apt-pkg/makefile
 	echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
 	echo "libapt-inst $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@
 
-build: build/build-stamp	
-build-doc: build/build-doc-stamp	
+build: build/build-stamp
+build-doc: build/build-doc-stamp
 
 # Note that this is unconditionally done first as part of loading environment.mak
 # The true is needed to force make to reload environment.mak after running
@@ -106,7 +106,7 @@ build/environment.mak: build/configure-stamp
 configure: configure.in
 build/configure-stamp: configure
 	dh_testdir
-	-mkdir build
+	mkdir --parents build
 	cp COPYING debian/copyright
 	cd build && CXXFLAGS="$(confcxxflags)" ../configure $(confflags)
 	touch $@
@@ -123,9 +123,9 @@ build/build-doc-stamp: build/configure-stamp
 
 clean:
 	dh_testdir
-#	dh_testroot
-	[ -f Makefile ] && $(MAKE) clean
-	[ -f Makefile ] && $(MAKE) distclean
+#       dh_testroot
+
+	[ -f Makefile ] || $(MAKE) clean distclean
 
 	rm -rf build
 
@@ -141,22 +141,22 @@ libapt-pkg-doc: build-doc debian/shlibs.local
 	dh_installdirs -p$@
 #
 # libapt-pkg-doc install
-#	
+#
 	dh_installdocs -p$@ $(BLD)/docs/cache* $(BLD)/docs/design* $(BLD)/docs/dpkg-tech* \
-                            $(BLD)/docs/files* $(BLD)/docs/method* \
+			    $(BLD)/docs/files* $(BLD)/docs/method* \
 			    doc/libapt-pkg2_to_3.txt doc/style.txt
 	dh_installexamples -p$@
-#	dh_installmenu -p$@
-#	dh_installinit -p$@
-#	dh_installcron -p$@
-#	dh_installman -p$@
+#       dh_installmenu -p$@
+#       dh_installinit -p$@
+#       dh_installcron -p$@
+#       dh_installman -p$@
 
-#	dh_undocumented -p$@
+#       dh_undocumented -p$@
 	dh_installchangelogs -p$@
 	dh_strip -p$@
 	dh_compress -p$@
 	dh_fixperms -p$@
-#	dh_suidregister -p$@
+#       dh_suidregister -p$@
 	dh_installdeb -p$@
 	dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE)
 	dh_md5sums -p$@
@@ -171,7 +171,7 @@ apt-doc: build-doc
 #
 	# Copy the guides
 	dh_installdocs -p$@ $(BLD)/docs/guide*.text $(BLD)/docs/guide*.html \
-	               $(BLD)/docs/offline*.text $(BLD)/docs/offline*.html
+		       $(BLD)/docs/offline*.text $(BLD)/docs/offline*.html
 	dh_installchangelogs -p$@
 	dh_compress -p$@
 	dh_fixperms -p$@
@@ -214,7 +214,7 @@ apt: build build-doc debian/shlibs.local
 	cp debian/apt.logrotate debian/$@/etc/logrotate.d/apt
 
 	cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove
-#	head -n 500 ChangeLog > debian/ChangeLog
+#       head -n 500 ChangeLog > debian/ChangeLog
 
 	# copy lintian override
 	cp share/lintian-overrides debian/$@/usr/share/lintian/overrides/apt
@@ -225,7 +225,7 @@ apt: build build-doc debian/shlibs.local
 	rm -f po/*.pot
 
 	dh_installexamples -p$@ $(BLD)/docs/examples/*
-	dh_installman -p$@ $(wildcard $(patsubst %,doc/%.[158],$(apt_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt_MANPAGES)))
+	dh_installman -p$@
 	dh_installcron -p$@
 	dh_installdocs -p$@
 	dh_installchangelogs -p$@
@@ -234,7 +234,7 @@ apt: build build-doc debian/shlibs.local
 	dh_fixperms -p$@
 	dh_makeshlibs -p$@ -m$(LIBAPTPKG_MAJOR) -V '$(LIBAPTPKG_PROVIDE)'
 	dh_installdeb -p$@
-	dh_shlibdeps -p$@ -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt
+	dh_shlibdeps -p$@ -l$(pwd)/debian/apt/usr/lib:$(pwd)/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt
 	dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE)
 	dh_md5sums -p$@
 	dh_builddeb -p$@
@@ -249,20 +249,20 @@ libapt-pkg-dev: build debian/shlibs.local
 #
 	cp -a $(BLD)/bin/libapt-pkg*.so debian/libapt-pkg-dev/usr/lib/
 	cp -a $(BLD)/bin/libapt-inst*.so debian/libapt-pkg-dev/usr/lib/
-#	ln -s libapt-pkg.so.$(LIBAPTPKG_MAJOR) debian/libapt-pkg-dev/usr/lib/libapt-pkg.so
+#       ln -s libapt-pkg.so.$(LIBAPTPKG_MAJOR) debian/libapt-pkg-dev/usr/lib/libapt-pkg.so
 	cp $(BLD)/include/apt-pkg/*.h debian/libapt-pkg-dev/usr/include/apt-pkg/
 
 	dh_installdocs -p$@
-#	dh_installmenu -p$@
-#	dh_installinit -p$@
-#	dh_installcron -p$@
-#	dh_installman -p$@
+#       dh_installmenu -p$@
+#       dh_installinit -p$@
+#       dh_installcron -p$@
+#       dh_installman -p$@
 
 	dh_installchangelogs -p$@
 	dh_strip -p$@
 	dh_compress -p$@
 	dh_fixperms -p$@
-#	dh_suidregister -p$@
+#       dh_suidregister -p$@
 	dh_installdeb -p$@
 	dh_gencontrol -p$@ -u -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE)
 	dh_md5sums -p$@
@@ -273,7 +273,6 @@ apt-utils: build debian/shlibs.local
 	dh_testdir -p$@
 	dh_testroot -p$@
 	dh_clean -p$@ -k
-	dh_installdirs -p$@
 
 	# install the shared libs
 	find $(BLD)/bin/ -type f -name "libapt-inst*.so.*" -exec cp -a "{}" debian/$@/usr/lib/ \;
@@ -290,9 +289,9 @@ apt-utils: build debian/shlibs.local
 	dh_strip -p$@
 	dh_compress -p$@
 	dh_fixperms -p$@
-	dh_makeshlibs -m$(LIBAPTINST_MAJOR) -V '$(LIBAPTINST_PROVIDE)' -p$@
+	dh_makeshlibs --major=$(LIBAPTINST_MAJOR) --version-info='$(LIBAPTINST_PROVIDE)' -p$@
 	dh_installdeb -p$@
-	dh_shlibdeps -p$@ -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt-utils
+	dh_shlibdeps -p$@ -l$(pwd)/debian/apt/usr/lib:$(pwd)/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt-utils
 	dh_gencontrol -p$@ -u -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE)
 	dh_md5sums -p$@
 	dh_builddeb -p$@
@@ -304,7 +303,7 @@ apt-transport-https: build debian/shlibs.local libapt-pkg-dev
 	dh_installdirs -p$@
 
 	# install the method
-	mkdir -p debian/$@/usr/lib/apt/methods
+	mkdir --parents debian/$@/usr/lib/apt/methods
 	cp $(BLD)/bin/methods/https debian/$@/usr/lib/apt/methods
 
 	dh_installdocs -p$@ debian/apt-transport-https.README
@@ -318,13 +317,14 @@ apt-transport-https: build debian/shlibs.local libapt-pkg-dev
 	dh_compress -p$@
 	dh_fixperms -p$@
 	dh_installdeb -p$@
-	dh_shlibdeps -p$@ -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib 
+	dh_shlibdeps -p$@ -l$(pwd)/debian/apt/usr/lib:$(pwd)/debian/$@/usr/lib
 	dh_gencontrol -p$@
 	dh_md5sums -p$@
 	dh_builddeb -p$@
 
 source diff:
-	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+	@echo 'source and diff are obsolete - use dpkg-source -b' >&2
+	false
 
 # Update from CVS
 l33ch: really-clean
@@ -341,16 +341,16 @@ l33ch-stamp: super-l33ch
 	touch $@
 
 really-clean: clean
-	-find -name Makefile.in -print0 | xargs -0r rm -f
-	find -name ChangeLog | xargs rm -f
-	rm -f l33ch-stamp
+	find . -name Makefile.in -print0 | xargs --null --no-run-if-empty rm --force
+	find . -name ChangeLog | xargs --no-run-if-empty rm --force
+	rm --force l33ch-stamp
 
 binary: binary-indep binary-arch
 .PHONY: build clean binary-indep binary-arch binary debian/shlibs.local
 
 
 # Done by the uploader.
-#cvs update.. 
+#cvs update..
 #edit debian/changelog
 # configure.in has the version automatically updated now.
 # edit configure.in
@@ -371,8 +371,11 @@ cvs-mkul:
 	cp `find debian/cvs-build -maxdepth 1 -type f` ../upload-$(APT_DEBVER)
 
 arch-build:
-	rm -rf debian/arch-build
-	mkdir -p debian/arch-build/apt-$(APT_DEBVER)
-	tar -c --exclude=arch-build --no-recursion -f - `bzr inventory` | (cd debian/arch-build/$(PKG)-$(APT_DEBVER);tar xf -)
+	rm --recursive --force debian/arch-build
+	mkdir --parents debian/arch-build/apt-$(APT_DEBVER)
+	tar --exclude=arch-build --no-recursion --create --file - $(bzr inventory) | \
+		tar --directory debian/arch-build/$(PKG)-$(APT_DEBVER) -x --file -
 	$(MAKE) -C debian/arch-build/apt-$(APT_DEBVER) startup doc
-	(cd debian/arch-build/apt-$(APT_DEBVER); $(DEB_BUILD_PROG); dpkg-genchanges -S > ../apt_$(APT_DEBVER)_source.changes)
+
+	cd debian/arch-build/apt-$(APT_DEBVER); $(DEB_BUILD_PROG); \
+	dpkg-genchanges -S > ../apt_$(APT_DEBVER)_source.changes
-- 
1.7.0


Reply to: