8adcbd5af7
Copy from home:jsmeix:branches:Printing/hplip via accept of submit request 22456 revision 2. OBS-URL: https://build.opensuse.org/request/show/22456 OBS-URL: https://build.opensuse.org/package/show/Printing/hplip?expand=0&rev=9
565 lines
24 KiB
RPMSpec
565 lines
24 KiB
RPMSpec
#
|
|
# spec file for package hplip (Version 3.9.8)
|
|
#
|
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
# norootforbuild
|
|
|
|
|
|
Name: hplip
|
|
BuildRequires: cups cups-devel dbus-1-devel fdupes libdrm-devel libgphoto2-devel libjpeg-devel libqt4-devel libusb-devel net-snmp-devel pkgconfig python-devel python-openssl python-qt4 python-xml readline-devel sane-backends update-desktop-files
|
|
Summary: HP's Printing, Scanning, and Faxing Software
|
|
# HPLIP has reached 1.0 status. With this release a date encoded revision number is used:
|
|
# x.y.m : x = major release number, y = year (eg: 6 = 2006), m = month (eg: 6a = second release in June)
|
|
# Official releases have a 3 digit number and release candidates have a 4 digit number: x.y.m.rc
|
|
Version: 3.9.8
|
|
Release: 2
|
|
Group: Hardware/Printing
|
|
License: BSD 3-clause (or similar) ; GPL v2 or later ; MIT License (or similar)
|
|
Url: http://hplipopensource.com
|
|
# Source0...Source9 is for sources from HP:
|
|
# URL for Source0: http://surfnet.dl.sourceforge.net/sourceforge/hplip/hplip-3.9.8.tar.gz
|
|
Source0: %{name}-%{version}.tar.bz2
|
|
# Source1 hpcups-ppds-3.9.8-reorder.tar.bz2 contains the static PPDs which are fixed
|
|
# according to what hpcups.drv.in-3.9.8-reorder.patch fixes for dynamic PPDs.
|
|
# I got it on 14 Aug 2009 as mail attachment from linus.araque@hp.com:
|
|
Source1: hpcups-ppds-3.9.8-reorder.tar.bz2
|
|
# Patch0...Patch9 is for patches from HP:
|
|
# URL for Patch0: http://surfnet.dl.sourceforge.net/sourceforge/hplip/hpcups.drv.in-3.9.8-reorder.patch
|
|
# Patch0 hpcups.drv.in-3.9.8-reorder.patch addresses two issues in the 3.9.8 hpcups.drv.in file.
|
|
# 1. Re-orders common paper sizes so that normal, fullbleed and duplex papers sizes are grouped together in the PPD.
|
|
# 2. Changed the LJColor device class from RGBW to RGB color space. The K band was not being printed by hpcups.
|
|
# Because we build it only with the static PPDs, hpcups.drv.in-3.9.8-reorder.patch
|
|
# is actually not needed for us, nevertheless I like to provide this patch
|
|
# to have it in our source RPM to be in full compliance to upstream.
|
|
Patch0: hpcups.drv.in-3.9.8-reorder.patch
|
|
# Patch10...Patch99 is for Suse patches for the sources from HP:
|
|
# Patch10 fixes "... is used uninitialized ..." warnings:
|
|
Patch10: fix-uninitialized-variables.diff
|
|
# Patch11 fix_gcc44_glib.diff is obsolete since version 3.9.6b because it is fixed in the source.
|
|
# Source100... is for special Suse sources:
|
|
# Source100 is the primary source for the suse_update_desktop_file stuff.
|
|
# It is found automatically in $RPM_SOURCE_DIR by 'suse_update_desktop_file -i hplip':
|
|
Source100: %{name}.desktop
|
|
# Source101 is a wrapper for hp-toolbox which shows meaningful error messages even under X.
|
|
# hp-toolbox.wrapper is called via hplip.desktop:
|
|
Source101: hp-toolbox.wrapper
|
|
# Source102 is a small man page for /usr/bin/hpijs:
|
|
Source102: hpijs.1.gz
|
|
# Source103 was the init script for hpssd which is obsolete since version 2.8.4
|
|
# Source104 is a script which outputs a global HAL fdi file
|
|
# for all HP USB devices which belong to HPLIP:
|
|
Source104: create_hal_global_fdi_from_hpmud_rules
|
|
# Source105 hplip.SuSEfirewall2 provides support
|
|
# to open UDP ports 5353(mdns) and 427(svrloc) for mDNS support
|
|
# according to the init-suse-firewall in the tar ball
|
|
# (compare also Novell/Suse Bugzilla bnc#498429):
|
|
Source105: hplip.SuSEfirewall2
|
|
# Patch100... is for special Suse patches:
|
|
# Patch101 changes in the udev rules file the mode from "0666" to "0664"
|
|
# and for parallel port devices the owner from "lp" to "root" to avoid
|
|
# that the permissions can be changed e.g. by any CUPS filter script
|
|
# or CUPS backend (both run as user "lp"):
|
|
Patch101: change-udev-rules.diff
|
|
# Install into this non-root directory (required when norootforbuild is used):
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
PreReq: coreutils, /bin/grep, /bin/sed, /usr/bin/find
|
|
# Require the exact matching version-release of the hpijs sub-package to make sure
|
|
# to have the exact matching version of libhpip and libhpmud installed.
|
|
# The exact matching version-release of the sub-package is available on the same
|
|
# repository where the main-package is (compare the "Recommends: hplip" entry below).
|
|
# A wrong library version may let libsane-hpaio crash (e.g. segfault)
|
|
# which lets the whole scanning stack frontend<->libsane-dll<->libsane-backend crash
|
|
# also for any other backend when the hpaio backend is enabled (e.g. "scanimage -L"):
|
|
Requires: %{name}-hpijs = %{version}-%{release}
|
|
# Require special Python stuff (which pulls in Python base stuff):
|
|
Requires: python-xml, pyxml
|
|
# Since version 3.9.2 by default only Qt4 is used:
|
|
Requires: python-qt4
|
|
# Since version 2.8.4 all interprocess communication uses dbus.
|
|
# Therefore python-dbus version 0.80 or greater is required (which pulls in dbus base stuff).
|
|
# The dbus stuff in HPLIP requires the Python module gobject
|
|
# but there is no automated RPM requirement for python-gobject2,
|
|
# see https://answers.launchpad.net/hplip/+question/30741
|
|
Requires: dbus-1-python >= 0.80, python-gobject2
|
|
# Either the hplip17 packages or the hplip packages can be installed,
|
|
# see https://bugzilla.novell.com/show_bug.cgi?id=251830#c20
|
|
# for the full story why there is this unversioned Obsoletes:
|
|
Obsoletes: hplip17
|
|
# Skip testing devel dependencies required by libtool .la files by the following comment:
|
|
# skip-check-libtool-deps
|
|
|
|
%description
|
|
The Hewlett-Packard Linux Imaging and Printing project (HPLIP) provides
|
|
a unified single and multifunction connectivity solution for HP
|
|
printers and scanners (in particular, HP all-in-one devices).
|
|
|
|
HPLIP provides unified connectivity for printing, scanning, sending
|
|
faxes, photo card access, and device management and is designed to work
|
|
with CUPS.
|
|
|
|
It includes the Ghostscript printer driver HPIJS for HP printers and a
|
|
special "hp" CUPS back-end that provides bidirectional communication
|
|
with the device (required for HP printer device management).
|
|
|
|
It also includes the SANE scanner driver "hpaio" for HP all-in-one
|
|
devices. Basic PC send fax functionality is supported on a number of
|
|
devices.
|
|
|
|
The special "hpfax" CUPS back-end is required to send faxes. Direct
|
|
uploading (i.e. without print and scan) of received faxes from the
|
|
device to the PC is not supported.
|
|
|
|
The "hp-toolbox" program is provided for device management.
|
|
|
|
The "hp-sendfax" program must be used to send faxes.
|
|
|
|
The "hp-setup" program can be used to set up HP all-in-one devices.
|
|
|
|
The HPLIP project is open source software and uses GPL-compatible
|
|
licenses. For more information, see:
|
|
|
|
http://hplipopensource.com
|
|
|
|
/usr/share/doc/packages/hplip/index.html
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
David Suffield <david.suffield@hp.com>
|
|
Yie Shiyun <shiyun.yie@hp.com>
|
|
Donald J. Welch <donald.welch@hp.com>
|
|
Cauligi Raghothama S. <raghothama.cauligi@hp.com>
|
|
Aaron Albright
|
|
Charlie Moore
|
|
Chris Wiesner
|
|
Chuck Esterbrook
|
|
Cory Meisch
|
|
David Goodger
|
|
David Paschal
|
|
Don Castrapel
|
|
Foster Nuffer
|
|
Hamish B Lawson
|
|
Henrique M. Holschuh
|
|
Ian Bicking
|
|
Jacqueline Pitter
|
|
James Thiele
|
|
John Hosszu
|
|
John Oleinik
|
|
Linus Araque
|
|
Mark Crawford
|
|
Mark Overton
|
|
Michael Foord
|
|
Mike Orr
|
|
Pete Parks
|
|
Philippe Normand
|
|
Sam Rushing
|
|
Smith Kennedy
|
|
Steve DeRoos
|
|
Tavis Rudd
|
|
Till Kamppeter
|
|
|
|
%package hpijs
|
|
License: BSD 3-clause (or similar) ; GPL v2 or later ; MIT License (or similar)
|
|
Summary: Only plain printing with HPLIP printer drivers
|
|
Group: Hardware/Printing
|
|
# Since Nov 14 2007 ghostscript-library does no longer require /usr/bin/hpijs
|
|
# but only "Suggests hplip-hpijs" (see Novell/Suse Bugzilla bnc#341564).
|
|
# Have the matching "reverse suggests" = "Enhances" here
|
|
# to document the ghostscript_any <-> hplip-hpijs relationship:
|
|
Enhances: ghostscript_any
|
|
# On a minimalist system only hplip-hpijs may be installed
|
|
# or on a minimalist package repository (e.g. on the openSUSE CDs)
|
|
# only hplip-hpijs may be available (even when a usual system is installed).
|
|
# When only hplip-hpijs is there, it should tell the dependency resolver
|
|
# that for usual functionality, hplip should be installed too (if possible).
|
|
# Unfortunately the installer ignores suggested packages silently
|
|
# but on the other hand I cannot use "Recommends hplip" here
|
|
# because the installer installs recommended packages silently
|
|
# which would bloat a minimal selection (when hplip is available to be installed)
|
|
# because the minimal selection contains hplip-hpijs which recommends hplip
|
|
# so that the installer installs hplip and all what this requires silently
|
|
# see https://bugzilla.novell.com/show_bug.cgi?id=546893
|
|
# Require only the matching version of the hplip main-package
|
|
# (compare the "Requires: hplip-hpijs" entry above) but do not depend
|
|
# on the exact matching release because the exact matching release
|
|
# may be not available to be installed (e.g. when hplip-hpijs-1.2.3-4.5 is
|
|
# installed from the openSUSE CDs but on our official online repository
|
|
# only hplip-1.2.3-6.7 is available which should usually also work):
|
|
Suggests: hplip = %{version}
|
|
# hplip-hpijs and hpijs-standalone both contain /usr/bin/hpijs
|
|
# so that both packages have a RPM conflict.
|
|
# But when the minimalist hpijs-standalone is to be replaced
|
|
# by the full-featured hplip, hplip requires hplip-hpijs
|
|
# and this should silently supersede hpijs-standalone:
|
|
Obsoletes: hpijs-standalone <= %{version}
|
|
Provides: hpijs-standalone = %{version}
|
|
# Either the hplip17 packages or the hplip packages can be installed,
|
|
# see https://bugzilla.novell.com/show_bug.cgi?id=251830#c20
|
|
# for the full story why there is this unversioned Obsoletes:
|
|
Obsoletes: hplip17-hpijs
|
|
|
|
%description hpijs
|
|
HPIJS is HPLIP's Ghostscript printer driver for HP printers.
|
|
HPCUPS is HPLIP's native CUPS printer driver for HP printers.
|
|
|
|
This sub-package includes only what is needed for plain printing
|
|
with the printer drivers in HPLIP for standard HP printers.
|
|
|
|
It does neither provide device status information,
|
|
nor support for scanning, nor support for faxing,
|
|
nor support for memory card (mass storage) access,
|
|
nor support for non-standard devices e.g. no support
|
|
for devices which require an additional plugin from HP.
|
|
|
|
This sub-package includes in particular:
|
|
|
|
The hpijs binary and the libraries libhpip and libhpmud
|
|
which are needed to run it.
|
|
The HPIJS CUPS filter foomatic-rip-hplip.
|
|
|
|
The HPCUPS driver (/usr/lib[64]/cups/filter/hpcups).
|
|
|
|
The CUPS backend "hp".
|
|
|
|
All HPLIP PPD files (also for HP PostScript printers).
|
|
|
|
For the full-featured HPLIP printing and scanning solution,
|
|
the main-package package hplip must be installed.
|
|
|
|
For full documentation and license see the main-package hplip.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
David Suffield <david.suffield@hp.com>
|
|
Cory Meisch <cory.meisch@hp.com>
|
|
Yie Shiyun <shiyun.yie@hp.com>
|
|
Donald J. Welch <donald.welch@hp.com>
|
|
Cauligi Raghothama S. <raghothama.cauligi@hp.com>
|
|
|
|
%prep
|
|
# Be quiet when unpacking:
|
|
%setup -q
|
|
# Unpack the fixed static PPDs in Source1 hpcups-ppds-3.9.8-reorder.tar.bz2
|
|
# which overwrite the original static PPDs in Source0:
|
|
tar -x --overwrite --no-overwrite-dir -j -f %{SOURCE1}
|
|
# Patch0 hpcups.drv.in-3.9.8-reorder.patch
|
|
# addresses two issues in the 3.9.8 hpcups.drv.in file:
|
|
%patch0
|
|
# Patch10 fix-uninitialized-variables.diff
|
|
# fixes "... is used uninitialized ..." warnings:
|
|
%patch10
|
|
# Patch101 change-udev-rules.diff
|
|
# changes in the udev rules file the mode from "0666" to "0664":
|
|
%patch101
|
|
|
|
%build
|
|
# If AUTOMAKE='automake --foreign' is not set, autoreconf (in fact automake)
|
|
# complains about missing files like NEWS, README, AUTHORS, ChangeLog
|
|
# in each directory where a Makefile.am exists:
|
|
AUTOMAKE='automake --foreign' autoreconf --force --install
|
|
# Set our preferred architecture-specific flags for the compiler and linker:
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
|
# Static "hpijs" PPD files via enable-foomatic-ppd-install
|
|
# require foomatic-rip-hplip via their cupsFilter entries
|
|
# so that enable-foomatic-rip-hplip-install is also needed.
|
|
# Since version 3.9.6 the default printer driver install changed from hpijs to hpcups.
|
|
# According to http://hplipopensource.com/hplip-web/release_notes.html
|
|
# all drv installs require CUPSDDK 1.2.3 or higher.
|
|
# Otherwise a static PPD install must be performed.
|
|
# For hpcups static PPD install one needs:
|
|
# --enable-hpcups-install enable hpcups install (default=yes)
|
|
# --disable-cups-drv-install enable cups dynamic ppd install (default=yes)
|
|
# --enable-cups-ppd-install enable cups static ppd install (default=no)
|
|
# For both hpcups and hpijs install with static PPDs one needs additionally:
|
|
# --enable-hpijs-install enable hpijs install (default=no)
|
|
# --disable-foomatic-drv-install enable foomatic dynamic ppd install (default=no), uses drvdir and hpppddir
|
|
# --enable-foomatic-ppd-install enable foomatic static ppd install (default=no), uses hpppddir
|
|
# --enable-foomatic-rip-hplip-install enable foomatic-rip-hplip install (default=no), uses cupsfilterdir
|
|
./configure --prefix=/usr \
|
|
--libdir=%_libdir \
|
|
--disable-qt3 \
|
|
--enable-qt4 \
|
|
--disable-policykit \
|
|
--enable-doc-build \
|
|
--enable-network-build \
|
|
--enable-pp-build \
|
|
--enable-scan-build \
|
|
--enable-gui-build \
|
|
--enable-fax-build \
|
|
--enable-dbus-build \
|
|
--enable-hpcups-install \
|
|
--disable-cups-drv-install \
|
|
--enable-cups-ppd-install \
|
|
--enable-hpijs-install \
|
|
--disable-foomatic-drv-install \
|
|
--enable-foomatic-ppd-install \
|
|
--enable-foomatic-rip-hplip-install \
|
|
--with-hpppddir=%{_datadir}/cups/model/manufacturer-PPDs/%{name} \
|
|
--with-cupsbackenddir=%{_libdir}/cups/backend \
|
|
--with-cupsfilterdir=%{_libdir}/cups/filter \
|
|
--with-drvdir=%{_libdir}/cups/driver \
|
|
--with-docdir=%{_defaultdocdir}/%{name}
|
|
make
|
|
|
|
%install
|
|
make install DESTDIR=%{buildroot}
|
|
# Remove the installed /etc/sane.d/dll.conf
|
|
# because this is provided by the sane-backends package:
|
|
rm %{buildroot}%{_sysconfdir}/sane.d/dll.conf
|
|
# Make some general tests and adjustments for all PPDs (see manufacturer-PPDs.spec):
|
|
pushd %{buildroot}%{_datadir}/cups/model/manufacturer-PPDs/%{name}
|
|
gunzip *.ppd.gz
|
|
# Add a line-feed to the end of all PPDs to fix those PPDs where it is missing.
|
|
# See Novell/Suse Bugzilla bug #309832: Unix/Linux text files must end with a line-feed.
|
|
# Otherwise reading the last line results EOF and then some programs may ignore the last line.
|
|
for p in *.ppd
|
|
do echo -en '\n' >>$p
|
|
done
|
|
# Correct or remove non-working PPDs:
|
|
# Several HP PPDs contain "600x600x2dpi" which is not allowed
|
|
# according to the Adobe PPD specification section 5.9
|
|
# and which can be simply replaced by "600x1200dpi"
|
|
# because "600x1200dpi" is not used elsewhere in the PPD.
|
|
# Some PPDs contain a "*cupsFilter: ... hppostprocessing" line
|
|
# which cannot work because there is no "hppostprocessing" filter.
|
|
# Some PPDs contain "1284DeviceId" which must be "1284DeviceID".
|
|
# Some PPDs contain "* PageRegion" which must be "*PageRegion".
|
|
# Some HPIJS PPDs contain a too long ShortNickName (longer than 31 chars)
|
|
# therefore from all ShortNickName entries " Foomatic/hpijs" is simply removed
|
|
# but they still exists in the NickName entries which are shown to the user
|
|
# when the user selects a PPD to set up a print queue:
|
|
for p in *.ppd
|
|
do perl -pi -e 's/600x600x2dpi/600x1200dpi/;' $p
|
|
grep -q '^\*cupsFilter:.*hppostprocessing' $p && rm -v $p
|
|
perl -pi -e 's/1284DeviceId/1284DeviceID/;' $p
|
|
perl -pi -e 's/\* PageRegion/*PageRegion/;' $p
|
|
sed -i -e '/^\*ShortNickName:/s/ Foomatic\/hpijs//;' $p
|
|
done
|
|
# Change default media size to A4 if this is an available choice in the PPD and then
|
|
# set DefaultPageSize, DefaultPageRegion, DefaultImageableArea, DefaultPaperDimension to A4:
|
|
for p in *.ppd
|
|
do for i in PageSize PageRegion ImageableArea PaperDimension
|
|
do if grep -q "^\*$i[[:space:]]*A4[:/]" $p
|
|
then grep -q "^\*Default$i:[[:space:]]*A4\$" $p || perl -pi -e "s/^\*Default$i:.*/\*Default$i: A4/" $p
|
|
fi
|
|
done
|
|
done
|
|
# Final test by cupstestppd:
|
|
# To save disk space gzip the files (gzipped PPDs can also be used by CUPS).
|
|
# Future goal: Only have files which don't FAIL for cupstestppd.
|
|
# Ignore FAILs because of errors in UIConstraints and/or NonUIConstraints
|
|
# which are detected since cupstestppd in CUPS > 1.2.7 (i.e. in openSUSE 10.3).
|
|
# See Novell/Suse Bugzilla bug #309822: When this bug is fixed, cupstestppd would
|
|
# no longer result zero exit code.
|
|
# In the long run the PPDs should be fixed but as far as we know there have been
|
|
# no problems because of such UIConstraints errors so that it should be o.k.
|
|
# let those PPDs pass even if they are not strictly compliant.
|
|
# For now keep all PPDs even if cupstestppd FAILs.
|
|
# Reason:
|
|
# With each CUPS version upgrade cupstestppd finds more and more errors
|
|
# so that more and more PPDs would be no longer included in the RPM
|
|
# which have been included before which results a regression.
|
|
# As far as we know there have been no problems at all because of
|
|
# not strictly compliant PPDs in HPLIP so that it is much better
|
|
# to provide all HPLIP PPDs so that the matching printers can be used
|
|
# than to be rigorous regarding enforcing compliance to the PPD specification:
|
|
for p in *.ppd
|
|
do egrep -v '^\*UIConstraints:|^\*NonUIConstraints:' $p | cupstestppd - || true
|
|
gzip $p
|
|
done
|
|
popd
|
|
# End of the general tests and adjustments for all PPDs.
|
|
# Run the script which outputs a global HAL fdi file for all HP USB devices which belong to HPLIP
|
|
# and install its output as /usr/share/hal/fdi/information/20thirdparty/70-hpmud.fdi
|
|
bash %{SOURCE104} data/rules/55-hpmud.rules >70-hpmud.fdi
|
|
install -d %{buildroot}%{_datadir}/hal/fdi/information/20thirdparty
|
|
install -m644 70-hpmud.fdi %{buildroot}%{_datadir}/hal/fdi/information/20thirdparty/70-hpmud.fdi
|
|
# Desktop menue entry stuff:
|
|
# Install the wrapper for hp-toolbox:
|
|
install -m 755 %{SOURCE101} %{buildroot}%{_bindir}/hp-toolbox.wrapper
|
|
# Install /usr/share/hplip/data/images/64x64/hp_logo.png as desktop icon file
|
|
# because it is used in the hplip.desktop.in and hplip-systray.desktop.in sources:
|
|
install -d %{buildroot}%{_datadir}/pixmaps
|
|
install -m 644 %{buildroot}%{_datadir}/%{name}/data/images/64x64/hp_logo.png %{buildroot}%{_datadir}/pixmaps/HPmenu.png
|
|
# Set up and install the desktop menue entry stuff using "Categories=System;Monitor;"
|
|
# and remove HP's hplip.desktop and hplip-systray.desktop files before because we use Source100:
|
|
# (additionally there is/was a typo in HP's install because of the trailing blank at 'applications ')
|
|
rm %{buildroot}%{_datadir}/applications/%{name}*.desktop
|
|
%suse_update_desktop_file -i %{name} System Monitor
|
|
# Let suse_update_desktop_file add X-SuSE-translate key to /etc/xdg/autostart/hplip-systray.desktop
|
|
# so that we can update its translations with translation-only packages.
|
|
%suse_update_desktop_file %{buildroot}/etc/xdg/autostart/hplip-systray.desktop
|
|
# Install the man page for /usr/bin/hpijs:
|
|
install -d %{buildroot}%{_mandir}/man1
|
|
install -m 644 %{SOURCE102} %{buildroot}%{_mandir}/man1/
|
|
# Source105 hplip.SuSEfirewall2 provides support
|
|
# to open UDP ports 5353(mdns) and 427(svrloc) for mDNS support:
|
|
install -d %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/
|
|
install -m 644 %{SOURCE105} %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/hplip
|
|
# Find duplicate files:
|
|
%fdupes -s %{buildroot}
|
|
|
|
%post
|
|
/sbin/ldconfig
|
|
exit 0
|
|
|
|
%triggerin -- sane-backends
|
|
# As hplip can be used for plain printers it cannot "PreReq sane-backends".
|
|
# Therefore if sane-backends is installed it may be installed or updated after hplip.
|
|
# In this case trigger to add the SANE backend "hpaio" to /etc/sane.d/dll.conf if it is not there.
|
|
# To be safe there is a test that /etc/sane.d/dll.conf is writable.
|
|
if [ -w /etc/sane.d/dll.conf ]
|
|
then if ! grep -q 'hpaio' /etc/sane.d/dll.conf
|
|
then echo -e '# The hpaio backend is provided by the hplip package:\n#hpaio' >>/etc/sane.d/dll.conf
|
|
fi
|
|
fi
|
|
exit 0
|
|
|
|
%preun
|
|
# If the package was removed and if it was updated
|
|
# remove all byte-compiled Python .pyc (and perhaps .pyo) files
|
|
# which are created at run-time by Python in /usr/share/hplip/.
|
|
# Use a generic method via "find" so that it works in any case
|
|
# without the need to maintain a long list of individual files.
|
|
# Even if this may accidentally remove "foreign" .pyc/.pyo files
|
|
# which do not originate from matching .py files from this package
|
|
# (e.g. third-party stuff in /usr/share/hplip/), there is no damage
|
|
# because Python could re-create them or work only with .py files.
|
|
find /usr/share/hplip/ -name '*.py[co]' -delete
|
|
exit 0
|
|
|
|
%postun
|
|
/sbin/ldconfig
|
|
# If the package was removed (but not if it was updated)
|
|
# then remove the hpaio lines in /etc/sane.d/dll.conf.
|
|
# Don't remove them when the hplip package was automatically
|
|
# replaced by the hplip17 package (via RPM obsoletes) or vice versa.
|
|
# Because postun of the old package runs last (after triggerin -- sane-backends)
|
|
# it is done via a special "ls" test if any libsane-hpaio.so exists
|
|
# (e.g. there could be only 32-bit installed on 64-bit hardware).
|
|
# If the "ls" test does not fail, some kind of HPLIP is installed.
|
|
# The package sane-backends may not be installed (see triggerin)
|
|
# and therefore the test that /etc/sane.d/dll.conf is writable.
|
|
# The "exit 0" is necessary, otherwise the postun script
|
|
# would exit with non-zero exit-code if the package was not removed.
|
|
if [ "$1" = "0" ]
|
|
then if ! ls /usr/lib*/sane/libsane-hpaio.so* &>/dev/null
|
|
then [ -w /etc/sane.d/dll.conf ] && sed -i -e '/hpaio/d' /etc/sane.d/dll.conf
|
|
fi
|
|
fi
|
|
exit 0
|
|
|
|
%post hpijs
|
|
/sbin/ldconfig
|
|
exit 0
|
|
|
|
%postun hpijs
|
|
/sbin/ldconfig
|
|
exit 0
|
|
|
|
%files
|
|
%defattr(-, root, root)
|
|
%config %{_sysconfdir}/xdg/autostart/hplip-systray.desktop
|
|
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/hplip
|
|
%dir %{_sysconfdir}/udev
|
|
%dir %{_sysconfdir}/udev/rules.d
|
|
%config %{_sysconfdir}/udev/rules.d/55-hpmud.rules
|
|
%config %{_sysconfdir}/udev/rules.d/56-hpmud_support.rules
|
|
%dir %{_datadir}/hal
|
|
%dir %{_datadir}/hal/fdi
|
|
%dir %{_datadir}/hal/fdi/information
|
|
%dir %{_datadir}/hal/fdi/information/20thirdparty
|
|
%{_datadir}/hal/fdi/information/20thirdparty/70-hpmud.fdi
|
|
%dir %{_datadir}/hal/fdi/preprobe
|
|
%dir %{_datadir}/hal/fdi/preprobe/10osvendor
|
|
%{_datadir}/hal/fdi/preprobe/10osvendor/20-hplip-devices.fdi
|
|
%{_bindir}/hp-align
|
|
%{_bindir}/hp-check
|
|
%{_bindir}/hp-clean
|
|
%{_bindir}/hp-colorcal
|
|
%{_bindir}/hp-devicesettings
|
|
%{_bindir}/hp-fab
|
|
%{_bindir}/hp-faxsetup
|
|
%{_bindir}/hp-firmware
|
|
%{_bindir}/hp-info
|
|
%{_bindir}/hp-levels
|
|
%{_bindir}/hp-linefeedcal
|
|
%{_bindir}/hp-makecopies
|
|
%{_bindir}/hp-makeuri
|
|
%{_bindir}/hp-mkuri
|
|
%{_bindir}/hp-pkservice
|
|
%{_bindir}/hp-plugin
|
|
%{_bindir}/hp-pqdiag
|
|
%{_bindir}/hp-print
|
|
%{_bindir}/hp-printsettings
|
|
%{_bindir}/hp-probe
|
|
%{_bindir}/hp-query
|
|
%{_bindir}/hp-scan
|
|
%{_bindir}/hp-sendfax
|
|
%{_bindir}/hp-setup
|
|
%{_bindir}/hp-systray
|
|
%{_bindir}/hp-testpage
|
|
%{_bindir}/hp-timedate
|
|
%{_bindir}/hp-toolbox
|
|
%{_bindir}/hp-unload
|
|
%{_bindir}/hp-wificonfig
|
|
%{_libdir}/python%{py_ver}/site-packages/cupsext.*
|
|
%{_libdir}/python%{py_ver}/site-packages/hpmudext.*
|
|
%{_libdir}/python%{py_ver}/site-packages/pcardext.*
|
|
%{_libdir}/python%{py_ver}/site-packages/scanext.*
|
|
%dir %{_libdir}/sane
|
|
%{_libdir}/sane/libsane-hpaio.*
|
|
%dir %{_libdir}/cups
|
|
%dir %{_libdir}/cups/backend
|
|
%{_libdir}/cups/backend/hpfax
|
|
%dir %{_libdir}/cups/filter
|
|
%{_libdir}/cups/filter/hpcupsfax
|
|
%dir /var/lib/hp
|
|
/var/lib/hp/hplip.state
|
|
%doc %{_defaultdocdir}/%{name}/
|
|
%{_bindir}/hp-toolbox.wrapper
|
|
%{_datadir}/pixmaps/HPmenu.png
|
|
%{_datadir}/applications/%{name}.desktop
|
|
%{_datadir}/%{name}/
|
|
%exclude %{_datadir}/%{name}/data/models/models.dat
|
|
|
|
%files hpijs
|
|
%defattr(-, root, root)
|
|
%config %{_sysconfdir}/hp/
|
|
%{_bindir}/hpijs
|
|
%doc %{_mandir}/man1/hpijs.1.gz
|
|
%{_libdir}/libhpip.*
|
|
%{_libdir}/libhpmud.*
|
|
%dir %{_libdir}/cups
|
|
%dir %{_libdir}/cups/backend
|
|
%{_libdir}/cups/backend/hp
|
|
%dir %{_libdir}/cups/filter
|
|
%{_libdir}/cups/filter/foomatic-rip-hplip
|
|
%{_libdir}/cups/filter/hpcac
|
|
%{_libdir}/cups/filter/hpcups
|
|
%{_libdir}/cups/filter/hplipjs
|
|
%dir %{_datadir}/cups
|
|
%dir %{_datadir}/cups/model
|
|
%dir %{_datadir}/cups/model/manufacturer-PPDs
|
|
%{_datadir}/cups/model/manufacturer-PPDs/%{name}/
|
|
%{_datadir}/%{name}/data/models/models.dat
|
|
|
|
%changelog
|