From 67ab270ee795622a7c35048b4afc299ebc747bf4 Mon Sep 17 00:00:00 2001 From: geos_one Date: Sun, 27 Sep 2009 17:43:16 +0000 Subject: [PATCH] add cups 1.4.1 git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/mds@1555 6952d904-891a-0410-993b-d76249ca496b --- net-print/cups/Manifest | 5 + net-print/cups/cups-1.4.1.ebuild | 170 ++++++++++++++++++ .../cups/files/cups-1.4.0-backend-https.patch | 11 ++ .../cups/files/cups-1.4.1-ldap-draft-1.patch | 114 ++++++++++++ .../files/cups-1.4.1-usb-function-decl.patch | 25 +++ 5 files changed, 325 insertions(+) create mode 100644 net-print/cups/cups-1.4.1.ebuild create mode 100644 net-print/cups/files/cups-1.4.0-backend-https.patch create mode 100644 net-print/cups/files/cups-1.4.1-ldap-draft-1.patch create mode 100644 net-print/cups/files/cups-1.4.1-usb-function-decl.patch diff --git a/net-print/cups/Manifest b/net-print/cups/Manifest index 89c045f..c10efb5 100644 --- a/net-print/cups/Manifest +++ b/net-print/cups/Manifest @@ -3,15 +3,20 @@ AUX cups-1.3.10-str3178.patch 888 RMD160 ff061fc3500960f441c59896cdfe421d5f47f38 AUX cups-1.3.7-backend-https.patch 450 RMD160 9a1ad48d2be40c89510ccc512649f0a2eb5543b0 SHA1 d3dd55fcdee47855d6b7c1443adb6c2b3d8c9cdb SHA256 060f929ae3eae5dc411ce6352a0d50c3296b013974f034fc2ad8d6bb0c81b45a AUX cups-1.3.9-CVE-2008-5286.patch 761 RMD160 7abe5d746cc2c8135e946de492b767137204345a SHA1 1e904c63e5bb2ef2e6f9792e3b2c3bcb89cdc6e8 SHA256 e85dc13164dd1c7b7fa978aeb5b6df886d9595319aab5fadde57e35d0259aee3 AUX cups-1.3.9-ldap-draft-1.patch 3443 RMD160 a8d6cdc180c7a3dc4747e91d2b0b662978d613f4 SHA1 a1ad1ebc6258044cc5068153995a5f1415904a6c SHA256 096440d1fc5f18c65338a45699648c89f43b802721f51b91428df8446d77a582 +AUX cups-1.4.0-backend-https.patch 483 RMD160 b338f67ebf0719b5e12eaa8490affbd7a1bb8c0e SHA1 bfeadba67792203d654a64bdec16f3d2a31aeca6 SHA256 9060a5d848d6655db4629822d01fd772a3fbe1a5107109c50cb0ecb4de7a9526 +AUX cups-1.4.1-ldap-draft-1.patch 4396 RMD160 f6140f19d5c5496db0510ad0b4216edab0ab4d40 SHA1 73dab3605113feafa67c3f0be4e04eb0a6fedde7 SHA256 2559de7e1beef5afc9a62032b60b95fcc36cf222d83063e2116a07e07c217159 +AUX cups-1.4.1-usb-function-decl.patch 767 RMD160 12c0bc2ff991f2c0edb4be92fde4db58116b6ca5 SHA1 9b1486f153cc32ee206d927d7d186c76099a7cef SHA256 dc32eb0658dbd263b6361ca6d55bf977fb04b604042041987db69ffb2f840e41 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.10-source.tar.bz2 3778970 RMD160 9c8f5366f84b5f9087f7a29bace677db309a933f SHA1 48689f07104106216d35198cc90ed56df33faf38 SHA256 9701a545a6a05a991beeb49b41fbb4d450c3bdbb4eb74b132b0d2988640bb566 DIST cups-1.3.11-source.tar.bz2 3799424 RMD160 aa263fe29350cee307bbd72ef2f5cb061c2476e0 SHA1 c8304ee8d631bb370fc10fc1fffbe8ebae413df2 SHA256 824b7fe5cefa981f2ce20f356983be182a551f716ccab8f5194fe645b1178303 DIST cups-1.3.9-source.tar.bz2 3993875 RMD160 ec8bd9fc6ee45648b6eb22949f44fc4cf2defd4e SHA1 c1a596b355201320456b393446286fe3947bce16 SHA256 38856ab4b8bcf51be2bed1f554cd8089c1f2448a6979c055762b49eda82a6b6b +DIST cups-1.4.1-source.tar.bz2 4449577 RMD160 d6db8ff3c7b0e56e147d227dcac0c8ca92f190cf SHA1 e53cadf8d9fa5b52b224fc29364a879feb0f3508 SHA256 cff66f14ca2099c977d693136b8f1b4c5d2d66e4471d67fa4114653852c2d3ba EBUILD cups-1.3.10-r2.ebuild 8429 RMD160 7fdbadc2774bd04df819ea98223a06eb32196c20 SHA1 f026a96451664de7bd7913932f7d9cef2ad7b455 SHA256 97e393257c0daf3441c2872010b41b858ea8443361bd4976cb0e616601a2238d EBUILD cups-1.3.10.ebuild 8319 RMD160 6c2363efe252c52124ab37dc572be6b68bc8e5aa SHA1 6b71d8b4a7cc38cb689f74da88567de0eb0cf636 SHA256 3903dd4d66c18f0251495446cc686fdaa2b3a7f435a3faee9bf736f6cb61209b EBUILD cups-1.3.11.ebuild 8430 RMD160 24de5585670d0c815277e00080257ccb6a9c5304 SHA1 573503a30d53c8d4fdbb1e1b2aab7d3f71e8a916 SHA256 14562a09f3546cf8bfa7592efedc89b835c9485b2331b03717616a84da3de58a EBUILD cups-1.3.9-r1.ebuild 8724 RMD160 2fadb7b929fa65fad0aab8df9e23a59f47843424 SHA1 9c3d039bb8941370f280915dded0c2467b573509 SHA256 823b083c2c1670f3dc069c70b07d408d96e92e567822106dac4e3613ed0b1588 EBUILD cups-1.3.9-r2.ebuild 8724 RMD160 2fadb7b929fa65fad0aab8df9e23a59f47843424 SHA1 9c3d039bb8941370f280915dded0c2467b573509 SHA256 823b083c2c1670f3dc069c70b07d408d96e92e567822106dac4e3613ed0b1588 +EBUILD cups-1.4.1.ebuild 5228 RMD160 4fecb94344765ca29d0f12fc624ddd11b0a44aa7 SHA1 3cea580ca9e54c72b8643f36e613ca5a1ddec9ec SHA256 cc80002f6484e01713e5a4ed250573d5d212fa348bb7baff269f47a7b24038a7 MISC ChangeLog 51389 RMD160 03ebbc9ab8cb90789d6d011d60a2b3aef7063340 SHA1 ba6c396eb60d87e769351b019c7048060381590c SHA256 ff3fb80a1dbc05318f48635e68b75335290a212f5f7f407551a09327c830f976 MISC metadata.xml 161 RMD160 1e5b1e42553c8869b93c4a5448e9a2a2ed9fe525 SHA1 209c6a46e4cdd891980115e42ba419e3799f8088 SHA256 7c85e6739a71f5bb23e8de36c88677d772946e61f7285892f7554e37bd2bca76 diff --git a/net-print/cups/cups-1.4.1.ebuild b/net-print/cups/cups-1.4.1.ebuild new file mode 100644 index 0000000..6c40c8c --- /dev/null +++ b/net-print/cups/cups-1.4.1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-1.4.1.ebuild,v 1.2 2009/09/17 15:36:38 lack Exp $ + +EAPI="2" + +inherit eutils flag-o-matic multilib pam versionator + +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 +tiff X xinetd zeroconf" + +COMMON_DEPEND="acl? ( kernel_linux? ( sys-apps/acl sys-apps/attr ) ) + dbus? ( sys-apps/dbus ) + gnutls? ( net-libs/gnutls ) + java? ( >=virtual/jre-1.4 ) + jpeg? ( >=media-libs/jpeg-6b ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap ) + pam? ( virtual/pam ) + perl? ( dev-lang/perl ) + php? ( dev-lang/php ) + png? ( >=media-libs/libpng-1.2.1 ) + python? ( dev-lang/python ) + slp? ( >=net-libs/openslp-1.0.4 ) + ssl? ( !gnutls? ( >=dev-libs/openssl-0.9.8g ) ) + tiff? ( >=media-libs/tiff-3.5.5 ) + xinetd? ( sys-apps/xinetd ) + zeroconf? ( || ( net-dns/avahi[mdnsresponder-compat] net-misc/mDNSResponder ) ) + app-text/libpaper + app-text/poppler-utils + dev-libs/libgcrypt + dev-libs/libusb + !net-print/cupsddk" + +DEPEND="${COMMON_DEPEND}" + +RDEPEND="${COMMON_DEPEND} + !virtual/lpr + X? ( x11-misc/xdg-utils )" + +PDEPEND="|| ( app-text/ghostscript-gpl[cups] app-text/ghostscript-gnu[cups] )" + +PROVIDE="virtual/lpr" + +# upstream includes an interactive test which is a nono for gentoo. +# therefore, since the printing herd has bigger fish to fry, for now, +# we just leave it out, even if FEATURES=test +RESTRICT="test" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + enewgroup lp + enewuser lp -1 -1 -1 lp + enewgroup lpadmin 106 +} + +src_prepare() { + # create a missing symlink to allow https printing via IPP, bug #217293 + epatch "${FILESDIR}/${PN}-1.4.0-backend-https.patch" + epatch "${FILESDIR}/${PN}-1.4.1-usb-function-decl.patch" + + # use the ldap schema of the ldap draft + epatch "${FILESDIR}/${PN}-1.4.1-ldap-draft-1.patch" +} + +src_configure() { + local myconf + + if use ssl || use gnutls ; then + myconf="${myconf} \ + $(use_enable gnutls) \ + $(use_enable !gnutls openssl)" + else + myconf="${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-pdftops=pdftops \ + --with-system-groups=lpadmin \ + --with-xinetd=/etc/xinetd.d \ + $(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) \ + $(use_enable tiff) \ + $(use_enable zeroconf dnssd) \ + $(use_with java) \ + $(use_with perl) \ + $(use_with php) \ + $(use_with python) \ + --enable-libpaper \ + --enable-libusb \ + --enable-threads \ + --enable-pdftops \ + ${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 + sed -i -e 's:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN "/usr/libexec/cups":' config.h + sed -i -e 's:cups_serverbin=.*:cups_serverbin=/usr/libexec/cups:' cups-config +} + +src_install() { + emake BUILDROOT="${D}" install || die "emake install failed" + dodoc {CHANGES,CREDITS,README}.txt || die "dodoc install failed" + + # clean out cups init scripts + rm -rf "${D}"/etc/{init.d/cups,rc*,pam.d/cups} + + # install our init script + local neededservices + use zeroconf && has_version 'net-dns/avahi' && neededservices="$neededservices avahi-daemon" + use zeroconf && has_version 'net-misc/mDNSResponder' && neededservices="$neededservices mDNSResponderPosix" + use dbus && neededservices="$neededservices dbus" + [[ -n ${neededservices} ]] && neededservices="need${neededservices}" + sed -e "s/@neededservices@/$neededservices/" "${FILESDIR}"/cupsd.init.d > "${T}"/cupsd + 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 + # 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 + else + rm -rf "${D}"/etc/xinetd.d + fi + + keepdir /usr/share/cups/profiles /usr/libexec/cups/driver /var/log/cups \ + /var/run/cups/certs /var/cache/cups /var/spool/cups/tmp /etc/cups/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/files/cups-1.4.0-backend-https.patch b/net-print/cups/files/cups-1.4.0-backend-https.patch new file mode 100644 index 0000000..8a70a20 --- /dev/null +++ b/net-print/cups/files/cups-1.4.0-backend-https.patch @@ -0,0 +1,11 @@ +diff -Naur cups-1.4.0/backend/Makefile cups-1.4.0.new/backend/Makefile +--- cups-1.4.0/backend/Makefile 2009-03-03 20:39:21.000000000 +0100 ++++ cups-1.4.0.new/backend/Makefile 2009-09-01 14:00:05.592615359 +0200 +@@ -91,6 +91,7 @@ + done + $(RM) $(SERVERBIN)/backend/http + $(LN) ipp $(SERVERBIN)/backend/http ++ $(LN) ipp $(SERVERBIN)/backend/https + if test "x$(DNSSD_BACKEND)" != x; then \ + $(RM) $(SERVERBIN)/backend/mdns; \ + $(LN) $(DNSSD_BACKEND) $(SERVERBIN)/backend/mdns; \ diff --git a/net-print/cups/files/cups-1.4.1-ldap-draft-1.patch b/net-print/cups/files/cups-1.4.1-ldap-draft-1.patch new file mode 100644 index 0000000..efb2e1e --- /dev/null +++ b/net-print/cups/files/cups-1.4.1-ldap-draft-1.patch @@ -0,0 +1,114 @@ +Submitted By: Mario Fetka (mario dot fetka at gmail dot com) +Date: 2009-09-27 +Initial Package Version: 1.3.9 +Origin: me +Upstream Status: unknown +Description: use the oids from the ldap ipp draft +https://datatracker.ietf.org/drafts/draft-ietf-ipp-ldap-printer-schema/ + +this patch also requres a migration addon schema +http://ftp.mars.arge.at/mds/printer-cups.schema + +diff -Naur cups-1.4.1.orig/scheduler/dirsvc.c cups-1.4.1/scheduler/dirsvc.c +--- cups-1.4.1.orig/scheduler/dirsvc.c 2009-09-27 11:59:13.412880248 +0000 ++++ cups-1.4.1/scheduler/dirsvc.c 2009-09-27 12:04:52.581880776 +0000 +@@ -181,11 +181,11 @@ + #ifdef HAVE_LDAP + static const char * const ldap_attrs[] =/* CUPS LDAP attributes */ + { +- "printerDescription", +- "printerLocation", +- "printerMakeAndModel", +- "printerType", +- "printerURI", ++ "printer-info", ++ "printer-location", ++ "printer-make-and-model", ++ "printer-type", ++ "printer-uri", + NULL + }; + #endif /* HAVE_LDAP */ +@@ -2151,25 +2151,25 @@ + */ + + if (ldap_getval_firststring(BrowseLDAPHandle, e, +- "printerDescription", info, sizeof(info)) == -1) ++ "printer-info", info, sizeof(info)) == -1) + continue; + + if (ldap_getval_firststring(BrowseLDAPHandle, e, +- "printerLocation", location, sizeof(location)) == -1) ++ "printer-location", location, sizeof(location)) == -1) + continue; + + if (ldap_getval_firststring(BrowseLDAPHandle, e, +- "printerMakeAndModel", make_model, sizeof(make_model)) == -1) ++ "printer-make-and-model", make_model, sizeof(make_model)) == -1) + continue; + + if (ldap_getval_firststring(BrowseLDAPHandle, e, +- "printerType", type_num, sizeof(type_num)) == -1) ++ "printer-type", type_num, sizeof(type_num)) == -1) + continue; + + type = atoi(type_num); + + if (ldap_getval_firststring(BrowseLDAPHandle, e, +- "printerURI", uri, sizeof(uri)) == -1) ++ "printer-uri", uri, sizeof(uri)) == -1) + continue; + + /* +@@ -4423,15 +4423,15 @@ + + mods[0].mod_type = "cn"; + mods[0].mod_values = cn_value; +- mods[1].mod_type = "printerDescription"; ++ mods[1].mod_type = "printer-info"; + mods[1].mod_values = info; +- mods[2].mod_type = "printerURI"; ++ mods[2].mod_type = "printer-uri"; + mods[2].mod_values = uri; +- mods[3].mod_type = "printerLocation"; ++ mods[3].mod_type = "printer-location"; + mods[3].mod_values = location; +- mods[4].mod_type = "printerMakeAndModel"; ++ mods[4].mod_type = "printer-make-and-model"; + mods[4].mod_values = make_model; +- mods[5].mod_type = "printerType"; ++ mods[5].mod_type = "printer-type"; + mods[5].mod_values = type; + mods[6].mod_type = "objectClass"; + mods[6].mod_values = (char **)objectClass_values; +@@ -4454,25 +4454,25 @@ + * Get the required values from this entry... + */ + +- if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerDescription", ++ if (ldap_getval_firststring(BrowseLDAPHandle, e, "printer-info", + old_info, sizeof(old_info)) == -1) + old_info[0] = '\0'; + +- if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerLocation", ++ if (ldap_getval_firststring(BrowseLDAPHandle, e, "printer-location", + old_location, sizeof(old_location)) == -1) + old_info[0] = '\0'; + +- if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerMakeAndModel", ++ if (ldap_getval_firststring(BrowseLDAPHandle, e, "printer-make-and-model", + old_make_model, sizeof(old_make_model)) == -1) + old_info[0] = '\0'; + +- if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerType", ++ if (ldap_getval_firststring(BrowseLDAPHandle, e, "printer-type", + old_type_string, sizeof(old_type_string)) == -1) + old_info[0] = '\0'; + + old_type = atoi(old_type_string); + +- if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerURI", old_uri, ++ if (ldap_getval_firststring(BrowseLDAPHandle, e, "printer-uri", old_uri, + sizeof(old_uri)) == -1) + old_info[0] = '\0'; + diff --git a/net-print/cups/files/cups-1.4.1-usb-function-decl.patch b/net-print/cups/files/cups-1.4.1-usb-function-decl.patch new file mode 100644 index 0000000..3953d92 --- /dev/null +++ b/net-print/cups/files/cups-1.4.1-usb-function-decl.patch @@ -0,0 +1,25 @@ +From 484851e02cc5a9b702e0f226f20a0d33325d9dee Mon Sep 17 00:00:00 2001 +From: Tim Waugh +Date: Mon, 14 Sep 2009 17:34:36 +0100 +Subject: [PATCH] Fixed side_cb function declaration in usb-unix.c. + +--- + backend/usb-unix.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/backend/usb-unix.c b/backend/usb-unix.c +index c47910d..a00f1ad 100644 +--- a/backend/usb-unix.c ++++ b/backend/usb-unix.c +@@ -560,7 +560,7 @@ open_device(const char *uri, /* I - Device URI */ + * 'side_cb()' - Handle side-channel requests... + */ + +-static void ++static int + side_cb(int print_fd, /* I - Print file */ + int device_fd, /* I - Device file */ + int snmp_fd, /* I - SNMP socket (unused) */ +-- +1.6.4.2 +