Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Printing
splix
splix.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File splix.spec of Package splix
# # spec file for package splix # # Copyright (c) 2014 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/ # %if 0%{?suse_version} > 1110 %bcond_without jbigkit %endif Name: splix Summary: Driver for Samsung Printer Language printers License: GPL-2.0 Group: Hardware/Printing Version: 2.0.0.315 Release: 0 Url: http://splix.ap2c.org/ # revision 315 from svn://svn.code.sf.net/p/splix/code/splix Source0: splix-2.0.0.315.tar.bz2 Source1: http://splix.ap2c.org/samsung_cms.tar.bz2 Source2: README.SUSE Patch1: %name-libs.patch Patch2: %name-add-debuginfo.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # SLE12 needs special BuildRequires. # For suse_version values see https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto %if 0%{?suse_version} == 1315 # For SLE12 by default CUPS 1.7.5 is provided and alternatively CUPS 1.5.4 is provided in the "legacy" module. # For SLE12 build it with traditional CUPS 1.5.4 to ensure it works on SLE12 both with CUPS 1.7.5 and CUPS 1.5.4 # because libcups and libcupsimage in CUPS 1.7.5 are backward compatible with CUPS 1.5.4 so that applications # that have been built with CUPS 1.5.4 also work under CUPS 1.7.5 but the libraries in CUPS 1.7.5 provide # some additional functions so that applications that have been built with CUPS 1.7.5 and use those # additional functions would not work under CUPS 1.7.5. # Only in the Printing project for SLE12 use cups154-ddk (a sub package of the cups154-SLE12 source package): BuildRequires: cups154-devel %else # Anything what is not SLE12 (i.e. SLE11 and all openSUSE versions) have "normal" BuildRequires: BuildRequires: cups-devel %endif BuildRequires: fdupes BuildRequires: gcc-c++ %if (0%{?suse_version} > 1110) && ! %{without jbigkit} BuildRequires: libjbig-devel %endif Requires: cups # The Splix driver PPDs contain either # *cupsFilter: "application/vnd.cups-postscript 0 pstoqpdl" # or # *cupsFilter: "application/vnd.cups-raster 0 rastertoqpdl" # which means both require Ghostscript because # either /usr/lib/cups/filter/pstoqpdl calls Ghostscript via # /usr/lib/cups/filter/pstoraster or /usr/lib/cups/filter/gstoraster # (see the post install scriptlet below) # or /usr/lib/cups/filter/rastertoqpdl needs CUPS raster data as input # that is produced by the cups device in Ghostscript # (even the old ghostscript-library RPM e.g. in SLE11 provides ghostscript): Requires: ghostscript # Provide and obsolete its old RPM package name "cups-drivers-splix" # see https://bugzilla.novell.com/show_bug.cgi?id=659579 Provides: cups-drivers-splix >= %version Obsoletes: cups-drivers-splix < %version %description SpliX is a set of CUPS printer drivers for SPL (Samsung Printer Language) printers. Some Samsung, Xerox and Dell printers use that language. %prep %autosetup -p1 cp %SOURCE2 . mv -v *.ppd ppd/ %build export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %if 0%{?suse_version} > 1110 make %{?_without_jbigkit:DISABLE_JBIG=1} %{?_smp_mflags} V=1 %else make DISABLE_JBIG=1 %{_smp_mflags} V=1 %endif %install %if 0%{?suse_version} > 1110 %makeinstall %{?_without_jbigkit:DISABLE_JBIG=1} %else %makeinstall DISABLE_JBIG=1 %endif pushd $RPM_BUILD_ROOT%_datadir/cups/model/samsung/ tar -xjvf "%{SOURCE1}" popd gzip -n -9 %buildroot/%_datadir/cups/model/*/*.ppd # Run fdupes: # The RPM macro fdupes runs /usr/bin/fdupes that links files with identical content. # Never run fdupes carelessly over the whole buildroot directory # because in older openSUSE and SLE11 versions fdupes # links files with different owner, group, or permissions # see https://bugzilla.novell.com/show_bug.cgi?id=784670 # and even in current openSUSE versions fdupes links across sub-package boundaries, # compare https://bugzilla.novell.com/show_bug.cgi?id=784869 # so that fdupes can only run for specific directories where linking files is safe: %fdupes -s %{buildroot}/%{_datadir}/cups/model/samsung/cms %if 0%{?suse_version} > 1110 # Do not do this for SLE11 where ghostscript-library 8.62 is used. # If Splix plus Ghostscript >= 9.02 is used on SLE11 the admin must do it manually as needed. %post # Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets # Make Splix working also for Ghostscript version >= 9.02: # In /usr/lib/cups/filter/pstoqpdl there is a hardcoded call for /usr/lib/cups/filter/pstoraster. # Since Ghostscript version 9.02 /usr/lib/cups/filter/pstoraster is replaced by /usr/lib/cups/filter/gstoraster. # Accordingly when no /usr/lib/cups/filter/pstoraster exists, create an appropriate symlink # so that /usr/lib/cups/filter/pstoqpdl works (see https://bugzilla.novell.com/show_bug.cgi?id=803005). # Intentionally there is no test that /usr/lib/cups/filter/gstoraster exists because # the required (but not pre-required) ghostscript RPM could be installed after splix. # Note that only "test -e /usr/lib/cups/filter/pstoraster" (or "test -f") is insufficient because # test follows symlinks which means when /usr/lib/cups/filter/pstoraster is already a (possibly broken) # symbolic link to /usr/lib/cups/filter/gstoraster then test results false so that # additionally it must be tested if /usr/lib/cups/filter/pstoraster is a symlink: if ! test -e /usr/lib/cups/filter/pstoraster -o -L /usr/lib/cups/filter/pstoraster then ln -s /usr/lib/cups/filter/gstoraster /usr/lib/cups/filter/pstoraster fi exit 0 %endif %files %defattr(-,root,root) %doc COPYING README.SUSE %dir %_datadir/cups %dir %_datadir/cups/model %dir %_datadir/cups/model/dell %dir %_datadir/cups/model/samsung %dir %_datadir/cups/model/xerox %dir %_datadir/cups/model/lexmark %dir %_datadir/cups/model/toshiba %if 0%{?suse_version} == 1110 # On SLE11 with its CUPS 1.3.9 there is still /usr/lib64/cups/ used on x86_64. # For suse_version values see https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto # On SLE11 it installs automatically into /usr/lib64/cups/ on x86_64 and into /usr/lib/cups/ on x86: %dir %_libdir/cups/ %dir %_libdir/cups/filter/ %_libdir/cups/filter/pstoqpdl %_libdir/cups/filter/rastertoqpdl %else # Use a plain simple fixed /usr/lib/cups/filter/ according # to what is actually used by CUPS >= 1.4 on all platforms: %dir /usr/lib/cups/ %dir /usr/lib/cups/filter/ /usr/lib/cups/filter/pstoqpdl /usr/lib/cups/filter/rastertoqpdl %endif %_datadir/cups/model/dell/*.ppd.gz %_datadir/cups/model/samsung/*.ppd.gz %_datadir/cups/model/samsung/cms %_datadir/cups/model/xerox/*.ppd.gz %_datadir/cups/model/lexmark/*.ppd.gz %_datadir/cups/model/toshiba/*.ppd.gz %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor