From 7685f4ab21c16825ef08b41edf0e2ccbb9c8d324 Mon Sep 17 00:00:00 2001 From: Matthias Schwarzott Date: Mon, 26 Feb 2007 10:15:08 +0000 Subject: [PATCH] Revert udev-rules to match also parent-devices (using ATTRS), Bug #166492. Package-Manager: portage-2.1.2-r11 --- media-libs/libgphoto2/ChangeLog | 8 +- media-libs/libgphoto2/Manifest | 25 ++- .../files/digest-libgphoto2-2.3.1-r4 | 3 + .../libgphoto2-2.3.1-udev-rules-fix2.diff | 28 ++++ .../libgphoto2/libgphoto2-2.3.1-r4.ebuild | 157 ++++++++++++++++++ 5 files changed, 213 insertions(+), 8 deletions(-) create mode 100644 media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r4 create mode 100644 media-libs/libgphoto2/files/libgphoto2-2.3.1-udev-rules-fix2.diff create mode 100644 media-libs/libgphoto2/libgphoto2-2.3.1-r4.ebuild diff --git a/media-libs/libgphoto2/ChangeLog b/media-libs/libgphoto2/ChangeLog index cae3892180e2..ca83ddb9f73e 100644 --- a/media-libs/libgphoto2/ChangeLog +++ b/media-libs/libgphoto2/ChangeLog @@ -1,6 +1,12 @@ # 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.95 2007/02/17 00:35:28 zzam Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libgphoto2/ChangeLog,v 1.96 2007/02/26 10:15:08 zzam Exp $ + +*libgphoto2-2.3.1-r4 (26 Feb 2007) + + 26 Feb 2007; Matthias Schwarzott + +files/libgphoto2-2.3.1-udev-rules-fix2.diff, +libgphoto2-2.3.1-r4.ebuild: + Revert udev-rules to match also parent-devices (using ATTRS), Bug #166492. 17 Feb 2007; Matthias Schwarzott libgphoto2-2.1.6-r1.ebuild, libgphoto2-2.2.1-r1.ebuild, diff --git a/media-libs/libgphoto2/Manifest b/media-libs/libgphoto2/Manifest index 23867d7809a5..3336ec3fee79 100644 --- a/media-libs/libgphoto2/Manifest +++ b/media-libs/libgphoto2/Manifest @@ -37,6 +37,10 @@ AUX libgphoto2-2.3.1-udev-rules-fix.diff 1297 RMD160 a1d97352cd972244a2f0b064f20 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 +AUX libgphoto2-2.3.1-udev-rules-fix2.diff 1229 RMD160 7c3554375290275d168a37da9dd6ea5cf99315cd SHA1 52920020b848f15035cc420d959d57638445a3c0 SHA256 9267360943445d268695d749bf9e16de310afa77e2b5afd6abfa67fcc21b2075 +MD5 2f5934149c4d9c8575bf5a9b097cd07a files/libgphoto2-2.3.1-udev-rules-fix2.diff 1229 +RMD160 7c3554375290275d168a37da9dd6ea5cf99315cd files/libgphoto2-2.3.1-udev-rules-fix2.diff 1229 +SHA256 9267360943445d268695d749bf9e16de310afa77e2b5afd6abfa67fcc21b2075 files/libgphoto2-2.3.1-udev-rules-fix2.diff 1229 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 @@ -56,10 +60,14 @@ EBUILD libgphoto2-2.3.1-r3.ebuild 5244 RMD160 66c56d687e9db52ffb696e5d6014bef8a8 MD5 13e1089f5db35df47abf72dbf6af1658 libgphoto2-2.3.1-r3.ebuild 5244 RMD160 66c56d687e9db52ffb696e5d6014bef8a882caab libgphoto2-2.3.1-r3.ebuild 5244 SHA256 a7a186831f2dcd0059104742e0cd2cb523f36cd39653dca73f1ada9361ab49ac libgphoto2-2.3.1-r3.ebuild 5244 -MISC ChangeLog 15591 RMD160 f18f31a961b90af077cbb807ff02425960e45704 SHA1 26c6be4c5e0e98a413083feb5d556e18a0bb8cbf SHA256 7eb1c500514bb2c6972c5f38701730e168e3fcda4e143f165ccfea097eb90aa5 -MD5 936096282da9638a4fc4c8758f9a2c78 ChangeLog 15591 -RMD160 f18f31a961b90af077cbb807ff02425960e45704 ChangeLog 15591 -SHA256 7eb1c500514bb2c6972c5f38701730e168e3fcda4e143f165ccfea097eb90aa5 ChangeLog 15591 +EBUILD libgphoto2-2.3.1-r4.ebuild 5245 RMD160 356046f02398bddfe9fcd80f57939a723eea933f SHA1 09f732fbddab5127c79fb42fb82defd239d1b453 SHA256 77ac8d892c038340a662700c2c285a4b13e37f504f04c4ddef5089675a4941a6 +MD5 8787738b833a4fc74ec2804bedc6affa libgphoto2-2.3.1-r4.ebuild 5245 +RMD160 356046f02398bddfe9fcd80f57939a723eea933f libgphoto2-2.3.1-r4.ebuild 5245 +SHA256 77ac8d892c038340a662700c2c285a4b13e37f504f04c4ddef5089675a4941a6 libgphoto2-2.3.1-r4.ebuild 5245 +MISC ChangeLog 15835 RMD160 f5916690b834bca049617b2d9872b4c637fccbdd SHA1 12d8c0464c656adbed7c5931eebc252a61c21e68 SHA256 34b394ec2086fb5b2144c98def940c0bd80710170f286883350af263663cad86 +MD5 0d0943ddf0bc7a5cae58d77cdd5edcdf ChangeLog 15835 +RMD160 f5916690b834bca049617b2d9872b4c637fccbdd ChangeLog 15835 +SHA256 34b394ec2086fb5b2144c98def940c0bd80710170f286883350af263663cad86 ChangeLog 15835 MISC metadata.xml 273 RMD160 ba47ae4270a03bdca07255550d34c988816001bf SHA1 5edf5229a614bb7b9667d0dc64d455f9c282fa56 SHA256 a6bef8cc7f89558f4236d2a7507e97e966e38b31c8dffcd65f7a428f5fe96623 MD5 7e59357e866fde5180e2184134acafdc metadata.xml 273 RMD160 ba47ae4270a03bdca07255550d34c988816001bf metadata.xml 273 @@ -76,10 +84,13 @@ SHA256 cbf2aa1737eebc645f214359a686607a97e3d963a12c425f439b020fb56330c9 files/di MD5 f59a564d9acf40c03e04fbadc8f52b1d files/digest-libgphoto2-2.3.1-r3 256 RMD160 02bfc9e1c415b30e127ea38588f08e83c22beb73 files/digest-libgphoto2-2.3.1-r3 256 SHA256 cbf2aa1737eebc645f214359a686607a97e3d963a12c425f439b020fb56330c9 files/digest-libgphoto2-2.3.1-r3 256 +MD5 f59a564d9acf40c03e04fbadc8f52b1d files/digest-libgphoto2-2.3.1-r4 256 +RMD160 02bfc9e1c415b30e127ea38588f08e83c22beb73 files/digest-libgphoto2-2.3.1-r4 256 +SHA256 cbf2aa1737eebc645f214359a686607a97e3d963a12c425f439b020fb56330c9 files/digest-libgphoto2-2.3.1-r4 256 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.2 (GNU/Linux) -iD8DBQFF1k3Yt2vP6XvVdOcRAqn3AJ4jDiVP+eHObIe8YQXtYGBarvzyzQCgyBdt -bCNV0rTNlZmQsVX1g1MsbIE= -=wcq4 +iD8DBQFF4rM/t2vP6XvVdOcRApEBAKDUq7bXnP/ZkePT+AyTvsuNkSgpsACgyaj8 +h4NOdmqiEKJaP3obxQFngls= +=6TIP -----END PGP SIGNATURE----- diff --git a/media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r4 b/media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r4 new file mode 100644 index 000000000000..770cf01bd000 --- /dev/null +++ b/media-libs/libgphoto2/files/digest-libgphoto2-2.3.1-r4 @@ -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-fix2.diff b/media-libs/libgphoto2/files/libgphoto2-2.3.1-udev-rules-fix2.diff new file mode 100644 index 000000000000..2e939b491b9a --- /dev/null +++ b/media-libs/libgphoto2/files/libgphoto2-2.3.1-udev-rules-fix2.diff @@ -0,0 +1,28 @@ +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 { ++ } else if (flags & GP_USB_HOTPLUG_MATCH_VENDOR_ID) { ++ + printf ("ATTRS{idVendor}==\"%04x\", ATTRS{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-r4.ebuild b/media-libs/libgphoto2/libgphoto2-2.3.1-r4.ebuild new file mode 100644 index 000000000000..29706c36fc24 --- /dev/null +++ b/media-libs/libgphoto2/libgphoto2-2.3.1-r4.ebuild @@ -0,0 +1,157 @@ +# 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-r4.ebuild,v 1.1 2007/02/26 10:15:08 zzam 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 +# http://sourceforge.net/tracker/index.php?func=detail&aid=1648346&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 multilib + +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-fix2.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/$(get_libdir)/udev" "${D}/lib" || die "Moving udev-helper files failed." + # 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 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