epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.spec
Johannes Meixner 070dbdbbb5 Have the comment for the files section inside the files section
and not directly before it because then this comment actually
  belongs for RPM to the section before the files section and
  when this is "postun -p /sbin/ldconfig", the comment becomes
  in some cases (e.g. in the build system for SLE11 and SLE11_SP1)
  added as argument to the /sbin/ldconfig call which lets it fail
  with an "/sbin/ldconfig: relative path ... used to build cache"
  which lets package build fail during "removing all built rpms".
  Therefore traditional bash scriptlets for post/postun
  with an "exit 0" line at the end would be more fail safe.

OBS-URL: https://build.opensuse.org/package/show/Printing/epson-inkjet-printer-escpr?expand=0&rev=3
2011-10-04 09:29:09 +00:00

146 lines
5.3 KiB
RPMSpec

#
# spec file for package epson-inkjet-printer-escpr
#
# Copyright (c) 2011 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/
#
Name: epson-inkjet-printer-escpr
BuildRequires: cups cups-devel
Version: 1.1.0
Release: 1
License: GPLv2
Url: http://avasys.jp/english/linux_e/
Group: Hardware/Printing
Summary: Epson ESC/P-R Inkjet Printer Driver
Source0: epson-inkjet-printer-escpr-%{version}-1lsb3.2.tar.gz
# This software is a filter program used with CUPS:
Requires: cups
# Install into this non-root directory (required when norootforbuild is used):
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The ESC/P-R driver works as a filter program
used with CUPS.
It offers high quality printing with Seiko Epson color
inkjet printers.
This driver can only be used with printers that support
the Epson ESC/P-R language.
For a list of supported printers by a currently installed
package see the PPD files in this directory:
/usr/share/cups/model/manufacturer-PPDs/epson-inkjet-printer-escpr
For a list of supported printers by the newest available version
at the upstream project visit:
http://avasys.jp/english/linux_e/
In particular regarding the ESC/P-R driver see:
http://avasys.jp/eng/linux_driver/download/lsb/epson-inkjet/escpr/
Regarding "What's ESC/P-R?" have a look at:
http://global.epson.com/innovation/universal_printing/index.html
%prep
# Be quiet when unpacking:
%setup -q
%build
# Set our preferred architecture-specific flags for the compiler and linker:
export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS"
# Specify location of CUPS filter and ppd files explicitly.
# Use the explicite value 'epson-inkjet-printer-escpr' and not the RPM macro 'name'
# so that it could be built as well with a different package name
# (e.g. when someone likes to provide an epson-inkjet-printer-escpr SVN revision
# with package name 'epson-inkjet-printer-escpr-SVN' or a specifically adapted
# version as 'epson-inkjet-printer-escpr-only4me') because the installed PPDs
# must match exactly to the installed epson-escpr filter and the libescpr library:
%configure \
--with-cupsfilterdir=/usr/lib/cups/filter \
--with-cupsppddir=%{_datadir}/cups/model/manufacturer-PPDs/epson-inkjet-printer-escpr
make
%install
# See lsb/lsb-rpm.spec
# Make directories:
install -d %{buildroot}/usr/lib/cups/filter
install -d %{buildroot}%{_libdir}
install -d %{buildroot}%{_datadir}
install -d %{buildroot}%{_defaultdocdir}/%{name}
make install DESTDIR=%{buildroot}
install -m 644 README README.ja COPYING AUTHORS NEWS %{buildroot}%{_defaultdocdir}/%{name}
rm -f %{buildroot}%{_libdir}/libescpr.a
rm -f %{buildroot}%{_libdir}/libescpr.la
# Compress PPDs:
pushd %{buildroot}%{_datadir}/cups/model/manufacturer-PPDs/epson-inkjet-printer-escpr
# Do not pollute the build log file with meaningless messages:
set +x
# 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 so that it is much better to provide all 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 echo -n "$p: "
grep -E -v '^\*UIConstraints:|^\*NonUIConstraints:|^\*cupsFilter:' $p | cupstestppd - || true
gzip $p
done
# Switch back to the usual build log messages:
set -x
popd
# The post section:
%post -p /sbin/ldconfig
# The postun section:
%postun -p /sbin/ldconfig
%files
# The files sections list all mandatory files explicitly one by one.
# In particular all executables are listed explicitly.
# This avoids that the configure magic might silently
# not build and install an executable when whatever condition
# for configure's automated tests is not fulfilled in the build system.
# When all mandatory files are explicitly listed,
# the build fails intentionally if a mandatory file was not built
# which ensures that already existing correctly built binary RPMs
# are not overwritten by broken RPMs where mandatory files are missing.
%defattr(-,root,root)
%{_libdir}/libescpr.*
%dir /usr/lib/cups
%dir /usr/lib/cups/filter
/usr/lib/cups/filter/epson-escpr
/usr/lib/cups/filter/epson-escpr-wrapper
%dir %{_datadir}/cups
%dir %{_datadir}/cups/model
%dir %{_datadir}/cups/model/manufacturer-PPDs
%{_datadir}/cups/model/manufacturer-PPDs/epson-inkjet-printer-escpr/
%dir %{_datadir}/epson-inkjet-printer-escpr
%{_datadir}/epson-inkjet-printer-escpr/paper_list.csv
%doc %{_defaultdocdir}/%{name}/
%changelog