automatic version update by autodist [release 1.7.2-1mamba;Sun Apr 13 2014]

This commit is contained in:
Automatic Build System 2024-01-05 21:35:01 +01:00
parent 249940c9bd
commit a8235a21c6
13 changed files with 1091 additions and 0 deletions

View File

@ -1,2 +1,6 @@
# cups # cups
The Common UNIX Printing System provides a portable printing layer for UNIX 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.

View File

@ -0,0 +1,249 @@
--- cups-1.4.4/cups/http.c 2010-06-16 07:27:41.000000000 +0200
+++ cups-1.4.4-str3461-1.4.patch.reverted/cups/http.c 2010-06-25 11:02:31.000000000 +0200
@@ -83,12 +83,10 @@
* http_debug_hex() - Do a hex dump of a buffer.
* http_field() - Return the field index for a field name.
* http_read_ssl() - Read from a SSL/TLS connection.
- * http_locking_cb() - Lock/unlock a thread's mutex.
* http_send() - Send a request with all fields and the trailing
* blank line.
* http_setup_ssl() - Set up SSL/TLS support on a connection.
* http_shutdown_ssl() - Shut down SSL/TLS on a connection.
- * http_threadid_cb() - Return the current thread ID.
* http_upgrade() - Force upgrade to TLS encryption.
* http_write() - Write a buffer to a HTTP connection.
* http_write_chunk() - Write a chunked buffer.
@@ -146,19 +144,6 @@ static int http_setup_ssl(http_t *http)
static void http_shutdown_ssl(http_t *http);
static int http_upgrade(http_t *http);
static int http_write_ssl(http_t *http, const char *buf, int len);
-
-# ifdef HAVE_GNUTLS
-# ifdef HAVE_PTHREAD_H
-GCRY_THREAD_OPTION_PTHREAD_IMPL;
-# endif /* HAVE_PTHREAD_H */
-
-# elif defined(HAVE_LIBSSL) && defined(HAVE_PTHREAD_H)
-static pthread_mutex_t *http_locks; /* OpenSSL lock mutexes */
-
-static void http_locking_cb(int mode, int type, const char *file,
- int line);
-static unsigned long http_threadid_cb(void);
-# endif /* HAVE_GNUTLS */
#endif /* HAVE_SSL */
@@ -1188,22 +1173,21 @@ httpHead(http_t *http, /* I - Conne
void
httpInitialize(void)
{
- static int initialized = 0; /* Have we been called before? */
-#ifdef WIN32
- WSADATA winsockdata; /* WinSock data */
-#endif /* WIN32 */
#ifdef HAVE_LIBSSL
- int i; /* Looping var */
- unsigned char data[1024]; /* Seed data */
+# ifndef WIN32
+ struct timeval curtime; /* Current time in microseconds */
+# endif /* !WIN32 */
+ int i; /* Looping var */
+ unsigned char data[1024]; /* Seed data */
#endif /* HAVE_LIBSSL */
-
- if (initialized)
- return;
-
#ifdef WIN32
- WSAStartup(MAKEWORD(2,2), &winsockdata);
+ WSADATA winsockdata; /* WinSock data */
+
+ static int initialized = 0; /* Has WinSock been initialized? */
+ if (!initialized)
+ WSAStartup(MAKEWORD(1,1), &winsockdata);
#elif !defined(SO_NOSIGPIPE)
/*
* Ignore SIGPIPE signals...
@@ -1226,56 +1210,29 @@ httpInitialize(void)
#endif /* WIN32 */
#ifdef HAVE_GNUTLS
- /*
- * Make sure we handle threading properly...
- */
-
-# ifdef HAVE_PTHREAD_H
- gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
-# endif /* HAVE_PTHREAD_H */
-
- /*
- * Initialize GNU TLS...
- */
-
gnutls_global_init();
+#endif /* HAVE_GNUTLS */
-#elif defined(HAVE_LIBSSL)
- /*
- * Initialize OpenSSL...
- */
-
+#ifdef HAVE_LIBSSL
SSL_load_error_strings();
SSL_library_init();
/*
- * Set the threading callbacks...
- */
-
-# ifdef HAVE_PTHREAD_H
- http_locks = calloc(CRYPTO_num_locks(), sizeof(pthread_mutex_t));
-
- for (i = 0; i < CRYPTO_num_locks(); i ++)
- pthread_mutex_init(http_locks + i, NULL);
-
- CRYPTO_set_id_callback(http_threadid_cb);
- CRYPTO_set_locking_callback(http_locking_cb);
-# endif /* HAVE_PTHREAD_H */
-
- /*
* Using the current time is a dubious random seed, but on some systems
* it is the best we can do (on others, this seed isn't even used...)
*/
- CUPS_SRAND(time(NULL));
+# ifdef WIN32
+# else
+ gettimeofday(&curtime, NULL);
+ srand(curtime.tv_sec + curtime.tv_usec);
+# endif /* WIN32 */
for (i = 0; i < sizeof(data); i ++)
- data[i] = CUPS_RAND();
+ data[i] = rand();
RAND_seed(data, sizeof(data));
-#endif /* HAVE_GNUTLS */
-
- initialized = 1;
+#endif /* HAVE_LIBSSL */
}
@@ -2834,25 +2791,6 @@ http_read_ssl(http_t *http, /* I - Conn
#endif /* HAVE_SSL */
-#if defined(HAVE_LIBSSL) && defined(HAVE_PTHREAD_H)
-/*
- * 'http_locking_cb()' - Lock/unlock a thread's mutex.
- */
-
-static void
-http_locking_cb(int mode, /* I - Lock mode */
- int type, /* I - Lock type */
- const char *file, /* I - Source file */
- int line) /* I - Line number */
-{
- if (mode & CRYPTO_LOCK)
- pthread_mutex_lock(http_locks + type);
- else
- pthread_mutex_unlock(http_locks + type);
-}
-#endif /* HAVE_LIBSSL && HAVE_PTHREAD_H */
-
-
/*
* 'http_send()' - Send a request with all fields and the trailing blank line.
*/
@@ -3224,19 +3162,6 @@ http_shutdown_ssl(http_t *http) /* I -
#endif /* HAVE_SSL */
-#if defined(HAVE_LIBSSL) && defined(HAVE_PTHREAD_H)
-/*
- * 'http_threadid_cb()' - Return the current thread ID.
- */
-
-static unsigned long /* O - Thread ID */
-http_threadid_cb(void)
-{
- return ((unsigned long)pthread_self());
-}
-#endif /* HAVE_LIBSSL && HAVE_PTHREAD_H */
-
-
#ifdef HAVE_SSL
/*
* 'http_upgrade()' - Force upgrade to TLS encryption.
diff -rup cups-1.4.4/cups/http-private.h cups-1.4.4-str3461-1.4.patch.reverted/cups/http-private.h
--- cups-1.4.4/cups/http-private.h 2010-04-12 06:03:53.000000000 +0200
+++ cups-1.4.4-str3461-1.4.patch.reverted/cups/http-private.h 2010-06-25 11:03:34.000000000 +0200
@@ -98,7 +98,6 @@ extern BIO_METHOD *_httpBIOMethods(void)
* The GNU TLS library is more of a "bare metal" SSL/TLS library...
*/
# include <gnutls/gnutls.h>
-# include <gcrypt.h>
typedef struct
{
diff -rup cups-1.4.4/scheduler/main.c cups-1.4.4-str3461-1.4.patch.reverted/scheduler/main.c
--- cups-1.4.4/scheduler/main.c 2010-04-23 20:56:34.000000000 +0200
+++ cups-1.4.4-str3461-1.4.patch.reverted/scheduler/main.c 2010-06-25 11:14:07.000000000 +0200
@@ -549,8 +549,6 @@ main(int argc, /* I - Number of comm
* Startup the server...
*/
- httpInitialize();
-
cupsdStartServer();
/*
diff -rup cups-1.4.4/scheduler/server.c cups-1.4.4-str3461-1.4.patch.reverted/scheduler/server.c
--- cups-1.4.4/scheduler/server.c 2010-04-12 06:03:53.000000000 +0200
+++ cups-1.4.4-str3461-1.4.patch.reverted/scheduler/server.c 2010-06-25 11:12:52.000000000 +0200
@@ -44,6 +44,42 @@ static int started = 0;
void
cupsdStartServer(void)
{
+#ifdef HAVE_LIBSSL
+ int i; /* Looping var */
+ struct timeval curtime; /* Current time in microseconds */
+ unsigned char data[1024]; /* Seed data */
+#endif /* HAVE_LIBSSL */
+
+
+#ifdef HAVE_LIBSSL
+ /*
+ * Initialize the encryption libraries...
+ */
+
+ SSL_library_init();
+ SSL_load_error_strings();
+
+ /*
+ * Using the current time is a dubious random seed, but on some systems
+ * it is the best we can do (on others, this seed isn't even used...)
+ */
+
+ gettimeofday(&curtime, NULL);
+ srand(curtime.tv_sec + curtime.tv_usec);
+
+ for (i = 0; i < sizeof(data); i ++)
+ data[i] = rand(); /* Yes, this is a poor source of random data... */
+
+ RAND_seed(&data, sizeof(data));
+#elif defined(HAVE_GNUTLS)
+ /*
+ * Initialize the encryption libraries...
+ */
+
+ gnutls_global_init();
+#endif /* HAVE_LIBSSL */
+
+
/*
* Create the default security profile...
*/

View File

@ -0,0 +1,13 @@
diff -Nru cups-1.5.0.orig/conf/cupsd.conf.in cups-1.5.0/conf/cupsd.conf.in
--- cups-1.5.0.orig/conf/cupsd.conf.in 2010-12-09 22:24:51.000000000 +0100
+++ cups-1.5.0/conf/cupsd.conf.in 2011-10-03 17:51:25.767950175 +0200
@@ -29,6 +29,9 @@
# Web interface setting...
WebInterface @CUPS_WEBIF@
+# Default error policy
+ErrorPolicy retry-job
+
# Restrict access to the server...
<Location />
Order allow,deny

View File

@ -0,0 +1,85 @@
--- backend/usb-libusb.c 2012-07-24 18:37:15.312013467 +0200
+++ backend/usb-libusb.c 2012-08-20 13:17:53.565679124 +0200
@@ -70,7 +70,7 @@
read_endp, /* Read endpoint */
protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
usblp_attached, /* "usblp" kernel module attached? */
- opened_for_job; /* Set to 1 by print_device() */
+ reset_after_job; /* Set to 1 by print_device() */
unsigned int quirks; /* Quirks flags */
struct libusb_device_handle *handle; /* Open handle to device */
} usb_printer_t;
@@ -122,6 +122,8 @@
#define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
#define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
Class or SubClass */
+#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
+ for clean-up */
#define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
the usblp kernel module */
@@ -141,15 +143,21 @@
{ 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */
{ 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820,
by zut <kernel@zut.de> */
+ { 0x04a9, 0x10a2, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4200
+ Printer, http://www.cups.org/str.php?L4155 */
+ { 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300
+ Printer, https://bugs.launchpad.net/bugs/1032385 */
{ 0x04f9, 0x000d, USBLP_QUIRK_BIDIR |
USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
HL-1440 Laser Printer */
{ 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
Printer M129C */
{ 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
- USBLP_QUIRK_NO_REATTACH },
+ USBLP_QUIRK_NO_REATTACH |
+ USBLP_QUIRK_RESET },
/* Prolific Technology, Inc. PL2305 Parallel Port
(USB -> Parallel adapter) */
+ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */
{ 0, 0 }
};
@@ -256,7 +264,12 @@
}
g.print_fd = print_fd;
- g.printer->opened_for_job = 1;
+
+ /*
+ * Some devices need a reset after finishing a job, these devices are
+ * marked with the USBLP_QUIRK_RESET quirk.
+ */
+ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
/*
* If we are printing data from a print driver on stdin, ignore SIGTERM
@@ -772,7 +785,7 @@
* Reset the device to clean up after the job
*/
- if (printer->opened_for_job == 1)
+ if (printer->reset_after_job == 1)
{
if ((errcode = libusb_reset_device(printer->handle)) < 0)
fprintf(stderr,
@@ -1288,7 +1301,7 @@
}
printer->usblp_attached = 0;
- printer->opened_for_job = 0;
+ printer->reset_after_job = 0;
if (verbose)
fputs("STATE: +connecting-to-device\n", stderr);
@@ -1586,7 +1599,8 @@
for (i = 0; quirk_printers[i].vendorId; i++)
{
if (vendor == quirk_printers[i].vendorId &&
- product == quirk_printers[i].productId)
+ (quirk_printers[i].productId == 0x0000 ||
+ product == quirk_printers[i].productId))
return quirk_printers[i].quirks;
}
return 0;

11
cups-1.7.0-statedir.patch Normal file
View File

@ -0,0 +1,11 @@
--- cups-1.7.0/config-scripts/cups-directories.m4.orig 2013-10-25 12:46:35.823499667 +0200
+++ cups-1.7.0/config-scripts/cups-directories.m4 2013-10-25 12:46:43.520422900 +0200
@@ -420,7 +420,7 @@
;;
*)
# All others
- CUPS_STATEDIR="$localstatedir/run/cups"
+ CUPS_STATEDIR="/run/cups"
;;
esac])
AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")

213
cups-initscript Normal file
View File

@ -0,0 +1,213 @@
#!/bin/sh
#
# "$Id: cups.sh.in,v 1.22 2002/12/17 18:56:27 swdev Exp $"
#
# Startup/shutdown script for the Common UNIX Printing System (CUPS).
#
# Copyright 1997-2003 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
# property of Easy Software Products and are protected by Federal
# copyright law. Distribution and use rights are outlined in the file
# "LICENSE.txt" which should have been included with this file. If this
# file is missing or damaged please contact Easy Software Products
# at:
#
# Attn: CUPS Licensing Information
# Easy Software Products
# 44141 Airport View Drive, Suite 204
# Hollywood, Maryland 20636-3111 USA
#
# Voice: (301) 373-9603
# EMail: cups-info@cups.org
# WWW: http://www.cups.org
#
#### OS-Dependent Information
#
# Linux chkconfig stuff:
#
# chkconfig: 235 99 00
# description: Startup/shutdown script for the Common UNIX \
# Printing System (CUPS).
#
#
# NetBSD 1.5+ rcorder script lines. The format of the following two
# lines is very strict -- please don't add additional spaces!
#
# PROVIDE: cups
# REQUIRE: DAEMON
#
#### OS-Dependent Configuration
case "`uname`" in
IRIX*)
IS_ON=/sbin/chkconfig
if $IS_ON verbose; then
ECHO=echo
else
ECHO=:
fi
ECHO_OK=:
ECHO_ERROR=:
;;
*BSD*)
IS_ON=:
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
;;
Darwin*)
. /etc/rc.common
if test "${CUPS:=-YES-}" = "-NO-"; then
exit 0
fi
IS_ON=:
ECHO=ConsoleMessage
ECHO_OK=:
ECHO_ERROR=:
;;
Linux*)
IS_ON=/bin/true
if test -f /etc/init.d/functions; then
. /etc/init.d/functions
ECHO=echo
ECHO_OK="echo_success"
ECHO_ERROR="echo_failure"
else
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
fi
;;
*)
IS_ON=/bin/true
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
;;
esac
#### OS-Independent Stuff
#
# Set the timezone, if possible... This allows the
# scheduler and all child processes to know the local
# timezone when reporting dates and times to the user.
# If no timezone information is found, then Greenwich
# Mean Time (GMT) will probably be used.
#
for file in /etc/TIMEZONE /etc/rc.config /etc/sysconfig/clock; do
if test -f $file; then
. $file
fi
done
if test "x$ZONE" != x; then
TZ="$ZONE"
fi
if test "x$TIMEZONE" != x; then
TZ="$TIMEZONE"
fi
if test "x$TZ" != x; then
export TZ
fi
#
# See if the CUPS server (cupsd) is running...
#
case "`uname`" in
HP-UX* | AIX* | SINIX*)
pid=`ps -e | awk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
;;
IRIX* | SunOS*)
pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
;;
UnixWare*)
pid=`ps -e | awk '{if (match($6, ".*/cupsd$") || $6 == "cupsd") print $1}'`
. /etc/TIMEZONE
;;
OSF1*)
pid=`ps -e | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
;;
Linux* | *BSD* | Darwin*)
pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
;;
*)
pid=""
;;
esac
#
# Start or stop the CUPS server based upon the first argument to the script.
#
case $1 in
start | restart | reload)
echo -n "Starting cups:"
if $IS_ON cups; then
if test "$pid" != ""; then
kill -HUP $pid
else
prefix=/usr
exec_prefix=/usr
${exec_prefix}/sbin/cupsd
if test $? != 0; then
$ECHO_FAIL
$ECHO "cups: unable to $1 scheduler."
exit 1
fi
fi
$ECHO_OK
echo
fi
;;
stop)
if test "$pid" != ""; then
echo -n "Stopping cups:"
kill $pid
$ECHO_OK
echo
fi
;;
status)
if test "$pid" != ""; then
echo "cups: scheduler is running."
else
echo "cups: scheduler is not running."
fi
;;
*)
echo "Usage: cups {reload|restart|start|status|stop}"
exit 1
;;
esac
#
# Exit with no errors.
#
exit 0
#
# End of "$Id: cups.sh.in,v 1.22 2002/12/17 18:56:27 swdev Exp $".
#

9
cups-lpd.socket Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Cups-LPD Activation Socket
[Socket]
ListenStream=515
Accept=true
[Install]
WantedBy=sockets.target

8
cups-lpd@.service Normal file
View File

@ -0,0 +1,8 @@
[Unit]
Description=Lpd Protocol Communicator With CUPS
After=local-fs.target
[Service]
User=lp
ExecStart=/usr/lib/cups/daemon/cups-lpd
StandardInput=socket

8
cups-pamd Normal file
View File

@ -0,0 +1,8 @@
#%PAM-1.0
auth sufficient pam_unix.so
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
session required pam_limits.so
#session optional pam_console.so

8
cups.path Normal file
View File

@ -0,0 +1,8 @@
[Unit]
Description=CUPS Printer Service Spool
[Path]
PathExistsGlob=/var/spool/cups/d*
[Install]
WantedBy=multi-user.target

10
cups.service Normal file
View File

@ -0,0 +1,10 @@
[Unit]
Description=CUPS Printing Service
[Service]
ExecStart=/usr/sbin/cupsd -f
PrivateTmp=true
[Install]
Also=cups.socket cups.path
WantedBy=printer.target

10
cups.socket Normal file
View File

@ -0,0 +1,10 @@
[Unit]
Description=CUPS Printing Service Sockets
[Socket]
ListenStream=/run/cups/cups.sock
ListenStream=631
BindIPv6Only=ipv6-only
[Install]
WantedBy=sockets.target

463
cups.spec Normal file
View File

@ -0,0 +1,463 @@
%define lpadmin_uid 65032
%define lpadmin_gid 65032
%define lp_uid 9
%define lp_gid 9
%define libname libcups
Name: cups
Version: 1.7.2
Release: 1mamba
Summary: Common UNIX Printing System
Group: System/Spooling
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.cups.org
Source0: http://www.cups.org/software/%{version}/cups-%{version}-source.tar.bz2
Source1: cups-pamd
Source2: cups-initscript
Source3: cups.service
Source4: cups.socket
Source5: cups.path
Source6: cups-lpd.socket
Source7: cups-lpd@.service
Patch0: %{name}-1.4.4-str3461-1.4.patch
Patch1: %{name}-1.5.0-set_retry_job_default_ErrorPolicy.patch
Patch2: cups-1.6.1-usb-backend-reset-after-job-only-for-specific-devices-3.patch
Patch3: cups-1.7.0-statedir.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libacl-devel
BuildRequires: libavahi-devel
BuildRequires: libdbus-devel
BuildRequires: libe2fs-devel
BuildRequires: libgcc
BuildRequires: libgcrypt-devel
BuildRequires: libgnutls-devel
BuildRequires: libgpg-error-devel
BuildRequires: libkeyutils-devel
BuildRequires: libkrb5-devel
BuildRequires: libstdc++6-devel
BuildRequires: libusbx-devel
BuildRequires: libz-devel
BuildRequires: pam-devel
## AUTOBUILDREQ-END
Requires: ghostscript >= 8.57
Requires: openssl
Requires(post):%{libname} = %{version}-%{release}
Requires: cups-filters
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
The Common UNIX Printing System provides a portable printing layer for UNIX 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.
%package -n %{libname}-devel
Summary: Devel package for CUPS
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description -n %{libname}-devel
The Common UNIX Printing System ("CUPS") is a cross-platform printing solution for all UNIX environments.
It is based on the "Internet Printing Protocol" and provides complete printing services to most PostScript and raster printers.
This is the development package.
%package -n %{libname}
Summary: Libraries for CUPS
Group: System/Libraries
%description -n %{libname}
The Common UNIX Printing System ("CUPS") is a cross-platform printing solution for all UNIX environments.
It is based on the "Internet Printing Protocol" and provides complete printing services to most PostScript and raster printers.
%prep
%setup -q
#%patch0 -p1
%patch1 -p1
#%patch2 -p0
%patch3 -p1
%build
autoconf
%configure \
--enable-ssl \
--enable-static \
--with-icondir=%{_datadir}/icons \
--without-xinetd
# --with-cups-user=lpadmin \
# --with-cups-group=lpadmin
%make
%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%makeinstall BUILDROOT=%{buildroot} CUPS_USER=root CUPS_GROUP=root
install -D %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/cups
install -d %{buildroot}/var/log/cups
install -d %{buildroot}/var/spool/cups/tmp
# fake printers.conf, allows %config(noreplace) update from olter rpm releases
touch %{buildroot}%{_sysconfdir}/cups/printers.conf
# remove unneeded files
#rm -rf %{buildroot}%{_mandir}/{cat1,cat3,cat5,cat8} \
# %{buildroot}%{_mandir}/es/{cat1,cat3,cat5,cat8} \
# %{buildroot}%{_mandir}/fr/{cat1,cat3,cat5,cat8} \
# cups installs .po files instead of .mo, so the find_lang macro won't work
> %{name}.lang
#for i in da de es eu fi fr hu id it ja ko nl no pl pt pt_BR ru sv zh zh_TW; do
for i in ca cs de es fr it ja ru; do
echo "%lang($i) %{_datadir}/locale/$i/cups_$i.po" >> %{name}.lang
done
# required by php in cups-filter, although php in cups-filter does not currently build
install -m0644 cups/string-private.h %{buildroot}%{_includedir}/cups/string-private.h
install -m0644 cups/debug-private.h %{buildroot}%{_includedir}/cups/debug-private.h
# systemd
install -D -m0644 %{SOURCE3} %{buildroot}/lib/systemd/system/cups.service
install -D -m0644 %{SOURCE4} %{buildroot}/lib/systemd/system/cups.socket
install -D -m0644 %{SOURCE5} %{buildroot}/lib/systemd/system/cups.path
install -D -m0644 %{SOURCE6} %{buildroot}/lib/systemd/system/cups-lpd.socket
install -D -m0644 %{SOURCE7} %{buildroot}/lib/systemd/system/cups-lpd@.service
# basic cups client configuration file
echo "ServerName /run/cups/cups.sock" > %{buildroot}%{_sysconfdir}/cups/client.conf
# remove files provides by cups-filters
rm -f %{buildroot}%{_datadir}/cups/banners/{classified,confidential,secret,standard,topsecret,unclassified}
rm -f %{buildroot}%{_datadir}/cups/data/testprint
rm -rf %{buildroot}%{_sysconfdir}/rc*.d/K36cups
rm -rf %{buildroot}%{_sysconfdir}/rc*.d/S81cups
%clean
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%pre
/usr/sbin/groupadd lp -g %{lp_gid} &>/dev/null
/usr/sbin/useradd lp -d /var/spool/cups -s /bin/false \
-u %{lp_uid} -g %{lp_gid} &>/dev/null
/usr/sbin/groupadd lpadmin -g %{lpadmin_gid} &>/dev/null
/usr/sbin/useradd lpadmin -c "Cups printing daemon" -d /dev/null \
-s /bin/false -u %{lpadmin_uid} -g %{lpadmin_gid} &>/dev/null
exit 0
%post
# new install
/sbin/ldconfig
if [ $1 -gt 1 ]; then
if [ ! "`grep ErrorPolicy %{_sysconfdir}/cups/cupsd.conf`" ]; then
echo "ErrorPolicy retry-job" >> %{_sysconfdir}/cups/cupsd.conf
[ -e %{_sysconfdir}/cups/printers.conf ] && \
sed -i "s|ErrorPolicy stop-printer|ErrorPolicy retry-job|" %{_sysconfdir}/cups/printers.conf
fi
fi
:
%preun
# erase
if [ $1 -eq 0 ]; then
systemctl -q disable cups
systemctl -q cups stop
/usr/sbin/groupdel lp &>/dev/null
/usr/sbin/userdel lp &>/dev/null
/usr/sbin/groupdel lpadmin &>/dev/null
/usr/sbin/userdel lpadmin &>/dev/null
fi
/sbin/ldconfig
:
%posttrans
if [ $1 -eq 1 ]; then
[ -e %{_sysconfdir}/cups/printers.conf.rpmsave -a \
! -e %{_sysconfdir}/cups/printers.conf ] && \
mv %{_sysconfdir}/cups/printers.conf.rpmsave %{_sysconfdir}/cups/printers.conf
sed -i "s|/var/run|/run|" %{_sysconfdir}/cups/cupsd.conf
systemctl -q daemon-reload
systemctl -q enable cups
systemctl -q try-restart cups
fi
:
%files -f %{name}.lang
%defattr(-,root,root)
%{_sysconfdir}/dbus-1/system.d/cups.conf
#%{_sysconfdir}/xinetd.d/cups-lpd
%{_sysconfdir}/init.d/cups
%attr(0775,root,lpadmin) %dir %{_sysconfdir}/cups
%config(noreplace) %attr(-,root,lpadmin) %{_sysconfdir}/cups/*
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/pam.d/cups
%{_bindir}/cancel
%{_bindir}/cupstestppd
%{_bindir}/cupstestdsc
%{_bindir}/ippfind
%{_bindir}/ipptool
%{_bindir}/lp
%{_bindir}/lpoptions
%attr(4755,lp,lp) %{_bindir}/lppasswd
%{_bindir}/lpq
%{_bindir}/lpr
%{_bindir}/lprm
%{_bindir}/lpstat
%{_bindir}/ppdc
%{_bindir}/ppdhtml
%{_bindir}/ppdi
%{_bindir}/ppdmerge
%{_bindir}/ppdpo
%{_sbindir}/accept
%{_sbindir}/cupsaccept
%{_sbindir}/cupsaddsmb
%{_sbindir}/cupsctl
%{_sbindir}/cupsd
%{_sbindir}/cupsdisable
%{_sbindir}/cupsenable
%{_sbindir}/cupsfilter
%{_sbindir}/cupsreject
%{_sbindir}/lpadmin
%{_sbindir}/lpc
%{_sbindir}/lpinfo
%{_sbindir}/lpmove
%{_sbindir}/reject
/lib/systemd/system/cups.path
/lib/systemd/system/cups.service
/lib/systemd/system/cups.socket
/lib/systemd/system/cups-lpd.socket
/lib/systemd/system/cups-lpd@.service
%{_datadir}/applications/cups.desktop
%{_datadir}/icons/hicolor/*/apps/cups.png
%dir %{_datadir}/cups
%{_datadir}/cups/*
%dir %{_prefix}/lib/cups
%{_prefix}/lib/cups/*
%dir /var/log/cups
%attr(0700,lp,root) %dir /var/spool/cups
%attr(1700,lp,root) %dir /var/spool/cups/tmp
%{_mandir}/man1/*
%{_mandir}/man7/backend.7.gz
#%{_mandir}/man7/drv.7.gz
%{_mandir}/man7/filter.7.gz
%{_mandir}/man7/notifier.7.gz
%{_mandir}/man8/*
%dir %{_datadir}/doc/cups
%{_datadir}/doc/cups/*
%files -n libcups
%defattr(-,root,root)
%{_libdir}/libcups.so.*
%{_libdir}/libcupscgi.so.*
%{_libdir}/libcupsimage.so.*
%{_libdir}/libcupsmime.so.*
%{_libdir}/libcupsppdc.so.*
%{_mandir}/man5/*
%doc CREDITS.txt LICENSE.txt
%files -n libcups-devel
%defattr(-,root,root)
%{_bindir}/cups-config
%dir %{_includedir}/cups
%{_includedir}/cups/*.h
%{_libdir}/libcups.a
%{_libdir}/libcups.so
%{_libdir}/libcupscgi.a
%{_libdir}/libcupscgi.so
%{_libdir}/libcupsimage.a
%{_libdir}/libcupsimage.so
%{_libdir}/libcupsmime.a
%{_libdir}/libcupsmime.so
%{_libdir}/libcupsppdc.a
%{_libdir}/libcupsppdc.so
%doc CHANGES.txt README.txt
%changelog
* Sun Apr 13 2014 Automatic Build System <autodist@mambasoft.it> 1.7.2-1mamba
- automatic version update by autodist
* Thu Jan 09 2014 Automatic Build System <autodist@mambasoft.it> 1.7.1-1mamba
- automatic version update by autodist
* Tue Oct 29 2013 Automatic Build System <autodist@mambasoft.it> 1.7.0-1mamba
- automatic version update by autodist
* Sun Sep 29 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.4-2mamba
- add systemd sockets for cups-lpd and cups-lpd@ and remove xinetd dependency
* Fri Sep 27 2013 Automatic Build System <autodist@mambasoft.it> 1.6.4-1mamba
- automatic version update by autodist
* Fri Aug 23 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.3-4mamba
- fixed cups.socket to allow connection to http://localhost:631
* Fri Aug 02 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.3-3mamba
- add systemd file cups.path
- patched to set statedir to /run instead of /var/run
- lp user: set home to /var/spool/cups
- create a basic client configuration file /etc/cups/client.conf (see LFS)
* Fri Jul 19 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.3-2mamba
- systemd support
* Sun Jul 14 2013 Automatic Build System <autodist@mambasoft.it> 1.6.3-1mamba
- update to 1.6.3
* Thu Mar 21 2013 Automatic Build System <autodist@mambasoft.it> 1.6.2-1mamba
- automatic version update by autodist
* Sat Sep 29 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.1-3mamba
- added patch to fix libusb related last page half-printing (http://cups.org/str.php?L4155)
* Sun Aug 05 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.1-2mamba
- require cups-filters
* Sat Aug 04 2012 Automatic Build System <autodist@mambasoft.it> 1.6.1-1mamba
- automatic version update by autodist
* Tue Jul 31 2012 Automatic Build System <autodist@mambasoft.it> 1.5.4-1mamba
- update to 1.5.4
* Tue May 15 2012 Automatic Build System <autodist@mambasoft.it> 1.5.3-1mamba
- automatic version update by autodist
* Sun Feb 12 2012 Automatic Build System <autodist@mambasoft.it> 1.5.2-1mamba
- automatic version update by autodist
* Thu Oct 27 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.0-3mamba
- added requirement for openssl (required by https urls in web interface)
- update pam file not to use obsolete pam_stack module, so web authentication works now
* Mon Oct 03 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.0-2mamba
- set retry-job as the default ErrorPolicy instead of stop-printer
* Thu Jul 28 2011 Automatic Build System <autodist@mambasoft.it> 1.5.0-1mamba
- automatic update by autodist
* Tue Jun 28 2011 Automatic Build System <autodist@mambasoft.it> 1.4.7-1mamba
- automatic update by autodist
* Sat Mar 26 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 1.4.6-2mamba
- cups-config moved to libcups-devel package
* Fri Jan 07 2011 Automatic Build System <autodist@mambasoft.it> 1.4.6-1mamba
- automatic update by autodist
* Fri Nov 12 2010 Automatic Build System <autodist@mambasoft.it> 1.4.5-1mamba
- automatic update to 1.4.5 by autodist
- fixed posttrans script syntax
* Tue Jul 01 2010 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 1.4.4-3mamba
- rebuilt with a patch to avoid crash in firefox and thunderbird
* Wed Jun 30 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 1.4.4-2mamba
- rebuilt against libpng 1.4
* Fri Jun 18 2010 Automatic Build System <autodist@mambasoft.it> 1.4.4-1mamba
- automatic update to 1.4.4 by autodist
* Wed Mar 31 2010 Automatic Build System <autodist@mambasoft.it> 1.4.3-1mamba
- automatic update to 1.4.3 by autodist
* Fri Nov 20 2009 Automatic Build System <autodist@mambasoft.it> 1.4.2-1mamba
- automatic update by autodist
* Sat Sep 12 2009 Automatic Build System <autodist@mambasoft.it> 1.4.1-1mamba
- automatic update to 1.4.1 by autodist
* Sat Aug 29 2009 Automatic Build System <autodist@mambasoft.it> 1.4.0-1mamba
- automatic update to 1.4.0 by autodist
* Fri Jul 03 2009 Automatic Build System <autodist@mambasoft.it> 1.3.11-1mamba
- automatic update to 1.3.11 by autodist
* Fri Apr 17 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.10-1mamba
- update to 1.3.10
* Thu Apr 02 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.9-2mamba
- rebuilt
* Thu Oct 16 2008 Tiziana Ferro <tiziana.ferro@email.it> 1.3.9-1mamba
- automatic update to 1.3.9 by autodist
- old patch removed
* Sun Aug 31 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.8-1mamba
- update to 1.3.8
* Tue Jun 03 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.7-1mamba
- update to 1.3.7
* Tue Mar 25 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.6-1mamba
- update to 1.3.6
* Fri Jan 18 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.12-1mamba
- update to 1.2.12
- set lp as the default cups user, replacing lpadmin
- added php-cups subpackage
* Sun Jun 10 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.11-1mamba
- update to 1.2.11
* Tue Sep 05 2006 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.23-5qilnx
- security fixes: p4 CVE-2005-319[1,2,3], p5 CVE-2005-362[45,6,7,8];
QiLinux bugtraq#118
* Mon Sep 26 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.23-4qilnx
- use service script to start/stop service
* Wed Aug 24 2005 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.23-3qilnx
- fixed security issue QSA-2005-090 (CAN-2005-2097)
* Mon May 02 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.23-2qilnx
- work on permissions: added user/group cups, fixed lp uid number assignment
- documentation back to main package because it's needed for the web interface
* Fri Jan 14 2005 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.23-1qilnx
- update to version 1.1.23 by autospec
- this version fix the secutity flaws reported in QSA-2005-001
(CAN-2004-1125, CAN-2004-12[67-70])
* Fri Dec 24 2004 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.22-3qilnx
- rebuild with new libe2fs-devel, libkrb5-devel packages
* Fri Dec 10 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.22-2qilnx
- documentation moved to libcups-devel
* Thu Nov 18 2004 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.22-1qilnx
- update to version 1.1.22 by autospec
- also fixes security issues QSA-2004-057 (CAN-2004-0888, CAN-2004-0923)
* Mon Sep 20 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.21-1qilnx
- update to version 1.1.21 by autospec
- also fix a security issue (QSA-2004-040): CAN-2004-0558
* Wed Dec 10 2003 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.20-1qilnx
- rebuilt with version 1.1.20
* Wed Nov 19 2003 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.19-8qilnx
- fixed %%pre script; modified rpm groups
* Thu Oct 02 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.19-7qilnx
- made QiLinux compliant initscript
* Thu Jul 02 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-6qilnx
- fixed localstatedir location
* Thu Jun 25 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-5qilnx
- added libcups and libcups-devel for dependency reasons
* Thu Jun 19 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-3qilnx
- reduced to just main and devel packages
* Thu Jun 19 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-2qilnx
- added cups pam configuration
* Wed Jun 18 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-1qilnx
- first build of cups