chiark / gitweb /
ubuntu-daily: flip -a semantics to mean --authenticated, not --anonymous
[bin.git] / debman
diff --git a/debman b/debman
index 76c0b35593dd2780000f2a5959e2270bf817940d..5217f3a31f5eac5b57be22386c9ae0bdf03ff8c3 100755 (executable)
--- a/debman
+++ b/debman
@@ -1,4 +1,4 @@
-#! /bin/sh -e
+#! /bin/bash -e
 
 # debman - read a man page from an uninstalled Debian package file (.deb)
 
@@ -26,7 +26,7 @@ usage () {
         FD=1
     fi
     cat >&$FD <<EOF
-Usage: debman [options] [-- man options] <man page name> ...
+Usage: debman [options] [-- man(1) options] <man page name> ...
 
 Options should be exactly one of:
         -f package.deb          read pages from package.deb archive
@@ -83,12 +83,13 @@ TEMPDIR=`mktemp -dt debman.XXXXXXXXXX`
 trap 'rm -rf "$TEMPDIR"' EXIT ERR HUP INT QUIT TERM
 
 if [ -n "$PACKAGE" ]; then
-    # This duplicates debget; if an option is added there to use an
-    # externally-specified filename then we can use it instead.
-    FILENAME="$TEMPDIR/$PACKAGE.deb"
-    wget -O "$FILENAME" \
-        $(apt-get -q2 --print-uris --reinstall install "$PACKAGE" | \
-          sed -ne "\$s/^'\([^']*\)'.*$/\1/p")
+    (cd "$TEMPDIR" && debget "$PACKAGE")
+    # There should be at most one file in $TEMPDIR now.
+    FILENAME="`find \"$TEMPDIR\" -name \*.deb -print`"
+    if [ -z "$FILENAME" ]; then
+        echo "Failed to fetch package $PACKAGE; exiting." >&2
+        exit 1
+    fi
 fi
 
 # Ignore errors from tar (though not dpkg). They'll generally just be of the