ALT Linux repositórios
S: | 2.4.7-alt1 |
5.0: | 1.3.10-alt1 |
4.1: | 1.3.10-alt0.M41.4 |
+updates: | 1.3.9-alt1.M41.1 |
4.0: | 1.2.12-alt6.M40.9 |
+updates: | 1.2.12-alt6.M40.8 |
3.0: | 1.1.20-alt14.1 |
Group :: Sistema/Servidores
RPM: cups
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Name: cups
Version: 1.1.20
Release: alt14.1
Summary: Common Unix Printing System - server package
License: GPL
Group: System/Servers
Url: http://www.cups.org
Packager: Stanislav Ievlev <inger at altlinux.org>
Source: ftp://ftp.easysw.com/pub/cups/%version/%name-%{version}-source.tar.bz2
Source1: poll_ppd_base.c.bz2
Source2: lphelp.c.bz2
Source4: cups.xinetd
Source5: cups.startup
#main addons
Source100: %name.control
Source101: postscript.ppd
#backends
Source102: cups-pstops-wrapper.tar.bz2
Source103: cups-ncp-0.2.tar.bz2
#ppds for postscript printers
Source104: http://www.linuxprinting.org/download/PPD/Epson/epson-ppd-20040301.tar.bz2
Source105: http://www.linuxprinting.org/download/PPD/OCE/oce-ppd-20031103.tar.bz2
Source106: http://www.linuxprinting.org/download/PPD/Okidata/okidata-ppd-20040609.tar.bz2
Source107: http://www.linuxprinting.org/download/PPD/Kyocera/kyocera-ppd-20040510.tar.bz2
Source108: http://www.linuxprinting.org/download/PPD/HP/hp-ppd-20040625.tar.bz2
#alterator's backend for the cups
Source109: %name.alterator
Source200: http://home.online.no/~enrio/lxx74-cups-0.8.2.tar.bz2
Patch: %name-1.1.18-alt-pam.patch
Patch1: %name-1.1.20-alt-locale.patch
Patch2: %name-1.1.20-asp-texttops.patch
Patch3: %name-1.1.20-alt-shared.patch
Patch4: %name-1.1.20-alt-conf.patch
Patch5: %name-1.1.5-mdk-ENCRYPTIONtxt.patch
Patch6: %name-1.1.20-alt-izvrat.path
Patch7: %name-1.1.20-alt-cert-perms.patch
Patch8: %name-1.1.20-alt-kde-enable-default.patch
Patch9: %name-1.1.20-alt-texttops-nimbus.patch
Patch10: %name-1.1.20-CAN-2004-0558.patch
Patch11: %name-1.1.20-sanitize.patch
Patch12: xpdf-CESA-2004-007-xpdf2-new.diff
Patch13: cups-1.1.20-xpdf-security.patch
Patch14: cups-1.1.20-alt-cp866-codepage.patch
Patch15: cups-1.1.20-alt-install.patch
Patch16: cups-str1023.patch
Patch17: cups-str1024.patch
Patch18: cups-1.1.20-alt-xpdfpl3.patch
Patch19: cups-1.1.20-alt-usb-decode_id.patch
%define _compress_method gzip
Requires: libnoch, printer-testpages
Requires(post,preun): service
PreReq: %name-common = %version-%release, control, esp-ghostscript-cups, urw-fonts
PreReq: alternatives >= 0.0.6
PreReq: printer-drivers-utils
#for building on ALM2.4
BuildPreReq: libalternatives-devel
# Automatically added by buildreq on Thu Oct 07 2004 (-bi)
BuildRequires: control cups-ddk gcc-c++ groff-base java-common libcups-devel libgmp-devel libjpeg-devel libpam-devel libpng-devel libssl-devel libstdc++-devel libtiff-devel pam0_tcb printer-testpages python-base python-modules-compiler python-modules-encodings rpm-build-python urw-fonts zlib-devel
%description
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. It has been developed by Easy Software Products
to promote a standard printing solution for all UNIX vendors and users.
CUPS provides the System V and Berkeley command-line interfaces.
This is the main package needed for CUPS servers (machines where a
printer is connected to or which host a queue for a network
printer). It can also be used on CUPS clients so that they simply pick
up broadcasted printer information from other CUPS servers and do not
need to be assigned to a specific CUPS server by an
/etc/cups/client.conf file.
%package common
Summary: Common Unix Printing System - Common stuff
License: GPL
Group: System/Servers
PreReq: lib%name = %version-%release
Provides: %_bindir/lpr, %_bindir/lpq, %_bindir/lprm, %_bindir/lp, %_bindir/cancel, %_bindir/lpstat, %_sbindir/lpc
%description common
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. It contains the command line utilities for
printing and administration (lpr, lpq, lprm, lpadmin, lpc, ...), man
pages, locales, and a sample configuration file for daemon-less CUPS
clients (/etc/cups/client.conf).
This package you need for both CUPS clients and servers.
%package backend-serial
Summary: serial backend for %name
License: GPL
Group: System/Servers
PreReq: %name = %version-%release
%description backend-serial
serial backend for %name
%package backend-ncp
Summary: ncp(NetWare) backend for %name
License: GPL
Group: System/Servers
PreReq: %name = %version-%release
%description backend-ncp
ncp(NetWare) backend for %name
%package backend-pdf
Summary: pdf backend for %name
License: GPL
Group: System/Servers
PreReq: %name = %version-%release
%description backend-pdf
pdf backend for %name, allows to create pdf files "on-fly"
%package -n lib%name
Summary: Common Unix Printing System - CUPS library
License: LGPL
Group: System/Servers
%description -n lib%name
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. This package contains the CUPS API library
which contains common functions used by both the CUPS daemon and all
CUPS frontends (lpr-cups, xpp, qtcups, kups, ...).
This package you need for both CUPS clients and servers. It is also
needed by Samba.
%package -n lib%name-devel
Summary: Common Unix Printing System - Development environment "libcups"
License: LGPL
Group: Development/C
Requires: lib%name = %version-%release
Provides: %name-devel = %version
Obsoletes: %name-devel
%description -n lib%name-devel
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. This is the development package for
creating additional printer drivers, printing software, and other CUPS
services using the main CUPS library "libcups".
%package -n lib%name-devel-static
Summary: Common Unix Printing System - Development environment "libcups"
License: LGPL
Group: Development/C
Requires: lib%name-devel = %version-%release
%description -n lib%name-devel-static
Static libraries for lib%name
%package -n alterator-backend-%name
Summary: Alterator backend for the Common Unix Printing System
License: GPL
Group: System/Servers
Requires: %name = %version-%release
Requires: alterator > 1.99-alt14
%description -n alterator-backend-%name
Alterator backend for the Common Unix Printing System
%prep
%setup -q -n %name-%{version} -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 200
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p0
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
pushd scheduler
%patch11 -p0
popd
%patch12 -p1
%patch13 -p1
%patch14 -p0
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%__subst 's,\$localstatedir/spool/cups,/var/spool/%name,' config-scripts/cups-directories.m4 ./configure
# Load additional tools
bzcat %SOURCE1 > poll_ppd_base.c
bzcat %SOURCE2 > lphelp.c
%build
%configure --enable-ssl --with-docdir=%_defaultdocdir/%name-%version\
--with-cups-user=lp --with-cups-group=lp \
--with-logdir=%_logdir/%name
%ifarch ia64 x86_64
export REAL_CFLAGS="$CFLAGS -fPIC"
%else
export REAL_CFLAGS="$CFLAGS"
%endif
%make OPTIM="$REAL_CFLAGS"
# Compile additional backends
pushd lxx74-cups-*
make clean
%__subst "s/gcc/gcc $RPM_OPT_FLAGS/" Makefile
%make_build
popd
# Compile additional tools
gcc -o poll_ppd_base $RPM_OPT_FLAGS -I. -I./cups -L./cups -lcups poll_ppd_base.c
gcc -o lphelp $RPM_OPT_FLAGS -I. -I./cups -L./cups -lcups lphelp.c
%install
mkdir -p $RPM_BUILD_ROOT%_initdir
make BUILDROOT=$RPM_BUILD_ROOT install
# Remove SUID bit from "lppasswd"
chmod 755 $RPM_BUILD_ROOT%_bindir/lppasswd
# Install the README files of the source tarball in the doc directory
cp *.txt $RPM_BUILD_ROOT%_defaultdocdir/%name-%version
# Make a directory for the SSL files
mkdir -p $RPM_BUILD_ROOT%_sysconfdir/cups/ssl
# Install additional tools
install -p -m 755 poll_ppd_base $RPM_BUILD_ROOT%_bindir
install -p -m 755 lphelp $RPM_BUILD_ROOT%_bindir
# entry for xinetd (disabled by default)
install -m 640 -D %SOURCE4 $RPM_BUILD_ROOT%_sysconfdir/xinetd.d/cups-lpd
# Install startup script
install -m 755 %SOURCE5 $RPM_BUILD_ROOT%_initdir/cups
# Install PPDs
mkdir -p $RPM_BUILD_ROOT%_datadir/cups/model
install -m 755 ppd/*.ppd $RPM_BUILD_ROOT%_datadir/cups/model
# prepare the commands conflicting with LPD for the update-alternatives treatment
for i in lpr lpq lprm lp cancel lpstat
do
mv $RPM_BUILD_ROOT%_bindir/$i $RPM_BUILD_ROOT%_bindir/$i-%name
mv $RPM_BUILD_ROOT%_man1dir/$i.1 $RPM_BUILD_ROOT%_man1dir/$i-%name.1
done
mv $RPM_BUILD_ROOT%_sbindir/lpc $RPM_BUILD_ROOT%_sbindir/lpc-%name
mv $RPM_BUILD_ROOT%_man8dir/lpc.8 $RPM_BUILD_ROOT%_man8dir/lpc-%name.8
rm -f $RPM_BUILD_ROOT%_man1dir/cancel.1
ln -sf lp-cups.1 $RPM_BUILD_ROOT%_man1dir/cancel-cups.1
#setup altenatives files
install -d $RPM_BUILD_ROOT%_altdir
>$RPM_BUILD_ROOT%_altdir/%name
for n in lpr lpq lprm lp cancel lpstat
do
cat >> $RPM_BUILD_ROOT%_altdir/%name <<EOF
<group name="candidate">
<option name="link">%_bindir/$n</option>
<option name="real">%_bindir/${n}-cups</option>
<option name="weight" type="number">10</option>
<group name="slave">
<option name="link">%_man1dir/$n.1.gz</option>
<option name="real">%_man1dir/${n}-cups.1.gz</option>
</group>
</group>
EOF
done
#add also lpc
cat >> $RPM_BUILD_ROOT%_altdir/%name<<EOF
<group name="candidate">
<option name="link">%_sbindir/lpc</option>
<option name="real">%_sbindir/lpc-cups</option>
<option name="weight" type="number">10</option>
<group name="slave">
<option name="link">%_man8dir/lpc.8.gz</option>
<option name="real">%_man8dir/lpc-cups.8.gz</option>
</group>
</group>
EOF
%__install -pD -m755 %SOURCE100 $RPM_BUILD_ROOT%_sysconfdir/control.d/facilities/%name
#link default fonts to URW
rm -rf $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier*
ln -sf %_datadir/fonts/default/Type1/n022003l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier
ln -sf %_datadir/fonts/default/Type1/n022004l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier-Bold
ln -sf %_datadir/fonts/default/Type1/n022023l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier-Oblique
ln -sf %_datadir/fonts/default/Type1/n022024l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier-BoldOblique
#fix locales
for i in KOI8-R CP1251
do
cp -a $RPM_BUILD_ROOT/%_datadir/locale/ru_RU $RPM_BUILD_ROOT/%_datadir/locale/ru_RU.$i
done
for i in KOI8-U CP1251
do
cp -a $RPM_BUILD_ROOT/%_datadir/locale/uk_UA $RPM_BUILD_ROOT/%_datadir/locale/uk_UA.$i
done
rm -rf $RPM_BUILD_ROOT/%_datadir/locale/{ru_RU,uk_UA,uk}
%__subst 's,windows-1251,koi8-r,' $RPM_BUILD_ROOT/%_datadir/locale/ru_RU.KOI8-R/%{name}_ru_RU
%__subst 's,windows-1251,koi8-u,' $RPM_BUILD_ROOT/%_datadir/locale/uk_UA.KOI8-U/%{name}_uk_UA
mv $RPM_BUILD_ROOT/%_datadir/locale/be $RPM_BUILD_ROOT/%_datadir/locale/be_BY
mv $RPM_BUILD_ROOT/%_datadir/locale/be_BY/%{name}_be $RPM_BUILD_ROOT/%_datadir/locale/be_BY/%{name}_be_BY
#install additional stuff
%__install -pm644 %SOURCE101 $RPM_BUILD_ROOT%_datadir/%name/model
%__install -pm644 %SOURCE102 $RPM_BUILD_ROOT%_defaultdocdir/%name-%version
pushd cups-ncp-*
%__install -pm755 ncp $RPM_BUILD_ROOT%_libdir/%name/backend
popd
pushd lxx74-*
%__install -pm755 rastertolxx74 $RPM_BUILD_ROOT%_libdir/%name/filter
%__install -pm644 lxx74.types $RPM_BUILD_ROOT%_sysconfdir/cups
%__install -pm644 lxx74.convs $RPM_BUILD_ROOT%_sysconfdir/cups
ppdc lxx74.drv
%__install -pm644 ppd/* $RPM_BUILD_ROOT%_datadir/cups/model
popd
#additional ppds
for i in epson-ppd/*.ppd oce-ppd/*.ppd okidata-ppd/*.ppd kyocera-ppd/*.ppd hp-ppd/*/*.ppd
do
%__install -pm644 $i $RPM_BUILD_ROOT%_datadir/cups/model
done
rm -f $RPM_BUILD_ROOT%_datadir/cups/model/hp_officejet_9100_series.ppd
chmod 644 $RPM_BUILD_ROOT%_datadir/%name/model/*
#replace testpage with our
rm $RPM_BUILD_ROOT%_datadir/%name/data/testprint.ps
ln -sf %_datadir/printer-testpages/testprint.ps $RPM_BUILD_ROOT%_datadir/%name/data/testprint.ps
#alterator backend
%__install -D -pm755 %SOURCE109 $RPM_BUILD_ROOT%_libdir/alterator/backend/%name
%pre
%pre_control %name
%post
%post_control %name
%post_service %name
/usr/bin/update-printers-db
%preun
%preun_service %name
%post common
%register_alternatives %name -- lpr lpr.1.gz lpq lpq.1.gz lprm lprm.1.gz lpc lpc.1.gz lp lp.1.gz cancel cancel.1.gz lpstat lpstat.1.gz
%preun common
%unregister_alternatives %name
%post -n lib%name -p /sbin/ldconfig
%preun -n lib%name -p /sbin/ldconfig
%files
%doc %_defaultdocdir/%name-%version
%_sysconfdir/control.d/facilities/%name
%config(noreplace) %_sysconfdir/cups/certs
%config(noreplace) %_sysconfdir/cups/classes.conf
%config(noreplace) %_sysconfdir/cups/cupsd.conf
%config(noreplace) %_sysconfdir/cups/interfaces
%config(noreplace) %_sysconfdir/cups/*.convs
%config(noreplace) %_sysconfdir/cups/*.types
%config(noreplace) %_sysconfdir/cups/ppd
%config(noreplace) %_sysconfdir/cups/printers.conf
%config(noreplace) %_sysconfdir/cups/ssl
%config(noreplace) %_sysconfdir/pam.d/cups
%config %_initdir/cups
%attr(644,root,root) %config(noreplace) %_sysconfdir/xinetd.d/cups-lpd
%_libdir/cups
%exclude %_libdir/cups/backend/serial
%exclude %_libdir/cups/backend/ncp
%_datadir/cups
%_var/log/cups
%dir %attr(0700,lp,root) %_var/spool/cups
%dir %attr(01700,lp,root) %_var/spool/cups/tmp
%files common
%dir %config(noreplace) %_sysconfdir/cups
%config(noreplace) %_sysconfdir/cups/client.conf
%_altdir/%name
%_bindir/*
%exclude %_bindir/%name-config
%_sbindir/*
%_datadir/locale/*/*
%_man1dir/*
%_man5dir/*
%_man8dir/*
%files -n lib%name
%_libdir/*.so.*
%files -n lib%name-devel
%_bindir/%name-config
%_includedir/%name/*
%_libdir/*.so
%_man3dir/*
%files -n lib%name-devel-static
%_libdir/*.a
%files backend-serial
%_libdir/cups/backend/serial
%files backend-ncp
%_libdir/cups/backend/ncp
%files -n alterator-backend-%name
%_libdir/alterator/backend/%name
%changelog
…
Todas as alterações você pod ver aqui
Version: 1.1.20
Release: alt14.1
Summary: Common Unix Printing System - server package
License: GPL
Group: System/Servers
Url: http://www.cups.org
Packager: Stanislav Ievlev <inger at altlinux.org>
Source: ftp://ftp.easysw.com/pub/cups/%version/%name-%{version}-source.tar.bz2
Source1: poll_ppd_base.c.bz2
Source2: lphelp.c.bz2
Source4: cups.xinetd
Source5: cups.startup
#main addons
Source100: %name.control
Source101: postscript.ppd
#backends
Source102: cups-pstops-wrapper.tar.bz2
Source103: cups-ncp-0.2.tar.bz2
#ppds for postscript printers
Source104: http://www.linuxprinting.org/download/PPD/Epson/epson-ppd-20040301.tar.bz2
Source105: http://www.linuxprinting.org/download/PPD/OCE/oce-ppd-20031103.tar.bz2
Source106: http://www.linuxprinting.org/download/PPD/Okidata/okidata-ppd-20040609.tar.bz2
Source107: http://www.linuxprinting.org/download/PPD/Kyocera/kyocera-ppd-20040510.tar.bz2
Source108: http://www.linuxprinting.org/download/PPD/HP/hp-ppd-20040625.tar.bz2
#alterator's backend for the cups
Source109: %name.alterator
Source200: http://home.online.no/~enrio/lxx74-cups-0.8.2.tar.bz2
Patch: %name-1.1.18-alt-pam.patch
Patch1: %name-1.1.20-alt-locale.patch
Patch2: %name-1.1.20-asp-texttops.patch
Patch3: %name-1.1.20-alt-shared.patch
Patch4: %name-1.1.20-alt-conf.patch
Patch5: %name-1.1.5-mdk-ENCRYPTIONtxt.patch
Patch6: %name-1.1.20-alt-izvrat.path
Patch7: %name-1.1.20-alt-cert-perms.patch
Patch8: %name-1.1.20-alt-kde-enable-default.patch
Patch9: %name-1.1.20-alt-texttops-nimbus.patch
Patch10: %name-1.1.20-CAN-2004-0558.patch
Patch11: %name-1.1.20-sanitize.patch
Patch12: xpdf-CESA-2004-007-xpdf2-new.diff
Patch13: cups-1.1.20-xpdf-security.patch
Patch14: cups-1.1.20-alt-cp866-codepage.patch
Patch15: cups-1.1.20-alt-install.patch
Patch16: cups-str1023.patch
Patch17: cups-str1024.patch
Patch18: cups-1.1.20-alt-xpdfpl3.patch
Patch19: cups-1.1.20-alt-usb-decode_id.patch
%define _compress_method gzip
Requires: libnoch, printer-testpages
Requires(post,preun): service
PreReq: %name-common = %version-%release, control, esp-ghostscript-cups, urw-fonts
PreReq: alternatives >= 0.0.6
PreReq: printer-drivers-utils
#for building on ALM2.4
BuildPreReq: libalternatives-devel
# Automatically added by buildreq on Thu Oct 07 2004 (-bi)
BuildRequires: control cups-ddk gcc-c++ groff-base java-common libcups-devel libgmp-devel libjpeg-devel libpam-devel libpng-devel libssl-devel libstdc++-devel libtiff-devel pam0_tcb printer-testpages python-base python-modules-compiler python-modules-encodings rpm-build-python urw-fonts zlib-devel
%description
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. It has been developed by Easy Software Products
to promote a standard printing solution for all UNIX vendors and users.
CUPS provides the System V and Berkeley command-line interfaces.
This is the main package needed for CUPS servers (machines where a
printer is connected to or which host a queue for a network
printer). It can also be used on CUPS clients so that they simply pick
up broadcasted printer information from other CUPS servers and do not
need to be assigned to a specific CUPS server by an
/etc/cups/client.conf file.
%package common
Summary: Common Unix Printing System - Common stuff
License: GPL
Group: System/Servers
PreReq: lib%name = %version-%release
Provides: %_bindir/lpr, %_bindir/lpq, %_bindir/lprm, %_bindir/lp, %_bindir/cancel, %_bindir/lpstat, %_sbindir/lpc
%description common
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. It contains the command line utilities for
printing and administration (lpr, lpq, lprm, lpadmin, lpc, ...), man
pages, locales, and a sample configuration file for daemon-less CUPS
clients (/etc/cups/client.conf).
This package you need for both CUPS clients and servers.
%package backend-serial
Summary: serial backend for %name
License: GPL
Group: System/Servers
PreReq: %name = %version-%release
%description backend-serial
serial backend for %name
%package backend-ncp
Summary: ncp(NetWare) backend for %name
License: GPL
Group: System/Servers
PreReq: %name = %version-%release
%description backend-ncp
ncp(NetWare) backend for %name
%package backend-pdf
Summary: pdf backend for %name
License: GPL
Group: System/Servers
PreReq: %name = %version-%release
%description backend-pdf
pdf backend for %name, allows to create pdf files "on-fly"
%package -n lib%name
Summary: Common Unix Printing System - CUPS library
License: LGPL
Group: System/Servers
%description -n lib%name
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. This package contains the CUPS API library
which contains common functions used by both the CUPS daemon and all
CUPS frontends (lpr-cups, xpp, qtcups, kups, ...).
This package you need for both CUPS clients and servers. It is also
needed by Samba.
%package -n lib%name-devel
Summary: Common Unix Printing System - Development environment "libcups"
License: LGPL
Group: Development/C
Requires: lib%name = %version-%release
Provides: %name-devel = %version
Obsoletes: %name-devel
%description -n lib%name-devel
The Common Unix Printing System provides a portable printing layer for
UNIX(TM) operating systems. This is the development package for
creating additional printer drivers, printing software, and other CUPS
services using the main CUPS library "libcups".
%package -n lib%name-devel-static
Summary: Common Unix Printing System - Development environment "libcups"
License: LGPL
Group: Development/C
Requires: lib%name-devel = %version-%release
%description -n lib%name-devel-static
Static libraries for lib%name
%package -n alterator-backend-%name
Summary: Alterator backend for the Common Unix Printing System
License: GPL
Group: System/Servers
Requires: %name = %version-%release
Requires: alterator > 1.99-alt14
%description -n alterator-backend-%name
Alterator backend for the Common Unix Printing System
%prep
%setup -q -n %name-%{version} -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 200
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p0
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
pushd scheduler
%patch11 -p0
popd
%patch12 -p1
%patch13 -p1
%patch14 -p0
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%__subst 's,\$localstatedir/spool/cups,/var/spool/%name,' config-scripts/cups-directories.m4 ./configure
# Load additional tools
bzcat %SOURCE1 > poll_ppd_base.c
bzcat %SOURCE2 > lphelp.c
%build
%configure --enable-ssl --with-docdir=%_defaultdocdir/%name-%version\
--with-cups-user=lp --with-cups-group=lp \
--with-logdir=%_logdir/%name
%ifarch ia64 x86_64
export REAL_CFLAGS="$CFLAGS -fPIC"
%else
export REAL_CFLAGS="$CFLAGS"
%endif
%make OPTIM="$REAL_CFLAGS"
# Compile additional backends
pushd lxx74-cups-*
make clean
%__subst "s/gcc/gcc $RPM_OPT_FLAGS/" Makefile
%make_build
popd
# Compile additional tools
gcc -o poll_ppd_base $RPM_OPT_FLAGS -I. -I./cups -L./cups -lcups poll_ppd_base.c
gcc -o lphelp $RPM_OPT_FLAGS -I. -I./cups -L./cups -lcups lphelp.c
%install
mkdir -p $RPM_BUILD_ROOT%_initdir
make BUILDROOT=$RPM_BUILD_ROOT install
# Remove SUID bit from "lppasswd"
chmod 755 $RPM_BUILD_ROOT%_bindir/lppasswd
# Install the README files of the source tarball in the doc directory
cp *.txt $RPM_BUILD_ROOT%_defaultdocdir/%name-%version
# Make a directory for the SSL files
mkdir -p $RPM_BUILD_ROOT%_sysconfdir/cups/ssl
# Install additional tools
install -p -m 755 poll_ppd_base $RPM_BUILD_ROOT%_bindir
install -p -m 755 lphelp $RPM_BUILD_ROOT%_bindir
# entry for xinetd (disabled by default)
install -m 640 -D %SOURCE4 $RPM_BUILD_ROOT%_sysconfdir/xinetd.d/cups-lpd
# Install startup script
install -m 755 %SOURCE5 $RPM_BUILD_ROOT%_initdir/cups
# Install PPDs
mkdir -p $RPM_BUILD_ROOT%_datadir/cups/model
install -m 755 ppd/*.ppd $RPM_BUILD_ROOT%_datadir/cups/model
# prepare the commands conflicting with LPD for the update-alternatives treatment
for i in lpr lpq lprm lp cancel lpstat
do
mv $RPM_BUILD_ROOT%_bindir/$i $RPM_BUILD_ROOT%_bindir/$i-%name
mv $RPM_BUILD_ROOT%_man1dir/$i.1 $RPM_BUILD_ROOT%_man1dir/$i-%name.1
done
mv $RPM_BUILD_ROOT%_sbindir/lpc $RPM_BUILD_ROOT%_sbindir/lpc-%name
mv $RPM_BUILD_ROOT%_man8dir/lpc.8 $RPM_BUILD_ROOT%_man8dir/lpc-%name.8
rm -f $RPM_BUILD_ROOT%_man1dir/cancel.1
ln -sf lp-cups.1 $RPM_BUILD_ROOT%_man1dir/cancel-cups.1
#setup altenatives files
install -d $RPM_BUILD_ROOT%_altdir
>$RPM_BUILD_ROOT%_altdir/%name
for n in lpr lpq lprm lp cancel lpstat
do
cat >> $RPM_BUILD_ROOT%_altdir/%name <<EOF
<group name="candidate">
<option name="link">%_bindir/$n</option>
<option name="real">%_bindir/${n}-cups</option>
<option name="weight" type="number">10</option>
<group name="slave">
<option name="link">%_man1dir/$n.1.gz</option>
<option name="real">%_man1dir/${n}-cups.1.gz</option>
</group>
</group>
EOF
done
#add also lpc
cat >> $RPM_BUILD_ROOT%_altdir/%name<<EOF
<group name="candidate">
<option name="link">%_sbindir/lpc</option>
<option name="real">%_sbindir/lpc-cups</option>
<option name="weight" type="number">10</option>
<group name="slave">
<option name="link">%_man8dir/lpc.8.gz</option>
<option name="real">%_man8dir/lpc-cups.8.gz</option>
</group>
</group>
EOF
%__install -pD -m755 %SOURCE100 $RPM_BUILD_ROOT%_sysconfdir/control.d/facilities/%name
#link default fonts to URW
rm -rf $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier*
ln -sf %_datadir/fonts/default/Type1/n022003l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier
ln -sf %_datadir/fonts/default/Type1/n022004l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier-Bold
ln -sf %_datadir/fonts/default/Type1/n022023l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier-Oblique
ln -sf %_datadir/fonts/default/Type1/n022024l.pfb $RPM_BUILD_ROOT/%_datadir/%name/fonts/Courier-BoldOblique
#fix locales
for i in KOI8-R CP1251
do
cp -a $RPM_BUILD_ROOT/%_datadir/locale/ru_RU $RPM_BUILD_ROOT/%_datadir/locale/ru_RU.$i
done
for i in KOI8-U CP1251
do
cp -a $RPM_BUILD_ROOT/%_datadir/locale/uk_UA $RPM_BUILD_ROOT/%_datadir/locale/uk_UA.$i
done
rm -rf $RPM_BUILD_ROOT/%_datadir/locale/{ru_RU,uk_UA,uk}
%__subst 's,windows-1251,koi8-r,' $RPM_BUILD_ROOT/%_datadir/locale/ru_RU.KOI8-R/%{name}_ru_RU
%__subst 's,windows-1251,koi8-u,' $RPM_BUILD_ROOT/%_datadir/locale/uk_UA.KOI8-U/%{name}_uk_UA
mv $RPM_BUILD_ROOT/%_datadir/locale/be $RPM_BUILD_ROOT/%_datadir/locale/be_BY
mv $RPM_BUILD_ROOT/%_datadir/locale/be_BY/%{name}_be $RPM_BUILD_ROOT/%_datadir/locale/be_BY/%{name}_be_BY
#install additional stuff
%__install -pm644 %SOURCE101 $RPM_BUILD_ROOT%_datadir/%name/model
%__install -pm644 %SOURCE102 $RPM_BUILD_ROOT%_defaultdocdir/%name-%version
pushd cups-ncp-*
%__install -pm755 ncp $RPM_BUILD_ROOT%_libdir/%name/backend
popd
pushd lxx74-*
%__install -pm755 rastertolxx74 $RPM_BUILD_ROOT%_libdir/%name/filter
%__install -pm644 lxx74.types $RPM_BUILD_ROOT%_sysconfdir/cups
%__install -pm644 lxx74.convs $RPM_BUILD_ROOT%_sysconfdir/cups
ppdc lxx74.drv
%__install -pm644 ppd/* $RPM_BUILD_ROOT%_datadir/cups/model
popd
#additional ppds
for i in epson-ppd/*.ppd oce-ppd/*.ppd okidata-ppd/*.ppd kyocera-ppd/*.ppd hp-ppd/*/*.ppd
do
%__install -pm644 $i $RPM_BUILD_ROOT%_datadir/cups/model
done
rm -f $RPM_BUILD_ROOT%_datadir/cups/model/hp_officejet_9100_series.ppd
chmod 644 $RPM_BUILD_ROOT%_datadir/%name/model/*
#replace testpage with our
rm $RPM_BUILD_ROOT%_datadir/%name/data/testprint.ps
ln -sf %_datadir/printer-testpages/testprint.ps $RPM_BUILD_ROOT%_datadir/%name/data/testprint.ps
#alterator backend
%__install -D -pm755 %SOURCE109 $RPM_BUILD_ROOT%_libdir/alterator/backend/%name
%pre
%pre_control %name
%post
%post_control %name
%post_service %name
/usr/bin/update-printers-db
%preun
%preun_service %name
%post common
%register_alternatives %name -- lpr lpr.1.gz lpq lpq.1.gz lprm lprm.1.gz lpc lpc.1.gz lp lp.1.gz cancel cancel.1.gz lpstat lpstat.1.gz
%preun common
%unregister_alternatives %name
%post -n lib%name -p /sbin/ldconfig
%preun -n lib%name -p /sbin/ldconfig
%files
%doc %_defaultdocdir/%name-%version
%_sysconfdir/control.d/facilities/%name
%config(noreplace) %_sysconfdir/cups/certs
%config(noreplace) %_sysconfdir/cups/classes.conf
%config(noreplace) %_sysconfdir/cups/cupsd.conf
%config(noreplace) %_sysconfdir/cups/interfaces
%config(noreplace) %_sysconfdir/cups/*.convs
%config(noreplace) %_sysconfdir/cups/*.types
%config(noreplace) %_sysconfdir/cups/ppd
%config(noreplace) %_sysconfdir/cups/printers.conf
%config(noreplace) %_sysconfdir/cups/ssl
%config(noreplace) %_sysconfdir/pam.d/cups
%config %_initdir/cups
%attr(644,root,root) %config(noreplace) %_sysconfdir/xinetd.d/cups-lpd
%_libdir/cups
%exclude %_libdir/cups/backend/serial
%exclude %_libdir/cups/backend/ncp
%_datadir/cups
%_var/log/cups
%dir %attr(0700,lp,root) %_var/spool/cups
%dir %attr(01700,lp,root) %_var/spool/cups/tmp
%files common
%dir %config(noreplace) %_sysconfdir/cups
%config(noreplace) %_sysconfdir/cups/client.conf
%_altdir/%name
%_bindir/*
%exclude %_bindir/%name-config
%_sbindir/*
%_datadir/locale/*/*
%_man1dir/*
%_man5dir/*
%_man8dir/*
%files -n lib%name
%_libdir/*.so.*
%files -n lib%name-devel
%_bindir/%name-config
%_includedir/%name/*
%_libdir/*.so
%_man3dir/*
%files -n lib%name-devel-static
%_libdir/*.a
%files backend-serial
%_libdir/cups/backend/serial
%files backend-ncp
%_libdir/cups/backend/ncp
%files -n alterator-backend-%name
%_libdir/alterator/backend/%name
%changelog
…
Todas as alterações você pod ver aqui