Package: apt-howto
Version: 2.0.2-2
Severity: minor
Tags: patch

Hi.

I found the following problems in the ./debian/rules clean target:

  - There is commands that only work if /bin/sh is bash: pattern
    substitution and brace expansion.
  - It reverses the patches and doesn't remove the touched .patched
    files.
  - It tries to reverse an inexistent patch a second time. This
    doesn't ends with error because it does a test before the try.
  - It patch and reverse the patch in the same order. So two
    sequential patches generates an error when the reverse occurs.
  - It reverses the patches before the ``make clean'' command. So
    there is no way to use the patched files in the clean.
  - The files texsys.aux head.tmp body.tmp are created during the
    build but aren't removed by ./Makefile clean target nor by
    ./debian/rules clean target.

The ./Makefile clean target have bashism: brace expansion. This
affects indirectly the reported problem. The attached patch corrects
these problems and, if used with my patch to bug #431664 (#432349),
makes the package build and clear properly (using fakeroot) here. The
bug #431664 (#432349) informs that the package is FTBFS.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (300, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.23.1
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- 
,-. rollingbits -- [EMAIL PROTECTED], [EMAIL PROTECTED]
\`' [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
 `  Get my public GPG key in http://rollingbits.tripod.com/mykey.html
diff -urN apt-howto-old/debian/patches/02_fix_clean.diff 
apt-howto-2.0.2/debian/patches/02_fix_clean.diff
--- apt-howto-old/debian/patches/02_fix_clean.diff      1969-12-31 
21:00:00.000000000 -0300
+++ apt-howto-2.0.2/debian/patches/02_fix_clean.diff    2007-11-09 
20:25:59.000000000 -0200
@@ -0,0 +1,11 @@
+--- Makefile.orig      2007-11-03 23:25:18.000000000 -0200
++++ Makefile   2007-11-03 23:23:35.000000000 -0200
+@@ -26,6 +26,8 @@
+ # called <directoryname>.[<language>.]sgml, which is the top-level file
+ # for the manual in this directory.
+ 
++SHELL := /bin/bash  # There is bashism here
++
+ # Basename for language-dependent SGML (DDP default, generated)
+ #MANUAL := $(notdir $(CURDIR))
+ MANUAL := apt-howto
diff -urN apt-howto-old/debian/rules apt-howto-2.0.2/debian/rules
--- apt-howto-old/debian/rules  2007-11-09 20:31:29.000000000 -0200
+++ apt-howto-2.0.2/debian/rules        2007-11-09 20:30:13.000000000 -0200
@@ -9,6 +9,8 @@
 export DH_COMPAT=4
 export LC_ALL=C
 
+SHELL := /bin/bash  # There is bashism here
+
 MANUAL := apt-howto
 LANGS  := ca de el en es fr it ja ko pt-br pl ru tr uk
 BUILD_TYPE := package
@@ -50,10 +52,6 @@
        dh_testdir
        dh_testroot
 
-       for i in $$(ls debian/patches/*.patched); do \
-               patch -p0 -R < $${i/.patched/}; \
-       done
-
        # code based on gnome-pkg-tools to auto create Uploaders field from 
        # metainfo available on the Debian Brasil's Team SVN repo
        TEAM_LIST=../../metainfo/debian-br.team; \
@@ -77,9 +75,9 @@
 
        # end of Uploaders generating code
 
-       if patch --dry-run -R -p0 < 
debian/patches/00_special_case_el_in_fixhtml.diff >& /dev/null; then \
-          patch -R -p0 < debian/patches/00_special_case_el_in_fixhtml.diff; \
-       fi
+       #if patch --dry-run -R -p0 < 
debian/patches/00_special_case_el_in_fixhtml.diff >& /dev/null; then \
+       #   patch -R -p0 < debian/patches/00_special_case_el_in_fixhtml.diff; \
+       #fi
        rm -f build-stamp configure-stamp
        # Add here commands to clean up after the build process.
        -$(MAKE) "MANUAL=$(MANUAL)" "LANGS=$(LANGS)" \
@@ -91,7 +89,12 @@
              apt-howto-$${xx}.dirs \
              apt-howto-$${xx}.doc-base; \
        done
-       -rm *.ent
+       rm -f *.ent texsys.aux head.tmp body.tmp
+
+       for i in $$(ls -r debian/patches/*.patched); do \
+               patch -p0 -R < $${i/.patched/}; \
+               rm -f $${i}; \
+       done
 
        dh_clean
 

Reply via email to