diff --git a/ap/foo2zjs/doinst.sh b/ap/foo2zjs/doinst.sh new file mode 100644 index 00000000..1dbf9286 --- /dev/null +++ b/ap/foo2zjs/doinst.sh @@ -0,0 +1,9 @@ +#!/bin/sh +if test -x /sbin/udevcontrol ; then + /sbin/udevcontrol reload_rules +fi +if test -x /etc/rc.d/rc.cups ; then + if test "`/etc/rc.d/rc.cups status`" = "cups: scheduler is running." ; then + /etc/rc.d/rc.cups restart + fi +fi diff --git a/ap/foo2zjs/foo2zjs.SlackBuild b/ap/foo2zjs/foo2zjs.SlackBuild new file mode 100755 index 00000000..9aa1901e --- /dev/null +++ b/ap/foo2zjs/foo2zjs.SlackBuild @@ -0,0 +1,136 @@ +#!/bin/bash +# Build script for Slackware +# Damien Goutte-Gattat "gouttegd" +# +# Redistribution and use of this script, with or without modifications, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Latest foo2zjs sourcecode is available at: +# http://foo2zjs.rkkda.com/ + +# Source package infos +NAMESRC=${NAMESRC:-foo2zjs} +VERSION=${VERSION:-20080923} +ARCHIVE=${ARCHIVE:-$NAMESRC.tar.gz} +WGET=${WGET:-http://foo2zjs.rkkda.com/$ARCHIVE} +ICMPROFILES=${ICMPROFILES:-icmprofiles.tar.gz} +FIRMWARES=${FIRMWARES:-firmwares.tar.gz} + +# Built package infos +NAMETGZ=${NAMETGZ:-foo2zjs} +BUILD=${BUILD:-2GGD} +ARCH=${ARCH:-i486} +TARGET=${TARGET:-i486} + +# Directories +TMP=${TMP:-/tmp} +OUT=${OUT:-$TMP/build} +PKG=${PKG:-$OUT/$NAMETGZ} +CWD=$(pwd) + +set -e # Quit if a command returns non-zero + +# Sanity checks +if [ $UID -eq 0 ]; then + echo "You should NOT run this script as ROOT!" + exit 1 +fi +if [ ! -d $TMP ]; then + echo "$TMP does not exist or is not a directory!" + exit 1 +fi + +# Compilation flags +case "$ARCH" in +i?86) + CPUOPT="-O2 -march=$ARCH -mtune=i686" + ;; +*) + CPUOPT="-O2" + ;; +esac + +# Get and verify the source archive +if [ ! -r $ARCHIVE ]; then + wget "$WGET" +fi +sha1sum -c $ARCHIVE.sha1 +NAME=$(tar ft $ARCHIVE | head -n 1 | cut -d / -f 1) + +# Extract +cd $TMP +echo "Building $ARCHIVE..." +tar xf $CWD/$ARCHIVE +cd $NAME +if [ $CWD/$ICMPROFILES ]; then + tar xf $CWD/$ICMPROFILES +fi +if [ $CWD/$FIRMWARES ]; then + tar xf $CWD/$FIRMWARES +fi + +# Compile +CFLAGS=$CPUOPT \ +CXXFLAGS=$CPUOPT \ +make +mkdir -p $PKG/usr/share/{applications,pixmaps,cups/model} +make install DESTDIR=$PKG + +# Install udev rules and scripts to automatically load +# the needed firmwares +if [ -f $CWD/$FIRMWARES ]; then + mkdir -p $PKG/etc/udev/rules.d $PKG/lib/udev + install -m 644 hplj10xx.rules $PKG/etc/udev/rules.d/11-hplj10xx.rules + sed -ri 's|/etc/hotplug/usb/||' $PKG/etc/udev/rules.d/11-hplj10xx.rules + install -m 755 hplj1000 $PKG/lib/udev + for model in 10{05,18,20} P1{005,006,007,008,505} ; do + ln -sf hplj1000 $PKG/lib/udev/hplj$model + done +fi + +# Strip binaries +find $PKG | xargs file | grep "ELF 32-bit LSB" | cut -d : -f 1 | \ + xargs strip --strip-unneeded 2> /dev/null + +# Move man pages and docs to the right place +mkdir -p $PKG/usr/doc +mv $PKG/usr/share/man $PKG/usr/man +mv $PKG/usr/share/doc/foo2zjs $PKG/usr/doc/$NAMETGZ-$VERSION +rmdir $PKG/usr/share/doc + +# Compress man pages +find $PKG/usr/man -type f -exec gzip -9 {} \; + +# Copy slack-desc and doinst.sh files +mkdir -p $PKG/install +install -m 644 $CWD/slack-desc $PKG/install/slack-desc +install -m 755 $CWD/doinst.sh $PKG/install/doinst.sh + +# Package the tree +cd $PKG +mkdir -p $OUT +PACKAGING=" +chown root:root . -R +/sbin/makepkg -l y -c n $OUT/$NAMETGZ-$VERSION-$ARCH-$BUILD.tgz +rm -rf $PKG +rm -rf $TMP/$NAME +" +if type -p fakeroot ; then + echo "$PACKAGING" | fakeroot +else + su -c "$PACKAGING" +fi diff --git a/ap/foo2zjs/foo2zjs.tar.gz.sha1 b/ap/foo2zjs/foo2zjs.tar.gz.sha1 new file mode 100644 index 00000000..61af7e3b --- /dev/null +++ b/ap/foo2zjs/foo2zjs.tar.gz.sha1 @@ -0,0 +1 @@ +5f2fac8edc11179ef656781f7878177cc85cdd43 foo2zjs.tar.gz diff --git a/ap/foo2zjs/get-extra-files.sh b/ap/foo2zjs/get-extra-files.sh new file mode 100755 index 00000000..1dc1e8ec --- /dev/null +++ b/ap/foo2zjs/get-extra-files.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +mkdir extra +cd extra + +for fw in sihp10{00,05,18,20} sihpP1{005,006,505} ; do + wget "http://foo2zjs.rkkda.com/firmware/$fw.tar.gz" +done + +wget "http://foo2zjs.rkkda.com/icm/km2430.tar.gz" +wget "http://foo2hp.rkkda.com/icm/hpclj2600n.tar.gz" +wget "http://foo2qpdl.rkkda.com/icm/samclp300.tar.gz" +wget "http://foo2slx.rkkda.com/icm/lexc500.tar.gz" + +for icm in okic{32,34,56}00 ; do + wget "http://foo2hiperc.rkkda.com/icm/$icm.tar.gz" +done + +for tgz in $(ls *.tar.gz) ; do + tar xf $tgz +done + +tar czvf ../firmwares.tar.gz *.img +tar czvf ../icmprofiles.tar.gz *.icm + +cd .. +rm -rf extra diff --git a/ap/foo2zjs/slack-desc b/ap/foo2zjs/slack-desc new file mode 100644 index 00000000..c017c899 --- /dev/null +++ b/ap/foo2zjs/slack-desc @@ -0,0 +1,12 @@ + |-----handy-ruler------------------------------------------------------| +foo2zjs: foo2zjs (printer driver for ZjStream protocol) +foo2zjs: +foo2zjs: Foo2zjs converts pbm (B/W) images and 1-bit-per-pixel cmyk images +foo2zjs: (both produced by ghostscript) to Zenographics ZJ-stream format. +foo2zjs: +foo2zjs: With foo2zjs, you can print to some HP and Minolta/QMS ZjStream +foo2zjs: printers. +foo2zjs: +foo2zjs: +foo2zjs: +foo2zjs: