From 6ccb6bb874ff8f428ac612dde4906cefd27141c8 Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Wed, 31 Jan 2007 15:53:38 +0000 Subject: [PATCH] Fix for generating udev rules properly. Rather then recursive it just changes the device. Also don't accidentally match on VendorID=0. Package-Manager: portage-2.1.2-r5 --- media-libs/libgphoto2/ChangeLog | 9 +- media-libs/libgphoto2/Manifest | 29 +++- .../files/digest-libgphoto2-2.3.1-r2 | 3 + .../libgphoto2-2.3.1-udev-rules-fix.diff | 29 ++++ .../libgphoto2/libgphoto2-2.3.1-r2.ebuild | 156 ++++++++++++++++++ 5 files changed, 221 insertions(+), 5 deletions(-) create mode 100644 media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r2 create mode 100644 media-libs/libgphoto2/files/libgphoto2-2.3.1-udev-rules-fix.diff create mode 100644 media-libs/libgphoto2/libgphoto2-2.3.1-r2.ebuild diff --git a/media-libs/libgphoto2/ChangeLog b/media-libs/libgphoto2/ChangeLog index 64468bc0684a..031c0cd431ac 100644 --- a/media-libs/libgphoto2/ChangeLog +++ b/media-libs/libgphoto2/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-libs/libgphoto2 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libgphoto2/ChangeLog,v 1.90 2007/01/30 19:57:28 alonbl Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libgphoto2/ChangeLog,v 1.91 2007/01/31 15:53:38 cardoe Exp $ + +*libgphoto2-2.3.1-r2 (31 Jan 2007) + + 31 Jan 2007; Doug Goldstein + +files/libgphoto2-2.3.1-udev-rules-fix.diff, +libgphoto2-2.3.1-r2.ebuild: + Fix for generating udev rules properly. Rather then recursive it just + changes the device. Also don't accidentally match on VendorID=0. 30 Jan 2007; Alon Bar-Lev libgphoto2-2.3.1-r1.ebuild: Fix an issue with gtk-doc installed, bug#164530 diff --git a/media-libs/libgphoto2/Manifest b/media-libs/libgphoto2/Manifest index bbeb211c8e70..67fc480697bf 100644 --- a/media-libs/libgphoto2/Manifest +++ b/media-libs/libgphoto2/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX canon.powershot.usermap 4575 RMD160 d280ac90745b440133b33d203dfd121cf31c5b96 SHA1 4a57170205f4a7393a3686f7e29a4567da832aa8 SHA256 93cfa9d2028cab38de7c4f89d46c929313b3bca4120bafb8bbcf5747c3169f3a MD5 8fc24b590738d4420bb8df6521fbbda0 files/canon.powershot.usermap 4575 RMD160 d280ac90745b440133b33d203dfd121cf31c5b96 files/canon.powershot.usermap 4575 @@ -30,6 +33,10 @@ AUX libgphoto2-2.3.1-rpm.patch 456 RMD160 77c45c7c811f24bd8916a2366fca0ad6c7cd1a MD5 b3498ad89c74301d88765d341edd9d9b files/libgphoto2-2.3.1-rpm.patch 456 RMD160 77c45c7c811f24bd8916a2366fca0ad6c7cd1adf files/libgphoto2-2.3.1-rpm.patch 456 SHA256 e0fff2950b7b6276586352bdc487c989cd02432df20eb8f604dc4f5f3ee5d284 files/libgphoto2-2.3.1-rpm.patch 456 +AUX libgphoto2-2.3.1-udev-rules-fix.diff 1297 RMD160 a1d97352cd972244a2f0b064f207ee100f39ac69 SHA1 04864d7b0774a4dea67aa7535226f842984f71ed SHA256 3afe2338a99b45bcb91af872eff4f24710b2178d94aa38c5d998df972279698d +MD5 34a9403d2e3afc7288e5b955ed16c406 files/libgphoto2-2.3.1-udev-rules-fix.diff 1297 +RMD160 a1d97352cd972244a2f0b064f207ee100f39ac69 files/libgphoto2-2.3.1-udev-rules-fix.diff 1297 +SHA256 3afe2338a99b45bcb91af872eff4f24710b2178d94aa38c5d998df972279698d files/libgphoto2-2.3.1-udev-rules-fix.diff 1297 DIST libgphoto2-2.1.6.tar.gz 3205731 RMD160 ef32357d9722a69d20a02098bd30c13165c27e6a SHA1 22be325303fa10a4a3f519d71b25364b3f84d653 SHA256 f80dc7b4b280db736b07089e31aefc8112a47e285e7d0b4f53249630a07fec80 DIST libgphoto2-2.2.1.tar.gz 4474022 RMD160 0b93ba1b6fe80c909623691f7a2452f01fa8832d SHA1 6636ae0020c201abaea74f9e3ea2d4bd404587c0 SHA256 2b8bdf357283951f990a05c8ffe897f57ddfa6be2bd1eca4253c13631405c9cf DIST libgphoto2-2.3.1.tar.bz2 3230934 RMD160 ab678a5006a89ef1fe9f052dac1f9738961cc3a8 SHA1 13cc3f05ee298b33cd03ba4b772ef05a3aa49b97 SHA256 b56433ae44e593ea0c55dd4ad69074e59151920f266dc646c1dc7e80ebe3b727 @@ -45,10 +52,14 @@ EBUILD libgphoto2-2.3.1-r1.ebuild 5041 RMD160 4a5839a2007aa3ccf4f7c439e574f02710 MD5 75e7c41af1d9df749a91be00b42d912f libgphoto2-2.3.1-r1.ebuild 5041 RMD160 4a5839a2007aa3ccf4f7c439e574f027107dd9d4 libgphoto2-2.3.1-r1.ebuild 5041 SHA256 fd9a5d3843b3fad67dd90890582288acc90aa4550b548c70fd2d7423276b1e9c libgphoto2-2.3.1-r1.ebuild 5041 -MISC ChangeLog 14507 RMD160 bd446b6c57fcc455deb498dd02470b3c41eb2b0a SHA1 fd5c7baeace582cb9c65d5759c981a384166efa3 SHA256 47dde2dbbed7eb4186bf0936d9ce181472fc502bc41f1f53039ac87055da6728 -MD5 d27a761dd3b2ca5d3117104d31f6132a ChangeLog 14507 -RMD160 bd446b6c57fcc455deb498dd02470b3c41eb2b0a ChangeLog 14507 -SHA256 47dde2dbbed7eb4186bf0936d9ce181472fc502bc41f1f53039ac87055da6728 ChangeLog 14507 +EBUILD libgphoto2-2.3.1-r2.ebuild 5129 RMD160 6e49c7813f0b8f99abc2431f1ddca7b409e00478 SHA1 b32bd0acb5db3f97503e0ba0ffe545780b95277a SHA256 62cad28ae9195bccefd3bf96e874f18f04894fb81954eec7c4340fbb5cde3852 +MD5 42fd79bbcc3961f41ffc88f13e218419 libgphoto2-2.3.1-r2.ebuild 5129 +RMD160 6e49c7813f0b8f99abc2431f1ddca7b409e00478 libgphoto2-2.3.1-r2.ebuild 5129 +SHA256 62cad28ae9195bccefd3bf96e874f18f04894fb81954eec7c4340fbb5cde3852 libgphoto2-2.3.1-r2.ebuild 5129 +MISC ChangeLog 14809 RMD160 1cd3b5647808563f0d06148fdb2afe0d081bf387 SHA1 dff8f02069cd1a874966f06af851e386fb67fa3b SHA256 921f3bc602da703d8ccf54b66da7a18fd0945237c1263d3eae0fec8fb5a9c7e0 +MD5 77359fd21bdf5d2e375dc8b85cab1a69 ChangeLog 14809 +RMD160 1cd3b5647808563f0d06148fdb2afe0d081bf387 ChangeLog 14809 +SHA256 921f3bc602da703d8ccf54b66da7a18fd0945237c1263d3eae0fec8fb5a9c7e0 ChangeLog 14809 MISC metadata.xml 273 RMD160 ba47ae4270a03bdca07255550d34c988816001bf SHA1 5edf5229a614bb7b9667d0dc64d455f9c282fa56 SHA256 a6bef8cc7f89558f4236d2a7507e97e966e38b31c8dffcd65f7a428f5fe96623 MD5 7e59357e866fde5180e2184134acafdc metadata.xml 273 RMD160 ba47ae4270a03bdca07255550d34c988816001bf metadata.xml 273 @@ -62,3 +73,13 @@ SHA256 bce3c4c7a08f9d9a3e8627e4bab1d096c6736d7e96b3cfa4c5e8d3886d312724 files/di MD5 f59a564d9acf40c03e04fbadc8f52b1d files/digest-libgphoto2-2.3.1-r1 256 RMD160 02bfc9e1c415b30e127ea38588f08e83c22beb73 files/digest-libgphoto2-2.3.1-r1 256 SHA256 cbf2aa1737eebc645f214359a686607a97e3d963a12c425f439b020fb56330c9 files/digest-libgphoto2-2.3.1-r1 256 +MD5 f59a564d9acf40c03e04fbadc8f52b1d files/digest-libgphoto2-2.3.1-r2 256 +RMD160 02bfc9e1c415b30e127ea38588f08e83c22beb73 files/digest-libgphoto2-2.3.1-r2 256 +SHA256 cbf2aa1737eebc645f214359a686607a97e3d963a12c425f439b020fb56330c9 files/digest-libgphoto2-2.3.1-r2 256 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.1 (GNU/Linux) + +iD8DBQFFwLuboeSe8B0zEfwRAo/DAJ4p5PEpAXix5HXgGCXIg6NHKhxdBwCeNc1g +afFQc7TB6LrlOT8LIBaGfG0= +=H629 +-----END PGP SIGNATURE----- diff --git a/media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r2 b/media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r2 new file mode 100644 index 000000000000..770cf01bd000 --- /dev/null +++ b/media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r2 @@ -0,0 +1,3 @@ +MD5 37f85e34e5b6031ddf6cac8b8782ac4f libgphoto2-2.3.1.tar.bz2 3230934 +RMD160 ab678a5006a89ef1fe9f052dac1f9738961cc3a8 libgphoto2-2.3.1.tar.bz2 3230934 +SHA256 b56433ae44e593ea0c55dd4ad69074e59151920f266dc646c1dc7e80ebe3b727 libgphoto2-2.3.1.tar.bz2 3230934 diff --git a/media-libs/libgphoto2/files/libgphoto2-2.3.1-udev-rules-fix.diff b/media-libs/libgphoto2/files/libgphoto2-2.3.1-udev-rules-fix.diff new file mode 100644 index 000000000000..675855877d7c --- /dev/null +++ b/media-libs/libgphoto2/files/libgphoto2-2.3.1-udev-rules-fix.diff @@ -0,0 +1,29 @@ +diff -Nur libgphoto2-2.3.1/packaging/generic/print-camera-list.c libgphoto2-2.3.1-udev-fix/packaging/generic/print-camera-list.c +--- libgphoto2-2.3.1/packaging/generic/print-camera-list.c 2006-12-24 10:16:19.000000000 -0500 ++++ libgphoto2-2.3.1-udev-fix/packaging/generic/print-camera-list.c 2007-01-31 10:39:12.000000000 -0500 +@@ -299,7 +299,7 @@ + /* Note: 2 lines because we need to use || ... having them on the same + * line would mean &&. + */ +- printf ("SUBSYSTEM!=\"usb*\", GOTO=\"libgphoto2_rules_end\"\n"); ++ printf ("SUBSYSTEM!=\"usb_device\", GOTO=\"libgphoto2_rules_end\"\n"); + printf ("ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n"); + return 0; + } +@@ -479,9 +479,14 @@ + else + fprintf(stderr,"unhandled interface match flags %x\n", flags); + } +- } else { +- printf ("ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ", ++ } else if (flags & GP_USB_HOTPLUG_MATCH_VENDOR_ID) { ++ ++ printf ("ATTR{idVendor}==\"%04x\", ATTR{idProduct}==\"%04x\", ", + a->usb_vendor, a->usb_product); ++ } else { ++ fprintf(stderr, "Attempted to output rule for Camera: \"%s\" , Vendor: \"%04x\" , Product: \"%04x\"", ++ a->model, a->usb_vendor, a->usb_product); ++ return 0; + } + if ((*params->argv)[1] == NULL) { + const char *hotplug_script = ((*params->argv)[0] != NULL) diff --git a/media-libs/libgphoto2/libgphoto2-2.3.1-r2.ebuild b/media-libs/libgphoto2/libgphoto2-2.3.1-r2.ebuild new file mode 100644 index 000000000000..d84853de3acd --- /dev/null +++ b/media-libs/libgphoto2/libgphoto2-2.3.1-r2.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libgphoto2/libgphoto2-2.3.1-r2.ebuild,v 1.1 2007/01/31 15:53:38 cardoe Exp $ + +# TODO +# 1. Track upstream bug --disable-docs does not work. +# http://sourceforge.net/tracker/index.php?func=detail&aid=1643870&group_id=8874&atid=108874 +# 2. Track upstream bug udevscriptdir does not work. +# http://sourceforge.net/tracker/index.php?func=detail&aid=1646520&group_id=8874&atid=108874 +# 3. Track upstream bug regarding rpm usage. +# http://sourceforge.net/tracker/index.php?func=detail&aid=1643813&group_id=8874&atid=358874 + +inherit eutils + +DESCRIPTION="Library that implements support for numerous digital cameras" +HOMEPAGE="http://www.gphoto.org/" +SRC_URI="mirror://sourceforge/gphoto/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +IUSE="nls doc exif hal kernel_linux" +RESTRICT="test" + +# By default, drivers for all supported cards will be compiled. +# If you want to only compile for specific card(s), set CAMERAS +# environment to a comma-separated list (no spaces) of drivers that +# you want to build. +IUSE_CAMERAS="adc65 agfa-cl20 aox barbie canon casio clicksmart310 digigr8 digita +dimera directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 kodak +konica largan lg_gsm mars minolta mustek panasonic pccam300 pccam600 +polaroid ptp2 ricoh samsung sierra sipix smal sonix sonydscf1 sonydscf55 +soundvision spca50x sq905 stv0674 stv0680 sx330z template toshiba" + +for camera in ${IUSE_CAMERAS}; do + IUSE="${IUSE} cameras_${camera}" +done + +RDEPEND="exif? ( >=media-libs/libexif-0.5.9 ) + hal? ( >=sys-apps/hal-0.5 ) + sys-devel/libtool" +DEPEND="${RDEPEND} + dev-util/pkgconfig + doc? ( app-doc/doxygen )" + +pkg_setup() { + if ! echo "${USE}" | grep "cameras_" > /dev/null 2>&1; then + einfo "libgphoto2 supports: all ${IUSE_CAMERAS}" + einfo "All camera drivers will be built since you did not specify" + einfo "via the CAMERAS variable what camera you use." + ewarn "NOTICE: Upstream will not support you if you do not compile all camera drivers first" + fi + + enewgroup plugdev || die "Error creating plugdev group" +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${P}-rpm.patch" + + # Fix for udev >= 098 rules generation + epatch "${FILESDIR}"/${P}-udev-rules-fix.diff +} + +src_compile() { + local cameras + local cam + for cam in ${IUSE_CAMERAS} ; do + use "cameras_${cam}" && cameras="${cameras},${cam}" + done + [ -z "${cameras}" ] \ + && cameras="all" \ + || cameras="${cameras:1}" + + einfo "Enabled camera drivers: ${cameras}" + [ "${cameras}" != "all" ] && \ + ewarn "Upstream will not support you if you do not compile all camera drivers first" + + CFLAGS="${CFLAGS} -DCANON_EXPERIMENTAL_20D" + + local myconf + + use exif \ + && myconf="${myconf} --with-exif-prefix=/usr" \ + || myconf="${myconf} --without-exif" + + econf \ + --with-drivers=${cameras} \ + --with-doc-dir=/usr/share/doc/${PF} \ + --with-html-dir=/usr/share/doc/${PF}/html \ + --with-hotplug-doc-dir=/usr/share/doc/${PF}/hotplug \ + $(use_enable nls) \ + --with-rpmbuild=/bin/true \ + --disable-docs \ + udevscriptdir=/lib/udev \ + GTKDOC=/bin/true \ + ${myconf} || die "econf failed" +# $(use_enable doc docs) \ TODO + + emake || die "make failed" +} + +src_install() { + emake DESTDIR=${D} install || die "install failed" + + # fixup autoconf bug TODO + if ! use doc && [ -d ${D}/usr/share/doc/${PF}/apidocs.html ]; then + rm -fr "${D}/usr/share/doc/${PF}/apidocs.html" + fi + # end fixup + + # fixup udevscriptdir is not working TODO + dodir /lib + mv "${D}/usr/lib/udev" "${D}/lib" + # end fixup + + dodoc ChangeLog NEWS* README AUTHORS TESTERS MAINTAINERS HACKING + + HAL_FDI="/usr/share/hal/fdi/information/10freedesktop/10-camera-libgphoto2.fdi" + UDEV_RULES="/etc/udev/rules.d/99-libgphoto2.rules" + + if [ -x ${D}/usr/$(get_libdir)/libgphoto2/print-camera-list ]; then + # Let print-camera-list find libgphoto2.so + export LD_LIBRARY_PATH="${D}/usr/$(get_libdir)" + # Let libgphoto2 find its camera-modules + export CAMLIBS="${D}/usr/$(get_libdir)/libgphoto2/${PV}" + + if use hal; then + einfo "Generating HAL FDI files ..." + mkdir -p ${D}/${HAL_FDI%/*} + ${D}/usr/$(get_libdir)/libgphoto2/print-camera-list hal-fdi >> ${D}/${HAL_FDI} \ + || die "failed to create hal-fdi" + fi + + einfo "Generating UDEV-rules ..." + mkdir -p ${D}/${UDEV_RULES%/*} + ${D}/usr/$(get_libdir)/libgphoto2/print-camera-list \ + udev-rules-0.98 group plugdev mode 0660 >> ${D}/${UDEV_RULES} \ + || die "failed to create udev-rules" + else + eerror "Unable to find ${ROOT}/usr/$(get_libdir)/libgphoto2/print-camera-list" + eerror "and therefore unable to generate hotplug usermap or HAL FDI files." + eerror "You will have to manually generate it by running:" + eerror " /usr/$(get_libdir)/libgphoto2/print-camera-list udev-rules-0.98 group plugdev mode 0660 > ${UDEV_RULES}" + eerror " /usr/$(get_libdir)/libgphoto2/print-camera-list hal-fdi > ${HAL_FDI}" + fi + +} + +pkg_postinst() { + elog "Don't forget to add yourself to the plugdev group " + elog "if you want to be able to access your camera." +} + -- 2.26.2