#!/bin/sh # # Please don't remove the copyright statements. They should # be displayed to the human that is running this. # VERSION='$Id: getweb.in,v 1.71 2008/04/01 10:41:55 rick Exp $' WGETOPTS="--passive-ftp -q" usage() { cat <&2 exit 1 } SYSTEM=`uname -s` WGET=`type wget 2>/dev/null` if [ "$SYSTEM" = Darwin -a "$WGET" = "" ] then WGETOPTS= wget() { shift curl -o $* } fi # # Download a .EXE file from the web, unzip it, and extract the # files we want getexe() { url="$1" exefile="$2" shift; shift wget $WGETOPTS -O $exefile "$url/$exefile" || error "Couldn't download $url/$exefile" unzip -oj $exefile "$@" rm $exefile } # # Download a .tar.gz file from the web, untar it, and extract the # files we want gettgz() { url="$1" file="$2" what="$3" wget $WGETOPTS -O $file "$url/$file" || error "Couldn't download $url/$file" gunzip <$file | tar xvf - $what rm $file } copyright() { echo echo "$1" echo } getone() { case "$1" in lj1000|1000) gettgz \ http://foo2zjs.rkkda.com/firmware sihp1000.tar.gz \ "" #echo "provided" #getexe \ #ftp://ftp.hp.com/pub/softlib/software1/lj1488/lj-1145-2 \ #lj1488en.exe \ #sihp1000.img copyright "(c) Copyright Hewlett-Packard 2001" ;; lj1005|1005) gettgz \ http://foo2zjs.rkkda.com/firmware sihp1005.tar.gz \ "" #echo "provided" #getexe \ #ftp://ftp.hp.com/pub/softlib/software2/COL2222/lj-10067-2 \ #lj1005hostbased-en.exe \ #sihp1005.img copyright "(c) Copyright Hewlett-Packard 2002" ;; lj1018|1018) gettgz \ http://foo2zjs.rkkda.com/firmware sihp1018.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2005" ;; lj1020|1020) gettgz \ http://foo2zjs.rkkda.com/firmware sihp1020.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2005" ;; [pP]1005) gettgz \ http://foo2zjs.rkkda.com/firmware sihpP1005.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2007" ;; [pP]1006) gettgz \ http://foo2zjs.rkkda.com/firmware sihpP1006.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2007" ;; [pP]1505) gettgz \ http://foo2zjs.rkkda.com/firmware sihpP1505.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2007" ;; 2200dl|2200) getexe \ ftp://ftp.minolta-qms.com/pub/crc/out_going/win2000 m22dlicc.exe \ "*.icm" copyright "(c) Copyright Minolta-QMS 1999" ;; 2300dl|2300) getexe \ ftp://ftp.minolta-qms.com/pub/crc/out_going/other m23dlicc.exe \ "*.icm" gettgz \ http://foo2zjs.rkkda.com/icm km2430.tar.gz \ "" copyright "(c) Copyright Minolta-QMS 2001" ;; 2300dl_fw) # 2300DL firmware upgrade to v2.55 BASE="http://crm01.minoltaeurope.com" BASE="$BASE/openmind/technic/swfw/mswprtdl.nsf/logdwl" FILE="MC2300DL_v255.zip" URL="$BASE?openagent&4CE486C20839C75AC1256D9E001EBD1F/\$File/$FILE" wget $WGETOPTS "$URL" || error "Couldn't download $URL" echo "*** Now use a windows box to unzip and install $FILE ***" ;; cpwl|pageworks) if true; then getexe \ ftp://ftp.minolta-qms.com/pub/crc/out_going/windows cpplxp.exe \ "*.IC_" for i in C*.IC_ do base=`basename $i .IC_` mv $base.IC_ $base.ic_ ./msexpand $base.ic_ rm -f $base.ic_ done copyright "(c) Copyright Minolta-QMS 1998" fi ;; 2430) gettgz \ http://foo2zjs.rkkda.com/icm km2430.tar.gz \ "" copyright "(c) Copyright Konica Minolta 2003" ;; 2530|2490|6115|2480) gettgz \ http://foo2lava.rkkda.com/icm km2530.tar.gz \ "" copyright "(c) Copyright Konica Minolta 2005" copyright "(c) Copyright Rick Richardson 2007. All Rights Reserved" ;; 1500|1600|2600*) gettgz \ http://foo2hp.rkkda.com/icm hpclj2600n.tar.gz \ "" gettgz \ http://foo2zjs.rkkda.com/icm km2430.tar.gz \ "km2430_2.icm" copyright "(c) Copyright Hewlett-Packard 2003" copyright "(c) Copyright Rick Richardson 2006. All Rights Reserved" ;; 300|2160|3160|6110) gettgz \ http://foo2qpdl.rkkda.com/icm samclp300.tar.gz \ "" copyright "(c) Copyright Samsung 2006" ;; 600|610) ;; 500) gettgz \ http://foo2slx.rkkda.com/icm lexc500.tar.gz \ "" copyright "(c) Copyright Lexmark 2006" ;; oki) echo "Please wait, ~20MB is being downloaded from a slow site..." getexe \ http://www.okiprintingsolutions.at/binaryData/16516/ \ ICCProfiles.zip \ "*OK3200*ICM" "*OK5600*ICM" "*rom732*7.zip" unzip -oj *rom732*7.zip "*C3400*ICM" rm -f *rom732*7.zip for i in OK*ICM C3400*ICM; do base=`basename $i .ICM` mv "$base.ICM" "$base.icm" done copyright "(c) Copyright Okidata 2005, 2006" ;; 3200|5100|5200) gettgz \ http://foo2hiperc.rkkda.com/icm okic3200.tar.gz \ "" copyright "(c) Copyright Okidata 2005" ;; 3300|3400) gettgz \ http://foo2hiperc.rkkda.com/icm okic3400.tar.gz \ "" copyright "(c) Copyright Okidata 2006" ;; 5500|5600|5800) gettgz \ http://foo2hiperc.rkkda.com/icm okic5600.tar.gz \ "" copyright "(c) Copyright Okidata 2006" ;; xPPD) # Snarf PPD files from linuxprinting [ -d PPD ] || mkdir PPD for i in foomatic-db/printer/*.xml do case "$i" in */Gen*) continue;; esac printer=`basename $i .xml` echo $printer case "$printer" in *1500*|*oak*) driver=foo2oak;; *) driver=foo2zjs;; esac URL="http://www.linuxprinting.org/ppd-o-matic.cgi" URL="$URL?driver=$driver&printer=$printer" URL="$URL&.submit=Generate+PPD+file" URL="$URL&show=1&.cgifields=shortgui&.cgifields=show" wget $WGETOPTS -O PPD/$printer.ppd "$URL" || error "Couldn't dowload $URL" done ;; ppd) # Generate PPD files using local tools [ -d PPD ] || mkdir PPD for i in foomatic-db/printer/*.xml do printer=`basename $i .xml` echo $printer case "$printer" in *M1005*|*M1120*) driver=foo2xqx;; *P1[05]0[56]*) driver=foo2xqx;; *P2014*) driver=foo2xqx;; *1500*|*OAKT*) driver=foo2oak;; *1600*|*2600*) driver=foo2hp;; *2530*|*24[89]0*) driver=foo2lava;; *6115*) driver=foo2lava;; *C500*) driver=foo2slx;; *C3[234]00*) driver=foo2hiperc;; *C5[12568]00*) driver=foo2hiperc;; *CLP*|*CLX*|*6110*) driver=foo2qpdl;; *) driver=foo2zjs;; esac ENGINE=../foomatic/foomatic-db-engine PERL5LIB=$ENGINE/lib $ENGINE/foomatic-ppdfile \ -d $driver -p $printer \ > PPD/$printer.ppd # | sed -e 's/\(^\*NickName.*\)"/\1 (foo2zjs recommended)"/' done ;; update) url=http://foo2zjs.rkkda.com file=foo2zjs.tar.gz wget $WGETOPTS -O $file $url/$file || error "Couldn't download $url/$exefile" mv getweb getweb.old HERE=`pwd` cd .. tar zxf $HERE/$file cd $HERE echo "The tarball is extracted and the current directory is up to date." echo -e "Remove the tarball (y/n)? \c" read ans if [ "$ans" = y ]; then rm -f $file fi ;; "") usage ;; *) error "Don't know how to get extra stuff for printer $1" ;; esac } if [ $# = 0 ]; then echo "$VERSION" usage fi for i in $* do case "$1" in all) getone 1000 getone 1005 getone 1018 getone 1020 getone p1005 getone p1006 getone p1505 getone 2200 getone 2300 # getone 2430 already done # getone cpwl # file doesn't exist 1/28/08 getone 2600n getone 2530 getone 300 # getone 6110 already done getone 600 getone 500 getone 3200 getone 3400 getone 5600 ;; *) getone $i ;; esac done