home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / bin / getweb < prev    next >
Encoding:
Text File  |  2007-03-27  |  5.4 KB  |  248 lines

  1. #!/bin/sh
  2.  
  3. WGETOPTS=--passive-ftp
  4.  
  5. usage() {
  6. cat <<EOF
  7. Usage:
  8.     ./getweb something
  9.  
  10.     Convenience script to get extra somethings from the web,
  11.     such as ICC color profiles, firmware, PPD files, etc.
  12.  
  13.     $ ./getweb 2600n    # Get HP Color LaserJet 2600n .ICM files
  14.     $ ./getweb 1600    # Get HP Color LaserJet 1600 .ICM files
  15.     $ ./getweb 2530    # Get Konica Minolta 2530 DL .ICM files
  16.     $ ./getweb 2490    # Get Konica Minolta 2490 MF .ICM files
  17.     $ ./getweb 2430    # Get Konica Minolta 2430 DL .ICM files
  18.     $ ./getweb 2300    # Get Minolta 2300 DL .ICM files
  19.     $ ./getweb 2200    # Get Minolta 2200 DL .ICM files
  20.     $ ./getweb cpwl    # Get Minolta Color PageWorks/Pro L .ICM files
  21.  
  22.     $ ./getweb 1020    # Get HP LJ1020 firmware file
  23.     $ ./getweb 1018    # Get HP LJ1005 firmware file
  24.     $ ./getweb 1005    # Get HP LJ1005 firmware file
  25.     $ ./getweb 1000    # Get HP LJ1000 firmware file
  26.  
  27.     $ ./getweb all    # Get everything above
  28.  
  29.     $ ./getweb 2300dl_fw # Get Minolta 2300DL v2.55 firmware (experts only)
  30.  
  31.     $ ./getweb update    # Get latest version of this software.
  32. EOF
  33.     exit 1
  34. }
  35.  
  36. #
  37. #       Report an error and exit
  38. #
  39. PROGNAME=$0
  40. error() {
  41.     echo "`basename $PROGNAME`: $1" >&2
  42.     exit 1
  43. }
  44.  
  45. #
  46. #    Download a .EXE file from the web, unzip it, and extract the
  47. #    files we want
  48. getexe() {
  49.     url="$1"
  50.     exefile="$2"
  51.     what="$3"
  52.     
  53.     wget $WGETOPTS -O $exefile "$url/$exefile" ||
  54.     error "Couldn't download $url/$exefile"
  55.     unzip -o $exefile "$what"
  56.     rm $exefile
  57. }
  58.  
  59. #
  60. #    Download a .tar.gz file from the web, untar it, and extract the
  61. #    files we want
  62. gettgz() {
  63.     url="$1"
  64.     file="$2"
  65.     what="$3"
  66.     
  67.     wget $WGETOPTS -O $file "$url/$file" ||
  68.     error "Couldn't download $url/$file"
  69.     gunzip <$file | tar xvf - $what
  70.     rm $file
  71. }
  72.  
  73. getone() {
  74.     case "$1" in
  75.     lj1000|1000)
  76.     gettgz \
  77.         http://foo2zjs.rkkda.com sihp1000.tar.gz \
  78.         ""
  79.     #echo "provided"
  80.     #getexe \
  81.         #ftp://ftp.hp.com/pub/softlib/software1/lj1488/lj-1145-2 \
  82.         #lj1488en.exe \
  83.         #sihp1000.img
  84.     ;;
  85.     lj1005|1005)
  86.     gettgz \
  87.         http://foo2zjs.rkkda.com sihp1005.tar.gz \
  88.         ""
  89.     #echo "provided"
  90.     #getexe \
  91.         #ftp://ftp.hp.com/pub/softlib/software2/COL2222/lj-10067-2 \
  92.         #lj1005hostbased-en.exe \
  93.         #sihp1005.img
  94.     ;;
  95.     lj1018|1018)
  96.     gettgz \
  97.         http://foo2zjs.rkkda.com sihp1018.tar.gz \
  98.         ""
  99.     ;;
  100.     lj1020|1020)
  101.     gettgz \
  102.         http://foo2zjs.rkkda.com sihp1020.tar.gz \
  103.         ""
  104.     ;;
  105.     2200dl|2200)
  106.     getexe \
  107.         ftp://ftp.minolta-qms.com/pub/crc/out_going/win2000 m22dlicc.exe \
  108.         "*.icm"
  109.     ;;
  110.     2300dl|2300)
  111.     getexe \
  112.         ftp://ftp.minolta-qms.com/pub/crc/out_going/win m23dlicc.exe \
  113.         "*.icm"
  114.     gettgz \
  115.         http://foo2zjs.rkkda.com km2430.tar.gz \
  116.         ""
  117.     ;;
  118.     2300dl_fw)
  119.     # 2300DL firmware upgrade to v2.55
  120.     BASE="http://crm01.minoltaeurope.com"
  121.     BASE="$BASE/openmind/technic/swfw/mswprtdl.nsf/logdwl"
  122.     FILE="MC2300DL_v255.zip"
  123.     URL="$BASE?openagent&4CE486C20839C75AC1256D9E001EBD1F/\$File/$FILE"
  124.     wget $WGETOPTS "$URL" || error "Couldn't download $URL"
  125.     echo "*** Now use a windows box to unzip and install $FILE ***"
  126.     ;;
  127.     cpwl|pageworks)
  128.     getexe \
  129.         ftp://ftp.minolta-qms.com/pub/crc/out_going/windows cpplxp.exe \
  130.         "*.IC_"
  131.     for i in C*.IC_
  132.     do
  133.         base=`basename $i .IC_`
  134.         mv $base.IC_ $base.ic_
  135.         ./msexpand $base.ic_
  136.         rm -f $base.ic_
  137.     done
  138.     ;;
  139.     2430)
  140.     gettgz \
  141.         http://foo2zjs.rkkda.com km2430.tar.gz \
  142.         ""
  143.     ;;
  144.     2530|2490)
  145.     gettgz \
  146.         http://foo2lava.rkkda.com km2530.tar.gz \
  147.         ""
  148.     ;;
  149.     1600|2600n)
  150.     gettgz \
  151.         http://foo2hp.rkkda.com hpclj2600n.tar.gz \
  152.         ""
  153.     gettgz \
  154.         http://foo2zjs.rkkda.com km2430.tar.gz \
  155.         "km2430_2.icm"
  156.     ;;
  157.     xPPD)
  158.     # Snarf PPD files from linuxprinting
  159.     [ -d PPD ] || mkdir PPD
  160.     for i in foomatic-db/printer/*.xml
  161.     do
  162.         case "$i" in
  163.         */Gen*)    continue;;
  164.         esac
  165.         printer=`basename $i .xml`
  166.         echo $printer
  167.         case "$printer" in
  168.         *1500*|*oak*)    driver=foo2oak;;
  169.         *)            driver=foo2zjs;;
  170.         esac
  171.         URL="http://www.linuxprinting.org/ppd-o-matic.cgi"
  172.         URL="$URL?driver=$driver&printer=$printer"
  173.         URL="$URL&.submit=Generate+PPD+file"
  174.         URL="$URL&show=1&.cgifields=shortgui&.cgifields=show"
  175.         wget $WGETOPTS -O PPD/$printer.ppd "$URL" ||
  176.         error "Couldn't dowload $URL"
  177.     done
  178.     ;;
  179.     ppd)
  180.     # Generate PPD files using local tools
  181.     [ -d PPD ] || mkdir PPD
  182.     for i in foomatic-db/printer/*.xml
  183.     do
  184.         printer=`basename $i .xml`
  185.         echo $printer
  186.         case "$printer" in
  187.         *M1005*)        driver=foo2xqx;;
  188.         *1500*|*OAKT*)    driver=foo2oak;;
  189.         *1600*|*2600*)    driver=foo2hp;;
  190.         *2530*|*2490*)    driver=foo2lava;;
  191.         *)            driver=foo2zjs;;
  192.         esac
  193.         ENGINE=../foomatic/foomatic-db-engine
  194.         PERL5LIB=$ENGINE/lib $ENGINE/foomatic-ppdfile \
  195.         -d $driver -p $printer > PPD/$printer.ppd
  196.     done
  197.     ;;
  198.     update)
  199.     url=http://foo2zjs.rkkda.com
  200.     file=foo2zjs.tar.gz
  201.     wget $WGETOPTS -O $file $url/$file ||
  202.         error "Couldn't download $url/$exefile"
  203.     mv getweb getweb.old
  204.     HERE=`pwd`
  205.     cd .. 
  206.     tar zxf $HERE/$file
  207.     cd $HERE
  208.     echo "The tarball is extracted and the current directory is up to date."
  209.     echo -e "Remove the tarball (y/n)? \c"
  210.     read ans
  211.     if [ "$ans" = y ]; then
  212.         rm -f $file
  213.     fi
  214.     ;;
  215.     "")
  216.     usage
  217.     ;;
  218.     *)
  219.     error "Don't know how to get extra stuff for printer $1"
  220.     ;;
  221.     esac
  222. }
  223.  
  224. if [ $# = 0 ]; then
  225.     usage
  226. fi
  227.  
  228. for i in $*
  229. do
  230.     case "$1" in
  231.     all)
  232.     getone 1000
  233.     getone 1005
  234.     getone 1018
  235.     getone 1020
  236.     getone 2200
  237.     getone 2300
  238.     # getone 2430 already done
  239.     getone cpwl
  240.     getone 2600n
  241.     getone 2530
  242.     ;;
  243.     *)    
  244.     getone $i
  245.     ;;
  246.     esac
  247. done
  248.