#!/bin/sh # # (c) Copyright Rick Richardson 2008 # # # PLEASE don't remove the copyright statements. They should # be displayed to the human that is running this. # VERSION='$Id: getweb.in,v 1.114 2015/02/12 00:22:02 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" gettgz \ http://foo2zjs.rkkda.com/firmware sihpP1005.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2009" ;; lj1018|1018) gettgz \ http://foo2zjs.rkkda.com/firmware sihp1018.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2005" ;; lj1020|1020) # http://ftp.hp.com/pub/softlib/software8/COL14041/lj-39322-2/hp_LJ_1020-1022_Full_Solution.exe gettgz \ http://foo2zjs.rkkda.com/firmware sihp1020.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2005" ;; [pP]100[57]) gettgz \ http://foo2zjs.rkkda.com/firmware sihpP1005.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2009" ;; [pP]100[68]) gettgz \ http://foo2zjs.rkkda.com/firmware sihpP1006.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2009" ;; [pP]1505) gettgz \ http://foo2zjs.rkkda.com/firmware sihpP1505.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2009" ;; 2200dl|2200) if true; then gettgz \ http://foo2zjs.rkkda.com/icm dl2300.tar.gz \ "" else getexe \ http://printer.konicaminolta.net/drivers/win2000 m22dlicc.exe \ "*.icm" fi copyright "(c) Copyright Minolta-QMS 1999" ;; 2300dl|2300) if true; then gettgz \ http://foo2zjs.rkkda.com/icm dl2300.tar.gz \ "" else getexe \ http://printer.konicaminolta.net/drivers/other m23dlicc.exe \ "*.icm" fi 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 gettgz \ http://foo2zjs.rkkda.com/icm dl2300.tar.gz \ "" else 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 fi copyright "(c) Copyright Minolta-QMS 1998" ;; 2430) gettgz \ http://foo2zjs.rkkda.com/icm km2430.tar.gz \ "" copyright "(c) Copyright Konica Minolta 2003" ;; 2530|2490|6115|2480|1600w|1680|1690|4690|110|6121) gettgz \ http://foo2lava.rkkda.com/icm km2530.tar.gz \ "" copyright "(c) Copyright Konica Minolta 2005" copyright "(c) Copyright Rick Richardson 2007. All Rights Reserved" gettgz \ http://foo2lava.rkkda.com/icm km-1600.tar.gz \ "" copyright "(c) Copyright Rick Richardson 2009. All Rights Reserved" ;; 1500) gettgz \ http://foo2hp.rkkda.com/icm hpclj2500.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2002" gettgz \ http://foo2hp.rkkda.com/icm hpclj2600n.tar.gz \ "" copyright "(c) Copyright Hewlett-Packard 2003" copyright "(c) Copyright Rick Richardson 2006. All Rights Reserved" ;; 1025) gettgz \ http://foo2zjs.rkkda.com/icm hp-cp1025.tar.gz \ "" copyright "(c) Copyright Rick Richardson 2010. All Rights Reserved" ;; 1215|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" gettgz \ http://foo2hp.rkkda.com/icm hp1215.tar.gz \ "" copyright "(c) Copyright Rick Richardson 2008. All Rights Reserved" ;; 300|310|315|325|360|365|2160|3160|3175|3185|6110) gettgz \ http://foo2qpdl.rkkda.com/icm samclp300.tar.gz \ "" copyright "(c) Copyright Rick Richardson 2007. All Rights Reserved" gettgz \ http://foo2qpdl.rkkda.com/icm samclp315.tar.gz \ "" copyright "(c) Copyright Rick Richardson 2008. All Rights Reserved" ;; 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" ;; 301) gettgz \ http://foo2hiperc.rkkda.com/icm okic301.tar.gz \ "" copyright "(c) Copyright Okidata 2012" ;; c310) gettgz \ http://foo2hiperc.rkkda.com/icm okic310.tar.gz \ "" copyright "(c) Copyright Okidata 2010" ;; c511) gettgz \ http://foo2hiperc.rkkda.com/icm okic511.tar.gz \ "" copyright "(c) Copyright Okidata 2012" ;; c810) gettgz \ http://foo2hiperc.rkkda.com/icm okic810.tar.gz \ "" copyright "(c) Copyright Okidata 2012" ;; 3100|3200|5100|5150|5200|5250) gettgz \ http://foo2hiperc.rkkda.com/icm okic3200.tar.gz \ "" copyright "(c) Copyright Okidata 2005" ;; 3300|3400|3530) gettgz \ http://foo2hiperc.rkkda.com/icm okic3400.tar.gz \ "" copyright "(c) Copyright Okidata 2006" ;; 5500|5600|5800|160) 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;; *M1212*) driver=foo2xqx;; *1500*|*OAKT*) driver=foo2oak;; *1600*|*2600*) driver=foo2hp;; *1215*) driver=foo2hp;; *2530*|*24[89]0*) driver=foo2lava;; *6115*) driver=foo2lava;; *C110*) 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=${URLZJS} 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 1500 getone 2600n # getone 1215 # already done getone 1025 getone 2530 getone 300 # getone 6110 already done getone 600 getone 500 getone 301 getone c310 getone c511 getone c810 getone 3200 getone 3400 getone 5600 ;; *) getone $i ;; esac done