Hi,

I have updated my NMU patch as it was still missing some stuff. I have
uploaded and the new interdiff is attached.

Greetings Arjan

hs-plugins (0.9.10-3.4) unstable; urgency=high
 .
   * Non-maintainer upload.
   * Set urgency to high to get the fixed version in etch.
   * Fix failure to install due tue missing dependencies (Closes: #398384):
     - debian/mk-haskell-depends: update script to take installed package
       configuration files as arguments.
     - debian/rules: call debian/mk-haskell-depends script with the
       installed package configuration files as arguments.
     - debian/control: add dctrl-tools to Build-Depends.
   * debian/rules: properly cleanup leftover
     docs/hs-plugins.{aux,dvi,log,ps} on clean.

diff -u hs-plugins-0.9.10/debian/changelog hs-plugins-0.9.10/debian/changelog
--- hs-plugins-0.9.10/debian/changelog
+++ hs-plugins-0.9.10/debian/changelog
@@ -1,3 +1,18 @@
+hs-plugins (0.9.10-3.4) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * Set urgency to high to get the fixed version in etch.
+  * Fix failure to install due tue missing dependencies (Closes: #398384):
+    - debian/mk-haskell-depends: update script to take installed package
+      configuration files as arguments.
+    - debian/rules: call debian/mk-haskell-depends script with the
+      installed package configuration files as arguments.
+    - debian/control: add dctrl-tools to Build-Depends.
+  * debian/rules: properly cleanup leftover
+    docs/hs-plugins.{aux,dvi,log,ps} on clean.
+  
+ -- Arjan Oosting <[EMAIL PROTECTED]>  Mon, 13 Nov 2006 21:49:53 +0100
+
 hs-plugins (0.9.10-3.3) unstable; urgency=low
 
   * Non-maintainer upload.
diff -u hs-plugins-0.9.10/debian/rules hs-plugins-0.9.10/debian/rules
--- hs-plugins-0.9.10/debian/rules
+++ hs-plugins-0.9.10/debian/rules
@@ -36,6 +36,7 @@
 	rm -f build-stamp configure
 	-$(MAKE) distclean configure
 	-(cd docs; $(MAKE) clean)
+	rm -f docs/hs-plugins.aux docs/hs-plugins.dvi docs/hs-plugins.log docs/hs-plugins.ps
 	dh_clean 
 
 install: build
@@ -71,7 +72,7 @@
 	dh_fixperms
 	dh_installdeb
 	dh_shlibdeps
-	sh -e debian/mk-haskell-depends
+	sh -e debian/mk-haskell-depends -Xaltdata -Xhi -Xplugins debian/libghc6-plugins-dev/usr/lib/haskell-packages/ghc6/lib/hs-plugins-*/*.installed-pkg-config
 	dh_gencontrol 
 	dh_md5sums
 	dh_builddeb
diff -u hs-plugins-0.9.10/debian/control hs-plugins-0.9.10/debian/control
--- hs-plugins-0.9.10/debian/control
+++ hs-plugins-0.9.10/debian/control
@@ -2,7 +2,7 @@
 Section: libs
 Priority: optional
 Maintainer: Florian Ragwitz <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>= 5.0.0), dpatch, autoconf, ghc6 (>= 6.4.2), libghc6-src-exts-dev (>= 0.2-2), tetex-bin, tetex-extra
+Build-Depends: dctrl-tools, debhelper (>= 5.0.0), dpatch, autoconf, ghc6 (>= 6.4.2), libghc6-src-exts-dev (>= 0.2-2), tetex-bin, tetex-extra
 Standards-Version: 3.7.2
 
 Package: libghc6-plugins-dev
diff -u hs-plugins-0.9.10/debian/mk-haskell-depends hs-plugins-0.9.10/debian/mk-haskell-depends
--- hs-plugins-0.9.10/debian/mk-haskell-depends
+++ hs-plugins-0.9.10/debian/mk-haskell-depends
@@ -63,13 +63,33 @@
 }
 
 dependency(){
+    local deb
+    local version
+    local next_upstream_version
     deb=$1
     version=`dpkg-query --showformat='${Version}' -W $deb` 
     next_upstream_version=`echo $version | sed -e 's/-[^-]*$/+/'`
     echo "$deb (>= $version), $deb (<< $next_upstream_version)"
 }
 
+dependencies(){
+    local deb
+    local debs
+    local deps
+    debs=$@
+    for deb in `sort_uniq $debs` ; do
+	deps="$deps, `dependency $deb`"
+    done
+
+    echo $deps | sed -e 's/^,[ ]*//'
+}
+
 providing_package_for_ghc6(){
+    local deb
+    local dep
+    local dir
+    local dirs
+    local lib
     dep=$1
     dirs=`ghc-pkg6 field $dep library-dirs | cut -d':' -f 2`
     lib=`ghc-pkg6 field $dep hs-libraries | sed -e 's|hs-libraries: *\([^ ]*\).*|\1|' `
@@ -83,6 +103,11 @@
 }
 
 providing_package_for_ghc6_prof(){
+    local deb
+    local dep
+    local dir
+    local dirs
+    local lib
     dep=$1
     dirs=`ghc-pkg6 field $dep library-dirs | cut -d':' -f 2`
     lib=`ghc-pkg6 field $dep hs-libraries | sed -e 's|hs-libraries: *\([^ ]*\).*|\1|' `
@@ -95,38 +120,52 @@
     echo $deb
 }
 
+cabal_depends(){
+    local config
+    local dep
+    local depends
+    local final_depends
+    until [ -z "$1" ]
+    do
+      config=$1
+      depends="$depends `grep-dctrl -n -i -s Depends "" $config | tr "," " "`"
+      shift
+    done
+    for dep in `sort_uniq $depends` ; do
+	# The package is not mentioned in the ignored package list with the same version 
+	# or mentioned without any version in the ignored package list?
+	if  echo " $ignores " | grep -qv " $dep " && 
+	    echo " $ignores " | grep -qv " `echo $dep | sed s%-[0-9][.0-9a-zA-Z]*$%%` " ; 
+	then
+	    final_depends="$final_depends $dep"
+	fi
+    done
+    echo $final_depends
+}
 
 depends_for_ghc6(){
-    config=$1
-    cabal_depends=`grep-dctrl -n -i -s Depends "" $config | tr "," " "`
-    
-    for dep in $cabal_depends ; do
+    local dep
+    local debs
+    for dep in `cabal_depends [EMAIL PROTECTED] ; do
 	debs="$debs `providing_package_for_ghc6 $dep`"
     done
  
-    for deb in `sort_uniq $debs` ; do
-	deps="$deps, `dependency $deb`"
-    done
-
-    echo $deps | sed -e 's/^,[ ]*//'
+    dependencies $debs
 }
 
 depends_for_ghc6_prof(){
-    config=$1
-    cabal_depends=`grep-dctrl -n -i -s Depends "" $config | tr "," " "`
-    
-    for dep in $cabal_depends ; do
+    local dep
+    local debs
+    for dep in `cabal_depends [EMAIL PROTECTED] ; do
 	debs="$debs `providing_package_for_ghc6_prof $dep`"
     done
  
-    for deb in `sort_uniq $debs` ; do
-	deps="$deps, `dependency $deb`"
-    done
-
-    echo $deps | sed -e 's/^,[ ]*//'
+    dependencies $debs
 }
 
 find_config_for_ghc6(){
+    local f
+    local pkg
     pkg=$1
     case "$pkg" in
 	libghc6-*-prof)
@@ -147,37 +186,65 @@
-if [ `which grep-dctrl > /dev/null` ] ; then
+if ! [ `which grep-dctrl` > /dev/null ] ; then 
     echo "grep-dctrl is missing" >&2 
     exit 1
 fi
 
-for pkg in `dh_listpackages [EMAIL PROTECTED]; do
+args=
+ignores=
+files=
+until [ -z "$1" ]
+do 
+  case "$1" in
+      -X*)
+          pkg=${1##-X}
+	  ignores="$ignores $pkg"
+	  ;;
+
+      --exclude=*)
+	  pkg=${1##--exclude=}
+	  ignores="$ignores $pkg"
+	  ;;
+
+      -*)
+	  args="$args $1"
+	  ;;
+      *)
+	  if [ -f $1 ] ; then
+	      files="$files $1"
+	  else
+	      echo "Installed package description file $1 can not be found" >&2
+	      exit 1
+	  fi
+	  ;;
+  esac
+  shift
+done
+
+for pkg in `dh_listpackages $args`; do
     sfile=debian/$pkg.substvars
     touch $sfile
 
     case "$pkg" in
-	libghc6-*-prof)
-	    grep -v ^haskell:Depends $sfile > $sfile.tmp || true
+	libghc6-*-dev|libghc6-*-prof)
 	    config=`find_config_for_ghc6 $pkg`
 	    if [ -f "$config" ] ; then
-		echo "haskell:Depends=`depends_for_ghc6_prof $config`" >> $sfile.tmp 
-	    else
-		echo "haskell:Depends=`dependency ghc6-prof`" >> $sfile.tmp
+		files="$files $config"
 	    fi
-	    mv $sfile.tmp $sfile
-	    ;;
-
-	libghc6-*-dev)
-	    grep -v ^haskell:Depends $sfile > $sfile.tmp || true
-	    config=`find_config_for_ghc6 $pkg`
-	    if [ -f "$config" ] ; then
-		echo "haskell:Depends=`depends_for_ghc6 $config`" >> $sfile.tmp 
-	    else
-		echo "haskell:Depends=`dependency ghc6`" >> $sfile.tmp
+	    if [ -z "$files" ] ; then
+	      echo "No installed package description files can not be found" >&2
+	      exit 1
 	    fi
+	    grep -v ^haskell:Depends $sfile > $sfile.tmp || true
+	    case "$pkg" in
+		libghc6-*-dev)
+		    echo "haskell:Depends=`depends_for_ghc6 $files`" >> $sfile.tmp
+		    ;;
+		libghc6-*-prof)
+		    echo "haskell:Depends=`depends_for_ghc6_prof $files`" >> $sfile.tmp
+		    ;;
+	    esac
 	    mv $sfile.tmp $sfile
 	    ;;
-
 	*)
 	    ;;
     esac
 done
-

Attachment: signature.asc
Description: Dit berichtdeel is digitaal ondertekend

Reply via email to