upg cups cups-filters add cups/libcups-no-dbus
This commit is contained in:
parent
5c72e11f0d
commit
aeca2e9bfa
|
@ -7,11 +7,11 @@
|
|||
|
||||
pkgname=cups-filters
|
||||
pkgver=1.28.15
|
||||
pkgrel=01
|
||||
pkgrel=02
|
||||
pkgdesc="OpenPrinting CUPS Filters w/o systemd"
|
||||
arch=('x86_64')
|
||||
url="https://wiki.linuxfoundation.org/openprinting/cups-filters"
|
||||
depends=('lcms2' 'poppler' 'qpdf' 'imagemagick' 'liblouis' 'ijs' 'libcups>=2.2.6-2')
|
||||
depends=('lcms2' 'poppler' 'qpdf' 'imagemagick' 'liblouis' 'ijs' 'libcups')
|
||||
makedepends=('ghostscript' 'python' 'mupdf-tools')
|
||||
checkdepends=('ttf-dejavu') # ttf-dejavu for make check
|
||||
|
||||
|
@ -61,3 +61,5 @@ package() {
|
|||
license=('custom')
|
||||
|
||||
sha256sums=(a907ec769fbb72efbfbf9b540b250a08e33b6e373a8a7c343f9840fba4d0478b) # cups-filters-1.28.15.tar.xz
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
From c0c403744b1bf4a9790a8fcaabcd60970cbefe06 Mon Sep 17 00:00:00 2001
|
||||
From: Michael R Sweet <michael.r.sweet@gmail.com>
|
||||
Date: Tue, 7 Jun 2022 13:45:29 -0400
|
||||
Subject: [PATCH] Fix OpenSSL crash bug - "tls" pointer wasn't cleared after
|
||||
freeing it (Issue #409)
|
||||
|
||||
diff --git a/cups/tls-openssl.c b/cups/tls-openssl.c
|
||||
index c3e57742e..6db9f8a9c 100644
|
||||
--- a/cups/tls-openssl.c
|
||||
+++ b/cups/tls-openssl.c
|
||||
@@ -1152,6 +1152,8 @@ _httpTLSStop(http_t *http) // I - Connection to server
|
||||
SSL_shutdown(http->tls);
|
||||
SSL_CTX_free(context);
|
||||
SSL_free(http->tls);
|
||||
+
|
||||
+ http->tls = NULL;
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
From aa2507530076eaff042b096de55442dc8b665abb Mon Sep 17 00:00:00 2001
|
||||
From: Zdenek Dohnal <zdohnal@redhat.com>
|
||||
Date: Wed, 1 Dec 2021 12:00:16 +0100
|
||||
Subject: [PATCH] de/index.html: Fix missing bracket (fixes issue #299)
|
||||
|
||||
The bracket was unintentionally removed by commit b76a97a.
|
||||
---
|
||||
CHANGES.md | 5 +++++
|
||||
doc/de/index.html.in | 2 +-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CHANGES.md b/CHANGES.md
|
||||
index d4eb9aae0..c49b902f5 100644
|
||||
--- a/CHANGES.md
|
||||
+++ b/CHANGES.md
|
||||
@@ -1,6 +1,11 @@
|
||||
CHANGES - OpenPrinting CUPS 2.4.0 - 2021-11-29
|
||||
==============================================
|
||||
|
||||
+Changes in CUPS v2.4.1 (TBA)
|
||||
+----------------------------
|
||||
+
|
||||
+- Fixed missing bracket in de/index.html (Issue #299)
|
||||
+
|
||||
Changes in CUPS v2.4.0 (29th November 2021)
|
||||
-------------------------------------------
|
||||
|
||||
diff --git a/doc/de/index.html.in b/doc/de/index.html.in
|
||||
index 30f7d288e..2b3f3a6b1 100644
|
||||
--- a/doc/de/index.html.in
|
||||
+++ b/doc/de/index.html.in
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
- <title>Startseite - CUPS @CUPS_VERSION@/title>
|
||||
+ <title>Startseite - CUPS @CUPS_VERSION@</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
|
@ -0,0 +1,210 @@
|
|||
#!/usr/bin/bash
|
||||
# JOBoRun : Jwm OpenBox Obarun RUNit
|
||||
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
||||
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
|
||||
# Website : https://pozol.eu
|
||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgbase="cups"
|
||||
pkgname=('libcups-no-dbus' 'cups-no-dbus')
|
||||
_pkgname=('libcups' 'cups')
|
||||
pkgver=2.4.2
|
||||
pkgrel=03
|
||||
epoch=1
|
||||
arch=('x86_64')
|
||||
url="https://openprinting.github.io/cups/"
|
||||
makedepends=('libtiff' 'libpng' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
|
||||
'cups-filters' 'bc' 'libcolord' 'gzip' 'autoconf' 'libusb'
|
||||
'hicolor-icon-theme' 'libxcrypt' 'inetutils' 'libpaper' 'valgrind'
|
||||
'git' 'libeudev')
|
||||
source=(https://github.com/OpenPrinting/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig}
|
||||
cups.logrotate
|
||||
cups.pam
|
||||
cups.sysusers
|
||||
cups-2.4.0-statedir.patch
|
||||
# bugfixes
|
||||
cups-freebind.patch
|
||||
guid.patch
|
||||
0001_Fix_OpenSSL_crash_bug.patch
|
||||
)
|
||||
|
||||
#options=(!makeflags)
|
||||
|
||||
prepare() {
|
||||
cd "${pkgbase}"-${pkgver}
|
||||
|
||||
# move /var/run -> /run for pid file
|
||||
patch -Np1 -i "${srcdir}"/cups-2.4.0-statedir.patch
|
||||
|
||||
# bug fixes
|
||||
|
||||
# https://github.com/OpenPrinting/cups/issues/53
|
||||
# use IP_FREEBIND, because cupsd cannot bind to not yet existing IP address
|
||||
patch -Np1 -i "${srcdir}"/cups-freebind.patch
|
||||
|
||||
# FS#56818 - https://github.com/apple/cups/issues/5236
|
||||
patch -Np1 -i "${srcdir}"/guid.patch
|
||||
|
||||
# FS#75005 - Fix OpenSSL crash bug - "tls" pointer wasn't cleared after
|
||||
# Fix OpenSSL crash bug - "tls" pointer wasn't cleared after
|
||||
patch -Np1 -i "${srcdir}"/0001_Fix_OpenSSL_crash_bug.patch
|
||||
|
||||
# # fix german webinterface not opening
|
||||
# # 0001_fix_missing_bracket.patch
|
||||
# patch -Np1 -i ../0001_fix_missing_bracket.patch
|
||||
|
||||
# Rebuild configure script
|
||||
aclocal -I config-scripts
|
||||
autoconf -I config-scripts
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
build() {
|
||||
cd "${pkgbase}"-${pkgver}
|
||||
|
||||
# The build system uses only DSOFLAGS but not LDFLAGS to build some libraries.
|
||||
export DSOFLAGS=${LDFLAGS}
|
||||
|
||||
# use fixed cups user (id 209) since systemd adds "lp" group without a fixed id
|
||||
./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-exe-file-perm=0755 \
|
||||
--with-cups-user=209 \
|
||||
--with-cups-group=209 \
|
||||
--with-max-log-size=0 \
|
||||
--enable-pam=yes \
|
||||
--enable-raw-printing \
|
||||
--enable-dbus=no \
|
||||
--with-tls=gnutls \
|
||||
--with-dbusdir=no \
|
||||
--enable-ssl=yes \
|
||||
--enable-relro \
|
||||
--enable-libpaper \
|
||||
--with-php=/usr/bin/php-cgi \
|
||||
--disable-systemd \
|
||||
--disable-avahi \
|
||||
--with-optim="$CFLAGS" #--help
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "${pkgbase}"-${pkgver}
|
||||
# make -k check || /bin/true
|
||||
# make check
|
||||
}
|
||||
|
||||
package_libcups-no-dbus() {
|
||||
pkgdesc="The CUPS Printing System - client libraries and headers - no systemd no avahi no dbus"
|
||||
depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'libusb' 'libxcrypt')
|
||||
conflicts=('libcups')
|
||||
provides=('libcups')
|
||||
|
||||
cd ${pkgbase}-${pkgver}
|
||||
make BUILDROOT="${pkgdir}" install-headers install-libs
|
||||
# put this into the libs pkg to make other software find the libs(no pkg-config file included)
|
||||
mkdir -p "${pkgdir}"/usr/bin
|
||||
install -m755 "${srcdir}"/"${pkgbase}"-${pkgver}/cups-config "${pkgdir}"/usr/bin/cups-config
|
||||
|
||||
# add license + exception
|
||||
install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" {LICENSE,NOTICE}
|
||||
}
|
||||
|
||||
package_cups-no-dbus() {
|
||||
pkgdesc="The CUPS Printing System - daemon package - no systemd no avahi no dbus"
|
||||
install=cups.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/logrotate.d/cups
|
||||
etc/pam.d/cups)
|
||||
depends=('acl' 'pam' "libcups-no-dbus>=${pkgver}" 'cups-filters' 'bc'
|
||||
'libpaper' 'hicolor-icon-theme' 'xinetd')
|
||||
optdepends=('ipp-usb: allows to send HTTP requests via a USB connection on devices without Ethernet or WiFi connections'
|
||||
'xdg-utils: xdg .desktop file support'
|
||||
'colord: for ICC color profile support'
|
||||
'logrotate: for logfile rotation support')
|
||||
conflicts=('cups')
|
||||
replaces=('cups')
|
||||
provides=('cups')
|
||||
cd "${pkgbase}"-${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 -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
|
||||
|
||||
# use cups group FS#36769
|
||||
install -Dm644 "$srcdir"/cups.sysusers "${pkgdir}/usr/lib/sysusers.d/$_pkgname.conf"
|
||||
sed -i "s:#User 209:User 209:" "${pkgdir}"/etc/cups/cups-files.conf{,.default}
|
||||
sed -i "s:#Group 209:Group 209:" "${pkgdir}"/etc/cups/cups-files.conf{,.default}
|
||||
|
||||
# install ssl directory where to store the certs, solves some samba issues
|
||||
install -dm700 -g 209 "${pkgdir}"/etc/cups/ssl
|
||||
# remove directory from package, it will be recreated at each server start
|
||||
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 209 "${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
|
||||
|
||||
# comment out removed filters that are now part of cups-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*
|
||||
|
||||
# # no more xinetd support
|
||||
# rm -rf "${pkgdir}"/etc/xinetd.d
|
||||
}
|
||||
|
||||
#---- license gpg-key sha256sums ----
|
||||
|
||||
license=('Apache' 'custom')
|
||||
|
||||
validpgpkeys=(7082A0A50A2E92640F3880E0E4522DCC9B246FF7 # Zdenek Dohnal (The old 4D4227D7 key revoked) <zdohnal@redhat.com>
|
||||
3737FD0D0E63B30172440D2DDBA3A7AB08D76223 # CUPS.org (CUPS.org PGP key) <security@cups.org>
|
||||
45D083946E3035282B3CCA9AF434104235DA97EB # "CUPS.org <security@cups.org>"
|
||||
845464660B686AAB36540B6F999559A027815955) # "Michael R Sweet <michael.r.sweet@gmail.com>"
|
||||
# 7ADB58203CA5F046F28025B215AA6A7F4D4227D7) # "Zdenek Dohnal (Associate Software Engineer) <zdohnal@redhat.com>"
|
||||
|
||||
sha256sums=(f03ccb40b087d1e30940a40e0141dcbba263f39974c20eb9f2521066c9c6c908 # cups-2.4.2-source.tar.gz
|
||||
50e382ba0d58e8f213769b90f78beae5949231d18ec00b5024cc337df4e1729b # cups-2.4.2-source.tar.gz.sig
|
||||
d87fa0f0b5ec677aae34668f260333db17ce303aa1a752cba5f8e72623d9acf9 # cups.logrotate
|
||||
57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5 # cups.pam
|
||||
06173dfaea37bdd9b39b3e09aba98c34ae7112a2f521db45a688907d8848caa2 # cups.sysusers
|
||||
f0b15192952c151b1843742c87850ff3a7d0f3ba5dd236ed16623ef908472ad7 # cups-2.4.0-statedir.patch
|
||||
3385047b9ac8a7b13aeb8f0ca55d15f793ce7283516db0155fe28a67923c592d # cups-freebind.patch
|
||||
0bf6a75ba1b051771f155d9a5d36b307a6d40c6857d645b250fe93f3fb713474 # guid.patch
|
||||
632faf08bfd1863e9ad6807aff766983e84030a0e4df441167f17de7266ca152) # 0001_Fix_OpenSSL_crash_bug.patch
|
||||
|
||||
|
|
@ -0,0 +1,181 @@
|
|||
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
|
||||
|
||||
pkgbase="cups"
|
||||
pkgname=('libcups' 'cups')
|
||||
pkgver=2.4.2
|
||||
pkgrel=3
|
||||
epoch=1
|
||||
arch=('x86_64')
|
||||
license=('Apache' 'custom')
|
||||
url="https://openprinting.github.io/cups/"
|
||||
makedepends=('libtiff' 'libpng' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
|
||||
'cups-filters' 'bc' 'colord' 'gzip' 'autoconf' 'libusb' 'dbus'
|
||||
'avahi' 'hicolor-icon-theme' 'systemd' 'libxcrypt' 'inetutils' 'libpaper' 'valgrind'
|
||||
'git')
|
||||
source=(https://github.com/OpenPrinting/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig}
|
||||
cups.logrotate
|
||||
cups.pam
|
||||
cups.sysusers
|
||||
cups-2.4.0-statedir.patch
|
||||
# bugfixes
|
||||
cups-freebind.patch
|
||||
guid.patch
|
||||
0001_Fix_OpenSSL_crash_bug.patch
|
||||
)
|
||||
sha256sums=('f03ccb40b087d1e30940a40e0141dcbba263f39974c20eb9f2521066c9c6c908'
|
||||
'SKIP'
|
||||
'd87fa0f0b5ec677aae34668f260333db17ce303aa1a752cba5f8e72623d9acf9'
|
||||
'57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5'
|
||||
'06173dfaea37bdd9b39b3e09aba98c34ae7112a2f521db45a688907d8848caa2'
|
||||
'f0b15192952c151b1843742c87850ff3a7d0f3ba5dd236ed16623ef908472ad7'
|
||||
'3385047b9ac8a7b13aeb8f0ca55d15f793ce7283516db0155fe28a67923c592d'
|
||||
'0bf6a75ba1b051771f155d9a5d36b307a6d40c6857d645b250fe93f3fb713474'
|
||||
'632faf08bfd1863e9ad6807aff766983e84030a0e4df441167f17de7266ca152')
|
||||
#validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <security@cups.org>
|
||||
#validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org <security@cups.org>"
|
||||
#validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet <michael.r.sweet@gmail.com>"
|
||||
#validpgpkeys=('7ADB58203CA5F046F28025B215AA6A7F4D4227D7') # "Zdenek Dohnal (Associate Software Engineer) <zdohnal@redhat.com>"
|
||||
validpgpkeys=('7082A0A50A2E92640F3880E0E4522DCC9B246FF7') # Zdenek Dohnal (The old 4D4227D7 key revoked) <zdohnal@redhat.com>
|
||||
#options=(!makeflags)
|
||||
|
||||
prepare() {
|
||||
cd "${pkgbase}"-${pkgver}
|
||||
|
||||
# move /var/run -> /run for pid file
|
||||
patch -Np1 -i "${srcdir}"/cups-2.4.0-statedir.patch
|
||||
|
||||
# bug fixes
|
||||
|
||||
# https://github.com/OpenPrinting/cups/issues/53
|
||||
# use IP_FREEBIND, because cupsd cannot bind to not yet existing IP address
|
||||
patch -Np1 -i "${srcdir}"/cups-freebind.patch
|
||||
|
||||
# FS#56818 - https://github.com/apple/cups/issues/5236
|
||||
patch -Np1 -i "${srcdir}"/guid.patch
|
||||
|
||||
# FS#75005 - Fix OpenSSL crash bug - "tls" pointer wasn't cleared after
|
||||
# Fix OpenSSL crash bug - "tls" pointer wasn't cleared after
|
||||
patch -Np1 -i "${srcdir}"/0001_Fix_OpenSSL_crash_bug.patch
|
||||
|
||||
# Rebuild configure script
|
||||
aclocal -I config-scripts
|
||||
autoconf -I config-scripts
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${pkgbase}"-${pkgver}
|
||||
|
||||
# The build system uses only DSOFLAGS but not LDFLAGS to build some libraries.
|
||||
export DSOFLAGS=${LDFLAGS}
|
||||
|
||||
# use fixed cups user (id 209) since systemd adds "lp" group without a fixed id
|
||||
./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-exe-file-perm=0755 \
|
||||
--with-cups-user=209 \
|
||||
--with-cups-group=209 \
|
||||
--with-max-log-size=0 \
|
||||
--enable-pam=yes \
|
||||
--enable-raw-printing \
|
||||
--enable-dbus=yes \
|
||||
--with-tls=gnutls \
|
||||
--with-dbusdir=/usr/share/dbus-1 \
|
||||
--enable-relro \
|
||||
--enable-libpaper \
|
||||
--with-optim="$CFLAGS" #--help
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "${pkgbase}"-${pkgver}
|
||||
# make -k check || /bin/true
|
||||
# make check
|
||||
}
|
||||
|
||||
package_libcups() {
|
||||
pkgdesc="The CUPS Printing System - client libraries and headers"
|
||||
depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi' 'libusb' 'libxcrypt')
|
||||
|
||||
cd ${pkgbase}-${pkgver}
|
||||
make BUILDROOT="${pkgdir}" install-headers install-libs
|
||||
# put this into the libs pkg to make other software find the libs(no pkg-config file included)
|
||||
mkdir -p "${pkgdir}"/usr/bin
|
||||
install -m755 "${srcdir}"/"${pkgbase}"-${pkgver}/cups-config "${pkgdir}"/usr/bin/cups-config
|
||||
|
||||
# add license + exception
|
||||
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" {LICENSE,NOTICE}
|
||||
}
|
||||
|
||||
package_cups() {
|
||||
pkgdesc="The CUPS Printing System - daemon package"
|
||||
install=cups.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/logrotate.d/cups
|
||||
etc/pam.d/cups)
|
||||
depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc'
|
||||
'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
|
||||
optdepends=('ipp-usb: allows to send HTTP requests via a USB connection on devices without Ethernet or WiFi connections'
|
||||
'xdg-utils: xdg .desktop file support'
|
||||
'colord: for ICC color profile support'
|
||||
'logrotate: for logfile rotation support')
|
||||
|
||||
cd "${pkgbase}"-${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 -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
|
||||
|
||||
# use cups group FS#36769
|
||||
install -Dm644 "$srcdir"/cups.sysusers "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf"
|
||||
sed -i "s:#User 209:User 209:" "${pkgdir}"/etc/cups/cups-files.conf{,.default}
|
||||
sed -i "s:#Group 209:Group 209:" "${pkgdir}"/etc/cups/cups-files.conf{,.default}
|
||||
|
||||
# install ssl directory where to store the certs, solves some samba issues
|
||||
install -dm700 -g 209 "${pkgdir}"/etc/cups/ssl
|
||||
# remove directory from package, it will be recreated at each server start
|
||||
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 209 "${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
|
||||
|
||||
# comment out removed filters that are now part of cups-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*
|
||||
|
||||
# no more xinetd support
|
||||
rm -rf "${pkgdir}"/etc/xinetd.d
|
||||
}
|
|
@ -0,0 +1,245 @@
|
|||
# Copyright : Obarun
|
||||
#------------------------
|
||||
# Maintainer : Eric Vidal <eric@obarun.org>
|
||||
# Maintainer : Jean-Michel T.Dydak <jean-michel@obarun.org>
|
||||
# Maintainer : YianIris <yianiris At disroot Dot org>
|
||||
#----------------
|
||||
# Obarun PkgSrc : https://git.obarun.org/pkg/obextra/cups
|
||||
#--------------------------------------------------------------
|
||||
# DESCRIPTION ]
|
||||
|
||||
pkgbase="cups"
|
||||
pkgver=2.4.1
|
||||
pkgrel=2
|
||||
epoch=1
|
||||
url='https://openprinting.github.io/cups/'
|
||||
|
||||
pkgname=(
|
||||
'libcups'
|
||||
'cups'
|
||||
)
|
||||
|
||||
track="releases/download/v$pkgver"
|
||||
target="cups-$pkgver-source"
|
||||
source=(
|
||||
"https://github.com/OpenPrinting/cups/${track}/${target}.tar.gz"{,.sig}
|
||||
cups.logrotate
|
||||
cups.pam
|
||||
cups.sysusers
|
||||
cups-2.4.0-statedir.patch
|
||||
cups-freebind.patch
|
||||
guid.patch
|
||||
)
|
||||
|
||||
#----------------------
|
||||
# BUILD CONFIGURATION ]
|
||||
|
||||
makedepends=(
|
||||
'libtiff'
|
||||
'libpng'
|
||||
'acl'
|
||||
'pam'
|
||||
'xdg-utils'
|
||||
'krb5'
|
||||
'gnutls'
|
||||
'cups-filters'
|
||||
'bc'
|
||||
'colord'
|
||||
'gzip'
|
||||
'autoconf'
|
||||
'libusb'
|
||||
'dbus'
|
||||
'hicolor-icon-theme'
|
||||
'libxcrypt'
|
||||
'inetutils'
|
||||
'libpaper'
|
||||
'valgrind'
|
||||
'libeudev'
|
||||
)
|
||||
|
||||
#----------------
|
||||
# BUILD PREPARE ]
|
||||
|
||||
prepare() {
|
||||
cd $pkgbase-$pkgver
|
||||
|
||||
## move /var/run -> /run for pid file
|
||||
patch -Np1 -i "${srcdir}"/cups-2.4.0-statedir.patch
|
||||
|
||||
## bug fixes
|
||||
## https://github.com/OpenPrinting/cups/issues/53
|
||||
## use IP_FREEBIND, because cupsd cannot bind to not yet existing IP address
|
||||
patch -Np1 -i "${srcdir}"/cups-freebind.patch
|
||||
|
||||
## FS#56818 - https://github.com/apple/cups/issues/5236
|
||||
patch -Np1 -i "${srcdir}"/guid.patch
|
||||
|
||||
## Rebuild configure script
|
||||
aclocal -I config-scripts
|
||||
autoconf -I config-scripts
|
||||
}
|
||||
|
||||
#----------------
|
||||
# BUILD CONTROL ]
|
||||
|
||||
_flags=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--localstatedir=/var
|
||||
--sbindir=/usr/bin
|
||||
--libdir=/usr/lib
|
||||
--with-logdir=/var/log/cups
|
||||
--with-docdir=/usr/share/cups/doc
|
||||
--with-exe-file-perm=0755
|
||||
--with-cups-user=209
|
||||
--with-cups-group=209
|
||||
--with-max-log-size=0
|
||||
--enable-pam=yes
|
||||
--enable-raw-printing
|
||||
--enable-dbus=yes
|
||||
--with-dbusdir=/usr/share/dbus-1
|
||||
--enable-ssl=yes
|
||||
--enable-threads
|
||||
--enable-libpaper
|
||||
--with-php=/usr/bin/php-cgi
|
||||
--disable-systemd
|
||||
--disable-avahi
|
||||
--with-optim="$CFLAGS"
|
||||
)
|
||||
|
||||
#--------
|
||||
# BUILD ]
|
||||
|
||||
build() {
|
||||
cd $pkgbase-$pkgver
|
||||
|
||||
## The build system uses only DSOFLAGS but not LDFLAGS to build some libraries.
|
||||
export DSOFLAGS=${LDFLAGS}
|
||||
|
||||
./configure "${_flags[@]}"
|
||||
make
|
||||
}
|
||||
|
||||
#--------
|
||||
# CHECK ]
|
||||
|
||||
check() {
|
||||
cd $pkgbase-$pkgver
|
||||
#make -k check || /bin/true
|
||||
#make check
|
||||
}
|
||||
|
||||
#----------
|
||||
# PACKAGE ]
|
||||
|
||||
package_libcups() {
|
||||
pkgdesc="The CUPS Printing System - client libraries and headers"
|
||||
depends=(
|
||||
'gnutls'
|
||||
'libtiff>=4.0.0'
|
||||
'libpng>=1.5.7'
|
||||
'krb5'
|
||||
'libusb'
|
||||
'libxcrypt'
|
||||
)
|
||||
|
||||
cd $pkgbase-$pkgver
|
||||
|
||||
make BUILDROOT="$pkgdir" install-headers install-libs
|
||||
|
||||
## put this into the libs pkg to make other software find the libs(no pkg-config file included)
|
||||
mkdir -p "$pkgdir"/usr/bin
|
||||
install -m755 "$srcdir"/$pkgbase-$pkgver/cups-config "$pkgdir"/usr/bin/cups-config
|
||||
|
||||
## add license + exception
|
||||
install -m644 -Dt "$pkgdir"/usr/share/licenses/$pkgname {LICENSE,NOTICE}
|
||||
}
|
||||
|
||||
package_cups() {
|
||||
pkgdesc="The CUPS Printing System - daemon package"
|
||||
depends=(
|
||||
'acl'
|
||||
'pam'
|
||||
"libcups>=$pkgver"
|
||||
'cups-filters'
|
||||
'bc'
|
||||
'dbus'
|
||||
'libpaper'
|
||||
'hicolor-icon-theme'
|
||||
)
|
||||
optdepends=(
|
||||
'xdg-utils: xdg .desktop file support'
|
||||
'colord: for ICC color profile support'
|
||||
)
|
||||
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/logrotate.d/cups'
|
||||
'etc/pam.d/cups'
|
||||
)
|
||||
install=cups.install
|
||||
|
||||
cd $pkgbase-$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 -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
|
||||
|
||||
## use cups group FS#36769
|
||||
install -Dm644 "$srcdir"/cups.sysusers "$pkgdir"/usr/lib/sysusers.d/$pkgname.conf
|
||||
sed -i "s:#User 209:User 209:" "$pkgdir"/etc/cups/cups-files.conf{,.default}
|
||||
sed -i "s:#Group 209:Group 209:" "$pkgdir"/etc/cups/cups-files.conf{,.default}
|
||||
|
||||
## install ssl directory where to store the certs, solves some samba issues
|
||||
install -dm700 -g 209 "$pkgdir"/etc/cups/ssl
|
||||
## remove directory from package, it will be recreated at each server start
|
||||
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 209 "$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
|
||||
|
||||
## comment out removed filters that are now part of cups-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*
|
||||
}
|
||||
|
||||
#--------------------
|
||||
# ARCH LICENSE AUTH ]
|
||||
|
||||
arch=(x86_64)
|
||||
license=(Apache custom)
|
||||
|
||||
validpgpkeys=(
|
||||
'7082A0A50A2E92640F3880E0E4522DCC9B246FF7' # Zdenek Dohnal (The old 4D4227D7 key revoked) <zdohnal@redhat.com>
|
||||
)
|
||||
|
||||
sha512sums=('')
|
|
@ -0,0 +1 @@
|
|||
rm -rvf {src,pkg,cups*source.tar.gz*}
|
|
@ -0,0 +1,11 @@
|
|||
--- cups-2.4.0/config-scripts/cups-directories.m4 2021-11-29 16:12:17.094244942 +0100
|
||||
+++ cups-2.4.0/config-scripts/cups-directories.m4.new 2021-11-29 16:15:16.958747398 +0100
|
||||
@@ -268,7 +268,7 @@
|
||||
CUPS_STATEDIR="$CUPS_SERVERROOT"
|
||||
], [*], [
|
||||
# All others
|
||||
- CUPS_STATEDIR="$localstatedir/run/cups"
|
||||
+ CUPS_STATEDIR="/run/cups"
|
||||
])
|
||||
])
|
||||
AC_DEFINE_UNQUOTED([CUPS_STATEDIR], ["$CUPS_STATEDIR"], [Location of transient state files.])
|
|
@ -0,0 +1,15 @@
|
|||
diff -up cups-2.0.2/cups/http-addr.c.freebind cups-2.0.2/cups/http-addr.c
|
||||
--- cups-2.0.2/cups/http-addr.c.freebind 2015-02-10 14:46:33.000000000 +0100
|
||||
+++ cups-2.0.2/cups/http-addr.c 2015-02-10 14:50:35.074759141 +0100
|
||||
@@ -186,6 +186,10 @@ httpAddrListen(http_addr_t *addr, /* I -
|
||||
val = 1;
|
||||
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, CUPS_SOCAST &val, sizeof(val));
|
||||
|
||||
+#ifdef __linux
|
||||
+ setsockopt(fd, IPPROTO_IP, IP_FREEBIND, CUPS_SOCAST &val, sizeof(val));
|
||||
+#endif /* __linux */
|
||||
+
|
||||
#ifdef IPV6_V6ONLY
|
||||
if (addr->addr.sa_family == AF_INET6)
|
||||
setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, CUPS_SOCAST &val, sizeof(val));
|
||||
diff -up cups-2.0.2/scheduler/listen.c.freebind cups-2.0.2/scheduler/listen.c
|
|
@ -0,0 +1,28 @@
|
|||
post_install() {
|
||||
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() {
|
||||
# FS#56818 - make sure we change the ownership to the new cups group
|
||||
if [[ $(vercmp 2.2.6-3 $2) = 1 ]]; then
|
||||
chgrp -R 209 /etc/cups
|
||||
echo "Cups daemon is now running under \"cups\" user+group."
|
||||
echo "Please make sure to enable the new user+group change in"
|
||||
echo "/etc/cups/cups-files.conf or merge changes from"
|
||||
echo "/etc/cups/cups-files.conf.default. After a service restart"
|
||||
echo "make sure /etc/cups and all files within are owned by"
|
||||
echo "cups group - run \"chgrp -R cups /etc/cups\"."
|
||||
fi
|
||||
|
||||
# upstream reverted back to common old naming scheme
|
||||
if [[ $(vercmp 2.3.3+105+g59137acc1-1 $2) = 1 ]]; then
|
||||
echo ">>> Cups systemd socket and service files have been"
|
||||
echo ">>> renamed by upstream decision. Please make sure"
|
||||
echo ">>> to disable/reenable the services to your need."
|
||||
echo ">>> hint: \"pacman -Ql cups | grep systemd\" and"
|
||||
echo ">>> \"ls -lR /etc/systemd/ | grep cups\" "
|
||||
fi
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
/var/log/cups/*_log {
|
||||
missingok
|
||||
notifempty
|
||||
sharedscripts
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
auth required pam_unix.so
|
||||
account required pam_unix.so
|
||||
session required pam_unix.so
|
|
@ -0,0 +1,2 @@
|
|||
u cups 209 "cups helper user"
|
||||
m cups lp
|
|
@ -0,0 +1,17 @@
|
|||
libtiff
|
||||
libpng
|
||||
xdg-utils
|
||||
bc
|
||||
libcolord
|
||||
autoconf
|
||||
libusb
|
||||
hicolor-icon-theme
|
||||
inetutils
|
||||
libpaper
|
||||
valgrind
|
||||
git
|
||||
automake
|
||||
cups-filters
|
||||
libmicrohttpd
|
||||
libcups-no-dbus
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
--- cups-2.4.0/scheduler/cups-exec.c 2021-11-29 16:19:34.235186064 +0100
|
||||
+++ cups-2.4.0/scheduler/cups-exec.c.new 2021-11-29 16:25:30.764049649 +0100
|
||||
@@ -134,9 +134,14 @@ main(int argc, /* I - Number of command-line args */
|
||||
# if CUPS_SNAP
|
||||
if (setgroups(0, NULL))
|
||||
# else
|
||||
- if (setgroups(1, &gid))
|
||||
-# endif /* CUPS_SNAP */
|
||||
+#include <pwd.h>
|
||||
+ struct passwd * pwd = getpwuid(uid);
|
||||
+ if(initgroups(pwd->pw_name,pwd->pw_gid))
|
||||
+ {
|
||||
+ fprintf(stderr, "DEBUG: initgroups failed\n");
|
||||
exit(errno + 100);
|
||||
+ }
|
||||
+# endif /* CUPS_SNAP */
|
||||
|
||||
if (uid && setuid(uid))
|
||||
exit(errno + 100);
|
||||
--- cups-2.4.0/scheduler/util.c 2021-11-29 15:27:31.000000000 +0100
|
||||
+++ cups-2.4.0/scheduler/util.c.new 2021-11-29 16:29:58.810719066 +0100
|
||||
@@ -296,7 +296,16 @@
|
||||
*/
|
||||
|
||||
if (!getuid() && user)
|
||||
- setuid(user); /* Run as restricted user */
|
||||
+ {
|
||||
+#include <pwd.h>
|
||||
+ struct passwd * pwd = getpwuid(user);
|
||||
+ if(initgroups(pwd->pw_name,pwd->pw_gid))
|
||||
+ {
|
||||
+ fprintf(stderr, "DEBUG: initgroups failed\n");
|
||||
+ exit(errno + 100);
|
||||
+ }
|
||||
+ setuid(user); /* Run as restricted user */
|
||||
+ }
|
||||
|
||||
if ((fd = open("/dev/null", O_RDONLY)) > 0)
|
||||
{
|
|
@ -0,0 +1 @@
|
|||
gpg -v --recv-key E4522DCC9B246FF7
|
|
@ -0,0 +1,19 @@
|
|||
with checks enable building takes for ever, even though tests don't fail.
|
||||
|
||||
Running IPP compliance tests...
|
||||
Performing 4.1-requests.test: PASS
|
||||
Performing 4.2-cups-printer-ops.test: PASS
|
||||
Performing 4.3-job-ops.test: PASS
|
||||
Performing 4.4-subscription-ops.test: PASS
|
||||
Performing ipp-2.1.test: PASS
|
||||
|
||||
Running command tests...
|
||||
Performing 5.1-lpadmin.sh: PASS
|
||||
Waiting for jobs to complete...1...
|
||||
Performing 5.2-lpc.sh: PASS
|
||||
Waiting for jobs to complete...1...
|
||||
Performing 5.3-lpq.sh: PASS
|
||||
Waiting for jobs to complete...1...
|
||||
|
||||
|
||||
It is up to you to let it run for hours or disable checks all together and build it in less than a minute
|
|
@ -0,0 +1,9 @@
|
|||
cups-2.4.0-source.tar.gz
|
||||
cups-2.4.0-source.tar.gz.sig
|
||||
cups.logrotate
|
||||
cups.pam
|
||||
cups.sysusers
|
||||
cups-2.4.0-statedir.patch
|
||||
cups-freebind.patch
|
||||
guid.patch
|
||||
0001_fix_missing_bracket.patch
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
real 0m45.322s
|
||||
user 1m34.038s
|
||||
sys 0m6.720s
|
|
@ -8,7 +8,7 @@
|
|||
pkgbase="cups"
|
||||
pkgname=('libcups' 'cups')
|
||||
pkgver=2.4.2
|
||||
pkgrel=02
|
||||
pkgrel=03
|
||||
epoch=1
|
||||
arch=('x86_64')
|
||||
url="https://openprinting.github.io/cups/"
|
||||
|
@ -81,6 +81,7 @@ build() {
|
|||
--enable-pam=yes \
|
||||
--enable-raw-printing \
|
||||
--enable-dbus=yes \
|
||||
--with-tls=gnutls \
|
||||
--with-dbusdir=/usr/share/dbus-1 \
|
||||
--enable-ssl=yes \
|
||||
--enable-relro \
|
||||
|
@ -202,3 +203,5 @@ sha256sums=(f03ccb40b087d1e30940a40e0141dcbba263f39974c20eb9f2521066c9c6c908 # c
|
|||
632faf08bfd1863e9ad6807aff766983e84030a0e4df441167f17de7266ca152) # 0001_Fix_OpenSSL_crash_bug.patch
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
pkgbase="cups"
|
||||
pkgname=('libcups' 'cups')
|
||||
pkgver=2.4.2
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
epoch=1
|
||||
arch=('x86_64')
|
||||
license=('Apache' 'custom')
|
||||
|
@ -83,6 +83,7 @@ build() {
|
|||
--enable-pam=yes \
|
||||
--enable-raw-printing \
|
||||
--enable-dbus=yes \
|
||||
--with-tls=gnutls \
|
||||
--with-dbusdir=/usr/share/dbus-1 \
|
||||
--enable-relro \
|
||||
--enable-libpaper \
|
||||
|
|
Loading…
Reference in New Issue