# # spec file for package hplip (Version 2.8.7) # # Copyright (c) 2008 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 libdrm-devel libgphoto2-devel libjpeg-devel libusb-devel net-snmp-devel pkgconfig python-devel python-openssl python-qt python-tk python-xml qt3-devel 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: 2.8.7 Release: 4 Group: Hardware/Printing License: BSD 3-Clause; GPL v2 or later; X11/MIT Url: http://hpinkjet.sourceforge.net/ # Source0...Source9 is for sources from HP: # URL for Source0: http://kent.dl.sourceforge.net/sourceforge/hplip/hplip-2.8.7.tar.gz Source0: %{name}-%{version}.tar.bz2 # Patch0...Patch9 is for patches from HP: # Patch10...Patch99 is for Suse patches for the sources from HP: # Fix "... is used uninitialized ..." warnings: Patch10: fix-uninitialized-variables.diff # 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 # where hpssd is gone and replaced by hp-systray, see # https://bugzilla.novell.com/show_bug.cgi?id=390663 # 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 # 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 # Patch102 forces the desktop systems to execute hp-systray as "hp-systray --qt4" # via /etc/xdg/autostart/hplip-systray.desktop so that hp-systray # docks to the notification tray of the Gnome and KDE desktops. Patch102: force-qt4-for-hp-systray-desktop.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 # Do no longer have a hard RPM requirement for python-qt # to be able to provide hplip even on a distribution without python-qt. # Without python-qt all GUI stuff would fail but several /usr/bin/hp-* # tools have a command line option to run in non-graphical mode # so that the basic driver functionality still works even without python-qt: Recommends: python-qt # Because of Patch102 (force-qt4-for-hp-systray-desktop.diff) # the python-qt4 RPM is required but this should be no problem because # in an upcoming release HPLIP will be converted over to Qt4, see # https://bugs.launchpad.net/hplip/+bug/231978/comments/7 # and then the above "Recommends: python-qt" can be dropped # but currently only hp-systray can be used with Qt4: 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://hpinkjet.sourceforge.net/ /usr/share/doc/packages/hplip/index.html Authors: -------- David Suffield Yie Shiyun Donald J. Welch Cauligi Raghothama S. 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; GPL v2 or later; X11/MIT Summary: HPIJS for HP's printing and scanning software HPLIP 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). # When ghostscript-library is installed, try to install hplip-hpijs if it is available: Supplements: ghostscript_any # On a minimalist system only hplip-hpijs may be installed # (e.g. because of the above supplements for ghostscript_any) # 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). # Recommend 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): Recommends: 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 a Ghostscript printer driver for HP printers. This sub-package includes only the hpijs binary and the libhpip library which is needed to run it. Additionally it needs at least the CUPS library in the package cups-libs. Normally (in particular when used with the CUPS printing system) the HPIJS driver needs the rest of HP's printing and scanning software in the package hplip (in particular the PPD files for CUPS). For special cases (e.g. for LPRng/lpdfilter or for a small printing system) it is possible to use only the hpijs binary and Ghostscript. For full documentation and license see the main-package hplip. Authors: -------- David Suffield Cory Meisch Yie Shiyun Donald J. Welch Cauligi Raghothama S. %prep # Be quiet when unpacking: %setup -q # Fix "... is used uninitialized ..." warnings: %patch10 # Patch101 changes in the udev rules file the mode from "0666" to "0664": %patch101 # Patch102 forces the desktop systems to execute hp-systray as "hp-systray --qt4": %patch102 %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: ./configure --prefix=/usr \ --libdir=%_libdir \ --enable-doc-build \ --enable-network-build \ --enable-pp-build \ --enable-scan-build \ --enable-gui-build \ --enable-fax-build \ --enable-dbus-build \ --enable-foomatic-rip-hplip-install \ --disable-foomatic-drv-install \ --enable-foomatic-ppd-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: # Only keep files which don't FAIL for cupstestppd. # To save disk space gzip the files (gzipped PPDs can also be used by CUPS). # 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. # 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 /etc/hal/fdi/policy/10osvendor/70-hpmud.fdi: bash %{SOURCE104} data/rules/55-hpmud.rules >70-hpmud.fdi install -d %{buildroot}%{_sysconfdir}/hal/fdi/policy/10osvendor install -m644 70-hpmud.fdi %{buildroot}%{_sysconfdir}/hal/fdi/policy/10osvendor/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/48x48/prog.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/48x48/prog.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/ %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}/hp/ %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %config %{_sysconfdir}/udev/rules.d/55-hpmud.rules %dir %{_sysconfdir}/hal %dir %{_sysconfdir}/hal/fdi %dir %{_sysconfdir}/hal/fdi/policy %dir %{_sysconfdir}/hal/fdi/policy/10osvendor %{_sysconfdir}/hal/fdi/policy/10osvendor/70-hpmud.fdi %{_sysconfdir}/xdg/autostart/hplip-systray.desktop %{_datadir}/%{name}/ %{_bindir}/hp-align %{_bindir}/hp-check %{_bindir}/hp-clean %{_bindir}/hp-colorcal %{_bindir}/hp-fab %{_bindir}/hp-firmware %{_bindir}/hp-info %{_bindir}/hp-levels %{_bindir}/hp-makecopies %{_bindir}/hp-makeuri %{_bindir}/hp-mkuri %{_bindir}/hp-plugin %{_bindir}/hp-print %{_bindir}/hp-probe %{_bindir}/hp-scan %{_bindir}/hp-sendfax %{_bindir}/hp-setup %{_bindir}/hp-systray %{_bindir}/hp-testpage %{_bindir}/hp-timedate %{_bindir}/hp-toolbox %{_bindir}/hp-unload %{_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/hp %{_libdir}/cups/backend/hpfax %dir %{_libdir}/cups/filter %{_libdir}/cups/filter/foomatic-rip-hplip %{_libdir}/cups/filter/hplipjs %dir %{_datadir}/cups %dir %{_datadir}/cups/model %dir %{_datadir}/cups/model/manufacturer-PPDs %{_datadir}/cups/model/manufacturer-PPDs/%{name}/ %doc %{_defaultdocdir}/%{name}/ %{_bindir}/hp-toolbox.wrapper %{_datadir}/pixmaps/HPmenu.png %{_datadir}/applications/%{name}.desktop %files hpijs %defattr(-, root, root) %doc %{_mandir}/man1/hpijs.1.gz %{_bindir}/hpijs %{_libdir}/libhpip.* %{_libdir}/libhpmud.* %changelog * Tue Nov 18 2008 jsmeix@suse.de - 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 (see Novell/Suse Bugzilla bnc#445738). * Tue Oct 21 2008 jsmeix@suse.de - Changed change-udev-rules.diff to jump to the end if SUBSYSTEM!="usb" and replaced SYSFS by ATTR (see Novell/Suse Bugzilla bnc#436085). * Tue Sep 16 2008 jsmeix@suse.de - Added "Recommends: hplip" to hplip-hpijs because when only hplip-hpijs is there, it should tell the dependency resolver that for usual functionality, hplip should be installed too (if possible). * Thu Sep 11 2008 jsmeix@suse.de - force-qt4-for-hp-systray-desktop.diff forces Gnome and KDE to execute hp-systray as "hp-systray --qt4" via /etc/xdg/autostart/hplip-systray.desktop so that hp-systray docks to the notification tray of the desktops. Because of this the python-qt4 RPM is now required (see Novell/Suse Bugzilla bnc#377575). This additional requirement should be no problem because in an upcoming release HPLIP is converted over to Qt4, see https://bugs.launchpad.net/hplip/+bug/231978/comments/7 and then the "Recommends: python-qt" can be dropped (see the entry below) but currently only hp-systray can be used with Qt4. * Wed Sep 10 2008 jsmeix@suse.de - Do no longer have a hard RPM requirement for python-qt (now there is only "Recommends: python-qt") to be able to provide hplip even on a distribution without python-qt. Without python-qt all GUI stuff would fail but several /usr/bin/hp-* tools have a command line option to run in non-graphical mode so that the basic driver functionality still works even without python-qt. - Have versioned "Obsoletes" for hpijs-standalone to meet our policies even if the real intention is that any installed version of hpijs-standalone is replaced and explain the unversioned "Obsoletes" for hplip17 and hplip17-hpijs (see Novell/Suse Bugzilla bnc#251830). * Tue Sep 09 2008 jsmeix@suse.de - The configure option disable-foomatic-xml-install does no longer exist. - Updated to version 2.8.7: Some bug fixes (no Suse bugs). Some more supported printers. For details see release_notes.html - Updated to version 2.8.6b: Replaced the doc directory with an abbreviated web document (there is no longer hpijs.html and device_classes.html). Redesigned the proprietary plugin support. There is now only one plugin that is valid for each HPLIP release, see https://answers.launchpad.net/hplip/+question/30595 Changed the hpijs.drv to support multiple products via multiple "Product" entries in the PPD but see https://bugs.launchpad.net/hplip/+bug/235148 Several bug fixes (no Suse bugs). Many more supported printers. For details see release_notes.html - Updated to version 2.8.5: Major toolbox (HP Device Manager) revamp/refresh. More dbus support (live status updating). hp-systray will exit if no HPLIP installed queues found which obsoletes HPLIP-2.8.4-systray_exit_if_no_device_2.patch Many bug fixes (no Suse bugs). Several more supported printers. For details see release_notes.html * Fri Sep 05 2008 jsmeix@suse.de - Keep all PPDs even if cupstestppd FAILs. 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 PPDs so that the matching printers can be used than to be rigorous regarding compliance to the PPD spec. * Thu Sep 04 2008 jsmeix@suse.de - Changed the "Conflicts: hpijs-standalone" in hplip-hpijs to "Obsoletes: hpijs-standalone" regardless of any 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 regardless of any version (see Novell/Suse Bugzilla bnc#388149). * Thu Aug 14 2008 jsmeix@suse.de - Removed the hplip init script which is obsolete since version 2.8.4 where hpssd is gone and replaced by hp-systray, see Novell/Suse Bugzilla bnc#390663. * Tue Apr 29 2008 jsmeix@suse.de - Added RPM requirement for python-gobject2 because 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 * Thu Apr 10 2008 jsmeix@suse.de - HPLIP-2.8.4-systray_exit_if_no_device_2.patch lets hp-systray exit if the HPLIP driver seems to be not in use (i.e. if there is neither a 'hp:/...' nor a 'hpfax:/...' print queue), see https://bugs.launchpad.net/hplip/+bug/213938 This patch obsoletes the whole hp-systray.wrapper stuff, see the entry below and Novell/Suse Bugzilla bnc#377885. * Tue Apr 08 2008 jsmeix@suse.de - Added hp-systray.wrapper which is a wrapper for hp-systray which runs it only if there is a 'hp:/...' print queue and changed /etc/xdg/autostart/hplip-systray.desktop to run the wrapper, see Novell/Suse Bugzilla bnc#377885. * Thu Apr 03 2008 jsmeix@suse.de - Updated to version 2.8.4: Elimination of all persistent startup daemons. The last daemon hpssd has been replaced with hp-systray. All interprocess communication uses now dbus. Therefore dbus-1-python version 0.80 or greater is required. PC send fax requires dbus and a running hp-systray to operate but hp-toolbox and hp-sendfax launch hp-systray automatically and there is also /etc/xdg/autostart/hplip-systray.desktop. When no HPLIP tools are running (e.g. hp-toolbox), and the user closes or disables hp-systray, there will be no HPLIP processes running whatsoever. Many bug fixes (no Suse bugs). One more supported LaserJet ZJStream printers (M1120), one OfficeJet (J6400), and two Photosmart (C4340, B8800) where the latter has a new printer device class (PSB9100). For details see release_notes.html - Adapted the hplip init script to provide backward compatibility: It still exists to avoid that printer/scanner setup tools fail when they try to enable the "hplip" service but all it does is to stop a possibly running hpssd. * Wed Apr 02 2008 jsmeix@suse.de - Exchanged create_hal_global_fdi_from_models.dat with create_hal_global_fdi_from_hpmud_rules which creates the global HAL 70-hpmud.fdi file during build-time from the 55-hpmud.rules file to be in sync with the udev rules file and to make sure to have all possible HPLIP device IDs, see https://bugs.launchpad.net/ubuntu/+source/hplip/+bug/195782 - Require the exact matching version of the hpijs sub-package to have the correct libhpip and libhpmud installed. - Require pyxml to have the xml.parsers.expat Python module, see https://answers.launchpad.net/hplip/+question/25696 * Tue Feb 26 2008 jsmeix@suse.de - 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. See https://answers.launchpad.net/hplip/+question/25654 and see Novell/Suse Bugzilla bnc#364419. * Thu Feb 21 2008 jsmeix@suse.de - create_hal_global_fdi_from_models.dat creates the global HAL 70-hpmud.fdi file during build-time from the models.dat file (see Novell/Suse Bugzilla bnc#336658). - Built version 2.8.2 in the traditional way with readymade PPD files in /usr/share/cups/model/manufacturer-PPDs/hplip/ (i.e. without hpijs.drv and foomatic-rip-hplip) - Updated to version 2.8.2: HPIJS PPD files are now created with the CUPS DDK instead of the foomatic database. Dynamic PPD files are now supported via the hpijs.drv file. Added foomatic-rip-hplip support. Foomatic-rip-hplip is for distros that do not have the latest foomatic-rip which is required for drv support. Updated the krgb patch for gpl ghostscript 8.61. Updated the "hp" backend to return only hplip supported devices during device discovery. If the device is not in models.dat the "hp" backend will exclude it. Changed margins to 0.125 inch from 0. Bumped libhpmud from 0.0.1 to 0.0.2 for support_type in hpmud_query_model(). Several bug fixes (no Suse bugs). Several more supported printers (some more ZJStream printers). - Updated to version 2.7.12: Added PJL support to "hp" backend which provides in-band printer status. Bumped libhpmud from 0.0.0 to 0.0.1 for statustype support in hpmud_query_model(). Several bug fixes (no Suse bugs). Several more supported LaserJet printers, one ZJStream printer, one LJm1005 printer with binary-only plugin (LaserJet M1005 MFP). * Fri Nov 09 2007 jsmeix@suse.de - Changed rchplip (i.e. /etc/init.d/hplip): Added "$local_fs $remote_fs $syslog" to Required-Start to be on the safe side and added a line "export HOME=/tmp" to mitigate Novell/Suse Bugzilla bnc#339443. * Tue Oct 23 2007 jsmeix@suse.de - Updated to version 2.7.10: New LJZjsMono printer device class for ZJStream printers. ZJStream printers require JBIG which has issues (see Novell/Suse Bugzilla bnc#263181). Therefore the support for ZJStream printers is provided only via a binary-only plugin which is downloaded by "hp-setup" from the HP web-site only after the user has accepted the license terms. Applied patch for issue CVE-2007-5208 (hpssd command injection) Several bug fixes (no Suse bugs). Two more supported Photosmart and Officejet printers. For details see release_notes.html - Updated to version 2.7.9: Made the default udev 55-hpmud.rules file more permissive (ie: MODE=0666) so that also device status works for any user. This looks sufficiently secure by default because the 55-hpmud.rules matches now only for those USB product IDs which belong to HP printers and all-in-one devices so that other HP USB devices like keyboard, mouse, and mass storage devices won't get MODE=0666 by accident. All known product-ids that HPLIP/HPIJS supports have been added to the model.dat file. Many bug fixes (no Suse bugs). Some more supported Photosmart and Officejet printers. For details see release_notes.html * Tue Sep 18 2007 jsmeix@suse.de - Add a line-feed to the end of all PPDs to fix those PPDs where it is missing. See Novell/Suse Bugzilla bnc#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. * Wed Sep 12 2007 jsmeix@suse.de - Ignore cupstestppd FAILs because of errors in UIConstraints and/or NonUIConstraints which are detected since cupstestppd in CUPS > 1.2.7 (i.e. since openSUSE 10.3). See Novell/Suse Bugzilla bnc#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. * Tue Aug 07 2007 jsmeix@suse.de - Changed /etc/udev/rules.d/55-hpmud.rules (via a change in change-udev-rules.diff) from OWNER="root" GROUP="lp" MODE="0660" to OWNER="root" GROUP="lp" MODE="0664" (i.e. allow read permissions for HP USB device files for normal users). Reason: Without read permissions even a simple command like "lsusb" cannot list HP USB devices to normal users which could cause unnecessary confusion. Furthermore have only read permissions for HP USB device files for normal users is in compliance to the default assumptions in upstream HPLIP and it should be sufficiently secure because for retrieving data from the device a matching request must be sent to the device which requires write permissions. * Thu Aug 02 2007 jsmeix@suse.de - Updated to version 2.7.7: Many bug fixes (no Suse bugs). Some more supported Photosmart printers. For details see release_notes.html - fix-printing-white-spaces-and-empty-lines.diff is no longer needed because the bug is now fixed in the source. * Thu Jul 26 2007 jsmeix@suse.de - Changed change-udev-rules.diff so that 55-hpmud.rules matches also against the new SUBSYSTEM=="usb" but keep "usb_device" for backward compatibility (Novell/Suse Bugzilla bnc#294161). * Fri Jul 06 2007 jsmeix@suse.de - fix-printing-white-spaces-and-empty-lines.diff fixes printing white spaces and empty lines according to a mail from HP on the hplip-help@lists.sourceforge.net list. * Tue Jul 03 2007 jsmeix@suse.de - Updated to version 2.7.6: No more start-up daemons: hpiod is replaced by new direct device I/O (via hpmud library), hpssd (for device status) still exists but is started by default as a daemon by the first user who needs it which is not nice because this results a random user which runs hpssd therefore we (i.e. Novell/Suse) still provide /etc/init.d/hplip which is used to start hpssd as before during system boot. Many bug fixes (no Suse bugs) and some enhancements. Some more supported Photosmart, Color LaserJet, and DeskJet printers. For details see release_notes.html * Thu Jun 21 2007 jsmeix@suse.de - Added stop_on_removal to preun, insserv_cleanup to postun, and ldconfig to post and postun for the hpijs sub-package. * Thu May 24 2007 ro@suse.de - Added libusb-devel to BuildRequires. * Fri Apr 27 2007 jsmeix@suse.de - Updated to version 1.7.4a: Resolved a build issue that caused a couple missing files in the 1.7.4 release and a fix for hp-check (no Suse bugs). * Mon Apr 23 2007 jsmeix@suse.de - Updated to version 1.7.4: Many bug fixes (no Suse bugs). Some more supported DeskJet printers. For details see release_notes.html * Mon Mar 26 2007 jsmeix@suse.de - Updated to version 1.7.3: Many bug fixes (no Suse bugs). No new supported models but enhancements for some models. For details see release_notes.html * Thu Mar 01 2007 jsmeix@suse.de - Updated to version 1.7.2: Several more supported Officejet Pro devices. New OJProKx50 device class (derived from DJGenericVIP). Major hp-toolbox upgrade/redesign. Many bug fixes (no Suse bugs). fix-buffer-overflow.patch and hplip-1.7.1-1.patch are no longer needed because the bugs are now fixed in the sources. * Fri Feb 16 2007 jsmeix@suse.de - Added a fix for fat.c to fix-buffer-overflow.patch to aviod access when array subscript is above array bounds (Suse Bugzilla bnc#243047). - Remove all byte-compiled Python .pyc (and perhaps .pyo) files which are created at run-time in /usr/share/hplip/ via preun script (Suse Bugzilla bnc#244451). * Mon Feb 05 2007 jsmeix@suse.de - fix-buffer-overflow.patch fixes a too small string buffer which overflows in line 310 in ljcolor.cpp. - Moved the hpijs man page to the hplip-hpijs sub-package so that there is no same file in hplip and hpijs-standalone (hplip-hpijs and hpijs-standalone conflict with each other). * Thu Feb 01 2007 jsmeix@suse.de - hplip-1.7.1-1.patch from HP fixes Deskjet D4100/D4160 christmas-tree (firmware hangs up with flashing LEDs) on second print job. - Removed /usr/bin/hpijs.without-libcups from hplip-hpijs to get rid of confusing RPM package requirements (hplip-hpijs requires cups-libs because of /usr/bin/hpijs). - Created new package hpijs-standalone and hpijs-standalone.spec for a special version of /usr/bin/hpijs which neither needs a HPLIP library nor a CUPS library to run it. * Wed Jan 31 2007 jsmeix@suse.de - Removed explicite fstack-protector-all from CFLAGS and CXXFLAGS because fstack-protector will be enabled by default. * Mon Jan 29 2007 jsmeix@suse.de - Package 'sane' was renamed to 'sane-backends'. Adapted it so that it works with 'sane-backends'. * Thu Jan 25 2007 jsmeix@suse.de - Updated to version 1.7.1: Many bug fixes (no Suse bugs). No new supported models but enhancements for several models. For details see release_notes.html - Removed the fix for uninitialized file pointer in api/model.c from fix-uninitialized-variables.diff because it is now fixed in the sources. * Fri Jan 19 2007 jsmeix@suse.de - Added fix for uninitialized file pointer in api/model.c to fix-uninitialized-variables.diff (Suse Bugzilla bnc#236709). * Fri Jan 12 2007 jsmeix@suse.de - Since version 1.6.12 /usr/bin/hpijs is linked with libcups so that the package hplip-hpijs could be no longer installed without at least the package cups-libs. Therefore an additional special /usr/bin/hpijs.without-libcups is built which does not require the CUPS library. * Wed Dec 20 2006 jsmeix@suse.de - Updated to version 1.6.12: Three more supported LaserJet printers. Many bug fixes (no Suse bugs). For details see release_notes.html Added SANE_DEBUG_HPAIO support for the hpaio SANE backend. The new models.dat file replaces the .xml files. The hplip_api can be used to get model attributes without running the HPLIP daemons. See hplip_api.h for reference (this affects the Suse Bugzilla bugs bnc#184798 and bnc#184824). - Fixed hp-toolbox.wrapper to catch 'error' regardless of the case (see Suse Bugzilla bnc#229620). * Tue Oct 17 2006 jsmeix@suse.de - Updated to version 1.6.10: Several more supported LaserJet printers. Many bug fixes (no Suse bugs). - Fixed typo in keyword in some LaserJet PPDs ("* PageRegion" -> "*PageRegion"). * Mon Sep 18 2006 jsmeix@suse.de - Updated to version 1.6.9: Added support CD/DVD label printing (ie: PS D5100). Several more supported Photosmart printers. Many bug fixes (no Suse bugs). * Mon Sep 11 2006 jsmeix@suse.de - Using generalised cupsext* and pcardext* in the files section (instead of explicit only cupsext.so and pcardext.so) so that it works now both for Python 2.4 and 2.5 (the latter installs additional *.egg-info files). * Mon Sep 04 2006 jsmeix@suse.de - Exchanged the hard RPM requirement for ghostscript_any by a supplements entry for hplip-hpijs so that there is no longer a mutual (cyclic) hard RPM dependency between hplip-hpijs and ghostscript-library. * Thu Aug 03 2006 jsmeix@suse.de - Updated to version 1.6.7: Changed from dynamic IP ports to static IANA IP ports for hpiod (2208) and hpssd (2207). Two more supported Photosmart printers. Several bug fixes (no Suse bugs). * Mon Jul 17 2006 jsmeix@suse.de - Fixed PPDs which contain "1284DeviceId" which must be "1284DeviceID" (detected by new CUPS 1.2 cupstestppd). * Wed Jun 28 2006 jsmeix@suse.de - Updated to maintenance release 1.6.6a: This provides various minor fixes and enhancements. For details see doc/release_notes.html in the source or /usr/share/doc/packages/hplip/release_notes.html * Mon Jun 19 2006 jsmeix@suse.de - Updated to version 1.6.6: HPLIP has reached 1.0 status. With this release a date encoded revision number x.y.m is used: x = major release number, y = year (6=2006), m = month (6=June) Correct URLs in HTML docs (obsoletes fix-doc-hrefs.diff). Removed DeviceOpen from hp backend. This fixes two problems: 1) usblp will no longer be removed for device discovery 2) device discovery will no longer cause Inkjets to power-up. Added hpaio.desc file for SANE. Several more supported printers. - Cleaned up build (simplified spec file): Changed install dir for PPDs and doc in Makefile.am. Using configure without rpm-install. Using configure with --disable-cups-install. Links to work around inconsistent naming of python scripts and links to hpfax backend and its associated PPD file are no longer needed. * Fri Jun 09 2006 jsmeix@suse.de - Added man page for /usr/bin/hpijs (hpijs.1.gz). - Fixed wrong URLs in HTML documentation (fix-doc-hrefs.diff). - Added links to work around inconsistent naming of python scripts. - Added links to hpfax backend and its associated PPD file to make them available as usual for CUPS setup tools. * Mon May 22 2006 jsmeix@suse.de - Fixed typo (missing '"') in hplip-init-script.diff * Fri May 19 2006 jsmeix@suse.de - Updated to version 0.9.11: Revised and updated documentation. Some more supported all-in-one devices and printers. Several bug fixes (no Suse bugs). - Updated to version 0.9.10: Several bug fixes (no Suse bugs). - Updated to version 0.9.9: Uses libusb for all USB I/O. CUPS USB DeviceURIs must be changed from "hp:/hp_model?device=/dev/usb/lpX" (no longer supported) to "hp:/hp_model?serial=xxxxxxxx". One more supported all-in-one device. Several bug fixes (no Suse bugs). - Updated to version 0.9.8: New PC send fax support via special CUPS backend (hpfax) and special HP-Fax-hplip.ppd PPD file and a new send fax UI (hp-sendfax). Some more supported printers. Several bug fixes (no Suse bugs). * Wed Apr 26 2006 jsmeix@suse.de - Fixed PPDs for "LaserJet 5Si" and "LaserJet 5MP" (see Suse Bugzilla bnc#164991). * Fri Feb 24 2006 jsmeix@suse.de - Fixed an array index underflow (for LJ1010, LJ1012) in ljfastraster.cpp (Suse Bugzilla bnc#152720). * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Thu Jan 12 2006 jsmeix@suse.de - Set compiler flag "-fstack-protector-all" to build it with "Stack Protector" via a so called "canary" (requires gcc >= 4.1) * Wed Jan 04 2006 jsmeix@suse.de - Moved /usr/lib[64]/libhpip.* library files to the hplip-hpijs sub-package because /usr/bin/hpijs requires libhpip but for special cases (e.g. for a minimal printing system) it should be possible to use only HPIJS without the rest of HPLIP. * Tue Jan 03 2006 jsmeix@suse.de - Updated to version 0.9.7 including the additional hplip-0.9.7-2.patch from HP. * Thu Dec 22 2005 ro@suse.de - requires: PyQt -> python-qt * Thu Dec 01 2005 jsmeix@suse.de - Removed unneeded KDE packages from "neededforbuild" since the new package python-qt was split from kdebindings3-python (see Suse Bugzilla bnc#135250). * Mon Nov 28 2005 jsmeix@suse.de - Replaced requirement for the package kdebindings3-python by a generic requirement for the RPM capability PyQt to avoid needless dependencies to KDE libraries (see Suse Bugzilla bnc#135250). * Tue Nov 22 2005 jsmeix@suse.de - Added -fno-strict-aliasing to the CXXFLAGS to avoid problems in ljfastraster.cpp (line 1213) and hpijs.cpp (lines 86, 223). * Fri Nov 18 2005 jsmeix@suse.de - Updated to version 0.9.6 * Wed Sep 21 2005 jsmeix@suse.de - Updated to version 0.9.5 including the additional hplip-0.9.5-3.patch from HP. * Mon Sep 12 2005 jsmeix@suse.de - Several PPDs contain "600x600x2dpi" which is not allowed according to the Adobe PPD specification section 5.9 and which is therefore simply replaced by "600x1200dpi" (see Suse Bugzilla bnc#116393). * Mon Aug 29 2005 jsmeix@suse.de - Removed a non-working PPD. - Fix "... is used uninitialized ..." warning. * Tue Jul 26 2005 jsmeix@suse.de - Updated to version 0.9.4 - Removed obsolete fixes for missing class prototypes. - Removed obsolete fixes for HP_Business_Inkjet_3000.ppd - Added a fix for condrestart in /etc/init.d/hplip * Tue May 31 2005 jsmeix@suse.de - Updated to version 0.9.3 * Tue May 24 2005 jsmeix@suse.de - Fixed missing class prototypes, otherwise it fails with "error: ISO C++ forbids declaration of 'xxx' with no type". * Tue May 17 2005 jsmeix@suse.de - Fix "... is used uninitialized ..." warnings. * Wed May 04 2005 jsmeix@suse.de - Updated to version 0.9.2 which does no longer need the "fix C" (i.e. hplip-0.8.8.diff) from below. * Sun Apr 10 2005 coolo@suse.de - fix C * Tue Mar 22 2005 jsmeix@suse.de - Added PreReq. * Thu Mar 17 2005 jsmeix@suse.de - Fixed a bug in HP-DeskJet_3740-hpijs.ppd.gz: According to hpijs_readme.html the DeskJet 3740 belongs to the DJ3320 device class. * Tue Mar 08 2005 jsmeix@suse.de - Added %%suse_update_desktop_file stuff for hp-toolbox. - Moved %%{_libdir}/libsane-hpaio.* to %%{_libdir}/sane/ instead of creating symlinks (see Tue Mar 1 11:15:33). * Tue Mar 01 2005 jsmeix@suse.de - Added python-xml to RPM requirements because otherwise hpssd (i.e. /usr/share/hplip/hpssd.py) doesn't work. - Create symlinks (via '%%triggerin -- sane') to all %%{_libdir}/libsane-hpaio.* so that SANE will find them. - Added kdebindings3-python to RPM requirements because otherwise hp-toolbox (i.e. /usr/share/hplip/toolbox) doesn't work. * Tue Feb 22 2005 jsmeix@suse.de - Changed default media size from Letter to A4 if this is an available choice in the PPD. * Tue Feb 15 2005 jsmeix@suse.de - Updated to version 0.8.8, for details see ChangeLog and http://hpinkjet.sourceforge.net/updates.php - Removed the "compatibility"-links because they are not needed. - Fixed basic stuff in the init script (needs further improvement). - Source should be x86_64 clean (SUSE patch no longer needed). * Tue Feb 01 2005 jsmeix@suse.de - Updated to version 0.8.7, for details see ChangeLog and http://hpinkjet.sourceforge.net/updates.php - Added triggerin and postun scripts to add and remove the SANE backend "hpaio" in /etc/sane.d/dll.conf - Replaced hplip-0.8.4-models.xml.diff by hplip-0.8.7-models.xml.diff because the "HP LaserJet 1220" is now in the models.xml file but the entry is buggy. * Tue Jan 25 2005 jsmeix@suse.de - Branched the sub-package hplip-hpijs which contains only the plain HPIJS binary so that Ghostscript can require only this sub-package (without all the other stuff). - Added a link to the toolbox program to have it accessible via the user's PATH. - Added the usual 'rc'-link to the runlevel script. - Added the following RPM requirements regarding printing: hplip requires hplip-hpijs and foomatic-filters hplip-hpijs requires ghostscript_any (There are no RPM requirements regarding scanning because HPLIP will be also used for plain printers.) - Exchanged the destructive line for the cupsd in the runlevel script because cupsd runs as user lp and dies in case of a SIGHUP. * Tue Jan 18 2005 jsmeix@suse.de - patch hplip-0.8.4-models.xml.diff adds the "HP LaserJet 1220" to the list of known models of the SANE backend "hpaio" * Wed Jan 12 2005 sf@suse.de - add --libdir=%%_libdir to build on multilib archs - add patch for cups search path for backends * Thu Dec 02 2004 jsmeix@suse.de - initial version