]> mj.ucw.cz Git - pciutils.git/commitdiff
Added quiet mode (-q). Clean up uncompressed files left by previous
authorMartin Mares <mj@ucw.cz>
Mon, 7 Jan 2008 21:04:56 +0000 (22:04 +0100)
committerMartin Mares <mj@ucw.cz>
Mon, 7 Jan 2008 21:04:56 +0000 (22:04 +0100)
versions of the pciutils. Patch by Mike Frysinger.

ChangeLog
update-pciids.man
update-pciids.sh

index c8686543d6ba06bdbed8dcc60717b215360ec70e..8165ee6952c357eb3faac143b5584821beef5672 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-01-07  Martin Mares <mj@ucw.cz>
+
+       * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
+       files left by previous versions of the pciutils. Patch by Mike
+       Frysinger.
+
+       * update-pciids.man: Mention the -q switch.
+
 2007-11-29  Martin Mares <mj@ucw.cz>
 
        * lib/dump.c: Squashed compiler warnings about code with
index d2ee69c2fc0d2e33f2e224e4e334ffe63b9cca07..6b1d65c00d445b778ae1cbf44dfc5edd3f05067a 100644 (file)
@@ -6,6 +6,7 @@ update-pciids \- download new version of the PCI ID list
 
 .SH SYNOPSIS
 .B update-pciids
+.RB [ -q ]
 
 .SH DESCRIPTION
 .B update-pciids
@@ -15,6 +16,11 @@ site and installs it.
 This utility requires curl, wget or lynx to be installed. If gzip or bzip2
 are available, it automatically downloads the compressed version of the list.
 
+.SH OPTIONS
+.TP
+.B -q
+Be quiet and do not report anything except errors.
+
 .SH FILES
 .TP
 .B @IDSDIR@/pci.ids
index a084f7b35de741ed91c75cdaf5d38ee42939122b..52a3d7e1099850f332f518f8104d8847faa96133 100755 (executable)
@@ -1,30 +1,41 @@
 #!/bin/sh
 
+[ "$1" = "-q" ] && quiet=true || quiet=false
+
 set -e
 SRC="http://pciids.sourceforge.net/v2.2/pci.ids"
 DEST=pci.ids
 PCI_COMPRESSED_IDS=
 GREP=grep
 
+# if pci.ids is read-only (because the filesystem is read-only),
+# then just skip this whole process.
+if ! touch ${DEST} >/dev/null 2>&1 ; then
+       ${quiet} || echo "${DEST} is read-only, exiting." 1>&2
+       exit 1
+fi
+
 if [ -n "$PCI_COMPRESSED_IDS" ] ; then
        DECOMP="cat"
        SRC="$SRC.gz"
        GREP=zgrep
-elif which bzip2 >/dev/null ; then
+elif which bzip2 >/dev/null 2>&1 ; then
        DECOMP="bzip2 -d"
        SRC="$SRC.bz2"
-elif which gzip >/dev/null ; then
+elif which gzip >/dev/null 2>&1 ; then
        DECOMP="gzip -d"
        SRC="$SRC.gz"
 else
        DECOMP="cat"
 fi
 
-if which curl >/dev/null ; then
+if which curl >/dev/null 2>&1 ; then
        DL="curl -o $DEST.new $SRC"
-elif which wget >/dev/null ; then
+    ${quiet} && DL="$DL -s -S"
+elif which wget >/dev/null 2>&1 ; then
        DL="wget -O $DEST.new $SRC"
-elif which lynx >/dev/null ; then
+       ${quiet} && DL="$DL -q"
+elif which lynx >/dev/null 2>&1 ; then
        DL="eval lynx -source $SRC >$DEST.new"
 else
        echo >&2 "update-pciids: cannot find curl, wget or lynx"
@@ -55,4 +66,10 @@ fi
 mv $DEST.neww $DEST
 rm $DEST.new
 
-echo "Done."
+# Older versions did not compress the ids file, so let's make sure we
+# clean that up.
+if [ ${DEST%.gz} != ${DEST} ] ; then
+       rm -f ${DEST%.gz} ${DEST%.gz}.old
+fi
+
+${quiet} || echo "Done."