summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Solano Gómez <gentoo@sattvik.com>2011-01-16 08:41:51 -0600
committerDaniel Solano Gómez <gentoo@sattvik.com>2011-01-16 08:41:51 -0600
commitb5cc48174cfc3e849d6868bce395b97a073b2354 (patch)
treea0439be0e654b770f8880b4e6670516ee88d673b
parentVersion bump of remind (diff)
downloadsattvik-b5cc48174cfc3e849d6868bce395b97a073b2354.tar.gz
sattvik-b5cc48174cfc3e849d6868bce395b97a073b2354.tar.bz2
sattvik-b5cc48174cfc3e849d6868bce395b97a073b2354.zip
Version bump, clean up old versions
-rw-r--r--net-print/cups/ChangeLog7
-rw-r--r--net-print/cups/Manifest10
-rw-r--r--net-print/cups/cups-1.4.5.ebuild238
-rw-r--r--net-print/cups/cups-1.4.6.ebuild (renamed from net-print/cups/cups-1.4.4-r2.ebuild)4
-rw-r--r--net-print/cups/files/cups-1.4.6-force-gnutls.patch93
-rw-r--r--net-print/cups/files/cups-1.4.6-serialize-gnutls.patch113
6 files changed, 221 insertions, 244 deletions
diff --git a/net-print/cups/ChangeLog b/net-print/cups/ChangeLog
index a2407e9..db27f90 100644
--- a/net-print/cups/ChangeLog
+++ b/net-print/cups/ChangeLog
@@ -2,6 +2,13 @@
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*cups-1.4.6 (16 Jan 2011)
+
+ 16 Jan 2011; Daniel Solano Gómez <gentoo@sattvik.com> -cups-1.4.4-r2.ebuild,
+ -cups-1.4.5.ebuild, +cups-1.4.6.ebuild, +files/cups-1.4.6-force-gnutls.patch,
+ +files/cups-1.4.6-serialize-gnutls.patch:
+ Version bump, clean old versions.
+
*cups-1.4.5 (03 Jan 2011)
*cups-1.4.4-r2 (03 Jan 2011)
*cups-1.3.11-r4 (03 Jan 2011)
diff --git a/net-print/cups/Manifest b/net-print/cups/Manifest
index 0c34450..4157efd 100644
--- a/net-print/cups/Manifest
+++ b/net-print/cups/Manifest
@@ -14,13 +14,13 @@ AUX cups-1.4.4-fix-install-perms.patch 838 RMD160 206bd49e918bab96d24ca72f85f679
AUX cups-1.4.4-nostrip.patch 487 RMD160 27fe9a5512abb3496416e492dc4ec4fcd9c733c2 SHA1 2a1b6e7b718a5feb5921f38ec02f37b9d0edd310 SHA256 b96448896f08c5f91d5afb0c093f2638a262d1c45e716c29d5164cefee18bc61
AUX cups-1.4.4-perl-includes.patch 637 RMD160 88d4f170ed5c9392860462f140adf9f860a24cfd SHA1 93185acfe7252ff9a69499f63192b3483d857cb0 SHA256 c730419e7b4bc16a8773a01eeb66523882901480af68686d0790558a2f5fe57d
AUX cups-1.4.4-php-destdir.patch 679 RMD160 1b15d42373a952a608a01cb8c97efbbd3c78ac77 SHA1 e312bbae57224dead45284f9c62942b1a25282fc SHA256 d5126c5e917d8c41c7a4da1477800edd4aa752aaa4c6a67a73adbe1e3b050110
+AUX cups-1.4.6-force-gnutls.patch 3319 RMD160 c6cc024a702305eb81661d5cdadd9857e9a6778e SHA1 5ac62ed3ca20bc7a4541c990c676c433299b2177 SHA256 beb4014eac5218d9f424b81946ac1e209625026bf20a7f4820758e5ee1fe5b66
+AUX cups-1.4.6-serialize-gnutls.patch 3625 RMD160 873b2806cfec732c4a4f3f2981f666a958dd5b0e SHA1 aae046121d0139fbba1cb9147c8742f73b2f1fa0 SHA256 6bc9e16fc6865b2f3e0ee2d1947bdde691e41f90fce32b9839b3661dcea4a827
AUX cupsd.init.d 293 RMD160 19fbef21cee7e472e7028f3101b680baa0089c54 SHA1 e6b27b2638fec258fe2f55c926c2530e909ca3d2 SHA256 b4268a6bae95e96b6af21c3716ecc905073736ce7dc33be1489d574a447f3c48
AUX pdftops-1.20.gentoo 10412 RMD160 16e229662c47e03af1d1f4cb5764a76d17a66642 SHA1 6afb8a655b6ff013a2c8c8cbfb615ba1e561503b SHA256 ac5fa01ca776d75bd7cef62eef9f6b0c3945ee87e8950b40ca9f9f3ff46a16c1
DIST cups-1.3.11-source.tar.bz2 3799393 RMD160 a0646f2ba29fbd39d211ea5c3fdbd24a00f66a78 SHA1 df5cfb64fb608fc128acadde670dc30af49bdb18 SHA256 5e310fd324a15fae1e1c9721879f5c948d788e04735a5263a40c6146fff607b8
-DIST cups-1.4.4-source.tar.bz2 4472741 RMD160 1f486acda02e83b6824f8ca33b74c02ff3f01994 SHA1 3e179c007fa6cd6874b60ff18a6f48070547a00a SHA256 d25ffa35add3abeeec0eba60be2cffc89425b649c64ef3a73dfc724683a59aa3
-DIST cups-1.4.5-source.tar.bz2 4513924 RMD160 3fb32cd845d56e3fe7ef9c54f1d761bcee908218 SHA1 68af37234645954e1bfad6a3608c67c03a9aef78 SHA256 0450d6d8e6e8af225d2a3319c848737d76473a6c7579cf97c52086d0371c0efe
+DIST cups-1.4.6-source.tar.bz2 4517061 RMD160 94c9921e03f5ec52d9c16947435622365f53aef6 SHA1 42fb1ca00ee7291561564d3072716eb2045f05d1 SHA256 f08711702a77b52c7150f96fe1f45482f6151cb95ef601268c528607fe6ad514
EBUILD cups-1.3.11-r4.ebuild 8570 RMD160 f4cb3829a78854fa2ddd436ba3820a94e990a758 SHA1 28332d7519726f953f895f27a38d422d01e2073c SHA256 ac80899f70d916ce97a5886787f599e8979124e421b314eb5d4a9768965c44b4
-EBUILD cups-1.4.4-r2.ebuild 6197 RMD160 231bcf181ca0bfa903aa2e3bf38614e021f83dd7 SHA1 402e7d8ba906aefc83b2fff22e56690462316eea SHA256 41c7f1718d352574e82ab99bbb247bf41ba26e9563988ed323a077108d9504b0
-EBUILD cups-1.4.5.ebuild 6194 RMD160 15c698d90b645b92a12d7dbef2cb9dc2b3159011 SHA1 1fc5a3d4accb7374e30e090dbfd12c1bc2735016 SHA256 88597b8400f140fb0a22cc4dfb548ee365f7286fa30da31510bd42dc1cfab7a8
-MISC ChangeLog 1874 RMD160 e9ab6529d5095a5a33b501931fcdefd8df7ce34b SHA1 8c05ee0090aed6d259405e9aaf197f2ec3b01dda SHA256 e592a5895024366d21233c09d1d0a7c1a8a2e9a4b77ce0eac2baa4b8d532b59b
+EBUILD cups-1.4.6.ebuild 6300 RMD160 3771740b2ef247d3fd7b195e5616c02080f4fa4c SHA1 b85985992309b32ac558afe23317cdd06231b486 SHA256 6269ce09c4dd03c2fd4585792f4151a0709a2e7b4cfaf9c04da9c46dda267cf6
+MISC ChangeLog 2142 RMD160 a8c3c50538678e1407e1b90fdb51a978a773459b SHA1 ca0917fbe799003a999da12598abc497d5fb0268 SHA256 20b0e3b1252a11abb86cdf89f95167274b7db482124c5c669c51a085d676ced9
MISC metadata.xml 161 RMD160 1e5b1e42553c8869b93c4a5448e9a2a2ed9fe525 SHA1 209c6a46e4cdd891980115e42ba419e3799f8088 SHA256 7c85e6739a71f5bb23e8de36c88677d772946e61f7285892f7554e37bd2bca76
diff --git a/net-print/cups/cups-1.4.5.ebuild b/net-print/cups/cups-1.4.5.ebuild
deleted file mode 100644
index 3f76c7d..0000000
--- a/net-print/cups/cups-1.4.5.ebuild
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-1.4.5.ebuild,v 1.1 2010/12/01 12:34:34 scarabeus Exp $
-
-EAPI=3
-
-PYTHON_DEPEND="python? 2:2.5"
-
-inherit autotools eutils flag-o-matic multilib pam perl-module python versionator java-pkg-opt-2
-
-MY_P=${P/_}
-
-DESCRIPTION="The Common Unix Printing System"
-HOMEPAGE="http://www.cups.org/"
-SRC_URI="mirror://easysw/${PN}/${PV}/${MY_P}-source.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-IUSE="acl dbus debug gnutls java +jpeg kerberos ldap pam perl php +png python samba slp +ssl static-libs +threads +tiff +usb X xinetd"
-
-LANGS="da de es eu fi fr id it ja ko nl no pl pt pt_BR ru sv zh zh_TW"
-for X in ${LANGS} ; do
- IUSE="${IUSE} linguas_${X}"
-done
-
-RDEPEND="
- app-text/libpaper
- dev-libs/libgcrypt
- acl? (
- kernel_linux? (
- sys-apps/acl
- sys-apps/attr
- )
- )
- dbus? ( sys-apps/dbus )
- java? ( >=virtual/jre-1.6 )
- jpeg? ( virtual/jpeg:0 )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap[ssl?,gnutls?] )
- pam? ( virtual/pam )
- perl? ( dev-lang/perl )
- php? ( dev-lang/php )
- png? ( >=media-libs/libpng-1.4.3 )
- slp? ( >=net-libs/openslp-1.0.4 )
- ssl? (
- gnutls? ( net-libs/gnutls )
- !gnutls? ( >=dev-libs/openssl-0.9.8g )
- )
- tiff? ( >=media-libs/tiff-3.5.5 )
- usb? ( virtual/libusb:0 )
- X? ( x11-misc/xdg-utils )
- xinetd? ( sys-apps/xinetd )
- !net-print/cupsddk
-"
-
-DEPEND="${RDEPEND}
- dev-util/pkgconfig
-"
-
-PDEPEND="
- app-text/ghostscript-gpl[cups]
- >=app-text/poppler-0.12.3-r3[utils]
-"
-
-PROVIDE="virtual/lpr"
-
-# upstream includes an interactive test which is a nono for gentoo.
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- enewgroup lp
- enewuser lp -1 -1 -1 lp
- enewgroup lpadmin 106
-
- # python 3 is no-go
- python_set_active_version 2
- python_pkg_setup
-}
-
-src_prepare() {
- # create a missing symlink to allow https printing via IPP, bug #217293
- epatch "${FILESDIR}/${PN}-1.4.0-backend-https.patch"
- # various build time fixes
- epatch "${FILESDIR}/${PN}-1.4.4-dont-compress-manpages.patch"
- epatch "${FILESDIR}/${PN}-1.4.4-fix-install-perms.patch"
- epatch "${FILESDIR}/${PN}-1.4.4-nostrip.patch"
- epatch "${FILESDIR}/${PN}-1.4.4-php-destdir.patch"
- epatch "${FILESDIR}/${PN}-1.4.4-perl-includes.patch"
-
- # Dan's group fix
- epatch "${FILESDIR}/${PN}-1.4.1-group_fix.patch"
-
- AT_M4DIR=config-scripts eaclocal
- eautoconf
-}
-
-src_configure() {
- export DSOFLAGS="${LDFLAGS}"
-
- # locale support
- strip-linguas ${LANGS}
- if [ -z "${LINGUAS}" ] ; then
- export LINGUAS=none
- fi
-
- local myconf
- if use ssl || use gnutls ; then
- myconf+="
- $(use_enable gnutls)
- $(use_enable !gnutls openssl)
- "
- else
- myconf+="
- --disable-gnutls
- --disable-openssl
- "
- fi
-
- econf \
- --libdir=/usr/$(get_libdir) \
- --localstatedir=/var \
- --with-cups-user=lp \
- --with-cups-group=lp \
- --with-docdir=/usr/share/cups/html \
- --with-languages="${LINGUAS}" \
- --with-pdftops=/usr/bin/pdftops \
- --with-system-groups=lpadmin \
- $(use_enable acl) \
- $(use_enable dbus) \
- $(use_enable debug) \
- $(use_enable debug debug-guards) \
- $(use_enable jpeg) \
- $(use_enable kerberos gssapi) \
- $(use_enable ldap) \
- $(use_enable pam) \
- $(use_enable png) \
- $(use_enable slp) \
- $(use_enable static-libs static) \
- $(use_enable threads) \
- $(use_enable tiff) \
- $(use_enable usb libusb) \
- $(use_with java) \
- $(use_with perl) \
- $(use_with php) \
- $(use_with python) \
- $(use_with xinetd xinetd /etc/xinetd.d) \
- --enable-libpaper \
- --disable-dnssd \
- ${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)"/usr/libexec/cups:' Makedefs || die
- sed -i -e 's:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN "/usr/libexec/cups":' config.h || die
- sed -i -e 's:cups_serverbin=.*:cups_serverbin=/usr/libexec/cups:' cups-config || die
-}
-
-src_compile() {
- emake || die "emake failed"
-
- if use perl ; then
- cd "${S}"/scripting/perl
- perl-module_src_prep
- perl-module_src_compile
- fi
-
- if use php ; then
- cd "${S}"/scripting/php
- emake || die "emake php failed"
- fi
-}
-
-src_install() {
- emake BUILDROOT="${D}" install || die "emake install failed"
- dodoc {CHANGES,CREDITS,README}.txt || die "dodoc install failed"
-
- if use perl ; then
- cd "${S}"/scripting/perl
- perl-module_src_install
- fixlocalpod
- fi
-
- if use php ; then
- cd "${S}"/scripting/php
- emake DESTDIR="${D}" install || die "emake install for php bindings failed"
- fi
-
- # clean out cups init scripts
- rm -rf "${D}"/etc/{init.d/cups,rc*,pam.d/cups}
-
- # install our init script
- local neededservices
- use dbus && neededservices+=" dbus"
- [[ -n ${neededservices} ]] && neededservices="need${neededservices}"
- cp "${FILESDIR}"/cupsd.init.d "${T}"/cupsd || die
- sed -i \
- -e "s/@neededservices@/$neededservices/" \
- "${T}"/cupsd || die
- doinitd "${T}"/cupsd || die "doinitd failed"
-
- # 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:" \
- "${D}"/etc/xinetd.d/cups-lpd || die
- # it is safer to disable this by default, bug #137130
- grep -w 'disable' "${D}"/etc/xinetd.d/cups-lpd || \
- { sed -i -e "s:}:\tdisable = yes\n}:" "${D}"/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
- rm -rf "${D}"/etc/xinetd.d
- fi
-
- keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \
- /var/cache/cups /var/cache/cups/rss /var/log/cups /var/run/cups/certs \
- /var/spool/cups/tmp
-
- keepdir /etc/cups/{interfaces,ppd,ssl}
-
- use X || rm -r "${D}"/usr/share/applications
-
- # create /etc/cups/client.conf, bug #196967 and #266678
- echo "ServerName /var/run/cups/cups.sock" >> "${D}"/etc/cups/client.conf
-}
-
-pkg_postinst() {
- echo
- elog "For information about installing a printer and general cups setup"
- elog "take a look at: http://www.gentoo.org/doc/en/printing-howto.xml"
- echo
-}
diff --git a/net-print/cups/cups-1.4.4-r2.ebuild b/net-print/cups/cups-1.4.6.ebuild
index e5f3ae0..3b95697 100644
--- a/net-print/cups/cups-1.4.4-r2.ebuild
+++ b/net-print/cups/cups-1.4.6.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-1.4.4-r2.ebuild,v 1.3 2010/09/12 17:19:23 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-1.4.6.ebuild,v 1.1 2011/01/13 01:59:49 tgurr Exp $
EAPI=3
@@ -89,6 +89,8 @@ src_prepare() {
epatch "${FILESDIR}/${PN}-1.4.4-nostrip.patch"
epatch "${FILESDIR}/${PN}-1.4.4-php-destdir.patch"
epatch "${FILESDIR}/${PN}-1.4.4-perl-includes.patch"
+ epatch "${FILESDIR}/${PN}-1.4.6-force-gnutls.patch"
+ epatch "${FILESDIR}/${PN}-1.4.6-serialize-gnutls.patch"
# Dan's group fix
epatch "${FILESDIR}/${PN}-1.4.1-group_fix.patch"
diff --git a/net-print/cups/files/cups-1.4.6-force-gnutls.patch b/net-print/cups/files/cups-1.4.6-force-gnutls.patch
new file mode 100644
index 0000000..06daeb3
--- /dev/null
+++ b/net-print/cups/files/cups-1.4.6-force-gnutls.patch
@@ -0,0 +1,93 @@
+Source: http://pkgs.fedoraproject.org/gitweb/?p=cups.git;a=blob;f=cups-force-gnutls.patch;h=85adaa8bdcc013e5401fffe74306a5fe644cf088;hb=HEAD
+Reason: Force the use of gnutls despite thread-safety concerns (Gentoo bug #350406)
+Upstream: http://cups.org/str.php?L3605
+
+diff -up cups-1.4.4/config-scripts/cups-ssl.m4.force-gnutls cups-1.4.4/config-scripts/cups-ssl.m4
+--- cups-1.4.4/config-scripts/cups-ssl.m4.force-gnutls 2010-09-15 16:49:22.343502552 +0100
++++ cups-1.4.4/config-scripts/cups-ssl.m4 2010-09-15 16:49:42.347502595 +0100
+@@ -65,23 +65,21 @@ if test x$enable_ssl != xno; then
+ if $PKGCONFIG --exists gnutls; then
+ if test "x$have_pthread" = xyes; then
+ AC_MSG_WARN([The current version of GNU TLS cannot be made thread-safe.])
+- else
+- have_ssl=1
+- SSLLIBS=`$PKGCONFIG --libs gnutls`
+- SSLFLAGS=`$PKGCONFIG --cflags gnutls`
+- AC_DEFINE(HAVE_SSL)
+- AC_DEFINE(HAVE_GNUTLS)
+ fi
++ have_ssl=1
++ SSLLIBS=`$PKGCONFIG --libs gnutls`
++ SSLFLAGS=`$PKGCONFIG --cflags gnutls`
++ AC_DEFINE(HAVE_SSL)
++ AC_DEFINE(HAVE_GNUTLS)
+ elif test "x$LIBGNUTLSCONFIG" != x; then
+ if test "x$have_pthread" = xyes; then
+ AC_MSG_WARN([The current version of GNU TLS cannot be made thread-safe.])
+- else
+- have_ssl=1
+- SSLLIBS=`$LIBGNUTLSCONFIG --libs`
+- SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
+- AC_DEFINE(HAVE_SSL)
+- AC_DEFINE(HAVE_GNUTLS)
+ fi
++ have_ssl=1
++ SSLLIBS=`$LIBGNUTLSCONFIG --libs`
++ SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
++ AC_DEFINE(HAVE_SSL)
++ AC_DEFINE(HAVE_GNUTLS)
+ fi
+
+ if test $have_ssl = 1; then
+diff -up cups-1.4.4/configure.force-gnutls cups-1.4.4/configure
+--- cups-1.4.4/configure.force-gnutls 2010-06-17 19:25:47.000000000 +0100
++++ cups-1.4.4/configure 2010-09-15 16:50:01.689503165 +0100
+@@ -17542,36 +17542,34 @@ fi
+ if test "x$have_pthread" = xyes; then
+ { echo "$as_me:$LINENO: WARNING: The current version of GNU TLS cannot be made thread-safe." >&5
+ echo "$as_me: WARNING: The current version of GNU TLS cannot be made thread-safe." >&2;}
+- else
+- have_ssl=1
+- SSLLIBS=`$PKGCONFIG --libs gnutls`
+- SSLFLAGS=`$PKGCONFIG --cflags gnutls`
+- cat >>confdefs.h <<\_ACEOF
++ fi
++ have_ssl=1
++ SSLLIBS=`$PKGCONFIG --libs gnutls`
++ SSLFLAGS=`$PKGCONFIG --cflags gnutls`
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_SSL 1
+ _ACEOF
+
+- cat >>confdefs.h <<\_ACEOF
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_GNUTLS 1
+ _ACEOF
+
+- fi
+ elif test "x$LIBGNUTLSCONFIG" != x; then
+ if test "x$have_pthread" = xyes; then
+ { echo "$as_me:$LINENO: WARNING: The current version of GNU TLS cannot be made thread-safe." >&5
+ echo "$as_me: WARNING: The current version of GNU TLS cannot be made thread-safe." >&2;}
+- else
+- have_ssl=1
+- SSLLIBS=`$LIBGNUTLSCONFIG --libs`
+- SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
+- cat >>confdefs.h <<\_ACEOF
++ fi
++ have_ssl=1
++ SSLLIBS=`$LIBGNUTLSCONFIG --libs`
++ SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_SSL 1
+ _ACEOF
+
+- cat >>confdefs.h <<\_ACEOF
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_GNUTLS 1
+ _ACEOF
+
+- fi
+ fi
+
+ if test $have_ssl = 1; then
diff --git a/net-print/cups/files/cups-1.4.6-serialize-gnutls.patch b/net-print/cups/files/cups-1.4.6-serialize-gnutls.patch
new file mode 100644
index 0000000..bfe9f5e
--- /dev/null
+++ b/net-print/cups/files/cups-1.4.6-serialize-gnutls.patch
@@ -0,0 +1,113 @@
+Source: http://pkgs.fedoraproject.org/gitweb/?p=cups.git;a=blob;f=cups-serialize-gnutls.patch;h=cdd82cb95574801bf714364a585e31eb05191750;hb=HEAD
+Reason: Perform locking for gnutls and avoid libgcrypt's broken locking (Gentoo bug #350406)
+Upstream: http://cups.org/str.php?L3605
+
+diff -up cups-1.4.4/cups/http.c.serialize-gnutls cups-1.4.4/cups/http.c
+--- cups-1.4.4/cups/http.c.serialize-gnutls 2010-09-17 13:37:01.858871762 +0100
++++ cups-1.4.4/cups/http.c 2010-09-17 13:55:22.579871934 +0100
+@@ -149,7 +149,7 @@ static int http_write_ssl(http_t *http,
+
+ # ifdef HAVE_GNUTLS
+ # ifdef HAVE_PTHREAD_H
+-GCRY_THREAD_OPTION_PTHREAD_IMPL;
++static pthread_mutex_t gnutls_lock;
+ # endif /* HAVE_PTHREAD_H */
+
+ # elif defined(HAVE_LIBSSL) && defined(HAVE_PTHREAD_H)
+@@ -1231,7 +1231,7 @@ httpInitialize(void)
+ */
+
+ # ifdef HAVE_PTHREAD_H
+- gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
++ pthread_mutex_init(&gnutls_lock, NULL);
+ # endif /* HAVE_PTHREAD_H */
+
+ /*
+@@ -2228,6 +2228,7 @@ _httpWait(http_t *http, /* I - Connect
+ if (SSL_pending((SSL *)(http->tls)))
+ return (1);
+ # elif defined(HAVE_GNUTLS)
++ /* lock already held here... */
+ if (gnutls_record_check_pending(((http_tls_t *)(http->tls))->session))
+ return (1);
+ # elif defined(HAVE_CDSASSL)
+@@ -2294,6 +2295,8 @@ int /* O - 1 if data is available, 0
+ httpWait(http_t *http, /* I - Connection to server */
+ int msec) /* I - Milliseconds to wait */
+ {
++ int ret;
++
+ /*
+ * First see if there is data in the buffer...
+ */
+@@ -2318,7 +2321,17 @@ httpWait(http_t *http, /* I - Connecti
+ * If not, check the SSL/TLS buffers and do a select() on the connection...
+ */
+
+- return (_httpWait(http, msec, 1));
++#if defined(HAVE_SSL) && defined(HAVE_GNUTLS) && defined(HAVE_PTHREAD_H)
++ pthread_mutex_lock(&gnutls_lock);
++#endif
++
++ ret = _httpWait(http, msec, 1);
++
++#if defined(HAVE_SSL) && defined(HAVE_GNUTLS) && defined(HAVE_PTHREAD_H)
++ pthread_mutex_unlock(&gnutls_lock);
++#endif
++
++ return (ret);
+ }
+
+
+@@ -2769,7 +2782,9 @@ http_read_ssl(http_t *http, /* I - Conn
+ ssize_t result; /* Return value */
+
+
++ pthread_mutex_lock(&gnutls_lock);
+ result = gnutls_record_recv(((http_tls_t *)(http->tls))->session, buf, len);
++ pthread_mutex_unlock(&gnutls_lock);
+
+ if (result < 0 && !errno)
+ {
+@@ -3085,6 +3100,7 @@ http_setup_ssl(http_t *http) /* I - Con
+ return (-1);
+ }
+
++ pthread_mutex_lock(&gnutls_lock);
+ gnutls_certificate_allocate_credentials(credentials);
+
+ gnutls_init(&(conn->session), GNUTLS_CLIENT);
+@@ -3104,9 +3120,11 @@ http_setup_ssl(http_t *http) /* I - Con
+ free(credentials);
+ free(conn);
+
++ pthread_mutex_unlock(&gnutls_lock);
+ return (-1);
+ }
+
++ pthread_mutex_unlock(&gnutls_lock);
+ conn->credentials = credentials;
+
+ # elif defined(HAVE_CDSASSL)
+@@ -3196,9 +3214,11 @@ http_shutdown_ssl(http_t *http) /* I -
+ conn = (http_tls_t *)(http->tls);
+ credentials = (gnutls_certificate_client_credentials *)(conn->credentials);
+
++ pthread_mutex_lock(&gnutls_lock);
+ gnutls_bye(conn->session, GNUTLS_SHUT_RDWR);
+ gnutls_deinit(conn->session);
+ gnutls_certificate_free_credentials(*credentials);
++ pthread_mutex_unlock(&gnutls_lock);
+ free(credentials);
+ free(conn);
+
+@@ -3445,7 +3465,9 @@ http_write_ssl(http_t *http, /* I -
+ # elif defined(HAVE_GNUTLS)
+ ssize_t result; /* Return value */
+
++ pthread_mutex_lock(&gnutls_lock);
+ result = gnutls_record_send(((http_tls_t *)(http->tls))->session, buf, len);
++ pthread_mutex_unlock(&gnutls_lock);
+
+ if (result < 0 && !errno)
+ {