From 7889c8a8cb65c2e901c1528d3edd3d7852d55c52fdbe8be121e3232a05d30670 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 2 Feb 2007 12:07:53 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/hplip?expand=0&rev=6 --- hpijs-standalone.changes | 6 ++ hpijs-standalone.spec | 139 +++++++++++++++++++++++++++++++++++++++ hpijs.1.gz | 4 +- hplip-1.7.1-1.patch | 12 ++++ hplip.changes | 19 ++++++ hplip.spec | 97 +++++++++++++++------------ 6 files changed, 232 insertions(+), 45 deletions(-) create mode 100644 hpijs-standalone.changes create mode 100644 hpijs-standalone.spec create mode 100644 hplip-1.7.1-1.patch diff --git a/hpijs-standalone.changes b/hpijs-standalone.changes new file mode 100644 index 0000000..3680a43 --- /dev/null +++ b/hpijs-standalone.changes @@ -0,0 +1,6 @@ +------------------------------------------------------------------- +Thu Feb 1 15:08:48 CET 2007 - jsmeix@suse.de + +- 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. diff --git a/hpijs-standalone.spec b/hpijs-standalone.spec new file mode 100644 index 0000000..98a69e7 --- /dev/null +++ b/hpijs-standalone.spec @@ -0,0 +1,139 @@ +# +# spec file for package hpijs-standalone (Version 1.7.1) +# +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: hpijs-standalone +BuildRequires: gcc-c++ libjpeg-devel +Summary: HPIJS stand-alone +# 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: 1.7.1 +Release: 1 +Group: Hardware/Printing +License: BSD License and BSD-like +URL: http://hpinkjet.sourceforge.net/ +# Source0...Source9 is for sources from HP: +# URL for Source0: http://superb-west.dl.sourceforge.net/sourceforge/hplip/hplip-1.7.1.tar.gz +Source0: hplip-%{version}.tar.bz2 +# Patch0...Patch9 is for patches from HP: +# URL for Patch0: http://sourceforge.net/project/showfiles.php?group_id=149981 +# Fix Deskjet D4100/D4160 christmas-tree (firmware hangs up with flashing LEDs) on second print job: +Patch0: hplip-1.7.1-1.patch +# Patch10...Patch99 is for Suse patches for the sources from HP: +# Source100... is for special Suse sources: +# Source102 is a small man page for /usr/bin/hpijs: +Source102: hpijs.1.gz +# Install into this non-root directory (required when norootforbuild is used): +BuildRoot: %{_tmppath}/%{name}-%{version}-build +# Mutual RPM package requirements are meanwhile considered to be bad because +# such cyclic dependencies which makes it harder to automatically solve dependencies. +# Actually the hpijs driver requires Ghostscript (i.e ghostscript_any, e.g. ghostscript-library). +# But ghostscript-library must also require the hpijs driver which is the more imortant requirement +# because when a user (or a printer setup tool) wants to set up a HP printer with the hpijs driver +# it must be 100% sure that all what the hpijs driver needs to run is also installed. +# Therefore the requirement is weakened for this package: +Supplements: ghostscript_any +# hplip-hpijs and hplip-hpijs-standalone both contain /usr/bin/hpijs: +Conflicts: hplip-hpijs +# Skip testing devel dependencies required by libtool .la files by the following comment: +# skip-check-libtool-deps + +%description +HPIJS is a Ghostscript printer driver for HP printers. + +This package includes a special version of the hpijs binary which +neither needs a HPLIP library nor a CUPS library to run it. Therefore +it conflicts with the hpijs binary in the hplip-hpijs package. For +special cases (e.g. for LPRng/lpdfilter or for a minimal printing +system or for printing without any printing system) it is possible to +use only this hpijs binary and Ghostscript. + +For full documentation and license see the package hplip. + + + +Authors: +-------- + David Suffield + Cory Meisch + Yie Shiyun + Donald J. Welch + Cauligi Raghothama S. + +%prep +# Be quiet when unpacking: +%setup -q -n hplip-1.7.1 +# Fix Deskjet D4100/D4160 christmas-tree (firmware hangs up with flashing LEDs) on second print job: +%patch0 -p1 + +%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" +# We build a special hpijs which does not require the CUPS library. +# One of the HPLIP authors David Suffield told me in a mail: +# > To: Johannes Meixner , +# > Subject: RE: [HPLIP-Devel] /usr/bin/hpijs requires libcups.so +# > If you want to build hpijs with-out the libcups.so dependency, build +# > hpijs with-out hplip support. +# > For example if you want to build hpijs for use with other spoolers, +# > don't use the top-level hplip makefile, use configure/make in the hpijs +# > directory. There is a hpijs configure time "hplip-build" flag that +# > defaults to false if you don't use the top-level make file. +# To avoid that too much is built (e.g. the full documentation from higher directories) +# the specific make target "make hpijs" is called. +# Regarding the configure options see tech_docs/tarball_install.html (not very explanatory): +# --disable-rpm-install disables sane, icon, /etc/hp and /etc/init.d install (default = disabled) +# --disable-foomatic-install disables foomatic install (HPIJS option, default = enabled) +# --disable-cups-install disables cups install (HPIJS option, default = enabled) +# CUPS install would do: +# (1) remove any old HP HPIJS PPD files from the CUPS PPD directory +# (2) symlink the HP HPIJS PPD files to the CUPS PPD directory +# (3) symlink foomatic-rip to the CUPS filter directory. +# --disable-network-build disables network support, will not link with libsnmp (default = enabled) +# --disable-pp-build disables parallel port support (default = enabled) +# --enable-scan-build enable scanner build (default=yes) +# --enable-gui-build enable gui build (default=yes) +# --enable-fax-build enable fax build (default=yes) +# rpm-install is no longer needed because "make install DESTDIR=/tmp/myhplip" works correctly now. +pushd prnt/hpijs +./configure --prefix=/usr --libdir=%_libdir --disable-hplip-build --disable-cups-install --disable-foomatic-install +make hpijs +popd + +%install +# Install only the hpijs binary ("make install" would install full HPLIP documentation): +install -d %{buildroot}%{_bindir} +install -m 755 prnt/hpijs/hpijs %{buildroot}%{_bindir} +# 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 + +%files +%defattr(-, root, root) +%doc doc/tech_docs/hpijs.html doc/tech_docs/device_classes.html +%doc %{_mandir}/man1/hpijs.1.gz +%{_bindir}/hpijs + +%changelog -n hpijs-standalone +* Thu Feb 01 2007 - jsmeix@suse.de +- 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. diff --git a/hpijs.1.gz b/hpijs.1.gz index 4537ec0..eee7a71 100644 --- a/hpijs.1.gz +++ b/hpijs.1.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cfc7a2c917ec233811880cbbb2bff4fdcf8d8f1305e6caa057e7f21127e9ba6c -size 736 +oid sha256:fb60642e55839c311ee8037bfc739ffc7c77555c176beef5bdbc4f965e322b61 +size 682 diff --git a/hplip-1.7.1-1.patch b/hplip-1.7.1-1.patch new file mode 100644 index 0000000..faacdc7 --- /dev/null +++ b/hplip-1.7.1-1.patch @@ -0,0 +1,12 @@ +diff -uNr hplip-1.7.1_old/prnt/hpijs/dj3320.cpp hplip-1.7.1_new/prnt/hpijs/dj3320.cpp +--- hplip-1.7.1_old/prnt/hpijs/dj3320.cpp 2007-01-24 15:42:03.000000000 -0800 ++++ hplip-1.7.1_new/prnt/hpijs/dj3320.cpp 2007-01-31 13:33:42.000000000 -0800 +@@ -3066,7 +3066,7 @@ + } + + // Send Sync packet +- err = pPrinterXBow->Send (pbySync, (DWORD) sizeof (pbySync)); ++ err = pPrinterXBow->Send (pbySync, SYNCSIZE); + if(err) + { + return err; diff --git a/hplip.changes b/hplip.changes index 00b97ee..daf2853 100644 --- a/hplip.changes +++ b/hplip.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Feb 1 15:02:59 CET 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 13:50:12 CET 2007 - jsmeix@suse.de + +- Removed explicite fstack-protector-all from CFLAGS and CXXFLAGS + because fstack-protector will be enabled by default. + ------------------------------------------------------------------- Mon Jan 29 15:40:16 CET 2007 - jsmeix@suse.de diff --git a/hplip.spec b/hplip.spec index 1ac67e8..a6bb009 100644 --- a/hplip.spec +++ b/hplip.spec @@ -12,24 +12,31 @@ Name: hplip BuildRequires: cups cups-devel libdrm-devel libjpeg-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 and Scanning Software +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: 1.7.1 -Release: 2 +Release: 3 %define hpijsVersion 2.7.1 Group: Hardware/Printing License: BSD License and BSD-like, GNU General Public License (GPL) URL: http://hpinkjet.sourceforge.net/ +# Source0...Source9 is for sources from HP: # URL for Source0: http://superb-west.dl.sourceforge.net/sourceforge/hplip/hplip-1.7.1.tar.gz Source0: %{name}-%{version}.tar.bz2 +# Patch0...Patch9 is for patches from HP: +# URL for Patch0: http://sourceforge.net/project/showfiles.php?group_id=149981 +# Fix Deskjet D4100/D4160 christmas-tree (firmware hangs up with flashing LEDs) on second print job: +Patch0: hplip-1.7.1-1.patch +# Patch10...Patch99 is for Suse patches for the sources from HP: # Fix "... is used uninitialized ..." warnings: Patch10: fix-uninitialized-variables.diff # Change installation directory for PPDs: Patch11: change-ppd-install-dir.diff # Change installation directory for the documentation: Patch12: change-doc-install-dir.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 @@ -38,6 +45,7 @@ Source100: %{name}.desktop Source101: hp-toolbox.wrapper # Source102 is a small man page for /usr/bin/hpijs: Source102: hpijs.1.gz +# Patch100... is for special Suse patches: # Patch100 changes the init script after it was installed: Patch100: %{name}-init-script.diff # Install into this non-root directory (required when norootforbuild is used): @@ -54,14 +62,23 @@ 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 back-end "hpaio" for HP -all-in-one devices and another special "hpfax" CUPS back-end that is -required to send faxes. 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. +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: @@ -70,8 +87,6 @@ http://hpinkjet.sourceforge.net/ /usr/share/doc/packages/hplip/index.html -/usr/share/doc/packages/hplip/tech_docs/hpijs.html - Authors: @@ -93,18 +108,22 @@ Group: Hardware/Printing # it must be 100% sure that all what the hpijs driver needs to run is also installed. # Therefore the requirement is weakened for this package: Supplements: ghostscript_any +# hplip-hpijs and hpijs-standalone both contain /usr/bin/hpijs: +Conflicts: hpijs-standalone %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. Normally (in particular for CUPS) the HPIJS -driver needs the rest of HP's printing and scanning software in the -package hplip. For special cases (e.g. for LPRng/lpdfilter or for a -minimal printing system) it is possible to use only the hpijs binary +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 documentation and license see the main-package hplip. +For full documentation and license see the main-package hplip. @@ -119,6 +138,8 @@ Authors: %prep # Be quiet when unpacking: %setup -q +# Fix Deskjet D4100/D4160 christmas-tree (firmware hangs up with flashing LEDs) on second print job: +%patch0 -p1 # Fix "... is used uninitialized ..." warnings: %patch10 # Change installation directory for PPDs: @@ -132,29 +153,8 @@ Authors: # 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: -# Set -fstack-protector-all to enable "Stack Protector" via a so called "canary" (requires gcc >= 4.1): -export CFLAGS="$RPM_OPT_FLAGS -fstack-protector-all" -export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fstack-protector-all" -# First of all build a special hpijs which does not require the CUPS library. -# One of the HPLIP authors David Suffield told me in a mail: -# > To: Johannes Meixner , -# > Subject: RE: [HPLIP-Devel] /usr/bin/hpijs requires libcups.so -# > If you want to build hpijs with-out the libcups.so dependency, build -# > hpijs with-out hplip support. -# > For example if you want to build hpijs for use with other spoolers, -# > don't use the top-level hplip makefile, use configure/make in the hpijs -# > directory. There is a hpijs configure time "hplip-build" flag that -# > defaults to false if you don't use the top-level make file. -# To avoid an impact on the normal build of hpijs afterwards -# the specific make target "make hpijs" is called and afterwards -# "make distclean" removes in particular the Makefile to make sure -# it is created anew by the different configure call of the normal build. -pushd prnt/hpijs -./configure --prefix=/usr --libdir=%_libdir --disable-hplip-build --disable-cups-install --disable-foomatic-install -make hpijs -mv hpijs hpijs.without-libcups -make distclean -popd +export CFLAGS="$RPM_OPT_FLAGS" +export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" # Regarding the configure options see tech_docs/tarball_install.html (not very explanatory): # --disable-rpm-install disables sane, icon, /etc/hp and /etc/init.d install (default = disabled) # --disable-foomatic-install disables foomatic install (HPIJS option, default = enabled) @@ -175,8 +175,6 @@ make %install make install DESTDIR=%{buildroot} -# Install the special hpijs which does not require the CUPS library: -install -m 755 prnt/hpijs/hpijs.without-libcups %{buildroot}%{_bindir} # Remove the installed /etc/sane.d/dll.conf # because this is provided by the sane-backends package: rm %{buildroot}%{_sysconfdir}/sane.d/dll.conf @@ -317,11 +315,24 @@ exit 0 %files hpijs %defattr(-, root, root) +%doc doc/tech_docs/hpijs.html doc/tech_docs/device_classes.html %{_bindir}/hpijs -%{_bindir}/hpijs.without-libcups %{_libdir}/libhpip.* %changelog -n hplip +* 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'