From 9d4e8e65af7b31d0f45cb39a28a078cb29bdf2ad Mon Sep 17 00:00:00 2001 From: Quirinux GNU/Linux <49002514+quirinux-so@users.noreply.github.com> Date: Tue, 27 Apr 2021 00:17:01 +0200 Subject: [PATCH] This works on Debian --- getweb | 556 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 556 insertions(+) create mode 100644 getweb diff --git a/getweb b/getweb new file mode 100644 index 0000000..678da3e --- /dev/null +++ b/getweb @@ -0,0 +1,556 @@ +#!/bin/sh + +set -e + +# +# (c) Copyright Rick Richardson 2008 +# This version has been modified by Debian + +# +# 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" +ARM2HPDL="/usr/bin/arm2hpdl" + +if [ $(id -ru) -ne 0 ]; then + echo "You need to be root" + exit 1 +fi + + +usage() { +cat <&2 + exit 1 +} + +SYSTEM=`uname -s` +WGET=`which wget` +if [ "$SYSTEM" = Darwin -a "$WGET" = "" ] +then + WGETOPTS= + wget() { + shift + curl -o $* + } +fi + +putfw() { + inputname=$1 + outputname=$2 + $ARM2HPDL $inputname > /lib/firmware/hp/$outputname + rm $inputname +} + +puticm() { + drivername=$1 + icmfolder=/usr/share/"$drivername"/icm/ + [ -d $icmfolder ] || mkdir -p $icmfolder + mv *.icm $icmfolder +} + +# +# 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 \ + https://www.quirinux.org/printers 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" + putfw sihp1000.img sihp1000.dl + ;; + lj1005|1005) + gettgz \ + https://www.quirinux.org/printers 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 \ + https://www.quirinux.org/printers sihpP1005.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2009" + putfw sihp1005.img sihp1005.dl + ;; + lj1018|1018) + gettgz \ + https://www.quirinux.org/printers sihp1018.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2005" + putfw sihp1018.img sihp1018.dl + ;; + lj1020|1020) + # http://ftp.hp.com/pub/softlib/software8/COL14041/lj-39322-2/hp_LJ_1020-1022_Full_Solution.exe + gettgz \ + https://www.quirinux.org/printers sihp1020.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2005" + putfw sihp1020.img sihp1020.dl + ;; + [pP]100[57]) + gettgz \ + https://www.quirinux.org/printers sihpP1005.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2009" + putfw sihpP1005.img sihpP1005.dl + ;; + [pP]100[68]) + gettgz \ + https://www.quirinux.org/printers sihpP1006.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2009" + putfw sihpP1006.img sihpP1006.dl + ;; + [pP]1505) + gettgz \ + https://www.quirinux.org/printers sihpP1505.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2009" + putfw sihpP1505.img sihpP1505.dl + ;; + 2200dl|2200) + if true; then + gettgz \ + https://www.quirinux.org/printers dl2300.tar.gz \ + "" + else + getexe \ + http://printer.konicaminolta.net/drivers/win2000 m22dlicc.exe \ + "*.icm" + fi + copyright "(c) Copyright Minolta-QMS 1999" + puticm foo2zjs + ;; + 2300dl|2300) + if true; then + gettgz \ + https://www.quirinux.org/printers dl2300.tar.gz \ + "" + else + getexe \ + http://printer.konicaminolta.net/drivers/other m23dlicc.exe \ + "*.icm" + fi + gettgz \ + https://www.quirinux.org/printers km2430.tar.gz \ + "" + copyright "(c) Copyright Minolta-QMS 2001" + puticm foo2zjs + ;; + 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 \ + https://www.quirinux.org/printers 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" + puticm foo2zjs + ;; + 2430) + gettgz \ + https://www.quirinux.org/printers km2430.tar.gz \ + "" + copyright "(c) Copyright Konica Minolta 2003" + puticm foo2zjs + ;; + 2530|2490|6115|2480|1600w|1680|1690|4690|110|6121) + gettgz \ + https://www.quirinux.org/printers km2530.tar.gz \ + "" + copyright "(c) Copyright Konica Minolta 2005" + copyright "(c) Copyright Rick Richardson 2007. All Rights Reserved" + gettgz \ + https://www.quirinux.org/printers km-1600.tar.gz \ + "" + copyright "(c) Copyright Rick Richardson 2009. All Rights Reserved" + puticm foo2lava + ;; + 1500) + gettgz \ + https://www.quirinux.org/printers hpclj2500.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2002" + gettgz \ + https://www.quirinux.org/printers hpclj2600n.tar.gz \ + "" + copyright "(c) Copyright Hewlett-Packard 2003" + copyright "(c) Copyright Rick Richardson 2006. All Rights Reserved" + puticm foo2oak + ;; + 1025) + gettgz \ + https://www.quirinux.org/printers hp-cp1025.tar.gz \ + "" + copyright "(c) Copyright Rick Richardson 2010. All Rights Reserved" + puticm foo2zjs + ;; + 1215|1600|2600*) + gettgz \ + https://www.quirinux.org/printers hpclj2600n.tar.gz \ + "" + gettgz \ + https://www.quirinux.org/printers km2430.tar.gz \ + "km2430_2.icm" + copyright "(c) Copyright Hewlett-Packard 2003" + copyright "(c) Copyright Rick Richardson 2006. All Rights Reserved" + gettgz \ + https://www.quirinux.org/printers hp1215.tar.gz \ + "" + copyright "(c) Copyright Rick Richardson 2008. All Rights Reserved" + puticm foo2hp + ;; + 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" + puticm foo2qpdl + ;; + 600|610) + ;; + + 500) + gettgz \ + http://foo2slx.rkkda.com/icm lexc500.tar.gz \ + "" + copyright "(c) Copyright Lexmark 2006" + puticm foo2slx + ;; + + 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" + puticm foo2hiperc + ;; + 301) + gettgz \ + http://foo2hiperc.rkkda.com/icm okic301.tar.gz \ + "" + copyright "(c) Copyright Okidata 2012" + puticm foo2hiperc + ;; + c310) + gettgz \ + http://foo2hiperc.rkkda.com/icm okic310.tar.gz \ + "" + copyright "(c) Copyright Okidata 2010" + puticm foo2hiperc + ;; + c511) + gettgz \ + http://foo2hiperc.rkkda.com/icm okic511.tar.gz \ + "" + copyright "(c) Copyright Okidata 2012" + puticm foo2hiperc + ;; + c810) + gettgz \ + http://foo2hiperc.rkkda.com/icm okic810.tar.gz \ + "" + copyright "(c) Copyright Okidata 2012" + puticm foo2hiperc + ;; + 3100|3200|5100|5150|5200|5250) + gettgz \ + http://foo2hiperc.rkkda.com/icm okic3200.tar.gz \ + "" + copyright "(c) Copyright Okidata 2005" + puticm foo2hiperc + ;; + 3300|3400|3530) + gettgz \ + http://foo2hiperc.rkkda.com/icm okic3400.tar.gz \ + "" + copyright "(c) Copyright Okidata 2006" + puticm foo2hiperc + ;; + 5500|5600|5800|160) + gettgz \ + http://foo2hiperc.rkkda.com/icm okic5600.tar.gz \ + "" + copyright "(c) Copyright Okidata 2006" + puticm foo2hiperc + ;; + + 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 + ;; + "") + usage + ;; + *) + error "Don't know how to get extra stuff for printer $1" + ;; + esac +} + +if [ $# = 0 ]; then + echo "$VERSION" + usage +fi + +OLDPWD=`pwd` +NEWPWD=`mktemp --tmpdir --directory foo2zjs.XXXXXX` +cd "$NEWPWD" + +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 + +cd "$OLDPWD" +rmdir "$NEWPWD"