From fc637fb28da700da71ec2064d65ca5a7a31b9c6c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 18 Aug 2019 18:16:17 +0100 Subject: gentoo resync : 18.08.2019 --- net-print/cups/Manifest | 4 +- net-print/cups/cups-2.2.12.ebuild | 339 ++++++++++++++++++++++++++++++++++++++ net-print/cups/cups-9999.ebuild | 18 +- 3 files changed, 354 insertions(+), 7 deletions(-) create mode 100644 net-print/cups/cups-2.2.12.ebuild (limited to 'net-print/cups') diff --git a/net-print/cups/Manifest b/net-print/cups/Manifest index 88cd4fbcd63f..7ec9727b1d51 100644 --- a/net-print/cups/Manifest +++ b/net-print/cups/Manifest @@ -6,8 +6,10 @@ AUX cups-2.2.6-fix-install-perms.patch 660 BLAKE2B 85c42742762dc72c746550c36160c AUX cups-2.3_rc1-no_pam.patch 4704 BLAKE2B 99d9726f43ebc6ebb7fcaa608b99f435dccdeaa53f8fd6b47b4735c084dec8852ab5b34d06f07293299f13a4d975cf9b5bfc44950910c58c409fdcb71dfec6ea SHA512 f5f0f850a954a970aa5129d518f7b84e1e5fbb57c4bf16d42eb09eac01ebb5280514a580938433525514d5cd57acfcb363aa972d783d7b6b23e8f30e01d5e1b1 AUX cupsd.init.d-r3 584 BLAKE2B f503663a59673209fc6c161aed3cc214cab2b3e68692078dc47c1a833fe141225f48f2d07dab65fc19ea68e54bb7c9a7c94f6db1dac443111d04b392fd7855a4 SHA512 ace66b46c17f99f8c6487188c14e8a1baf7acad602156b88cdae7fb4738c163a045240a1b28c6db4af86caa317723357186812eed81f9553a9ef3517c966c6b3 DIST cups-2.2.11-source.tar.gz 10405908 BLAKE2B 9b7ee4da9502e42fd1b4a2c57ab709b3127ee8aeb8481a52f37da19fe5578f406260f1551e3fcedcd3a828fbed69267e68fcfd7bfabadf65afce4c3af19b4a1f SHA512 21a6916041b50044d336871f10d1192635458a3d318f19a18ad21d27027dd3839400601019e758424c218225a34aba148ba3a57f0ce3fe14c4df03bd1fde3403 +DIST cups-2.2.12-source.tar.gz 10409313 BLAKE2B 126ea81f7108b3b62f5e062ed522898dd48d4e5b4077c834e8fe89012445dd0a903bafa62f593551ed5f1c92cce4fbd22f56834e0615ed65ca4a6ae84dc2ca1c SHA512 b8e7be512938ad388d469d093ad0c882ab42ea1408c27a91340f8424aa0e79e588df3d59795624973b89074a2af650fa9b5b6ed5224138b17e4c6dbbcbf0a2e6 DIST cups-2.3rc1-source.tar.gz 7926640 BLAKE2B c39bee2c4697eb540cfa02ee2ce0fa8a79d7efd0a7e65db19fada8473997841e5c341c209eba8eb242e57bb21b0dbded1ca340654874b9400318ed2d9332b890 SHA512 d2411c1da576bd7d561c5465fba0824af86d7b52792482d90876847d0869a5a092de12efc761fd403c74be072c6d6eb5bf407525f187051683dba694e5f7febd EBUILD cups-2.2.11.ebuild 9743 BLAKE2B f3b1cd58c0774eb64fde8762dfe13834b38a6c70ace22655ec6103b3dcc277ee6562d7d16592f14e138f6fa3f08b166bb9eb7dea26b75ae464a0fa136ad9c1b6 SHA512 870e5c4f06e96b098a069019aa38ec76364f86677cda52d43e84c0e81cd990cddf1d852920ec9fa0de06efb09239726cec15898e9d07ec97826256d134c81229 +EBUILD cups-2.2.12.ebuild 9786 BLAKE2B 18f65da7d2ee4fea4beeead57add0a296a22dd2d66fa13260647672de892467d87136ab3c0f7473ce72e52049f284c0df1fc4d5fa27c25854a73186da824a3cd SHA512 c9ac430f63a3913de538c3098b56af492ce9709c8e34e6d4885a5a0b5e36816976ffbc7d31c62f2a03df4c1a5afa87cfed28d5577c5f8c0eacd6118f1fa69e28 EBUILD cups-2.3_rc1.ebuild 9531 BLAKE2B c92b415be48dfe3209bbf8affb451374a1e76f6bcb75d4a74c32beaa7a6feb79a86a49546054655cf4b32bd208b157957719a7611beb1d4ecc18ee308d9da879 SHA512 70302e04dfc1acfa6b9f8ed6db5c974b63e2210cd94b870d45acfd58bb61beb80cb336a3a39f5fd4293625a527020a8754f546e2129ff27c118028a1734f19ab -EBUILD cups-9999.ebuild 9530 BLAKE2B 7a5c24b50dd094380001641f0a062ffe4aecb6c71abd16c24b211bdb788f47023700c641d9c2d968fbf0ec0c4b85ea0134c517dcc941388bb83db92c2b9a22dd SHA512 01bd020f44a4ff22fb769939ec89f409cb6803fd3ab40d9fa48faaa1da917b829d2dcfcc025a168deaed5b1454cc4f3c3c4d3712d674b916591e6c78aa55511e +EBUILD cups-9999.ebuild 9633 BLAKE2B 2b62636ffa95594e5b3985c3649120fc5deaea937035225ed5f70a4a3f3ceecf21b7eb1ab90a8568c6de0711c169131117de03f8c9ceac32a4493c9eec4494cb SHA512 26221b3b0b98c65dbda3820ccd7a5b88318bacca52d79af37d7cdc35efa441de6696f7082206f716a29001853960ca3f4e6a8ce8e6ef031e4b6025068dea57e1 MISC metadata.xml 677 BLAKE2B ca19e7bd0d56a0a78771a30efcbd867cd0ab1eba7aaf3add8d384721ac70ed8809bc8a171df43887d772f81dcfd54f31bc13267a9a3a88da44b51322aff87c15 SHA512 f7ed769c4f662ea52ed9e24702b91948a376e7d5a59b305f6d89950d0ea40130e6d471cc0bee373a63338f590bce3b6df5a09e56a166ba7fdd960f82e7648717 diff --git a/net-print/cups/cups-2.2.12.ebuild b/net-print/cups/cups-2.2.12.ebuild new file mode 100644 index 000000000000..ac6565a2d4c1 --- /dev/null +++ b/net-print/cups/cups-2.2.12.ebuild @@ -0,0 +1,339 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) + +inherit autotools flag-o-matic linux-info xdg multilib-minimal pam python-single-r1 user java-pkg-opt-2 systemd toolchain-funcs + +MY_P="${P/_rc/rc}" +MY_P="${MY_P/_beta/b}" +MY_PV="${PV/_rc/rc}" +MY_PV="${MY_PV/_beta/b}" + +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 +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${PV}/${P}-source.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~m68k-mint" +fi + +DESCRIPTION="The Common Unix Printing System" +HOMEPAGE="https://www.cups.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="acl dbus debug java kerberos lprng-compat pam python selinux +ssl static-libs systemd +threads usb X xinetd zeroconf" + +CDEPEND=" + app-text/libpaper + sys-libs/zlib + acl? ( + kernel_linux? ( + sys-apps/acl + sys-apps/attr + ) + ) + dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.6:* ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + !lprng-compat? ( !net-print/lprng ) + pam? ( virtual/pam ) + python? ( ${PYTHON_DEPS} ) + ssl? ( >=net-libs/gnutls-2.12.23-r6:0=[${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}] ) +" + +DEPEND="${CDEPEND}" +BDEPEND=" + acct-group/lp + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] +" + +RDEPEND="${CDEPEND} + acct-group/lp + selinux? ( sec-policy/selinux-cups ) +" + +PDEPEND=">=net-print/cups-filters-1.0.43" + +REQUIRED_USE=" + python? ( ${PYTHON_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.0-dont-compress-manpages.patch" + "${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" +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/cups-config +) + +pkg_setup() { + #enewgroup lp -> acct-group/lp + enewuser lp -1 -1 -1 lp + enewgroup lpadmin 106 + + use python && python-single-r1_pkg_setup + + if use kernel_linux; then + linux-info_pkg_setup + if ! linux_config_exists; then + 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) + 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, " + elog "please try disabling USB_PRINTER support in your kernel or blacklisting the" + elog "usblp kernel module." + 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." + ewarn "Please enable it:" + ewarn " CONFIG_USB_PRINTER=y" + ewarn "in /usr/src/linux/.config or" + ewarn " Device Drivers --->" + ewarn " USB support --->" + ewarn " [*] USB Printer support" + ewarn "Alternatively, enable the usb useflag for cups and use the libusb code." + fi + fi + fi + fi +} + +src_prepare() { + default + + # Remove ".SILENT" rule for verbose output (bug 524338). + sed 's#^.SILENT:##g' -i "${S}"/Makedefs.in || die "sed failed" + + # Fix install-sh, posix sh does not have 'function'. + sed 's#function gzipcp#gzipcp()#g' -i "${S}/install-sh" + + AT_M4DIR=config-scripts eaclocal + eautoconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + export DSOFLAGS="${LDFLAGS}" + + einfo LINGUAS=\"${LINGUAS}\" + + # explicitly specify compiler wrt bug 524340 + # + # need to override KRB5CONFIG for proper flags + # https://github.com/apple/cups/issues/4423 + local myeconfargs=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config + --libdir="${EPREFIX}"/usr/$(get_libdir) + --localstatedir="${EPREFIX}"/var + --with-exe-file-perm=755 + --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) + $(use_enable dbus) + $(use_enable debug) + $(use_enable debug debug-guards) + $(use_enable debug debug-printfs) + $(multilib_native_use_with java) + $(use_enable kerberos gssapi) + $(multilib_native_use_enable pam) + $(multilib_native_use_with python python "${PYTHON}") + $(use_enable static-libs static) + $(use_enable threads) + $(use_enable ssl gnutls) + $(use_enable systemd) + $(multilib_native_use_enable usb libusb) + $(use_enable zeroconf avahi) + --disable-dnssd + --without-perl + --without-php + $(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper) + ) + + 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: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 + sed \ + -e "s:ICONDIR.*:ICONDIR = ${EPREFIX}/usr/share/icons:" \ + -e "s:INITDIR.*:INITDIR = ${EPREFIX}/etc:" \ + -e "s:DBUSDIR.*:DBUSDIR = ${EPREFIX}/etc/dbus-1:" \ + -e "s:MENUDIR.*:MENUDIR = ${EPREFIX}/usr/share/applications:" \ + -i Makedefs || die +} + +multilib_src_compile() { + if multilib_is_native_abi; then + default + else + emake libs + fi +} + +multilib_src_test() { + multilib_is_native_abi && default +} + +multilib_src_install() { + if multilib_is_native_abi; then + emake BUILDROOT="${D}" install + else + emake BUILDROOT="${D}" install-libs install-headers + dobin cups-config + fi +} + +multilib_src_install_all() { + dodoc {CHANGES,CREDITS,README}.md + + # move the default config file to docs + dodoc "${ED}"/etc/cups/cupsd.conf.default + rm -f "${ED}"/etc/cups/cupsd.conf.default + + # clean out cups init scripts + rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups} + + # 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 + doinitd "${T}"/cupsd + + # install our pam script + pamd_mimic_system cups auth account + + if use xinetd ; then + # 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 + 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 + fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed" + else + # always configure with --with-xinetd= and clean up later, + # bug #525604 + rm -rf "${ED}"/etc/xinetd.d + 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 + echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf + + # the following file is now provided by cups-filters: + 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}"/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 +} + +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 "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 +} diff --git a/net-print/cups/cups-9999.ebuild b/net-print/cups/cups-9999.ebuild index 1a22a0b0ae79..b2da32a36b26 100644 --- a/net-print/cups/cups-9999.ebuild +++ b/net-print/cups/cups-9999.ebuild @@ -55,10 +55,12 @@ CDEPEND=" DEPEND="${CDEPEND}" BDEPEND=" + acct-group/lp >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] " RDEPEND="${CDEPEND} + acct-group/lp selinux? ( sec-policy/selinux-cups ) " @@ -73,7 +75,6 @@ RESTRICT="test" # systemd-socket.patch from Fedora PATCHES=( - "${FILESDIR}/${PN}-2.2.0-dont-compress-manpages.patch" "${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" @@ -87,7 +88,7 @@ MULTILIB_CHOST_TOOLS=( S="${WORKDIR}/${MY_P}" pkg_setup() { - enewgroup lp + #enewgroup lp -> acct-group/lp enewuser lp -1 -1 -1 lp enewgroup lpadmin 106 @@ -132,6 +133,10 @@ src_prepare() { # Fix install-sh, posix sh does not have 'function'. sed 's#function gzipcp#gzipcp()#g' -i "${S}/install-sh" + # 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 @@ -234,10 +239,11 @@ multilib_src_install_all() { rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups} # install our init script - local neededservices - use zeroconf && neededservices+=" avahi-daemon" - use dbus && neededservices+=" dbus" - [[ -n ${neededservices} ]] && neededservices="need${neededservices}" + 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}/" \ -- cgit v1.2.3