Bug#577804: apt: debian/rules improvements -- EOL whitespace, long options, POSIX cmd substitution
Package: apt
Version: 0.7.25.3
Severity: wishlist
The following patch is against:
r1687 nosmart+http://bzr.debian.org/apt/apt/debian-experimental/
Suggested changes:
* Spell out the meanng of options by using --long option formats where
possible. This will help reading the code without consulting the
manual pages.
* Remove subshell calls in on-line context like "(cd DIR; cmd)"
* Utilize GNU tar --directory option in cases like "cd DIR; tar ..."
* Use readable POSIX command substitution: $(<command sequence>)
in place of traditional backticks
* Remove EOL whitespace
-- Package-specific info:
-- (/etc/apt/preferences present, but not submitted) --
-- (/etc/apt/sources.list present, but not submitted) --
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages apt depends on:
ii debian-archive-keyring 2009.01.31 GnuPG archive keys of the Debian a
ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib
ii libgcc1 1:4.4.3-7 GCC support library
ii libstdc++6 4.4.3-7 The GNU Standard C++ Library v3
apt recommends no packages.
Versions of packages apt suggests:
pn apt-doc <none> (no description available)
ii aptitude 0.6.1.5-3 terminal-based package manager (te
ii bzip2 1.0.5-4 high-quality block-sorting file co
ii dpkg-dev 1.15.5.6 Debian package development tools
ii lzma 4.43-14 Compression method of 7z format in
ii python-apt 0.7.94.2 Python interface to libapt-pkg
-- no debconf information
>From 740701c02c05db12813cdd412b24de1c2cac9c96 Mon Sep 17 00:00:00 2001
From: Jari Aalto <jari.aalto@cante.net>
Date: Wed, 14 Apr 2010 21:38:08 +0300
Subject: [PATCH] debian/rules: use readable --long options and POSIX command substitution.
Organization: Private
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
* Spell out the meanng of options by using --long option formats where
possible. This will help reading the code without consulting the
manual pages.
* Remove subshell calls in on-line context like "(cd DIR; cmd)"
* Utilize GNU tar --directory option in cases like "cd DIR; tar ..."
* Use readable POSIX command substitution: $(<command sequence>)
in place of traditional backticks
* Remove EOL whitespace
Signed-off-by: Jari Aalto <jari.aalto@cante.net>
---
rules | 66 +++++++++++++++++++++++++++++++++-------------------------------
1 files changed, 34 insertions(+), 32 deletions(-)
diff --git a/rules b/rules
index 9d8497e..e843f68 100755
--- a/rules
+++ b/rules
@@ -32,7 +32,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))))
@@ -70,7 +70,7 @@ LIBAPTINST_PROVIDE=libapt-inst$(LIBSTDCPP_VER)-$(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$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR)" > $@.apt
@@ -80,8 +80,8 @@ debian/shlibs.local: apt-pkg/makefile
echo "libapt-pkg$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
echo "libapt-inst$(LIBSTDCPP_VER) $(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
@@ -92,7 +92,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 $@
@@ -109,7 +109,7 @@ build/build-doc-stamp: build/configure-stamp
clean:
dh_testdir
-# dh_testroot
+# dh_testroot
[ -f Makefile ] && $(MAKE) clean
[ -f Makefile ] && $(MAKE) distclean
@@ -127,9 +127,9 @@ 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$@
@@ -151,7 +151,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$@
@@ -196,7 +196,7 @@ apt: build build-doc debian/shlibs.local
cp share/debian-archive.gpg debian/$@/usr/share/$@
cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove
cp debian/apt.conf.security debian/$@/etc/apt/apt.conf.d/05security
-# 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
@@ -207,7 +207,7 @@ apt: build build-doc debian/shlibs.local
rm -f po/*.pot
dh_installexamples -p$@ $(BLD)/docs/examples/*
- dh_installman -p$@
+ dh_installman -p$@
dh_installcron -p$@
dh_installdocs -p$@
dh_installchangelogs -p$@
@@ -216,7 +216,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$@
@@ -231,22 +231,22 @@ 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
find ./ -regextype awk -regex './(apt-pkg|apt-inst)/.*\.h' -print | while read FILE; do \
install -D $$FILE debian/libapt-pkg-dev/usr/include/$$FILE; \
done
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,9 +273,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$@
@@ -287,7 +287,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
@@ -301,7 +301,7 @@ 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$@
@@ -310,7 +310,7 @@ apt-dbg: apt
dh_testdir -p$@
dh_testroot -p$@
dh_installdirs -p$@
-
+
dh_installdocs -p$@
dh_installchangelogs -p$@
dh_compress -p$@
@@ -319,10 +319,11 @@ apt-dbg: apt
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
@@ -339,18 +340,19 @@ 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
arch-prepare:
- 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 -
arch-build: arch-prepare
- (cd debian/arch-build/apt-$(APT_DEBVER) && debuild)
+ cd debian/arch-build/apt-$(APT_DEBVER) && debuild
--
1.7.0
Reply to: