# HPLIP 3.10.5
# ============
# HP originally game out with HPIJS, which was drivers for Inkjet printers.
# How there's HPLIP, which covers printing, scanning, and faxing with HP
# devices. HPIJS is part of HPLIP.
# Slackware is considered not supported, but it's not too difficult to get
# it to work with some tweaking. If you don't want to deal with the
# procedure, use a HPLIP package instead.
#
# Slackware 12.0: hplip 1.7.4a
# Slackware 12.1: hplip 2.8.4
# Slackware 12.2: hplip 2.8.10
# Slackware 13.0: hplip 3.9.4b
# Slackware 13.1: hplip 3.10.2
#
# You can also find packages at LinuxPackages here:
# http://www.linuxpackages.net/search_view.php?by=name&name=hplip
# (I have not tried any of them)
# If you previously had HPIJS installed (the old standalone HPIJS), go to
# it's howto first to uninstall it, then come back here.
cd
test -f installed/hplip-3.10.5.tar.gz &&
mv installed/hplip-3.10.5.tar.gz .
test ! -f hplip-3.10.5.tar.gz &&
wget http://downloads.sf.net/hplip/hplip-3.10.5.tar.gz
# Verify tarball w/ md5sum:
# (this came from my gpg-verified tarball)
echo "a4a3679d5987520226ef70d834b63b88 hplip-3.10.5.tar.gz" | md5sum -c
# Verify tarball w/ sha1sum:
# (this also came from my gpg-verified tarball)
echo "4e6e534983311af6991245e99814a44d857cda8d hplip-3.10.5.tar.gz" \
| sha1sum -c
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "hplip-*" -exec rm -r {} \;
tar xzvf ~/hplip-3.10.5.tar.gz
cd hplip-3.10.5
test $UID = 0 && chown -R root:root .
# If you don't want to install the GUI parts, which might be the case if
# you're just installing CUPS on a server or something like that, continue
# here. If you want to install the whole package, skip down to WHOLE
# PACKAGE below.
# You can also run ./hplip-install here and let the Python script
# do the work for you, or run it the usual way with configure, make,
# etc.
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg hplip
# If this is an upgrade, remove old files:
# (for a more complete removal, skip down to the bottom)
for pfx in /usr /usr/local;
do
find ${pfx}/bin -type l -name "hp-*" -exec rm {} \;
rm -f ${pfx}/bin/hp-mkuri ${pfx}/bin/hpijs
find ${pfx}/doc -type d -name "hplip-*" -exec rm -r {} \;
find ${pfx}/share/doc -type d -name "hplip-*" -exec rm -r {} \;
test -d ${pfx}/share/hplip && rm -r ${pfx}/share/hplip
test -d ${pfx}/share/ppd/HP && rm -r ${pfx}/share/ppd/HP
done
# Install it
make install
# If you passed --disable-gui-build to configure above, remove these things
# that you won't need
rm -f /etc/xdg/autostart/hplip-systray.desktop \
/usr/share/applications/hplip.desktop
# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .
# WHOLE PACKAGE
# =============
# If you want to install the whole HPLIP package, continue below.
# WARNING: I have not installed the whole package in a while. Keep this
# in mind as you continue below.
# Apply this patch to 1) make it OK if chkconfig doesn't exist (the Makefile
# blindly uses it, defined or not), 2) if /etc/init.d doesn't exist,
# use /etc/rc.d/init.d, if that doesn't exist use /etc/rc.d, and
# 3) fix a small bug in check.py The patch fixes Makefile.in instead of
# Makefile.am, so you don't have to run automake.
wget -nc http://englanders.us/pub/linux/patches/hplip-1.6.10.patch &&
patch -p1 < hplip-1.6.10.patch
# Run ./check.py if you want to know what it thinks you need to have
# installed. You'll see it complain that LSB is not installed, which is OK.
# It said PyQt wasn't installed, but after running it with -g (debug) I saw
# that it said that because it's a snapshot version. It says
# libnetsnmp-devel is not installed, but that's because it only looks for
# net-snmp-config.h in /usr/include, mine is in /usr/local/include.
# check.py will be /usr/local/bin/hp-check after HPLIP is installed.
# If you don't have any need for network printing support (which requires
# net-snmp), pass --disable-network-build to configure
# If you don't have any need for parallel port printing support, pass
# --disable-pp-build to configure
# The LDFLAGS/CPPFLAGS part is because my net-snmp is linked with OpenSSL,
# which is installed under /usr/local/ssl. Without that part, configure
# would fail saying that I don't have net-snmp in stalled.
# This is how I run configure, you may only need "./configure"
LDFLAGS=-L/usr/local/ssl/lib CPPFLAGS=-I/usr/local/ssl/include \
./configure --disable-pp-build
# Build it
make
# Become root to install it
su
# If you don't have the sysvinit-style directories set up, create them:
test -x /etc/rc.d/rc.sysvinit &&
( cd /etc/rc.d ; mkdir -p init.d rc{0,1,2,3,4,5,6}.d )
# Remove old packages, libraries, install the new version
test -x /sbin/removepkg && /sbin/removepkg hplip
( cd /usr/local/lib ; rm -f libhpip.* libsane-hpaio.* )
make install
ldconfig
# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .
# HPLIP needs to start before CUPS, so make sure that the priority number
# (the S?? symlink in /etc/rc.d/rc?.d/*) is lower for HPLIP than it is for
# CUPS. On my system CUPS is S99 and HPLIP is S50.
# To start HPLIP (hpiod and hpssd):
/etc/rc.d/init.d/hplip start
# If you want to star the HP Device Manager GUI, run:
# /usr/local/share/hplip/toolbox
# You can use /usr/local/share/hplip/data/images/HPmenu.png for a desktop
# icon.