summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey D2015-06-11 10:07:09 +0300
committerAlexey D2015-06-11 10:07:09 +0300
commit61d0b86164097ac1053e364fb685e968b153d4e6 (patch)
tree013d1093da1948c21ab430b453c0338505c4d3c6
downloadaur-61d0b86164097ac1053e364fb685e968b153d4e6.tar.gz
initial version
-rw-r--r--.SRCINFO66
-rw-r--r--PKGBUILD149
-rwxr-xr-xcups68
-rw-r--r--cups-1.6.0-fix-install-perms.patch25
-rw-r--r--cups-1.6.2-statedir.patch12
-rw-r--r--cups-no-export-ssllibs.patch12
-rw-r--r--cups-no-gcrypt.patch11
-rw-r--r--cups-no-gzip-man.patch18
-rw-r--r--cups-nosystemd.install38
-rw-r--r--cups.logrotate5
-rw-r--r--cups.pam3
11 files changed, 407 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 00000000000..42a999c1844
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,66 @@
+pkgbase = cups-nosystemd
+ pkgdesc = The CUPS Printing System - daemon package
+ pkgver = 2.0.3
+ pkgrel = 1
+ url = http://www.cups.org/
+ install = cups-nosystemd.install
+ arch = i686
+ arch = x86_64
+ groups = eudev-base
+ license = GPL
+ makedepends = libtiff>=4.0.0
+ makedepends = libpng>=1.5.7
+ makedepends = xdg-utils
+ makedepends = krb5
+ makedepends = xinetd
+ makedepends = gzip
+ makedepends = autoconf
+ makedepends = avahi
+ makedepends = gnutls
+ makedepends = inetutils
+ depends = acl
+ depends = pam
+ depends = libcups>=2.0.3
+ depends = cups-filters
+ depends = bc
+ depends = colord
+ depends = dbus
+ depends = hicolor-icon-theme
+ depends = libpaper
+ optdepends = xdg-utils: xdg .desktop file support
+ optdepends = cups-openrc: cups openrc initscript
+ provides = cups=2.0.3
+ conflicts = cups
+ conflicts = cups-eudev
+ replaces = cups
+ replaces = cups-eudev
+ backup = etc/cups/cupsd.conf
+ backup = etc/cups/snmp.conf
+ backup = etc/cups/printers.conf
+ backup = etc/cups/classes.conf
+ backup = etc/cups/cups-files.conf
+ backup = etc/cups/subscriptions.conf
+ backup = etc/dbus-1/system.d/cups.conf
+ backup = etc/logrotate.d/cups
+ backup = etc/pam.d/cups
+ source = http://www.cups.org/software/2.0.3/cups-2.0.3-source.tar.bz2
+ source = cups
+ source = cups.logrotate
+ source = cups.pam
+ source = cups-no-export-ssllibs.patch
+ source = cups-no-gcrypt.patch
+ source = cups-no-gzip-man.patch
+ source = cups-1.6.0-fix-install-perms.patch
+ source = cups-1.6.2-statedir.patch
+ md5sums = 8d98b85edbdab7ab03739c9622f570e8
+ md5sums = 9657daa21760bb0b5fa3d8b51d5e01a1
+ md5sums = fc8286f185e2cc5f7e1f6843bf193e2b
+ md5sums = 96f82c38f3f540b53f3e5144900acf17
+ md5sums = 3ba9e3410df1dc3015463d615ef91b3b
+ md5sums = 1beb4896f217bc241bc08a422274ec0c
+ md5sums = 90c30380d4c8cd48a908cfdadae1ea24
+ md5sums = 5117f65342fcc69c6a506529e4daca9e
+ md5sums = 451609db34f95209d64c38474de27ce1
+
+pkgname = cups-nosystemd
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 00000000000..842a96e75e8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,149 @@
+# Maintainer: Alexey D. <lq07829icatm@rambler.ru>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname="cups-nosystemd"
+pkgver=2.0.3
+pkgrel=1
+pkgdesc="The CUPS Printing System - daemon package"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.cups.org/"
+groups=('eudev-base')
+depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord'
+ 'dbus' 'hicolor-icon-theme' 'libpaper')
+makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'xdg-utils' 'krb5' 'xinetd'
+ 'gzip' 'autoconf' 'avahi' 'gnutls' 'inetutils')
+optdepends=('xdg-utils: xdg .desktop file support'
+ 'cups-openrc: cups openrc initscript')
+provides=("cups=${pkgver}")
+conflicts=('cups' 'cups-eudev')
+replaces=('cups' 'cups-eudev')
+install=cups-nosystemd.install
+backup=(etc/cups/cupsd.conf
+ etc/cups/snmp.conf
+ etc/cups/printers.conf
+ etc/cups/classes.conf
+ etc/cups/cups-files.conf
+ etc/cups/subscriptions.conf
+ etc/dbus-1/system.d/cups.conf
+ etc/logrotate.d/cups
+ etc/pam.d/cups)
+ #etc/xinetd.d/cups-lpd)
+source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2
+ cups cups.logrotate cups.pam
+ # improve build and linking
+ cups-no-export-ssllibs.patch
+ cups-no-gcrypt.patch
+ cups-no-gzip-man.patch
+ cups-1.6.0-fix-install-perms.patch
+ cups-1.6.2-statedir.patch
+ )
+md5sums=('8d98b85edbdab7ab03739c9622f570e8'
+ '9657daa21760bb0b5fa3d8b51d5e01a1'
+ 'fc8286f185e2cc5f7e1f6843bf193e2b'
+ '96f82c38f3f540b53f3e5144900acf17'
+ '3ba9e3410df1dc3015463d615ef91b3b'
+ '1beb4896f217bc241bc08a422274ec0c'
+ '90c30380d4c8cd48a908cfdadae1ea24'
+ '5117f65342fcc69c6a506529e4daca9e'
+ '451609db34f95209d64c38474de27ce1')
+
+prepare() {
+ cd cups-${pkgver}
+
+ # improve build and linking
+ # Do not export SSL libs in cups-config
+ patch -Np1 -i "$srcdir"/cups-no-export-ssllibs.patch
+ # https://www.cups.org/str.php?L4399
+ patch -Np1 -i "$srcdir"/cups-no-gcrypt.patch
+
+ # don't zip man pages in make install, let makepkg do that / Fedora
+ patch -Np1 -i "$srcdir"/cups-no-gzip-man.patch
+
+ # move /var/run -> /run for pid file
+ patch -Np1 -i "$srcdir"/cups-1.6.2-statedir.patch
+
+ # fix permissions on some files (by Gentoo)
+ patch -Np0 -i "$srcdir"/cups-1.6.0-fix-install-perms.patch
+
+ # set MaxLogSize to 0 to prevent using cups internal log rotation
+ sed -i -e '5i\ ' conf/cupsd.conf.in
+ sed -i -e '6i# Disable cups internal logging - use logrotate instead' conf/cupsd.conf.in
+ sed -i -e '7iMaxLogSize 0' conf/cupsd.conf.in
+
+ # Rebuild configure script for not zipping man-pages.
+ aclocal -I config-scripts
+ autoconf -I config-scripts
+}
+
+build() {
+ cd cups-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --libdir=/usr/lib \
+ --with-logdir=/var/log/cups \
+ --with-docdir=/usr/share/cups/doc \
+ --with-cups-user=daemon \
+ --with-cups-group=lp \
+ --enable-pam=yes \
+ --enable-raw-printing \
+ --enable-dbus --with-dbusdir=/etc/dbus-1 \
+ --enable-ssl=yes \
+ --enable-threads \
+ --enable-avahi \
+ --enable-libpaper \
+ --with-php=/usr/bin/php-cgi \
+ --with-optim="$CFLAGS"
+ make
+}
+
+package() {
+ cd "$srcdir"/cups-${pkgver}
+ make BUILDROOT="$pkgdir" install-data install-exec
+
+ # this one we ship in the libcups pkg
+ rm -f "$pkgdir"/usr/bin/cups-config
+
+ # kill the sysv stuff
+ rm -rf "$pkgdir"/etc/rc*.d
+ rm -rf "$pkgdir"/etc/init.d
+ install -D -m755 ../cups "$pkgdir"/etc/rc.d/cupsd
+ install -D -m644 ../cups.logrotate "$pkgdir"/etc/logrotate.d/cups
+ install -D -m644 ../cups.pam "$pkgdir"/etc/pam.d/cups
+
+ # fix perms on /var/spool and /etc
+ chmod 755 "$pkgdir"/var/spool
+ chmod 755 "$pkgdir"/etc
+
+ # install ssl directory where to store the certs, solves some samba issues
+ install -dm700 -g lp "$pkgdir"/etc/cups/ssl
+ # remove directory from package, we create it in cups rc.d file
+ rm -rf "$pkgdir"/run
+
+ # install some more configuration files that will get filled by cupsd
+ touch "$pkgdir"/etc/cups/printers.conf
+ touch "$pkgdir"/etc/cups/classes.conf
+ touch "$pkgdir"/etc/cups/subscriptions.conf
+ chgrp -R lp "$pkgdir"/etc/cups
+
+ # fix .desktop file
+ sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' "$pkgdir"/usr/share/applications/cups.desktop
+
+ # compress some driver files, adopted from Fedora
+ find "$pkgdir"/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
+
+ # remove client.conf man page
+ rm -f "$pkgdir"/usr/share/man/man5/client.conf.5
+
+ # remove files now part of cups-filters
+ rm -v "$pkgdir"/usr/share/cups/banners/*
+ rm -v "$pkgdir"/usr/share/cups/data/testprint
+ # comment out all conversion rules which use any of the removed filters
+ perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' "$pkgdir"/usr/share/cups/mime/mime.convs
+
+ # comment out unnecessary PageLogFormat entry
+ sed -i -e 's:PageLogFormat:#PageLogFormat:' "$pkgdir"/etc/cups/cupsd.conf*
+}
diff --git a/cups b/cups
new file mode 100755
index 00000000000..744c8e66307
--- /dev/null
+++ b/cups
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+daemon_name=cupsd
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+#. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
+ # RUN
+ $daemon_name
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > /var/run/$daemon_name.pid
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f /var/run/$daemon_name.pid &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
+exit 0
diff --git a/cups-1.6.0-fix-install-perms.patch b/cups-1.6.0-fix-install-perms.patch
new file mode 100644
index 00000000000..2d7a77c44f3
--- /dev/null
+++ b/cups-1.6.0-fix-install-perms.patch
@@ -0,0 +1,25 @@
+Index: Makedefs.in
+===================================================================
+--- Makedefs.in (Revision 10520)
++++ Makedefs.in (Arbeitskopie)
+@@ -40,14 +40,14 @@
+ # Installation programs...
+ #
+
+-INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@
++INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
++INSTALL_COMPDATA = $(INSTALL) -c -m 644 @INSTALL_GZIP@
+ INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
+-INSTALL_DATA = $(INSTALL) -c -m 444
++INSTALL_DATA = $(INSTALL) -c -m 644
+ INSTALL_DIR = $(INSTALL) -d
+-INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_MAN = $(INSTALL) -c -m 444
+-INSTALL_SCRIPT = $(INSTALL) -c -m 555
++INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
++INSTALL_MAN = $(INSTALL) -c -m 644
++INSTALL_SCRIPT = $(INSTALL) -c -m 755
+
+ #
+ # Default user, group, and system groups for the scheduler...
diff --git a/cups-1.6.2-statedir.patch b/cups-1.6.2-statedir.patch
new file mode 100644
index 00000000000..c44ebed07c5
--- /dev/null
+++ b/cups-1.6.2-statedir.patch
@@ -0,0 +1,12 @@
+diff -ruN cups-1.6.2.orig/config-scripts/cups-directories.m4 cups-1.6.2/config-scripts/cups-directories.m4
+--- cups-1.6.2.orig/config-scripts/cups-directories.m4 2012-10-01 03:55:23.000000000 +0200
++++ cups-1.6.2/config-scripts/cups-directories.m4 2013-04-02 00:11:41.000000000 +0200
+@@ -420,7 +420,7 @@
+ ;;
+ *)
+ # All others
+- CUPS_STATEDIR="$localstatedir/run/cups"
++ CUPS_STATEDIR="/run/cups"
+ ;;
+ esac])
+ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
diff --git a/cups-no-export-ssllibs.patch b/cups-no-export-ssllibs.patch
new file mode 100644
index 00000000000..e227bd18239
--- /dev/null
+++ b/cups-no-export-ssllibs.patch
@@ -0,0 +1,12 @@
+diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4
+--- cups-1.6.2/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200
++++ cups-1.6.2/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200
+@@ -180,7 +180,7 @@
+ AC_SUBST(SSLFLAGS)
+ AC_SUBST(SSLLIBS)
+
+-EXPORT_SSLLIBS="$SSLLIBS"
++EXPORT_SSLLIBS=""
+ AC_SUBST(EXPORT_SSLLIBS)
+
+ dnl
diff --git a/cups-no-gcrypt.patch b/cups-no-gcrypt.patch
new file mode 100644
index 00000000000..0cd64b19187
--- /dev/null
+++ b/cups-no-gcrypt.patch
@@ -0,0 +1,11 @@
+diff -up cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry cups-2.0rc1/config-scripts/cups-ssl.m4
+--- cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry 2014-09-12 15:41:23.324760213 +0200
++++ cups-2.0rc1/config-scripts/cups-ssl.m4 2014-09-12 15:43:13.124203363 +0200
+@@ -60,7 +60,6 @@ if test x$enable_ssl != xno; then
+ dnl Then look for GNU TLS...
+ if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
+ AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
+- AC_PATH_TOOL(LIBGCRYPTCONFIG,libgcrypt-config)
+ if $PKGCONFIG --exists gnutls; then
+ have_ssl=1
+ SSLLIBS=`$PKGCONFIG --libs gnutls`
diff --git a/cups-no-gzip-man.patch b/cups-no-gzip-man.patch
new file mode 100644
index 00000000000..69899b9cb7d
--- /dev/null
+++ b/cups-no-gzip-man.patch
@@ -0,0 +1,18 @@
+diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/config-scripts/cups-manpages.m4
+--- cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man 2011-05-12 07:21:56.000000000 +0200
++++ cups-1.5b1/config-scripts/cups-manpages.m4 2011-05-23 17:25:50.000000000 +0200
+@@ -69,10 +69,10 @@ case "$uname" in
+ ;;
+ Linux* | GNU* | Darwin*)
+ # Linux, GNU Hurd, and OS X
+- MAN1EXT=1.gz
+- MAN5EXT=5.gz
+- MAN7EXT=7.gz
+- MAN8EXT=8.gz
++ MAN1EXT=1
++ MAN5EXT=5
++ MAN7EXT=7
++ MAN8EXT=8
+ MAN8DIR=8
+ ;;
+ *)
diff --git a/cups-nosystemd.install b/cups-nosystemd.install
new file mode 100644
index 00000000000..fc015f951ba
--- /dev/null
+++ b/cups-nosystemd.install
@@ -0,0 +1,38 @@
+post_install() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+ echo ">> If you use an HTTPS connection to CUPS, the first time you access"
+ echo ">> the interface it may take a very long time before the site comes up."
+ echo ">> This is because the first request triggers the generation of the CUPS"
+ echo ">> SSL certificates which can be a very time-consuming job."
+}
+
+post_upgrade() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+ if [ "`vercmp $2 1.4.7-2`" -lt 0 ]; then
+ # important upgrade notice
+ echo "daemon script has been renamed to /etc/rc.d/cupsd"
+ echo "change your entry in /etc/rc.conf"
+ fi
+ if [ "`vercmp $2 1.6.0`" -lt 0 ]; then
+ # important upgrade notice
+ echo "* avahi-daemon should now run before you start cupsd for"
+ echo " printer Browsing support"
+ echo "* check your config with cupsd -t"
+ echo " and fix all Browsing related settings"
+ fi
+ if [ "`vercmp $2 1.6.1-3`" -lt 0 ]; then
+ # important upgrade notice
+ echo "> It's now safe to load usblp kernel module."
+ echo "> There's no more need to blacklist it."
+ fi
+}
+
+post_remove() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+}
diff --git a/cups.logrotate b/cups.logrotate
new file mode 100644
index 00000000000..19e12101be2
--- /dev/null
+++ b/cups.logrotate
@@ -0,0 +1,5 @@
+/var/log/cups/*_log {
+ missingok
+ notifempty
+ sharedscripts
+}
diff --git a/cups.pam b/cups.pam
new file mode 100644
index 00000000000..53724d1f86a
--- /dev/null
+++ b/cups.pam
@@ -0,0 +1,3 @@
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so