summaryrefslogtreecommitdiff
path: root/net-print/cups
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
commit0f558761aa2dee1017b4751e4017205e015a9560 (patch)
tree037df795519468a25d9362b4e95cdaeb84eb1cf9 /net-print/cups
parent752d6256e5204b958b0ef7905675a940b5e9172f (diff)
gentoo resync : 29.12.2022
Diffstat (limited to 'net-print/cups')
-rw-r--r--net-print/cups/Manifest22
-rw-r--r--net-print/cups/cups-2.3.3_p2-r3.ebuild2
-rw-r--r--net-print/cups/cups-2.4.1.ebuild (renamed from net-print/cups/cups-2.3.3_p2-r2.ebuild)80
-rw-r--r--net-print/cups/cups-2.4.2-r1.ebuild (renamed from net-print/cups/cups-2.3.3-r4.ebuild)214
-rw-r--r--net-print/cups/cups-9999.ebuild142
-rw-r--r--net-print/cups/files/0001-Fix-some-web-interface-issues.patch667
-rw-r--r--net-print/cups/files/0001-Footer-message-corrected.patch89
-rw-r--r--net-print/cups/files/0001-cups-fix-uninit-value-jump.patch18
-rw-r--r--net-print/cups/files/0001-cups-tls-gnutls.c-Use-always-GNUTLS_SHUT_WR.patch55
-rw-r--r--net-print/cups/files/cups-2.4.1-nostrip.patch11
-rw-r--r--net-print/cups/files/cups-2.4.1-resolve-uri.patch31
-rw-r--r--net-print/cups/files/cups-2.4.1-user-AR.patch21
-rw-r--r--net-print/cups/files/cups-2.4.2-no-fortify-override.patch18
-rw-r--r--net-print/cups/files/cupsd.init.d-r322
-rw-r--r--net-print/cups/metadata.xml24
15 files changed, 1154 insertions, 262 deletions
diff --git a/net-print/cups/Manifest b/net-print/cups/Manifest
index 50dd1fb51beb..f8730d0e951b 100644
--- a/net-print/cups/Manifest
+++ b/net-print/cups/Manifest
@@ -1,3 +1,7 @@
+AUX 0001-Fix-some-web-interface-issues.patch 26176 BLAKE2B 98f62d55b5e3d76388ecef69f3bc984ca047b185fd09ca17759617003ceed464310c4f2e543434cb2dc7ebdb27c01b3de9a12b17c1ca44052b913da0abb0a788 SHA512 16ab69029f868d009208931d087a5be15d2c2f33eaea8321fc6e76e84785cd4109afb3d9d9bb8ed770c324e136d5b5e22c989de18d8853a938554cfb8694b370
+AUX 0001-Footer-message-corrected.patch 4298 BLAKE2B e5c2d4135b65326d33ec64a1b476279d853ea721a10749274ae1ff0124a9b0298ae32ffbc66efd71397f1b90e0e5eb4a6788b37f9fb4ade1b4d4c5a80a57677b SHA512 413d354f3fb4d755766184abfe2b8e4bc5b79536561c5a436310cc491fac335cf241e3e0ba02111078e9a0a0c0b94d8b9929f055bf0af1d57d06ff634eb001c0
+AUX 0001-cups-fix-uninit-value-jump.patch 608 BLAKE2B d980d4331dc298008352d51b0ed167b6dbd6e87084f6673c8592c946d7e6960375199fc2d7709e3fad0d522b2ba64fe3d3c4ff9ea20b412f6877d220ee35f4c4 SHA512 c7a0fdcfb3cbf57a8513af79779dcdcd443138d9b12ab4145657c0704dc5441a7ea39b0d1d66126804de38313bb0f960d3a06b0e893a90d3e24417a1097561a7
+AUX 0001-cups-tls-gnutls.c-Use-always-GNUTLS_SHUT_WR.patch 2253 BLAKE2B ef06cd9bd348c5b923dc847cb881b9c3008e9ce989345055a159b67668e8fff8a1c1cacf2dbb7dfec7a14fd66bc9706c5f5e2cae2f96675ebf00af23571057c5 SHA512 e49c311e6383702d2a2ccbf2ba54d6a143a2dbbf2fac08f4b35041038045bd396d9eeedb7ae88e2a4a2f56e1b5b3b85fa3f2d83e0f4b0b4571f3804914833894
AUX cups-1.4.4-nostrip.patch 487 BLAKE2B efc4b3db44b65a1b0c67c472e467d80b486969396a48443b8e6be007ba991bdf6830b1e36965bae053753440528e1aa58d792c4f42bea8464ffed1179f049960 SHA512 10f46e841aa5646f40564e92b6c5b90a5d27702ea8a4dd8652cfd39834be54feec20a2c8d4fea663b90685865deae17851e57161aad7ff250916ce4accbb01fa
AUX cups-2.0.1-xinetd-installation-fix.patch 332 BLAKE2B 5688eeabaea0d2db636012e658f5cbbf6793138653df731c24c89149553994a2db423f85251385628de2f467597af98baa91ab954f63f77b5f7eec037d8db7af SHA512 e4111fb05ac381f5639868464734fbbc9296252bda288fc415274cb0eda37ff57d4d2816e34960a3e30a1c73c3aa6911267a5d2c29f1480d8e44fdb6e95f3836
AUX cups-2.0.2-rename-systemd-service-files.patch 2092 BLAKE2B c34d8d6c5295aea6eaeb5aea05dcf32a9a554d445ae1b57b8d33386394e1d3f414095d89dc55eb0d4c5678e2985c37451e64101e6426bc2ad26aa50404b51844 SHA512 409a7508dccbbcfca60ba448f8cea84ecb2710890e7655c67b8292c34c8d555884e7e82e70c2c700691af1a786ce0d8c8c799b6fb471a18f1b87eda99eacd9cb
@@ -8,12 +12,16 @@ AUX cups-2.3.3-manpage.patch 620 BLAKE2B c22a6f3f03d6d1762b7bb847ab246cf03311383
AUX cups-2.3.3-no-libtool.patch 912 BLAKE2B 14c19e8a215e2a56af387c6cf904a6a2a11de41a730d4a272a30d37ec98ee031be5e24458ad9a82c221dc76c71a4550055fedd877455752a1b7e925eb684f4cb SHA512 a12be37b290e2e2d875d20d1aec426ce0bfec4980ffa321a4232a3c8ffe5c8c7360c2882915b370236133168b54abfcdb729acdfb5ef2d08f706f981bf7c1214
AUX cups-2.3.3-timeout.patch 979 BLAKE2B d94473d42b6b7bf454d275b51835777f50d7fbf847a94c6c7a6078d93b5d07249d965217be146adc4f7b0703dbf3a16899535c4cb9486bdb42b16472b2fa76a1 SHA512 89db33ffd331beb42350c44474b648ef8f81d21c08a638a22de1cfedbf5d1d987d528f9e3492b66a6f91b1a0e6ca43b58b7d2ffe5c3dc5ddcb86137f32791ce4
AUX cups-2.3.3-user-AR.patch 593 BLAKE2B 4794e162b156075a507707296a045226af5f6342870fb7173017ff530aa052b4467cc64c03cfc80d4e2d3500e584e6c313414ed7237acaeda8a8107c3ed2e65a SHA512 ec570a3a7bd6710f50e8e702755a106158f8a2fd9b7e2efad6e345f12210bbd79e450f60ae0d30ae838f1abf1b4c7fd89d13363d2e4bbacd653177b60f05786c
-AUX cupsd.init.d-r3 584 BLAKE2B f503663a59673209fc6c161aed3cc214cab2b3e68692078dc47c1a833fe141225f48f2d07dab65fc19ea68e54bb7c9a7c94f6db1dac443111d04b392fd7855a4 SHA512 ace66b46c17f99f8c6487188c14e8a1baf7acad602156b88cdae7fb4738c163a045240a1b28c6db4af86caa317723357186812eed81f9553a9ef3517c966c6b3
+AUX cups-2.4.1-nostrip.patch 411 BLAKE2B 67b7ebe76e3586ef819a0dfee5729781ee6d5ece9ea3ff2e6805ed5bffd7cdaac039e62bbb0c47ef663fae46ae42041e025ada586f978301077124ff0ce85712 SHA512 6e792b90dbba541142f505563d37f5a567ef8469e298e2b373a9ac1900b31ffde3050b995d16fcbbeed792252b933e75c7517419a5907f9ce69e22e9c5656ff0
+AUX cups-2.4.1-resolve-uri.patch 1481 BLAKE2B 6b4b7c8cbbdad3e5c434c55f41de8a18891d393fbf40cc7926600f3cf8f38ac82831ccc94387418504eeb4c6d017bf6f8e377dac9ad3a61f7329c9eb28af8747 SHA512 7d8c4f43fdd8253bc4224416b19b9087f9d924e64372f24e35fbe641fe8187695ed8463de3656d373d5685cce4dd4680f1491f2b328f54c5899667eb161d361e
+AUX cups-2.4.1-user-AR.patch 567 BLAKE2B 06e91a7601ebbe534808b310e80d482b0dc0b3df0d2c738979fc0917a6c497341dbb0c5f12eedc19b58a149546bab26c13324bc4d1916966d9628413a18d065f SHA512 136871e48c19be011e368dc004c39d104405a2f6729b7612c3c6355d6e1bb8dc112909c850cb58bffcbcf1efe0d4b1c3cfa3083bb63dbfc512dc93a2d0379a9e
+AUX cups-2.4.2-no-fortify-override.patch 637 BLAKE2B d5bed1249fa6e55884d0a8cb6a60e850c01fb50ba367d1c22e2363795bf39faa09f71f4d62d5b0f91e24ec728ae97962feac63283d35834b97280d5d7516bfd4 SHA512 f39ece2d8e46c627c79bae65032867fdaa3fec1e03909d354746e666c15d7d5692c64b9f8249eb9610e5d40ed43c3a8f7e0552b1968683f1e31e2ddcfb6f1a19
AUX cupsd.init.d-r4 577 BLAKE2B 48508b10a13ee73e905b3d061275f5cb12ebdc2175ce46affb2007d4a5d007719a147f490e7c17a3e9a5211b82d9b89be7111921b1c9d991a6fc4c457f63eae0 SHA512 23ec5714764f2bac4105130efe6f79a508a352ecb45ab3f6e08042b156af05065330b2ac85615d0ce792a4dcd8f5230302dba9d1a96fca84c11d8bf2573ccc0e
-DIST cups-2.3.3-source.tar.gz 8140741 BLAKE2B 427e6ee3602aec33ac336d9b2c6c8eb270f2996371f0edd3d69e411b94b2e93fc58a0032ba9f6d048f2c58a1c6b48f742671b4011cd725b882adfcc06ed7fd8a SHA512 7d6f4a01794c5599cc71525778ea785fd17271c31ac146a56e8fc374a88f99e4035d018dae48e37e541455e9cc93b302e892b2e93ec558c1b4bfc46dad68c92d
DIST cups-2.3.3op2-source.tar.gz 7993205 BLAKE2B 8c115b91ec185a4820578561aaf681238280b22b5c68b68c484ffbd0fa3c4ec1beb4d426e3f0e33192e32bce78aa8b7f50ed6799732a467fa9e75c34787057ee SHA512 db27dd6fb616bd7ad895b2bdf4ea7b010501358a50dc8f2e7e29558d1cfc088a572b1b35ac512654d3ed410c84df87dc34ca636533a4499117253915d4763117
-EBUILD cups-2.3.3-r4.ebuild 9576 BLAKE2B 4f43af0f9fbf852ee1de861e40c5f14e500c0423ddfc876a1d8f803e57909f77ecc38476e6ae2f5e927b55ebf8d1a31fab586a1b9a4cd5f593c292bd622ed504 SHA512 b685fec0e66bf4d80d5ffa87c7e51b0265caf3bc057ebd023818363fed272a2ee3b2f1fd98f52868312eed40023dc06bab7a1d21e75b09c787a3959d3dde4186
-EBUILD cups-2.3.3_p2-r2.ebuild 8946 BLAKE2B 903d051c6d0150ecfce6a77c489682b53eb78ee547169ab8ab476dc7e3b66d464133b14ca2f6cf882724d41d33639ff5b9da8c4f7dfe3361c14866c045ef9c64 SHA512 7f4edabf8d7e99717560459bb78118341a041e7459debe9caa56e27de99a9dc591472243eb55d74d1ed484e42e15e9279710b38ef0688ab06377e1884eb615a9
-EBUILD cups-2.3.3_p2-r3.ebuild 9564 BLAKE2B 28af05108474223cc54c32b24f4d843b784235072232a118af14a2549482ab0b2754387e14a9ce95423bbbb29daec1528e8c73f6dd2d9b268a204fa7d52656ce SHA512 feaa03a2882670572295e750ed0950e0b384a5f0a51e864a47bd8ea7c4fe40dc6fa6e5920e4d868cb24c67218669b842fdd7f887f68d87e0422e50d56277c7a5
-EBUILD cups-9999.ebuild 8880 BLAKE2B 81fffe1f180384a312aec3a6bc5d1cc30fe3d4e7105fb32c268d718fd63a48e6db8acf2cb406ea3f1fd1a2f0fce2afeeae1add677e636736ddbfa9d998488213 SHA512 74feb5fcb658d0bdc7540b650f47cb5e950178cbb262bed39ac1faf47f822d7515c328eed0dfdacd827802a2e6851718c6b8fe737a8c5ef9c98001b751b71295
-MISC metadata.xml 528 BLAKE2B 5dedc19570fc6fa2c8ddf6578b30ec8fb1820fb5deb8e2b62cb0897b1f4805086b59cab33bc5e5a8992f4ce2995fba42ab441a77ccf8889b5c4b05da18fdd966 SHA512 c12285daaf0d3a141e7caead57525e8130fcf6859479ae275ed214a508934b15b4697a0cb3f0f5fb90c2931a1727b6919116f1651af6f5dd7eff2eaef7b41803
+DIST cups-2.4.1-source.tar.gz 8113914 BLAKE2B 690d9d92f9bc84c2bb360699191cd67e1489ffc3ab219376dfc1a8795379950c95bf58c2033a0dbd2918262c5d104e21e31c4585cb35d229b0fac6cf4967bfd7 SHA512 74e83728fcc3baf709176442b26711250fd4d4ede1e81e35b02a5607711067e28cd5a05d5bc3337953f6b2236c5a429b13f3a7f1218a08a2d3c30a8c9b0d96fd
+DIST cups-2.4.2-source.tar.gz 8128785 BLAKE2B 97053feb502d4fdc28810b806000b6c84a6795d5adcec0789e73e5477d5802d46a99381366d16219f627166df088f6decde5c144bd0c38b5745815dc1e426bc5 SHA512 07474643bffe11c79b3226b70d28f1bb803dc19daa10711938cea303feacdcce3945ba8ff0334d94fdd5922ea7d6bf37a28c1ea62cce8ce946c2f90a0faf002f
+EBUILD cups-2.3.3_p2-r3.ebuild 9571 BLAKE2B 5afeb6352867c9069d4446c83e854f790b1e13b6a88a73f1fb72b27e139f2694435ac2db5328d031d91408f31ccbde60e7b29287dc402437e29831199e8ea295 SHA512 0265ec3ab43990be1917cf6e021049cf5fcae7e17a2e968ada26eef5a1e0f5cd9a2e5221781c2800382b943c08376947337e43aca6e6052e62fce28c2d448e38
+EBUILD cups-2.4.1.ebuild 9851 BLAKE2B 180f6df4690f747539c1dec368923b1e9ceca3f8fb5069ef7726f31244423c5bbf93866f88313f9176f098257441b6a64d9326547dd6dd0827175f9e854391b4 SHA512 90b988b4f7ceae8f4f6e86a02ade98553380ab69b43da589d9cdcc1a6d4fab87a3ea1a375c8fc30b0158bd5085606b3cfe69c8b8fe2dd1f539dbcf0e78a33950
+EBUILD cups-2.4.2-r1.ebuild 9441 BLAKE2B 0c3e0d14e8315bc487196ff8ed7f3a8ee79db6ec9943772982af652e0f104b301c0546a69a4d820231df362a5c15d1d00247b2f1321010dd6695adec26c125fb SHA512 1f194f9dde815b4f721fa8ec2181fca69a07e0a6ae0298b16be40148575b2d911aed3ed6af188e66850ccf6097cf1b45ee868bbc0311a9582c410198115f5eff
+EBUILD cups-9999.ebuild 9441 BLAKE2B 0c3e0d14e8315bc487196ff8ed7f3a8ee79db6ec9943772982af652e0f104b301c0546a69a4d820231df362a5c15d1d00247b2f1321010dd6695adec26c125fb SHA512 1f194f9dde815b4f721fa8ec2181fca69a07e0a6ae0298b16be40148575b2d911aed3ed6af188e66850ccf6097cf1b45ee868bbc0311a9582c410198115f5eff
+MISC metadata.xml 527 BLAKE2B 04a32175e666165226eaa97785a6b9e4b779644e352c503a4653870631f28089dddbaaa3db3143f09a1d97c7f57952e4d760d64005eafacb379c23035fe9ad19 SHA512 136c81a99b501ffcedfd71f4425ba556292b79abc0ac819d336d2c845401775955b8cd72e6194f02f4c48d0cd26bc93ee7c94c7438228b49410daca80a159523
diff --git a/net-print/cups/cups-2.3.3_p2-r3.ebuild b/net-print/cups/cups-2.3.3_p2-r3.ebuild
index d05803d0c1c5..d9f24db198ce 100644
--- a/net-print/cups/cups-2.3.3_p2-r3.ebuild
+++ b/net-print/cups/cups-2.3.3_p2-r3.ebuild
@@ -19,7 +19,7 @@ else
# SRC_URI="https://github.com/apple/cups/releases/download/v${MY_PV}/${MY_P}-source.tar.gz"
SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz"
if [[ "${PV}" != *_beta* ]] && [[ "${PV}" != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
fi
diff --git a/net-print/cups/cups-2.3.3_p2-r2.ebuild b/net-print/cups/cups-2.4.1.ebuild
index 2937e9dfac79..be3e3b15e512 100644
--- a/net-print/cups/cups-2.3.3_p2-r2.ebuild
+++ b/net-print/cups/cups-2.4.1.ebuild
@@ -1,9 +1,8 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-inherit autotools flag-o-matic linux-info xdg multilib-minimal pam systemd toolchain-funcs
+EAPI=8
+inherit autotools linux-info xdg multilib-minimal optfeature pam toolchain-funcs
MY_PV="${PV/_beta/b}"
MY_PV="${MY_PV/_rc/rc}"
@@ -19,7 +18,7 @@ else
# SRC_URI="https://github.com/apple/cups/releases/download/v${MY_PV}/${MY_P}-source.tar.gz"
SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz"
if [[ "${PV}" != *_beta* ]] && [[ "${PV}" != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
fi
@@ -28,9 +27,8 @@ HOMEPAGE="https://www.cups.org/ https://github.com/OpenPrinting/cups"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="acl dbus debug kerberos pam selinux +ssl static-libs systemd +threads usb X xinetd zeroconf"
+IUSE="acl dbus debug kerberos pam selinux +ssl static-libs systemd usb X xinetd zeroconf"
-REQUIRED_USE="usb? ( threads )"
# upstream includes an interactive test which is a nono for gentoo
RESTRICT="test"
@@ -57,7 +55,7 @@ DEPEND="
usb? ( virtual/libusb:1 )
X? ( x11-misc/xdg-utils )
xinetd? ( sys-apps/xinetd )
- zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
+ zeroconf? ( >=net-dns/avahi-0.6.31-r2[dbus,${MULTILIB_USEDEP}] )
"
RDEPEND="${DEPEND}
acct-group/lp
@@ -67,9 +65,19 @@ RDEPEND="${DEPEND}
PDEPEND=">=net-print/cups-filters-1.0.43"
PATCHES=(
- "${FILESDIR}/${PN}-2.2.6-fix-install-perms.patch"
- "${FILESDIR}/${PN}-1.4.4-nostrip.patch"
- "${FILESDIR}/${PN}-2.3.3-user-AR.patch"
+ "${FILESDIR}/${PN}-2.4.1-nostrip.patch"
+ "${FILESDIR}/${PN}-2.4.1-user-AR.patch"
+
+ # Upstream patches applied by Fedora
+ # https://github.com/OpenPrinting/cups/pull/329
+ "${FILESDIR}"/0001-cups-fix-uninit-value-jump.patch
+ # https://github.com/OpenPrinting/cups/issues/340
+ "${FILESDIR}"/${PN}-2.4.1-resolve-uri.patch
+ # https://src.fedoraproject.org/rpms/cups/blob/rawhide/f/cups.spec#_79
+ "${FILESDIR}"/0001-Footer-message-corrected.patch
+ "${FILESDIR}"/0001-Fix-some-web-interface-issues.patch
+ # https://bugzilla.redhat.com/show_bug.cgi?id=2073268
+ "${FILESDIR}"/0001-cups-tls-gnutls.c-Use-always-GNUTLS_SHUT_WR.patch
)
MULTILIB_CHOST_TOOLS=(
@@ -134,8 +142,6 @@ src_prepare() {
multilib_src_configure() {
export DSOFLAGS="${LDFLAGS}"
- einfo LINGUAS=\"${LINGUAS}\"
-
# explicitly specify compiler wrt bug 524340
#
# need to override KRB5CONFIG for proper flags
@@ -146,12 +152,20 @@ multilib_src_configure() {
KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config
--libdir="${EPREFIX}"/usr/$(get_libdir)
--localstatedir="${EPREFIX}"/var
+ # Follow Fedora permission setting
+ --with-cupsd-file-perm=0755
--with-exe-file-perm=755
+ --with-log-file-perm=0640
+ # Used by Debian, also prevents printers from getting
+ # disabled and users not knowing how to re-enable them
+ --with-error-policy=retry-job
+ # Used in Debian and Fedora
+ --enable-sync-on-close
+ #
--with-rundir="${EPREFIX}"/run/cups
--with-cups-user=lp
--with-cups-group=lp
--with-docdir="${EPREFIX}"/usr/share/cups/html
- --with-languages="${LINGUAS}"
--with-system-groups=lpadmin
--with-xinetd="${EPREFIX}"/etc/xinetd.d
$(multilib_native_use_enable acl)
@@ -162,25 +176,32 @@ multilib_src_configure() {
$(use_enable kerberos gssapi)
$(multilib_native_use_enable pam)
$(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable ssl gnutls)
- $(use_enable systemd)
+ $(use_with ssl tls gnutls)
+ $(use_with systemd ondemand systemd)
$(multilib_native_use_enable usb libusb)
- $(use_enable zeroconf avahi)
- --disable-dnssd
+ $(use_with zeroconf dnssd avahi)
$(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper)
)
+ # Handle empty LINGUAS properly, bug #771162
+ if [ -n "${LINGUAS+x}" ] ; then
+ myeconfargs+=(
+ --with-languages="${LINGUAS}"
+ )
+ fi
+
if tc-is-static-only; then
myeconfargs+=(
--disable-shared
)
fi
- econf "${myeconfargs[@]}"
-
# install in /usr/libexec always, instead of using /usr/lib/cups, as that
# makes more sense when facing multilib support.
+ sed -i -e 's:CUPS_SERVERBIN="$exec_prefix/lib/cups":CUPS_SERVERBIN="$exec_prefix/libexec/cups":g' configure ||die
+
+ econf "${myeconfargs[@]}"
+
sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die
sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die
sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die
@@ -231,7 +252,7 @@ multilib_src_install_all() {
$(usex dbus dbus '')
)
[[ -n ${neededservices[@]} ]] && neededservices="need ${neededservices[@]}"
- cp "${FILESDIR}"/cupsd.init.d-r3 "${T}"/cupsd || die
+ cp "${FILESDIR}"/cupsd.init.d-r4 "${T}"/cupsd || die
sed -i -e "s/@neededservices@/${neededservices}/" "${T}"/cupsd || die
doinitd "${T}"/cupsd
@@ -255,9 +276,6 @@ multilib_src_install_all() {
rm -r "${ED}"/etc/xinetd.d || die
fi
- keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \
- /var/cache/cups /var/log/cups /var/spool/cups/tmp
-
keepdir /etc/cups/{interfaces,ppd,ssl}
if ! use X ; then
@@ -271,18 +289,14 @@ multilib_src_install_all() {
rm -r "${ED}"/usr/share/cups/banners || die
# the following are created by the init script
- rm -r "${ED}"/var/cache/cups || die
+ rm -r "${ED}"/var/cache || die
rm -r "${ED}"/run || die
-}
-pkg_preinst() {
- xdg_pkg_preinst
+ keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} /var/log/cups /var/spool/cups/tmp
}
pkg_postinst() {
- # Update desktop file database and gtk icon cache (bug 370059)
xdg_pkg_postinst
-
local v
for v in ${REPLACING_VERSIONS}; do
@@ -300,9 +314,7 @@ pkg_postinst() {
elog "take a look at: https://wiki.gentoo.org/wiki/Printing"
break
done
-}
-pkg_postrm() {
- # Update desktop file database and gtk icon cache (bug 370059)
- xdg_pkg_postrm
+ optfeature_header "CUPS may need installing the following for certain features to work:"
+ use zeroconf && optfeature "local hostname resolution using a hostname.local naming scheme" sys-auth/nss-mdns
}
diff --git a/net-print/cups/cups-2.3.3-r4.ebuild b/net-print/cups/cups-2.4.2-r1.ebuild
index d7f3b5fab7e2..8583dd21407e 100644
--- a/net-print/cups/cups-2.3.3-r4.ebuild
+++ b/net-print/cups/cups-2.4.2-r1.ebuild
@@ -1,36 +1,43 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools flag-o-matic linux-info xdg multilib-minimal pam systemd toolchain-funcs
+inherit autotools linux-info xdg multilib-minimal optfeature pam toolchain-funcs
-MY_PV="${PV/_rc/rc}"
-MY_PV="${MY_PV/_beta/b}"
+MY_PV="${PV/_beta/b}"
+MY_PV="${MY_PV/_rc/rc}"
+MY_PV="${MY_PV/_p/op}"
MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *9999 ]]; then
+if [[ ${PV} == *9999 ]] ; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/apple/cups.git"
- if [[ ${PV} != 9999 ]]; then
- EGIT_BRANCH=branch-${PV/.9999}
- fi
+ EGIT_REPO_URI="https://github.com/OpenPrinting/cups.git"
+ [[ ${PV} != 9999 ]] && EGIT_BRANCH=branch-${PV/.9999}
else
- #SRC_URI="https://github.com/apple/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- SRC_URI="https://github.com/apple/cups/releases/download/v${MY_PV}/${MY_P}-source.tar.gz"
- if [[ "${PV}" != *_beta* ]] && [[ "${PV}" != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
+ SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz"
+ if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
fi
DESCRIPTION="The Common Unix Printing System"
-HOMEPAGE="https://www.cups.org/"
+HOMEPAGE="https://www.cups.org/ https://github.com/OpenPrinting/cups"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="acl dbus debug kerberos lprng-compat pam selinux +ssl static-libs systemd +threads usb X xinetd zeroconf"
+IUSE="acl dbus debug kerberos openssl pam selinux +ssl static-libs systemd test usb X xinetd zeroconf"
+
+# As of 2.4.2, they don't actually seem to be interactive (they pass some flags
+# by default to input for us), but they fail on some greyscale issue w/ poppler?
+RESTRICT="!test? ( test ) test"
-CDEPEND="
+BDEPEND="
+ acct-group/lp
+ acct-group/lpadmin
+ virtual/pkgconfig
+"
+DEPEND="
app-text/libpaper
sys-libs/zlib
acl? (
@@ -41,47 +48,29 @@ CDEPEND="
)
dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
- !lprng-compat? ( !net-print/lprng )
pam? ( sys-libs/pam )
!pam? ( virtual/libcrypt:= )
- ssl? ( >=net-libs/gnutls-2.12.23-r6:0=[${MULTILIB_USEDEP}] )
+ ssl? (
+ !openssl? ( >=net-libs/gnutls-2.12.23-r6:0=[${MULTILIB_USEDEP}] )
+ openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+ )
systemd? ( sys-apps/systemd )
usb? ( virtual/libusb:1 )
X? ( x11-misc/xdg-utils )
xinetd? ( sys-apps/xinetd )
- zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
+ zeroconf? ( >=net-dns/avahi-0.6.31-r2[dbus,${MULTILIB_USEDEP}] )
"
-
-DEPEND="${CDEPEND}"
-BDEPEND="
- acct-group/lp
- acct-group/lpadmin
- virtual/pkgconfig
-"
-
-RDEPEND="${CDEPEND}
+RDEPEND="${DEPEND}
acct-group/lp
acct-group/lpadmin
selinux? ( sec-policy/selinux-cups )
"
-
PDEPEND=">=net-print/cups-filters-1.0.43"
-REQUIRED_USE="
- usb? ( threads )
-"
-
-# upstream includes an interactive test which is a nono for gentoo
-RESTRICT="test"
-
-# systemd-socket.patch from Fedora
PATCHES=(
- "${FILESDIR}/${PN}-2.2.6-fix-install-perms.patch"
- "${FILESDIR}/${PN}-1.4.4-nostrip.patch"
- "${FILESDIR}/${PN}-2.0.2-rename-systemd-service-files.patch"
- "${FILESDIR}/${PN}-2.0.1-xinetd-installation-fix.patch"
- "${FILESDIR}/${PN}-2.3.3-user-AR.patch"
- "${FILESDIR}/${PN}-2.3.3-no-libtool.patch"
+ "${FILESDIR}/${PN}-2.4.1-nostrip.patch"
+ "${FILESDIR}/${PN}-2.4.1-user-AR.patch"
+ "${FILESDIR}/${PN}-2.4.2-no-fortify-override.patch"
)
MULTILIB_CHOST_TOOLS=(
@@ -97,7 +86,7 @@ pkg_setup() {
ewarn "Can't check the linux kernel configuration."
ewarn "You might have some incompatible options enabled."
else
- # recheck that we don't have usblp to collide with libusb; this should now work in most cases (bug 501122)
+ # Recheck that we don't have usblp to collide with libusb; this should now work in most cases (bug #501122)
if use usb; then
if linux_chkconfig_present USB_PRINTER; then
elog "Your USB printers will be managed via libusb. In case you run into problems, "
@@ -106,7 +95,6 @@ pkg_setup() {
elog "Alternatively, just disable the usb useflag for cups (your printer will still work)."
fi
else
- #here we should warn user that he should enable it so he can print
if ! linux_chkconfig_present USB_PRINTER; then
ewarn "If you plan to use USB printers you should enable the USB_PRINTER"
ewarn "support in your kernel."
@@ -126,31 +114,21 @@ pkg_setup() {
src_prepare() {
default
- # Remove ".SILENT" rule for verbose output (bug 524338).
- sed 's#^.SILENT:##g' -i "${S}"/Makedefs.in || die "sed failed"
+ # Remove ".SILENT" rule for verbose output (bug #524338).
+ sed 's#^.SILENT:##g' -i Makedefs.in || die
- # Fix install-sh, posix sh does not have 'function'.
- sed 's#function gzipcp#gzipcp()#g' -i "${S}/install-sh"
+ AT_M4DIR="config-scripts" eautoreconf
- # Do not add -Werror even for live ebuilds
- sed '/WARNING_OPTIONS/s@-Werror@@' \
- -i config-scripts/cups-compiler.m4 || die
-
- AT_M4DIR=config-scripts eaclocal
- eautoconf
-
- # custom Makefiles
+ # Custom Makefiles
multilib_copy_sources
}
multilib_src_configure() {
export DSOFLAGS="${LDFLAGS}"
- einfo LINGUAS=\"${LINGUAS}\"
-
- # explicitly specify compiler wrt bug 524340
+ # Explicitly specify compiler wrt bug #524340
#
- # need to override KRB5CONFIG for proper flags
+ # Need to override KRB5CONFIG for proper flags
# https://github.com/apple/cups/issues/4423
local myeconfargs=(
CC="$(tc-getCC)"
@@ -158,12 +136,21 @@ multilib_src_configure() {
KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config
--libdir="${EPREFIX}"/usr/$(get_libdir)
--localstatedir="${EPREFIX}"/var
+ # Follow Fedora permission setting
+ --with-cupsd-file-perm=0755
--with-exe-file-perm=755
+ --with-log-file-perm=0640
+ # Used by Debian, also prevents printers from getting
+ # disabled and users not knowing how to re-enable them
+ --with-error-policy=retry-job
+ # Used in Debian and Fedora
+ --enable-sync-on-close
+ #
--with-rundir="${EPREFIX}"/run/cups
+ --with-pkgconfpath="${EPREFIX}"/usr/$(get_libdir)/pkgconfig
--with-cups-user=lp
--with-cups-group=lp
--with-docdir="${EPREFIX}"/usr/share/cups/html
- --with-languages="${LINGUAS}"
--with-system-groups=lpadmin
--with-xinetd="${EPREFIX}"/etc/xinetd.d
$(multilib_native_use_enable acl)
@@ -174,30 +161,40 @@ multilib_src_configure() {
$(use_enable kerberos gssapi)
$(multilib_native_use_enable pam)
$(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable ssl gnutls)
- $(use_enable systemd)
+ $(use_enable test unit-tests)
+ # USE="ssl" => gnutls
+ # USE="ssl openssl" => openssl
+ $(use_with ssl tls $(usex openssl openssl gnutls))
+ $(use_with systemd ondemand systemd)
$(multilib_native_use_enable usb libusb)
- $(use_enable zeroconf avahi)
- --disable-dnssd
+ $(use_with zeroconf dnssd avahi)
$(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper)
)
+ # Handle empty LINGUAS properly, bug #771162
+ if [[ -n "${LINGUAS+x}" ]] ; then
+ myeconfargs+=(
+ --with-languages="${LINGUAS}"
+ )
+ fi
+
if tc-is-static-only; then
myeconfargs+=(
--disable-shared
)
fi
+ # Install in /usr/libexec always, instead of using /usr/lib/cups, as that
+ # makes more sense when facing multilib support.
+ sed -i -e 's:CUPS_SERVERBIN="$exec_prefix/lib/cups":CUPS_SERVERBIN="$exec_prefix/libexec/cups":g' configure ||die
+
econf "${myeconfargs[@]}"
- # install in /usr/libexec always, instead of using /usr/lib/cups, as that
- # makes more sense when facing multilib support.
sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die
sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die
sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die
- # additional path corrections needed for prefix, see bug 597728
+ # Additional path corrections needed for prefix, see bug #597728
sed \
-e "s:ICONDIR.*:ICONDIR = ${EPREFIX}/usr/share/icons:" \
-e "s:INITDIR.*:INITDIR = ${EPREFIX}/etc:" \
@@ -215,6 +212,12 @@ multilib_src_compile() {
}
multilib_src_test() {
+ # Avoid using /tmp
+ export CUPS_TESTBASE="${T}"/cups-tests
+
+ mkdir "${T}"/cups-tests || die
+
+ # We only build some of CUPS for multilib, so can't run the tests.
multilib_is_native_abi && default
}
@@ -230,107 +233,82 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc {CHANGES,CREDITS,README}.md
- # move the default config file to docs
+ # Move the default config file to docs
dodoc "${ED}"/etc/cups/cupsd.conf.default
- rm -f "${ED}"/etc/cups/cupsd.conf.default
+ rm "${ED}"/etc/cups/cupsd.conf.default || die
- # clean out cups init scripts
- rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups}
+ # Clean out cups init scripts
+ rm -r "${ED}"/etc/{init.d/cups,rc*} || die
- # install our init script
+ # Install our init script
local neededservices=(
$(usex zeroconf avahi-daemon '')
$(usex dbus dbus '')
)
[[ -n ${neededservices[@]} ]] && neededservices="need ${neededservices[@]}"
- cp "${FILESDIR}"/cupsd.init.d-r3 "${T}"/cupsd || die
- sed -i \
- -e "s/@neededservices@/${neededservices}/" \
- "${T}"/cupsd || die
+ cp "${FILESDIR}"/cupsd.init.d-r4 "${T}"/cupsd || die
+ sed -i -e "s/@neededservices@/${neededservices}/" "${T}"/cupsd || die
doinitd "${T}"/cupsd
- if use pam; then
+ if use pam ; then
+ rm "${ED}"/etc/pam.d/${PN} || die
pamd_mimic_system cups auth account
fi
if use xinetd ; then
- # correct path
- sed -i \
- -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \
+ # Correct path
+ sed -i -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \
"${ED}"/etc/xinetd.d/cups-lpd || die
- # it is safer to disable this by default, bug #137130
+ # It is safer to disable this by default, bug #137130
grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \
{ sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; }
- # write permission for file owner (root), bug #296221
+ # Write permission for file owner (root), bug #296221
fperms u+w /etc/xinetd.d/cups-lpd
else
- # always configure with --with-xinetd= and clean up later,
+ # Always configure with --with-xinetd= and clean up later,
# bug #525604
- rm -rf "${ED}"/etc/xinetd.d
+ rm -r "${ED}"/etc/xinetd.d || die
fi
- keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \
- /var/log/cups /var/spool/cups/tmp
-
keepdir /etc/cups/{interfaces,ppd,ssl}
if ! use X ; then
rm -r "${ED}"/usr/share/applications || die
fi
- # create /etc/cups/client.conf, bug #196967 and #266678
+ # Create /etc/cups/client.conf, bug #196967 and bug #266678
echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf
- # the following file is now provided by cups-filters:
+ # The following file is now provided by cups-filter:
rm -r "${ED}"/usr/share/cups/banners || die
- # the following are created by the init script
- rm -r "${ED}"/var/cache/cups || die
+ # The following are created by the init script
+ rm -r "${ED}"/var/cache || die
rm -r "${ED}"/run || die
- # for the special case of running lprng and cups together, bug 467226
- if use lprng-compat ; then
- rm -fv "${ED}"/usr/bin/{lp*,cancel}
- rm -fv "${ED}"/usr/sbin/lp*
- rm -fv "${ED}"/usr/share/man/man1/{lp*,cancel*}
- rm -fv "${ED}"/usr/share/man/man8/lp*
- ewarn "Not installing lp... binaries, since the lprng-compat useflag is set."
- ewarn "Unless you plan to install an exotic server setup, you most likely"
- ewarn "do not want this. Disable the useflag then and all will be fine."
- fi
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
+ keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} /var/log/cups /var/spool/cups/tmp
}
pkg_postinst() {
- # Update desktop file database and gtk icon cache (bug 370059)
xdg_pkg_postinst
-
local v
for v in ${REPLACING_VERSIONS}; do
if ! ver_test ${v} -ge 2.2.2-r2 ; then
- echo
ewarn "The cupsd init script switched to using pidfiles. Shutting down"
ewarn "cupsd will fail the next time. To fix this, please run once as root"
ewarn " killall cupsd ; /etc/init.d/cupsd zap ; /etc/init.d/cupsd start"
- echo
break
fi
done
for v in ${REPLACING_VERSIONS}; do
- echo
+ elog
elog "For information about installing a printer and general cups setup"
elog "take a look at: https://wiki.gentoo.org/wiki/Printing"
- echo
break
done
-}
-pkg_postrm() {
- # Update desktop file database and gtk icon cache (bug 370059)
- xdg_pkg_postrm
+ optfeature_header "CUPS may need installing the following for certain features to work:"
+ use zeroconf && optfeature "local hostname resolution using a hostname.local naming scheme" sys-auth/nss-mdns
}
diff --git a/net-print/cups/cups-9999.ebuild b/net-print/cups/cups-9999.ebuild
index af141c8f5d36..8583dd21407e 100644
--- a/net-print/cups/cups-9999.ebuild
+++ b/net-print/cups/cups-9999.ebuild
@@ -1,25 +1,23 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools flag-o-matic linux-info xdg multilib-minimal pam systemd toolchain-funcs
+inherit autotools linux-info xdg multilib-minimal optfeature pam toolchain-funcs
MY_PV="${PV/_beta/b}"
MY_PV="${MY_PV/_rc/rc}"
MY_PV="${MY_PV/_p/op}"
MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *9999 ]]; then
+if [[ ${PV} == *9999 ]] ; then
inherit git-r3
-# EGIT_REPO_URI="https://github.com/apple/cups.git"
EGIT_REPO_URI="https://github.com/OpenPrinting/cups.git"
[[ ${PV} != 9999 ]] && EGIT_BRANCH=branch-${PV/.9999}
else
-# SRC_URI="https://github.com/apple/cups/releases/download/v${MY_PV}/${MY_P}-source.tar.gz"
SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz"
- if [[ "${PV}" != *_beta* ]] && [[ "${PV}" != *_rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+ if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
fi
@@ -28,11 +26,11 @@ HOMEPAGE="https://www.cups.org/ https://github.com/OpenPrinting/cups"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="acl dbus debug kerberos pam selinux +ssl static-libs systemd +threads usb X xinetd zeroconf"
+IUSE="acl dbus debug kerberos openssl pam selinux +ssl static-libs systemd test usb X xinetd zeroconf"
-REQUIRED_USE="usb? ( threads )"
-# upstream includes an interactive test which is a nono for gentoo
-RESTRICT="test"
+# As of 2.4.2, they don't actually seem to be interactive (they pass some flags
+# by default to input for us), but they fail on some greyscale issue w/ poppler?
+RESTRICT="!test? ( test ) test"
BDEPEND="
acct-group/lp
@@ -52,12 +50,15 @@ DEPEND="
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
pam? ( sys-libs/pam )
!pam? ( virtual/libcrypt:= )
- ssl? ( >=net-libs/gnutls-2.12.23-r6:0=[${MULTILIB_USEDEP}] )
+ ssl? (
+ !openssl? ( >=net-libs/gnutls-2.12.23-r6:0=[${MULTILIB_USEDEP}] )
+ openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+ )
systemd? ( sys-apps/systemd )
usb? ( virtual/libusb:1 )
X? ( x11-misc/xdg-utils )
xinetd? ( sys-apps/xinetd )
- zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
+ zeroconf? ( >=net-dns/avahi-0.6.31-r2[dbus,${MULTILIB_USEDEP}] )
"
RDEPEND="${DEPEND}
acct-group/lp
@@ -67,8 +68,9 @@ RDEPEND="${DEPEND}
PDEPEND=">=net-print/cups-filters-1.0.43"
PATCHES=(
- "${FILESDIR}/${PN}-2.2.6-fix-install-perms.patch"
- "${FILESDIR}/${PN}-1.4.4-nostrip.patch"
+ "${FILESDIR}/${PN}-2.4.1-nostrip.patch"
+ "${FILESDIR}/${PN}-2.4.1-user-AR.patch"
+ "${FILESDIR}/${PN}-2.4.2-no-fortify-override.patch"
)
MULTILIB_CHOST_TOOLS=(
@@ -84,7 +86,7 @@ pkg_setup() {
ewarn "Can't check the linux kernel configuration."
ewarn "You might have some incompatible options enabled."
else
- # recheck that we don't have usblp to collide with libusb; this should now work in most cases (bug 501122)
+ # Recheck that we don't have usblp to collide with libusb; this should now work in most cases (bug #501122)
if use usb; then
if linux_chkconfig_present USB_PRINTER; then
elog "Your USB printers will be managed via libusb. In case you run into problems, "
@@ -93,7 +95,6 @@ pkg_setup() {
elog "Alternatively, just disable the usb useflag for cups (your printer will still work)."
fi
else
- #here we should warn user that he should enable it so he can print
if ! linux_chkconfig_present USB_PRINTER; then
ewarn "If you plan to use USB printers you should enable the USB_PRINTER"
ewarn "support in your kernel."
@@ -113,31 +114,21 @@ pkg_setup() {
src_prepare() {
default
- # Remove ".SILENT" rule for verbose output (bug 524338).
+ # Remove ".SILENT" rule for verbose output (bug #524338).
sed 's#^.SILENT:##g' -i Makedefs.in || die
- # Fix install-sh, posix sh does not have 'function'.
- sed 's#function gzipcp#gzipcp()#g' -i install-sh || die
-
- # Do not add -Werror even for live ebuilds
- sed '/WARNING_OPTIONS/s@-Werror@@' \
- -i config-scripts/cups-compiler.m4 || die
-
- AT_M4DIR=config-scripts eaclocal
- eautoconf
+ AT_M4DIR="config-scripts" eautoreconf
- # custom Makefiles
+ # Custom Makefiles
multilib_copy_sources
}
multilib_src_configure() {
export DSOFLAGS="${LDFLAGS}"
- einfo LINGUAS=\"${LINGUAS}\"
-
- # explicitly specify compiler wrt bug 524340
+ # Explicitly specify compiler wrt bug #524340
#
- # need to override KRB5CONFIG for proper flags
+ # Need to override KRB5CONFIG for proper flags
# https://github.com/apple/cups/issues/4423
local myeconfargs=(
CC="$(tc-getCC)"
@@ -145,12 +136,21 @@ multilib_src_configure() {
KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config
--libdir="${EPREFIX}"/usr/$(get_libdir)
--localstatedir="${EPREFIX}"/var
+ # Follow Fedora permission setting
+ --with-cupsd-file-perm=0755
--with-exe-file-perm=755
+ --with-log-file-perm=0640
+ # Used by Debian, also prevents printers from getting
+ # disabled and users not knowing how to re-enable them
+ --with-error-policy=retry-job
+ # Used in Debian and Fedora
+ --enable-sync-on-close
+ #
--with-rundir="${EPREFIX}"/run/cups
+ --with-pkgconfpath="${EPREFIX}"/usr/$(get_libdir)/pkgconfig
--with-cups-user=lp
--with-cups-group=lp
--with-docdir="${EPREFIX}"/usr/share/cups/html
- --with-languages="${LINGUAS}"
--with-system-groups=lpadmin
--with-xinetd="${EPREFIX}"/etc/xinetd.d
$(multilib_native_use_enable acl)
@@ -161,30 +161,40 @@ multilib_src_configure() {
$(use_enable kerberos gssapi)
$(multilib_native_use_enable pam)
$(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable ssl gnutls)
- $(use_enable systemd)
+ $(use_enable test unit-tests)
+ # USE="ssl" => gnutls
+ # USE="ssl openssl" => openssl
+ $(use_with ssl tls $(usex openssl openssl gnutls))
+ $(use_with systemd ondemand systemd)
$(multilib_native_use_enable usb libusb)
- $(use_enable zeroconf avahi)
- --disable-dnssd
+ $(use_with zeroconf dnssd avahi)
$(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper)
)
+ # Handle empty LINGUAS properly, bug #771162
+ if [[ -n "${LINGUAS+x}" ]] ; then
+ myeconfargs+=(
+ --with-languages="${LINGUAS}"
+ )
+ fi
+
if tc-is-static-only; then
myeconfargs+=(
--disable-shared
)
fi
+ # Install in /usr/libexec always, instead of using /usr/lib/cups, as that
+ # makes more sense when facing multilib support.
+ sed -i -e 's:CUPS_SERVERBIN="$exec_prefix/lib/cups":CUPS_SERVERBIN="$exec_prefix/libexec/cups":g' configure ||die
+
econf "${myeconfargs[@]}"
- # install in /usr/libexec always, instead of using /usr/lib/cups, as that
- # makes more sense when facing multilib support.
sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die
sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die
sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die
- # additional path corrections needed for prefix, see bug 597728
+ # Additional path corrections needed for prefix, see bug #597728
sed \
-e "s:ICONDIR.*:ICONDIR = ${EPREFIX}/usr/share/icons:" \
-e "s:INITDIR.*:INITDIR = ${EPREFIX}/etc:" \
@@ -202,6 +212,12 @@ multilib_src_compile() {
}
multilib_src_test() {
+ # Avoid using /tmp
+ export CUPS_TESTBASE="${T}"/cups-tests
+
+ mkdir "${T}"/cups-tests || die
+
+ # We only build some of CUPS for multilib, so can't run the tests.
multilib_is_native_abi && default
}
@@ -217,70 +233,64 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc {CHANGES,CREDITS,README}.md
- # move the default config file to docs
+ # Move the default config file to docs
dodoc "${ED}"/etc/cups/cupsd.conf.default
rm "${ED}"/etc/cups/cupsd.conf.default || die
- # clean out cups init scripts
- rm -r "${ED}"/etc/{init.d/cups,rc*,pam.d/cups} || die
+ # Clean out cups init scripts
+ rm -r "${ED}"/etc/{init.d/cups,rc*} || die
- # install our init script
+ # Install our init script
local neededservices=(
$(usex zeroconf avahi-daemon '')
$(usex dbus dbus '')
)
[[ -n ${neededservices[@]} ]] && neededservices="need ${neededservices[@]}"
- cp "${FILESDIR}"/cupsd.init.d-r3 "${T}"/cupsd || die
+ cp "${FILESDIR}"/cupsd.init.d-r4 "${T}"/cupsd || die
sed -i -e "s/@neededservices@/${neededservices}/" "${T}"/cupsd || die
doinitd "${T}"/cupsd
- if use pam; then
+ if use pam ; then
+ rm "${ED}"/etc/pam.d/${PN} || die
pamd_mimic_system cups auth account
fi
if use xinetd ; then
- # correct path
+ # Correct path
sed -i -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \
"${ED}"/etc/xinetd.d/cups-lpd || die
- # it is safer to disable this by default, bug #137130
+ # It is safer to disable this by default, bug #137130
grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \
{ sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; }
- # write permission for file owner (root), bug #296221
+ # Write permission for file owner (root), bug #296221
fperms u+w /etc/xinetd.d/cups-lpd
else
- # always configure with --with-xinetd= and clean up later,
+ # Always configure with --with-xinetd= and clean up later,
# bug #525604
rm -r "${ED}"/etc/xinetd.d || die
fi
- keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \
- /var/cache/cups /var/log/cups /var/spool/cups/tmp
-
keepdir /etc/cups/{interfaces,ppd,ssl}
if ! use X ; then
rm -r "${ED}"/usr/share/applications || die
fi
- # create /etc/cups/client.conf, bug #196967 and #266678
+ # Create /etc/cups/client.conf, bug #196967 and bug #266678
echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf
- # the following file is now provided by cups-filters:
+ # The following file is now provided by cups-filter:
rm -r "${ED}"/usr/share/cups/banners || die
- # the following are created by the init script
- rm -r "${ED}"/var/cache/cups || die
+ # The following are created by the init script
+ rm -r "${ED}"/var/cache || die
rm -r "${ED}"/run || die
-}
-pkg_preinst() {
- xdg_pkg_preinst
+ keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} /var/log/cups /var/spool/cups/tmp
}
pkg_postinst() {
- # Update desktop file database and gtk icon cache (bug 370059)
xdg_pkg_postinst
-
local v
for v in ${REPLACING_VERSIONS}; do
@@ -298,9 +308,7 @@ pkg_postinst() {
elog "take a look at: https://wiki.gentoo.org/wiki/Printing"
break
done
-}
-pkg_postrm() {
- # Update desktop file database and gtk icon cache (bug 370059)
- xdg_pkg_postrm
+ optfeature_header "CUPS may need installing the following for certain features to work:"
+ use zeroconf && optfeature "local hostname resolution using a hostname.local naming scheme" sys-auth/nss-mdns
}
diff --git a/net-print/cups/files/0001-Fix-some-web-interface-issues.patch b/net-print/cups/files/0001-Fix-some-web-interface-issues.patch
new file mode 100644
index 000000000000..d2a8ec19429d
--- /dev/null
+++ b/net-print/cups/files/0001-Fix-some-web-interface-issues.patch
@@ -0,0 +1,667 @@
+diff -up cups-2.4.1/doc/cups.css.css-issues cups-2.4.1/doc/cups.css
+--- cups-2.4.1/doc/cups.css.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/cups.css 2022-03-08 13:55:16.075624812 +0100
+@@ -1,5 +1,5 @@
+ /* Layout CSS */
+-.header {
++.cups-header {
+ background: rgba(46,46,46,.9);
+ box-shadow: 0 2px 5px rgba(0,0,0,0.25);
+ color: white;
+@@ -11,7 +11,7 @@
+ top: 0;
+ width: 100%;
+ }
+-.header ul {
++.cups-header ul {
+ list-style: none;
+ margin: 0;
+ -webkit-margin-before: 0;
+@@ -20,37 +20,37 @@
+ -webkit-margin-end: 5px;
+ -webkit-padding-start: 0;
+ }
+-.header ul li {
++.cups-header ul li {
+ float: left;
+ }
+-.header a {
++.cups-header a {
+ display: block;
+ padding: 5px 10px !important;
+ }
+-.header a:link, .header a:visited {
++.cups-header a:link, .cups-header a:visited {
+ color: white !important;
+ text-decoration: none !important;
+ }
+-.header a:hover {
++.cups-header a:hover {
+ background: #cccccc !important;
+ color: #333333 !important;
+ text-decoration: none !important;
+ }
+-.header a.active {
++.cups-header a.active {
+ background: white !important;
+ box-shadow: rgba(0,0,0,0.1) 0 0 10px 0 inset;
+ color: black !important;
+ text-decoration: none !important;
+ }
+
+-.body {
++.cups-body {
+ padding: 40px 20px;
+ }
+-.row .body {
++.row .cups-body {
+ padding: 0;
+ }
+
+-.footer {
++.cups-footer {
+ background: rgba(46,46,46,.9);
+ bottom: 0;
+ box-shadow: 0 -2px 5px rgba(0,0,0,0.25);
+@@ -62,7 +62,7 @@
+ position: fixed;
+ width: 100%;
+ }
+-.footer a:link, footer a:hover, .footer a:visited {
++.cups-footer a:link, footer a:hover, .cups-footer a:visited {
+ color: white !important;
+ text-decoration: none !important;
+ }
+@@ -131,6 +131,7 @@ pre {
+ }
+
+ blockquote {
++ background: rgba(191,191,191,0.1);
+ border-left: solid 2px #777;
+ margin: 1em 0;
+ padding: 10px;
+@@ -207,7 +208,7 @@ table.page {
+ width: 100%;
+ }
+
+-td.body {
++td.cups-body {
+ height: 100%;
+ vertical-align: top;
+ }
+@@ -365,7 +366,7 @@ h1.title {
+ display: none;
+ }
+
+-h2.title, h3.title, .row .body h2, .row .body h3 {
++h2.title, h3.title, .row .cups-body h2, .row .cups-body h3 {
+ border-bottom: solid 2pt black;
+ }
+
+@@ -451,8 +452,8 @@ div.sidebar p.l2 {
+ }
+
+ table.inset {
+- background: rgba(191,191,191,0.15);
+- border: thin solid rgba(191,191,191,0.3);
++ background: #f4f4f4;
++ border: thin solid rgba(191,191,191,0.5);
+ margin-top: 1em;
+ padding: 0;
+ width: 100%;
+@@ -471,7 +472,7 @@ table.inset caption {
+ }
+
+ table.inset td {
+- padding: 2px;
++ padding: 2px 5px;
+ }
+
+ dt {
+@@ -525,15 +526,15 @@ div.tab {
+ }
+
+ /* API documentation styles... */
+-div.body h1 {
++div.cups-body h1 {
+ }
+-div.body h2 {
++div.cups-body h2 {
+ }
+-div.body h3 {
++div.cups-body h3 {
+ }
+-div.body h4 {
++div.cups-body h4 {
+ }
+-div.body h5 {
++div.cups-body h5 {
+ }
+ div.contents {
+ }
+@@ -589,9 +590,14 @@ h1, h2, h3, h4, h5, h6 {
+ blockquote {
+ page-break-inside: avoid;
+ }
+-p code, li code, p.code, pre, ul.code li {
+- background: rgba(127,127,127,0.1);
++p.code, pre, ul.code li {
+ border-left: thin dotted gray;
++ background: rgba(191,191,191,0.1);
++}
++p code, li code {
++ background: rgba(191,191,191,0.3);
++}
++p code, li code, p.code, pre, ul.code li {
+ font-family: monospace;
+ hyphens: manual;
+ margin: 18pt 0;
+@@ -644,19 +650,19 @@ ul.contents li ul.code, ul.contents li u
+ display: none;
+ }
+
+- .header {
++ .cups-header {
+ margin: 0;
+ position: relative;
+ }
+- .header ul li {
++ .cups-header ul li {
+ float: none;
+ }
+
+- .body {
++ .cups-body {
+ padding: 0;
+ }
+
+- .footer {
++ .cups-footer {
+ font-size: 10px;
+ height: auto;
+ position: relative;
+@@ -715,6 +721,12 @@ ul.contents li ul.code, ul.contents li u
+ hr {
+ color: #666;
+ }
++ table.inset {
++ background: #1d1d1d;
++ }
++ h2.title, h3.title, .row .cups-body h2, .row .cups-body h3 {
++ border-bottom: solid 2pt #ccc;
++ }
+ div.table table td, table.list th {
+ background: black;
+ }
+diff -up cups-2.4.1/doc/da/index.html.in.css-issues cups-2.4.1/doc/da/index.html.in
+--- cups-2.4.1/doc/da/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/da/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>Hjem - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">Hjem</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">Printere</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>CUPS @CUPS_VERSION@</h1>
+ <p>CUPS er det standardbaseret, open source-udskrivningssystem som er udviklet af <a class="jumbolink" href="https://openprinting.github.io/" target="_blank">OpenPrinting</a> til Linux® og andre UNIX<sup>&reg;</sup>-lignende styresystemer. CUPS uses <a href="https://www.pwg.org/ipp/everywhere.html" target="_blank">IPP Everywhere™</a> to support printing to local and network printers</p>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer">Ophavsret &copy; 2021-2022 OpenPrinting. Alle rettigheder forbeholdt.</div>
++ <div class="cups-footer">Ophavsret &copy; 2021-2022 OpenPrinting. Alle rettigheder forbeholdt.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/doc/de/index.html.in.css-issues cups-2.4.1/doc/de/index.html.in
+--- cups-2.4.1/doc/de/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/de/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>Startseite - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">Startseite</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">Drucker</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>OpenPrinting CUPS @CUPS_VERSION@</h1>
+ <p>CUPS basiert auf Standards, Open Source Drucksystem entwickelt durch <a class="jumbolink" href="https://openprinting.github.io/" target="_blank">OpenPrinting</a> für Linux® und andere UNIX®-artige Betriebssysteme. CUPS benutzt <a href="https://www.pwg.org/ipp/everywhere.html" target="_blank">IPP Everywhere™</a> zur Unterstützung lokaler und Netzwerkdrucker.</p>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Alle Rechte vorbehalten.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. Alle Rechte vorbehalten.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/doc/es/index.html.in.css-issues cups-2.4.1/doc/es/index.html.in
+--- cups-2.4.1/doc/es/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/es/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>Inicio - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">Inicio</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">Impresoras</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>CUPS @CUPS_VERSION@</h1>
+ <p>CUPS es el sistema de impresi&oacute;n de c&oacute;digo abierto basado en est&aacute;ndares desarrollado por <a class="jumbolink" href="https://openprinting.github.io/" target="_blank">OpenPrinting</a> para macOS<sup>&reg;</sup> y otros sistemas operativos tipo UNIX<sup>&reg;</sup>. CUPS uses <a href="https://www.pwg.org/ipp/everywhere.html" target="_blank">IPP Everywhere™</a> to support printing to local and network printers.</p>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer">Derechos de autor &copy; 2021-2022 OpenPrinting. Todos los derechos reservados.</div>
++ <div class="cups-footer">Derechos de autor &copy; 2021-2022 OpenPrinting. Todos los derechos reservados.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/doc/fr/index.html.in.css-issues cups-2.4.1/doc/fr/index.html.in
+--- cups-2.4.1/doc/fr/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/fr/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>Home - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">Home</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">Imprimantes</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>OpenPrinting CUPS @CUPS_VERSION@</h1>
+ <p>Le système d'impression open source basé sur des normes, développé par <a class="jumbolink" href="https://openprinting.github.io/" target="_blank">OpenPrinting</a> for Linux® and other Unix®-like operating systems. CUPS uses <a href="https://www.pwg.org/ipp/everywhere.html" target="_blank">IPP Everywhere™</a> pour prendre en charge l'impression vers des imprimantes locales et de réseau.</p>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/doc/index.html.in.css-issues cups-2.4.1/doc/index.html.in
+--- cups-2.4.1/doc/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>Home - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">Home</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">Printers</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>OpenPrinting CUPS @CUPS_VERSION@</h1>
+ <p>The standards-based, open source printing system developed by <a class="jumbolink" href="https://openprinting.github.io/" target="_blank">OpenPrinting</a> for Linux® and other Unix®-like operating systems. CUPS uses <a href="https://www.pwg.org/ipp/everywhere.html" target="_blank">IPP Everywhere™</a> to support printing to local and network printers.</p>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/doc/ja/index.html.in.css-issues cups-2.4.1/doc/ja/index.html.in
+--- cups-2.4.1/doc/ja/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/ja/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>ホーム - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">ホーム</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">プリンター</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>CUPS @CUPS_VERSION@</h1>
+ <p>CUPS は、macOS<sup>&reg;</sup> およびその他の UNIX <SUP>&reg;</sup> 系 OS のために、<a href="http://www.apple.com/">Apple Inc.</a> によって開発された標準ベースのオープンソース印刷システムです。</p>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/doc/pt_BR/index.html.in.css-issues cups-2.4.1/doc/pt_BR/index.html.in
+--- cups-2.4.1/doc/pt_BR/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/pt_BR/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>In&iacute;cio - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">In&iacute;cio</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">Impressoras</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>CUPS @CUPS_VERSION@</h1>
+ <p>CUPS &eacute; o sistema de impress&atilde;o baseado em padr&otilde;es e de c&oacute;digo aberto desenvolvido pela <a class="jumbolink" href="https://openprinting.github.io/" target="_blank">OpenPrinting</a> para Linux® e outros sistemas operacionais similares ao UNIX<sup>&reg;</sup>. CUPS uses <a href="https://www.pwg.org/ipp/everywhere.html" target="_blank">IPP Everywhere™</a> to support printing to local and network printers.</p>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Todos os direitos reservados.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. Todos os direitos reservados.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/doc/ru/index.html.in.css-issues cups-2.4.1/doc/ru/index.html.in
+--- cups-2.4.1/doc/ru/index.html.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/doc/ru/index.html.in 2022-03-08 13:55:16.075624812 +0100
+@@ -10,7 +10,7 @@
+ <title>Home - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body>
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a class="active" href="/">Начало</a></li>
+@@ -21,7 +21,7 @@
+ <li><a href="/printers/">Принтеры</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>OpenPrinting CUPS @CUPS_VERSION@</h1>
+ <P>CUPS — поддерживающая большинство стандартов, свободная подсистема печати, разрабатываемая компанией <a class="jumbolink" href="https://openprinting.github.io/" target="_blank">OpenPrinting</a> для операционной системы Linux® и других UNIX<SUP>&reg;</SUP>-подобных операционных систем. CUPS uses <a href="https://www.pwg.org/ipp/everywhere.html" target="_blank">IPP Everywhere™</a> to support printing to local and network printers</P>
+@@ -47,6 +47,6 @@
+ </div>
+ </div>
+ </div>
+- <div class="footer"> Авторские права на CUPS принадлежат (2021) компании OpenPrinting Все права защищены.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. All Rights Reserved.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/da/header.tmpl.in.css-issues cups-2.4.1/templates/da/header.tmpl.in
+--- cups-2.4.1/templates/da/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/da/header.tmpl.in 2022-03-08 13:55:16.075624812 +0100
+@@ -27,7 +27,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">Hjem</a></li>
+@@ -38,6 +38,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Printere</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/da/trailer.tmpl.css-issues cups-2.4.1/templates/da/trailer.tmpl
+--- cups-2.4.1/templates/da/trailer.tmpl.css-issues 2022-03-08 13:55:16.076624818 +0100
++++ cups-2.4.1/templates/da/trailer.tmpl 2022-03-08 13:56:03.419892000 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Ophavsret &copy; 2021-2022 OpenPrinting. Alle rettigheder forbeholdt.</div>
++ <div class="cups-footer">Ophavsret &copy; 2021-2022 OpenPrinting. Alle rettigheder forbeholdt.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/de/header.tmpl.in.css-issues cups-2.4.1/templates/de/header.tmpl.in
+--- cups-2.4.1/templates/de/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/de/header.tmpl.in 2022-03-08 13:55:16.076624818 +0100
+@@ -27,7 +27,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">Startseite</a></li>
+@@ -38,6 +38,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Drucker</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/de/trailer.tmpl.css-issues cups-2.4.1/templates/de/trailer.tmpl
+--- cups-2.4.1/templates/de/trailer.tmpl.css-issues 2022-03-08 13:55:16.076624818 +0100
++++ cups-2.4.1/templates/de/trailer.tmpl 2022-03-08 13:56:14.892956747 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Alle Rechte vorbehalten.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. Alle Rechte vorbehalten.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/es/header.tmpl.in.css-issues cups-2.4.1/templates/es/header.tmpl.in
+--- cups-2.4.1/templates/es/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/es/header.tmpl.in 2022-03-08 13:55:16.076624818 +0100
+@@ -27,7 +27,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">Inicio</a></li>
+@@ -38,6 +38,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Impresoras</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/es/trailer.tmpl.css-issues cups-2.4.1/templates/es/trailer.tmpl
+--- cups-2.4.1/templates/es/trailer.tmpl.css-issues 2022-03-08 13:55:16.076624818 +0100
++++ cups-2.4.1/templates/es/trailer.tmpl 2022-03-08 13:56:29.420038731 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Derechos de autor &copy; 2021-2022 OpenPrinting. Todos los derechos reservados.</div>
++ <div class="cups-footer">Derechos de autor &copy; 2021-2022 OpenPrinting. Todos los derechos reservados.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/fr/header.tmpl.in.css-issues cups-2.4.1/templates/fr/header.tmpl.in
+--- cups-2.4.1/templates/fr/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/fr/header.tmpl.in 2022-03-08 13:55:16.076624818 +0100
+@@ -27,7 +27,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">Home</a></li>
+@@ -38,6 +38,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Imprimantes</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/fr/trailer.tmpl.css-issues cups-2.4.1/templates/fr/trailer.tmpl
+--- cups-2.4.1/templates/fr/trailer.tmpl.css-issues 2022-03-08 13:55:16.076624818 +0100
++++ cups-2.4.1/templates/fr/trailer.tmpl 2022-03-08 13:56:40.341100363 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Tous droits r&eacute;serv&eacute;s.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. Tous droits r&eacute;serv&eacute;s.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/header.tmpl.in.css-issues cups-2.4.1/templates/header.tmpl.in
+--- cups-2.4.1/templates/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/header.tmpl.in 2022-03-08 13:55:16.076624818 +0100
+@@ -27,7 +27,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">Home</a></li>
+@@ -38,6 +38,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Printers</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/ja/header.tmpl.in.css-issues cups-2.4.1/templates/ja/header.tmpl.in
+--- cups-2.4.1/templates/ja/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/ja/header.tmpl.in 2022-03-08 13:55:16.076624818 +0100
+@@ -19,7 +19,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">ホーム</a></li>
+@@ -30,6 +30,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">プリンター</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/ja/trailer.tmpl.css-issues cups-2.4.1/templates/ja/trailer.tmpl
+--- cups-2.4.1/templates/ja/trailer.tmpl.css-issues 2022-03-08 13:55:16.077624823 +0100
++++ cups-2.4.1/templates/ja/trailer.tmpl 2022-03-08 13:56:55.101183659 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/pt_BR/header.tmpl.in.css-issues cups-2.4.1/templates/pt_BR/header.tmpl.in
+--- cups-2.4.1/templates/pt_BR/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/pt_BR/header.tmpl.in 2022-03-08 13:55:16.077624823 +0100
+@@ -27,7 +27,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">In&iacute;cio</a></li>
+@@ -38,6 +38,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Impressoras</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/pt_BR/trailer.tmpl.css-issues cups-2.4.1/templates/pt_BR/trailer.tmpl
+--- cups-2.4.1/templates/pt_BR/trailer.tmpl.css-issues 2022-03-08 13:55:16.077624823 +0100
++++ cups-2.4.1/templates/pt_BR/trailer.tmpl 2022-03-08 13:57:11.349275354 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Todos os direitos reservados.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. Todos os direitos reservados.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/ru/header.tmpl.in.css-issues cups-2.4.1/templates/ru/header.tmpl.in
+--- cups-2.4.1/templates/ru/header.tmpl.in.css-issues 2022-01-27 12:11:42.000000000 +0100
++++ cups-2.4.1/templates/ru/header.tmpl.in 2022-03-08 13:55:16.077624823 +0100
+@@ -27,7 +27,7 @@
+ <title>{title} - CUPS @CUPS_VERSION@</title>
+ </head>
+ <body onload="check_cookies();">
+- <div class="header">
++ <div class="cups-header">
+ <ul>
+ <li><a href="https://openprinting.github.io/cups/" target="_blank">OpenPrinting CUPS</a></li>
+ <li><a href="/">Начало</a></li>
+@@ -38,6 +38,6 @@
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Принтеры</a></li>
+ </ul>
+ </div>
+- <div class="body">
++ <div class="cups-body">
+ <div class="row">
+ <h1>{title}</h1>
+diff -up cups-2.4.1/templates/ru/trailer.tmpl.css-issues cups-2.4.1/templates/ru/trailer.tmpl
+--- cups-2.4.1/templates/ru/trailer.tmpl.css-issues 2022-03-08 13:55:16.077624823 +0100
++++ cups-2.4.1/templates/ru/trailer.tmpl 2022-03-08 13:57:25.262353870 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Все права защищены.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. Все права защищены.</div>
+ </body>
+ </html>
+diff -up cups-2.4.1/templates/trailer.tmpl.css-issues cups-2.4.1/templates/trailer.tmpl
+--- cups-2.4.1/templates/trailer.tmpl.css-issues 2022-03-08 13:55:16.073624801 +0100
++++ cups-2.4.1/templates/trailer.tmpl 2022-03-08 13:55:16.077624823 +0100
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
++ <div class="cups-footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
+ </body>
+ </html>
diff --git a/net-print/cups/files/0001-Footer-message-corrected.patch b/net-print/cups/files/0001-Footer-message-corrected.patch
new file mode 100644
index 000000000000..b2a2074c70d1
--- /dev/null
+++ b/net-print/cups/files/0001-Footer-message-corrected.patch
@@ -0,0 +1,89 @@
+diff --git a/templates/da/trailer.tmpl b/templates/da/trailer.tmpl
+index aede375..d448d7e 100644
+--- a/templates/da/trailer.tmpl
++++ b/templates/da/trailer.tmpl
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS og CUPS-logoet er varemærker som tilhører <a href="http://www.apple.com">Apple Inc.</a> Ophavsret &copy; 2007-2019 Apple Inc. Alle rettigheder forbeholdt.</div>
++ <div class="footer">Ophavsret &copy; 2021-2022 OpenPrinting. Alle rettigheder forbeholdt.</div>
+ </body>
+ </html>
+diff --git a/templates/de/trailer.tmpl b/templates/de/trailer.tmpl
+index c1f5d38..cf3caca 100644
+--- a/templates/de/trailer.tmpl
++++ b/templates/de/trailer.tmpl
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS und das CUPS-Logo sind Warenzeichen der <a href="https://www.apple.com/">Apple Inc.</a> Copyright &copy; 2007-2019 Apple Inc. Alle Rechte vorbehalten.</div>
++ <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Alle Rechte vorbehalten.</div>
+ </body>
+ </html>
+diff --git a/templates/es/trailer.tmpl b/templates/es/trailer.tmpl
+index c1cb58f..9b9047e 100644
+--- a/templates/es/trailer.tmpl
++++ b/templates/es/trailer.tmpl
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS y el logo de CUPS son marcas registradas de <a href="http://www.apple.com">Apple Inc.</a> Derechos de autor &copy; 2007-2019 Apple Inc. Todos los derechos reservados.</div>
++ <div class="footer">Derechos de autor &copy; 2021-2022 OpenPrinting. Todos los derechos reservados.</div>
+ </body>
+ </html>
+diff --git a/templates/fr/trailer.tmpl b/templates/fr/trailer.tmpl
+index 6e9b8b1..9628176 100644
+--- a/templates/fr/trailer.tmpl
++++ b/templates/fr/trailer.tmpl
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS et le logo CUPS sont des marques d&eacute;pos&eacute;es de <a href="http://www.apple.com">Apple Inc.</a> CUPS est sous copyright 2007-2019 Apple Inc. Tous droits r&eacute;serv&eacute;s.</div>
++ <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Tous droits r&eacute;serv&eacute;s.</div>
+ </body>
+ </html>
+diff --git a/templates/ja/trailer.tmpl b/templates/ja/trailer.tmpl
+index a4f86b1..240c56b 100644
+--- a/templates/ja/trailer.tmpl
++++ b/templates/ja/trailer.tmpl
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS and the CUPS logo are trademarks of <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2019 Apple Inc. All rights reserved.</div>
++ <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
+ </body>
+ </html>
+diff --git a/templates/pt_BR/trailer.tmpl b/templates/pt_BR/trailer.tmpl
+index 673a555..774bc1d 100644
+--- a/templates/pt_BR/trailer.tmpl
++++ b/templates/pt_BR/trailer.tmpl
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS e sua logo s&atilde;o marcas registradas da <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2019 Apple Inc. Todos os direitos reservados.</div>
++ <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Todos os direitos reservados.</div>
+ </body>
+ </html>
+diff --git a/templates/ru/trailer.tmpl b/templates/ru/trailer.tmpl
+index 260d0e9..c6ec6e4 100644
+--- a/templates/ru/trailer.tmpl
++++ b/templates/ru/trailer.tmpl
+@@ -1,6 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS, а так же логотип CUPS являются зарегистрированными торговыми марками
+-<A HREF="http://www.apple.com">Apple Inc.</A> Авторские права на CUPS принадлежат (2007-2019) компании Apple Inc. Все права защищены.</div>
++ <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. Все права защищены.</div>
+ </body>
+ </html>
+diff --git a/templates/trailer.tmpl b/templates/trailer.tmpl
+index a4f86b1..240c56b 100644
+--- a/templates/trailer.tmpl
++++ b/templates/trailer.tmpl
+@@ -1,5 +1,5 @@
+ </div>
+ </div>
+- <div class="footer">CUPS and the CUPS logo are trademarks of <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2019 Apple Inc. All rights reserved.</div>
++ <div class="footer">Copyright &copy; 2021-2022 OpenPrinting. All rights reserved.</div>
+ </body>
+ </html>
diff --git a/net-print/cups/files/0001-cups-fix-uninit-value-jump.patch b/net-print/cups/files/0001-cups-fix-uninit-value-jump.patch
new file mode 100644
index 000000000000..79e462e1547d
--- /dev/null
+++ b/net-print/cups/files/0001-cups-fix-uninit-value-jump.patch
@@ -0,0 +1,18 @@
+diff --git a/cups/ppd.c b/cups/ppd.c
+index 525df3592..54368ac4c 100644
+--- a/cups/ppd.c
++++ b/cups/ppd.c
+@@ -3430,12 +3430,12 @@ ppd_update_filters(ppd_file_t *ppd, /* I - PPD file */
+ srctype[256],
+ dstsuper[16], /* Destination MIME media type */
+ dsttype[256],
+- program[1024], /* Command to run */
+ *ptr, /* Pointer into command to run */
+ buffer[1024], /* Re-written cupsFilter value */
+ **filter; /* Current filter */
+ int cost; /* Cost of filter */
+
++ char program[1024] = { 0 }; /* Command to run */
+
+ DEBUG_printf(("4ppd_update_filters(ppd=%p, cg=%p)", ppd, pg));
+
diff --git a/net-print/cups/files/0001-cups-tls-gnutls.c-Use-always-GNUTLS_SHUT_WR.patch b/net-print/cups/files/0001-cups-tls-gnutls.c-Use-always-GNUTLS_SHUT_WR.patch
new file mode 100644
index 000000000000..67e2edcfed67
--- /dev/null
+++ b/net-print/cups/files/0001-cups-tls-gnutls.c-Use-always-GNUTLS_SHUT_WR.patch
@@ -0,0 +1,55 @@
+From bdb1ca45454d90410031c4c2054005a995f76180 Mon Sep 17 00:00:00 2001
+From: Zdenek Dohnal <zdohnal@redhat.com>
+Date: Wed, 6 Apr 2022 15:04:45 +0200
+Subject: [PATCH] cups/tls-gnutls.c: Use always GNUTLS_SHUT_WR
+
+The current mode for `gnutls_bye()` in client use cases strictly
+follows TLS v1.2 standard, which in this particular part says:
+
+```
+Unless some other fatal alert has been transmitted, each party is
+required to send a close_notify alert before closing the write
+side of the connection. The other party MUST respond with a
+close_notify alert of its own and close down the connection immediately,
+discarding any pending writes. It is not required for the initiator
+of the close to wait for the responding close_notify alert before
+closing the read side of the connection.
+```
+
+and waits for the other side of TLS connection to confirm the close.
+
+Unfortunately it can undesired for reasons:
+- we support switching of TLS versions in CUPS, and this mode strictly
+ follows TLS v1.2 - so for older version this behavior is not expected
+ and can cause delays
+- even some TLS v1.2 implementations (like Windows Server 2016) don't
+ comply TLS v1.2 behavior even if it says it does - in that case,
+ encrypted printing takes 30s till HTTP timeout is reached, because the
+ other side didn't send confirmation
+- AFAIU openssl's SSL_shutdown() doesn't make this TLS v1.2 difference,
+ so we could end up with two TLS implementations in CUPS which will
+ behave differently
+
+Since the standard defines that waiting for confirmation is not required
+and due the problems above, I would propose using GNUTLS_SHUT_WR mode
+regardless of HTTP mode.
+---
+ cups/tls-gnutls.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cups/tls-gnutls.c b/cups/tls-gnutls.c
+index c55995b2b..f87b4f4df 100644
+--- a/cups/tls-gnutls.c
++++ b/cups/tls-gnutls.c
+@@ -1667,7 +1667,7 @@ _httpTLSStop(http_t *http) /* I - Connection to server */
+ int error; /* Error code */
+
+
+- error = gnutls_bye(http->tls, http->mode == _HTTP_MODE_CLIENT ? GNUTLS_SHUT_RDWR : GNUTLS_SHUT_WR);
++ error = gnutls_bye(http->tls, GNUTLS_SHUT_WR);
+ if (error != GNUTLS_E_SUCCESS)
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, gnutls_strerror(errno), 0);
+
+--
+2.35.1
+
diff --git a/net-print/cups/files/cups-2.4.1-nostrip.patch b/net-print/cups/files/cups-2.4.1-nostrip.patch
new file mode 100644
index 000000000000..5862ce178255
--- /dev/null
+++ b/net-print/cups/files/cups-2.4.1-nostrip.patch
@@ -0,0 +1,11 @@
+--- a/config-scripts/cups-compiler.m4 2022-01-27 12:11:42.000000000 +0100
++++ b/config-scripts/cups-compiler.m4 2022-05-01 11:24:58.855033882 +0200
+@@ -30,8 +30,6 @@
+ dnl For debugging, keep symbols, otherwise strip them...
+ AS_IF([test x$enable_debug = xyes -a "x$OPTIM" = x], [
+ OPTIM="-g"
+-], [
+- INSTALL_STRIP="-s"
+ ])
+
+ dnl Debug printfs can slow things down, so provide a separate option for that
diff --git a/net-print/cups/files/cups-2.4.1-resolve-uri.patch b/net-print/cups/files/cups-2.4.1-resolve-uri.patch
new file mode 100644
index 000000000000..e138e20dec14
--- /dev/null
+++ b/net-print/cups/files/cups-2.4.1-resolve-uri.patch
@@ -0,0 +1,31 @@
+diff -up cups-2.4.1/scheduler/ipp.c.resolve-uri cups-2.4.1/scheduler/ipp.c
+--- cups-2.4.1/scheduler/ipp.c.resolve-uri 2022-03-04 08:13:13.712346134 +0100
++++ cups-2.4.1/scheduler/ipp.c 2022-03-04 08:17:17.486819820 +0100
+@@ -5271,6 +5271,7 @@ create_local_bg_thread(
+ userpass[256], /* User:pass */
+ host[256], /* Hostname */
+ resource[1024], /* Resource path */
++ uri[1024], /* Resolved URI, if needed */
+ line[1024]; /* Line from PPD */
+ int port; /* Port number */
+ http_encryption_t encryption; /* Type of encryption to use */
+@@ -5292,6 +5293,19 @@ create_local_bg_thread(
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "%s: Generating PPD file from \"%s\"...", printer->name, printer->device_uri);
+
++ if (strstr(printer->device_uri, "._tcp"))
++ {
++ cupsdLogMessage(CUPSD_LOG_DEBUG2, "%s: Resolving mDNS URI \"%s\".", printer->name, printer->device_uri);
++
++ if (!_httpResolveURI(printer->device_uri, uri, sizeof(uri), _HTTP_RESOLVE_DEFAULT, NULL, NULL))
++ {
++ cupsdLogMessage(CUPSD_LOG_ERROR, "%s: Couldn't resolve mDNS URI \"%s\".", printer->name, printer->device_uri);
++ return (NULL);
++ }
++
++ printer->device_uri = uri;
++ }
++
+ if (httpSeparateURI(HTTP_URI_CODING_ALL, printer->device_uri, scheme, sizeof(scheme), userpass, sizeof(userpass), host, sizeof(host), &port, resource, sizeof(resource)) < HTTP_URI_STATUS_OK)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "%s: Bad device URI \"%s\".", printer->name, printer->device_uri);
diff --git a/net-print/cups/files/cups-2.4.1-user-AR.patch b/net-print/cups/files/cups-2.4.1-user-AR.patch
new file mode 100644
index 000000000000..edbecd6ed9fa
--- /dev/null
+++ b/net-print/cups/files/cups-2.4.1-user-AR.patch
@@ -0,0 +1,21 @@
+--- a/config-scripts/cups-common.m4
++++ b/config-scripts/cups-common.m4
+@@ -39,15 +39,15 @@
+ AC_PROG_CPP
+ AC_PROG_CXX
+ AC_PROG_RANLIB
+-AC_PATH_PROG([AR], [ar])
++AC_CHECK_TOOL([AR], [ar])
+ AC_PATH_PROG([CHMOD], [chmod])
+ AC_PATH_PROG([GZIPPROG], [gzip])
+ AC_MSG_CHECKING([for install-sh script])
+ INSTALL="`pwd`/install-sh"
+ AC_SUBST([INSTALL])
+ AC_MSG_RESULT([using $INSTALL])
+-AC_PATH_PROG([LD], [ld])
+-AC_PATH_PROG([LN], [ln])
++AC_CHECK_TOOL([LD], [ld])
++AC_CHECK_TOOL([LN], [ln])
+ AC_PATH_PROG([MKDIR], [mkdir])
+ AC_PATH_PROG([MV], [mv])
+ AC_PATH_PROG([RM], [rm])
diff --git a/net-print/cups/files/cups-2.4.2-no-fortify-override.patch b/net-print/cups/files/cups-2.4.2-no-fortify-override.patch
new file mode 100644
index 000000000000..e9153ce2f082
--- /dev/null
+++ b/net-print/cups/files/cups-2.4.2-no-fortify-override.patch
@@ -0,0 +1,18 @@
+Gentoo already sets -D_FORTIFY_SOURCE=2 by default in GCC (patched in), so
+we need to avoid doing this in packages to avoid redefinition errors if
+we try to upgrade to e.g. =3.
+
+So, no effect on users, but important to stop issues w/ F_S=3.
+--- a/config-scripts/cups-compiler.m4
++++ b/config-scripts/cups-compiler.m4
+@@ -106,8 +106,8 @@ AS_IF([test -n "$GCC"], [
+ ], [
+ # Otherwise use the Fortify enhancements to catch any unbounded
+ # string operations...
+- CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
+- CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2"
++ CFLAGS="$CFLAGS"
++ CXXFLAGS="$CXXFLAGS"
+ ])
+
+ # Default optimization options...
diff --git a/net-print/cups/files/cupsd.init.d-r3 b/net-print/cups/files/cupsd.init.d-r3
deleted file mode 100644
index 2f563e4c7698..000000000000
--- a/net-print/cups/files/cupsd.init.d-r3
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-
-description="The Common Unix Printing System daemon"
-command="/usr/sbin/cupsd"
-command_args="-f -c /etc/cups/cupsd.conf -s /etc/cups/cups-files.conf"
-pidfile="/var/run/cupsd.pid"
-start_stop_daemon_args="-b -m --pidfile ${pidfile}"
-
-depend() {
- use net
- @neededservices@
- before nfs
- after logger
-}
-
-start_pre() {
- checkpath -q -d -m 0775 -o root:lp /var/cache/cups
- checkpath -q -d -m 0775 -o root:lp /var/cache/cups/rss
- checkpath -q -d -m 0755 -o root:lp /run/cups
- checkpath -q -d -m 0511 -o lp:lpadmin /run/cups/certs
-}
diff --git a/net-print/cups/metadata.xml b/net-print/cups/metadata.xml
index ca1df84cc709..d4081ef99041 100644
--- a/net-print/cups/metadata.xml
+++ b/net-print/cups/metadata.xml
@@ -1,17 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>printing@gentoo.org</email>
- <name>Gentoo Printing Project</name>
- </maintainer>
- <use>
- <flag name="lprng-compat">
- Do not install lp... binaries so cups and lprng can coexist.
- </flag>
- </use>
- <upstream>
- <remote-id type="cpe">cpe:/a:apple:cups</remote-id>
- <remote-id type="github">apple/cups</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>printing@gentoo.org</email>
+ <name>Gentoo Printing Project</name>
+ </maintainer>
+ <use>
+ <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> instead of <pkg>net-libs/gnutls</pkg> for TLS support</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:apple:cups</remote-id>
+ <remote-id type="github">OpenPrinting/cups</remote-id>
+ </upstream>
</pkgmetadata>