forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net-print/cups: Bump to version 2.2.3
Package-Manager: Portage-2.3.5, Repoman-2.3.2
- Loading branch information
Lars Wendler
committed
Mar 28, 2017
1 parent
362d65a
commit 07d4fe9
Showing
2 changed files
with
348 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST cups-2.1.4.tar.gz 9572653 SHA256 1f182f145489e2454969b221056b6b9bac2beb4e38cd75fa12a9ec15d24d5301 SHA512 5f36d21e1e094323f1811229b452f096f3f0b264757b3c3b1742bbd7ea0059e34d3cd2fbf3b6856d25a04ae1779babafa6d598a8ba249448fce3bf7cafa59aae WHIRLPOOL 217b9024c34369c8839b0a1b2b3924eb00e9b8d87cfd8d50a59ad0c33c1044f53d479246d67dff4598049efd15259def90e4bcddc6c3c20dff38811e159d2c4b | ||
DIST cups-2.2.2.tar.gz 9489493 SHA256 5e7b396b41f55231dde8dd0465cdd81583cd47ecffe4960c777162fbe3cce03c SHA512 98640b62f706609bbe703318999efb8f78c747e751aafaa1a6f38f4f0dca6fad84ec7e1dfbe9ce17b02ba2ac3fd6e8e480582be5c2cee8eaa707c0ca7eb1978f WHIRLPOOL 745c80114dcac1ed61eec8a8d903ced0d005ec0ad2c05883dcb0aaf9afaf1c410801245ef6bdcb5b77f09a9d96f90e2f94d553b4a19d9425d4005738c8508feb | ||
DIST cups-2.2.3.tar.gz 9496214 SHA256 7aa7e8d581f0eb204f75203082403bfa931f8c058bffae71b210800102e5feb5 SHA512 95d8f18fad5b3fd25fe88cc29d159723dcfa735248503d0285949fcd7451f0ccac286719077d0f8a8eda7ee9a053a3d30fa3fd28cb74b59336b6718552d9d2e8 WHIRLPOOL 3aa43f1b83ee62939939bd148c2ab13985143746f7acc3d9c82283e1b096524c7738ae5e1670e717c9329f8d3e917cfcc1c8a7e33af93baa74ea83837d92b5f9 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,347 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
PYTHON_COMPAT=( python2_7 ) | ||
|
||
inherit autotools fdo-mime gnome2-utils flag-o-matic linux-info \ | ||
multilib multilib-minimal pam python-single-r1 user versionator \ | ||
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" | ||
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="http://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" | ||
|
||
LANGS="ca cs de es fr it ja ru" | ||
for X in ${LANGS} ; do | ||
IUSE="${IUSE} +linguas_${X}" | ||
done | ||
|
||
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[${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}] ) | ||
abi_x86_32? ( | ||
!<=app-emulation/emul-linux-x86-baselibs-20140508 | ||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] | ||
) | ||
" | ||
|
||
DEPEND="${CDEPEND} | ||
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] | ||
" | ||
|
||
RDEPEND="${CDEPEND} | ||
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}-1.6.0-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.0.3-cross-compile.patch" | ||
) | ||
|
||
MULTILIB_CHOST_TOOLS=( | ||
/usr/bin/cups-config | ||
) | ||
|
||
pkg_setup() { | ||
enewgroup 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 LANGS=\"${LANGS}\" | ||
einfo LINGUAS=\"${LINGUAS}\" | ||
|
||
local myconf=() | ||
|
||
if tc-is-static-only; then | ||
myconf+=( | ||
--disable-shared | ||
) | ||
fi | ||
|
||
# explicitly specify compiler wrt bug 524340 | ||
# | ||
# need to override KRB5CONFIG for proper flags | ||
# https://www.cups.org/str.php?L4423 | ||
econf \ | ||
CC="$(tc-getCC)" \ | ||
CXX="$(tc-getCXX)" \ | ||
KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config \ | ||
--libdir="${EPREFIX}"/usr/$(get_libdir) \ | ||
--localstatedir="${EPREFIX}"/var \ | ||
--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) \ | ||
"${myconf[@]}" | ||
|
||
# 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 -i -e "s:ICONDIR.*:ICONDIR = ${EPREFIX}/usr/share/icons:" Makedefs || die | ||
sed -i -e "s:INITDIR.*:INITDIR = ${EPREFIX}/etc:" Makedefs || die | ||
sed -i -e "s:DBUSDIR.*:DBUSDIR = ${EPREFIX}/etc/dbus-1:" Makedefs || die | ||
sed -i -e "s:MENUDIR.*:MENUDIR = ${EPREFIX}/usr/share/applications:" 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}.txt | ||
|
||
# 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 | ||
use zeroconf && neededservices+=" avahi-daemon" | ||
use dbus && neededservices+=" 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} | ||
|
||
use X || rm -r "${ED}"/usr/share/applications | ||
|
||
# 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() { | ||
gnome2_icon_savelist | ||
} | ||
|
||
pkg_postinst() { | ||
# Update desktop file database and gtk icon cache (bug 370059) | ||
gnome2_icon_cache_update | ||
fdo-mime_desktop_database_update | ||
|
||
local v | ||
|
||
for v in ${REPLACING_VERSIONS}; do | ||
if ! version_is_at_least 2.2.2-r2 ${v}; 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) | ||
gnome2_icon_cache_update | ||
fdo-mime_desktop_database_update | ||
} |