Gentoo Archives: gentoo-commits

From: "Matthias Maier (tamiko)" <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-print/cups: cups-2.0.3.ebuild ChangeLog cups-1.7.9999.ebuild cups-1.7.5.ebuild cups-2.0.2.ebuild cups-2.0.1-r1.ebuild cups-2.0.2-r2.ebuild cups-1.7.5-r2.ebuild cups-2.0.0-r2.ebuild
Date: Mon, 06 Jul 2015 06:57:25
Message-Id: 20150706065717.58973756@oystercatcher.gentoo.org
1 tamiko 15/07/06 06:57:17
2
3 Modified: ChangeLog
4 Added: cups-2.0.3.ebuild
5 Removed: cups-1.7.9999.ebuild cups-1.7.5.ebuild
6 cups-2.0.2.ebuild cups-2.0.1-r1.ebuild
7 cups-2.0.2-r2.ebuild cups-1.7.5-r2.ebuild
8 cups-2.0.0-r2.ebuild
9 Log:
10 version bump; cleanup; CVE-2015-{1158,1159}, bug #551846
11
12 (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key BD3A97A3)
13
14 Revision Changes Path
15 1.678 net-print/cups/ChangeLog
16
17 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/ChangeLog?rev=1.678&view=markup
18 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/ChangeLog?rev=1.678&content-type=text/plain
19 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/ChangeLog?r1=1.677&r2=1.678
20
21 Index: ChangeLog
22 ===================================================================
23 RCS file: /var/cvsroot/gentoo-x86/net-print/cups/ChangeLog,v
24 retrieving revision 1.677
25 retrieving revision 1.678
26 diff -u -r1.677 -r1.678
27 --- ChangeLog 3 Jul 2015 10:10:48 -0000 1.677
28 +++ ChangeLog 6 Jul 2015 06:57:17 -0000 1.678
29 @@ -1,6 +1,14 @@
30 # ChangeLog for net-print/cups
31 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
32 -# $Header: /var/cvsroot/gentoo-x86/net-print/cups/ChangeLog,v 1.677 2015/07/03 10:10:48 ago Exp $
33 +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/ChangeLog,v 1.678 2015/07/06 06:57:17 tamiko Exp $
34 +
35 +*cups-2.0.3 (06 Jul 2015)
36 +
37 + 06 Jul 2015; Matthias Maier <tamiko@g.o> +cups-2.0.3.ebuild,
38 + -cups-1.7.5-r2.ebuild, -cups-1.7.5.ebuild, -cups-1.7.9999.ebuild,
39 + -cups-2.0.0-r2.ebuild, -cups-2.0.1-r1.ebuild, -cups-2.0.2-r2.ebuild,
40 + -cups-2.0.2.ebuild:
41 + version bump; cleanup; CVE-2015-{1158,1159}, bug #551846
42
43 03 Jul 2015; Agostino Sarubbo <ago@g.o> cups-2.0.2-r1.ebuild:
44 Stable for alpha, wrt bug #545740
45
46
47
48 1.1 net-print/cups/cups-2.0.3.ebuild
49
50 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/cups-2.0.3.ebuild?rev=1.1&view=markup
51 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/cups-2.0.3.ebuild?rev=1.1&content-type=text/plain
52
53 Index: cups-2.0.3.ebuild
54 ===================================================================
55 # Copyright 1999-2015 Gentoo Foundation
56 # Distributed under the terms of the GNU General Public License v2
57 # $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-2.0.3.ebuild,v 1.1 2015/07/06 06:57:17 tamiko Exp $
58
59 EAPI=5
60
61 PYTHON_COMPAT=( python2_7 )
62
63 inherit autotools base fdo-mime gnome2-utils flag-o-matic linux-info \
64 multilib multilib-minimal pam python-single-r1 user versionator \
65 java-pkg-opt-2 systemd toolchain-funcs
66
67 MY_P=${P/_rc/rc}
68 MY_P=${MY_P/_beta/b}
69 MY_PV=${PV/_rc/rc}
70 MY_PV=${MY_PV/_beta/b}
71
72 if [[ ${PV} == *9999 ]]; then
73 inherit git-r3
74 EGIT_REPO_URI="http://www.cups.org/cups.git"
75 if [[ ${PV} != 9999 ]]; then
76 EGIT_BRANCH=branch-${PV/.9999}
77 fi
78 else
79 SRC_URI="http://www.cups.org/software/${MY_PV}/${MY_P}-source.tar.bz2"
80 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~m68k-mint"
81 fi
82
83 DESCRIPTION="The Common Unix Printing System"
84 HOMEPAGE="http://www.cups.org/"
85
86 LICENSE="GPL-2"
87 SLOT="0"
88 IUSE="acl dbus debug java kerberos lprng-compat pam
89 python selinux +ssl static-libs systemd +threads usb X xinetd zeroconf"
90
91 LANGS="ca cs de es fr it ja pt_BR ru"
92 for X in ${LANGS} ; do
93 IUSE="${IUSE} +linguas_${X}"
94 done
95
96 CDEPEND="
97 app-text/libpaper
98 acl? (
99 kernel_linux? (
100 sys-apps/acl
101 sys-apps/attr
102 )
103 )
104 dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
105 java? ( >=virtual/jre-1.6 )
106 kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
107 !lprng-compat? ( !net-print/lprng )
108 pam? ( virtual/pam )
109 python? ( ${PYTHON_DEPS} )
110 ssl? (
111 >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}]
112 >=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP}]
113 )
114 systemd? ( sys-apps/systemd )
115 usb? ( virtual/libusb:1 )
116 X? ( x11-misc/xdg-utils )
117 xinetd? ( sys-apps/xinetd )
118 zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
119 abi_x86_32? (
120 !<=app-emulation/emul-linux-x86-baselibs-20140508
121 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
122 )
123 "
124
125 DEPEND="${CDEPEND}
126 >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
127 "
128
129 RDEPEND="${CDEPEND}
130 selinux? ( sec-policy/selinux-cups )
131 "
132
133 PDEPEND="
134 app-text/ghostscript-gpl[cups]
135 app-text/poppler[utils]
136 >=net-print/cups-filters-1.0.43
137 "
138
139 REQUIRED_USE="
140 python? ( ${PYTHON_REQUIRED_USE} )
141 usb? ( threads )
142 "
143
144 # upstream includes an interactive test which is a nono for gentoo
145 RESTRICT="test"
146
147 S="${WORKDIR}/${MY_P}"
148
149 # systemd-socket.patch from Fedora
150 PATCHES=(
151 "${FILESDIR}/${PN}-1.6.0-dont-compress-manpages.patch"
152 "${FILESDIR}/${PN}-1.6.0-fix-install-perms.patch"
153 "${FILESDIR}/${PN}-1.4.4-nostrip.patch"
154 "${FILESDIR}/${PN}-2.0.2-rename-systemd-service-files.patch"
155 "${FILESDIR}/${PN}-2.0.2-systemd-socket.patch"
156 "${FILESDIR}/${PN}-2.0.1-xinetd-installation-fix.patch"
157 )
158
159 MULTILIB_CHOST_TOOLS=(
160 /usr/bin/cups-config
161 )
162
163 pkg_setup() {
164 enewgroup lp
165 enewuser lp -1 -1 -1 lp
166 enewgroup lpadmin 106
167
168 use python && python-single-r1_pkg_setup
169
170 if use kernel_linux; then
171 linux-info_pkg_setup
172 if ! linux_config_exists; then
173 ewarn "Can't check the linux kernel configuration."
174 ewarn "You might have some incompatible options enabled."
175 else
176 # recheck that we don't have usblp to collide with libusb
177 if use usb; then
178 if linux_chkconfig_present USB_PRINTER; then
179 eerror "Your usb printers will be managed via libusb. In this case, "
180 eerror "${P} requires the USB_PRINTER support disabled."
181 eerror "Please disable it:"
182 eerror " CONFIG_USB_PRINTER=n"
183 eerror "in /usr/src/linux/.config or"
184 eerror " Device Drivers --->"
185 eerror " USB support --->"
186 eerror " [ ] USB Printer support"
187 eerror "Alternatively, just disable the usb useflag for cups (your printer will still work)."
188 fi
189 else
190 #here we should warn user that he should enable it so he can print
191 if ! linux_chkconfig_present USB_PRINTER; then
192 ewarn "If you plan to use USB printers you should enable the USB_PRINTER"
193 ewarn "support in your kernel."
194 ewarn "Please enable it:"
195 ewarn " CONFIG_USB_PRINTER=y"
196 ewarn "in /usr/src/linux/.config or"
197 ewarn " Device Drivers --->"
198 ewarn " USB support --->"
199 ewarn " [*] USB Printer support"
200 ewarn "Alternatively, enable the usb useflag for cups and use the libusb code."
201 fi
202 fi
203 fi
204 fi
205 }
206
207 src_prepare() {
208 base_src_prepare
209 epatch_user
210
211 # Remove ".SILENT" rule for verbose output (bug 524338).
212 sed 's#^.SILENT:##g' -i "${S}"/Makedefs.in || die "sed failed"
213
214 # Fix install-sh, posix sh does not have 'function'.
215 sed 's#function gzipcp#gzipcp()#g' -i "${S}/install-sh"
216
217 AT_M4DIR=config-scripts eaclocal
218 eautoconf
219
220 # custom Makefiles
221 multilib_copy_sources
222 }
223
224 multilib_src_configure() {
225 export DSOFLAGS="${LDFLAGS}"
226
227 einfo LANGS=\"${LANGS}\"
228 einfo LINGUAS=\"${LINGUAS}\"
229
230 local myconf=()
231
232 if tc-is-static-only; then
233 myconf+=(
234 --disable-shared
235 )
236 fi
237
238 # explicitly specify compiler wrt bug 524340
239 #
240 # need to override KRB5CONFIG for proper flags
241 # https://www.cups.org/str.php?L4423
242 econf \
243 CC="$(tc-getCC)" \
244 CXX="$(tc-getCXX)" \
245 KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config \
246 --libdir="${EPREFIX}"/usr/$(get_libdir) \
247 --localstatedir="${EPREFIX}"/var \
248 --with-rundir="${EPREFIX}"/run/cups \
249 --with-cups-user=lp \
250 --with-cups-group=lp \
251 --with-docdir="${EPREFIX}"/usr/share/cups/html \
252 --with-languages="${LINGUAS}" \
253 --with-system-groups=lpadmin \
254 --with-xinetd=/etc/xinetd.d \
255 $(multilib_native_use_enable acl) \
256 $(use_enable dbus) \
257 $(use_enable debug) \
258 $(use_enable debug debug-guards) \
259 $(multilib_native_use_with java) \
260 $(use_enable kerberos gssapi) \
261 $(multilib_native_use_enable pam) \
262 $(multilib_native_use_with python python "${PYTHON}") \
263 $(use_enable static-libs static) \
264 $(use_enable threads) \
265 $(use_enable ssl gnutls) \
266 $(use_enable systemd) \
267 $(multilib_native_use_enable usb libusb) \
268 $(use_enable zeroconf avahi) \
269 --disable-dnssd \
270 --without-perl \
271 --without-php \
272 $(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper) \
273 "${myconf[@]}"
274
275 # install in /usr/libexec always, instead of using /usr/lib/cups, as that
276 # makes more sense when facing multilib support.
277 sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die
278 sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die
279 sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die
280 }
281
282 multilib_src_compile() {
283 if multilib_is_native_abi; then
284 default
285 else
286 emake libs
287 fi
288 }
289
290 multilib_src_test() {
291 multilib_is_native_abi && default
292 }
293
294 multilib_src_install() {
295 if multilib_is_native_abi; then
296 emake BUILDROOT="${D}" install
297 else
298 emake BUILDROOT="${D}" install-libs install-headers
299 dobin cups-config
300 fi
301 }
302
303 multilib_src_install_all() {
304 dodoc {CHANGES,CREDITS,README}.txt
305
306 # move the default config file to docs
307 dodoc "${ED}"/etc/cups/cupsd.conf.default
308 rm -f "${ED}"/etc/cups/cupsd.conf.default
309
310 # clean out cups init scripts
311 rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups}
312
313 # install our init script
314 local neededservices
315 use zeroconf && neededservices+=" avahi-daemon"
316 use dbus && neededservices+=" dbus"
317 [[ -n ${neededservices} ]] && neededservices="need${neededservices}"
318 cp "${FILESDIR}"/cupsd.init.d-r1 "${T}"/cupsd || die
319 sed -i \
320 -e "s/@neededservices@/$neededservices/" \
321 "${T}"/cupsd || die
322 doinitd "${T}"/cupsd
323
324 # install our pam script
325 pamd_mimic_system cups auth account
326
327 if use xinetd ; then
328 # correct path
329 sed -i \
330 -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \
331 "${ED}"/etc/xinetd.d/cups-lpd || die
332 # it is safer to disable this by default, bug #137130
333 grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \
334 { sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; }
335 # write permission for file owner (root), bug #296221
336 fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed"
337 else
338 # always configure with --with-xinetd= and clean up later,
339 # bug #525604
340 rm -rf "${ED}"/etc/xinetd.d
341 fi
342
343 keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \
344 /var/log/cups /var/spool/cups/tmp
345
346 keepdir /etc/cups/{interfaces,ppd,ssl}
347
348 use X || rm -r "${ED}"/usr/share/applications
349
350 # create /etc/cups/client.conf, bug #196967 and #266678
351 echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf
352
353 # the following files are now provided by cups-filters:
354 rm -r "${ED}"/usr/share/cups/banners || die
355 rm -r "${ED}"/usr/share/cups/data/testprint || die
356
357 # the following are created by the init script
358 rm -r "${ED}"/var/cache/cups || die
359 rm -r "${ED}"/run || die
360
361 # for the special case of running lprng and cups together, bug 467226
362 if use lprng-compat ; then
363 rm -fv "${ED}"/usr/bin/{lp*,cancel}
364 rm -fv "${ED}"/usr/sbin/lp*
365 rm -fv "${ED}"/usr/share/man/man1/{lp*,cancel*}
366 rm -fv "${ED}"/usr/share/man/man8/lp*
367 ewarn "Not installing lp... binaries, since the lprng-compat useflag is set."
368 ewarn "Unless you plan to install an exotic server setup, you most likely"
369 ewarn "do not want this. Disable the useflag then and all will be fine."
370 fi
371 }
372
373 pkg_preinst() {
374 gnome2_icon_savelist
375 }
376
377 pkg_postinst() {
378 # Update desktop file database and gtk icon cache (bug 370059)
379 gnome2_icon_cache_update
380 fdo-mime_desktop_database_update
381
382 # not slotted - at most one value
383 if ! [[ "${REPLACING_VERSIONS}" ]]; then
384 echo
385 elog "For information about installing a printer and general cups setup"
386 elog "take a look at: https://wiki.gentoo.org/wiki/Printing"
387 echo
388 fi
389
390 if [[ "${REPLACING_VERSIONS}" ]] && [[ "${REPLACING_VERSIONS}" < "1.6" ]]; then
391 echo
392 elog "CUPS-1.6 no longer supports automatic remote printers or implicit classes"
393 elog "via the CUPS, LDAP, or SLP protocols, i.e. \"network browsing\"."
394 elog "You will have to find printers using zeroconf/avahi instead, enter"
395 elog "the location manually, or run cups-browsed from net-print/cups-filters"
396 elog "which re-adds that functionality as a separate daemon."
397 echo
398 fi
399
400 if [[ "${REPLACING_VERSIONS}" == "1.6.2-r4" ]]; then
401 ewarn
402 ewarn "You are upgrading from the broken version net-print/cups-1.6.2-r4."
403 ewarn "Please rebuild net-print/cups-filters now to make sure everything is OK."
404 ewarn
405 fi
406 }
407
408 pkg_postrm() {
409 # Update desktop file database and gtk icon cache (bug 370059)
410 gnome2_icon_cache_update
411 fdo-mime_desktop_database_update
412 }