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: