diff options
author | Alexey D | 2015-06-11 10:07:09 +0300 |
---|---|---|
committer | Alexey D | 2015-06-11 10:07:09 +0300 |
commit | 61d0b86164097ac1053e364fb685e968b153d4e6 (patch) | |
tree | 013d1093da1948c21ab430b453c0338505c4d3c6 | |
download | aur-61d0b86164097ac1053e364fb685e968b153d4e6.tar.gz |
initial version
-rw-r--r-- | .SRCINFO | 66 | ||||
-rw-r--r-- | PKGBUILD | 149 | ||||
-rwxr-xr-x | cups | 68 | ||||
-rw-r--r-- | cups-1.6.0-fix-install-perms.patch | 25 | ||||
-rw-r--r-- | cups-1.6.2-statedir.patch | 12 | ||||
-rw-r--r-- | cups-no-export-ssllibs.patch | 12 | ||||
-rw-r--r-- | cups-no-gcrypt.patch | 11 | ||||
-rw-r--r-- | cups-no-gzip-man.patch | 18 | ||||
-rw-r--r-- | cups-nosystemd.install | 38 | ||||
-rw-r--r-- | cups.logrotate | 5 | ||||
-rw-r--r-- | cups.pam | 3 |
11 files changed, 407 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..42a999c18448 --- /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 000000000000..842a96e75e8a --- /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* +} @@ -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 000000000000..2d7a77c44f3d --- /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 000000000000..c44ebed07c50 --- /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 000000000000..e227bd182390 --- /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 000000000000..0cd64b191879 --- /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 000000000000..69899b9cb7d9 --- /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 000000000000..fc015f951ba9 --- /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 000000000000..19e12101be2b --- /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 000000000000..53724d1f86a7 --- /dev/null +++ b/cups.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so |