diff options
author | Frank Caraballo <fecaraballo[AT]gmail.com> | 2010-05-11 19:45:15 +0200 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2010-05-11 19:45:15 +0200 |
commit | 66d5bcb5b2baa03c93eab852968f2618bc4e18b7 (patch) | |
tree | 8bd3981c9642a83b30d82305abb9830a72b48e2a | |
parent | e1512087c90f2864854608b6914009a7f04bcb5c (diff) |
libraries/libgphoto2: Updated for version 2.4.0
-rw-r--r-- | libraries/libgphoto2/README | 44 | ||||
-rw-r--r-- | libraries/libgphoto2/doinst.sh | 42 | ||||
-rw-r--r-- | libraries/libgphoto2/libgphoto2.SlackBuild | 62 | ||||
-rw-r--r-- | libraries/libgphoto2/libgphoto2.info | 10 | ||||
-rw-r--r-- | libraries/libgphoto2/print-camera-list.c.diff | 95 | ||||
-rw-r--r-- | libraries/libgphoto2/slack-desc | 12 |
6 files changed, 122 insertions, 143 deletions
diff --git a/libraries/libgphoto2/README b/libraries/libgphoto2/README index 7a76674698f07..611378b1bae94 100644 --- a/libraries/libgphoto2/README +++ b/libraries/libgphoto2/README @@ -1,45 +1,5 @@ libgphoto2 is a library that can be used by applications to access various digital cameras. -The resulting package checks /var/log/packages for your installed udev -version and generates udev rules in the post-install stage. For those -of you still using the old hotplug subsystem, it also adds the file -/etc/hotplug/usb/usbcam during the packaging and appends some text to -/etc/hotplug/usb.usermap in the post-install stage. This appending is -not normally something that we would do with any of our scripts, but in -this case, it should be completely harmless; however, a backup copy of -the file is left in the same directory just in case. - -Since version 2.3.1 build 3, there are two different groups granting -access to your digital camera for non-root users via udev and hotplug. - -From now on the udev rules generated during install set device ownership -to the 'plugdev' group. If this group does not yet exist (users of HAL -should have this group already), you will need to create it and add any -users that may access the camera. A recommended way for adding the 'plugdev' -group would be: - - /usr/sbin/groupadd -g 83 plugdev - -Hotplug users still have to use the group 'camera' and add any users that -should be permitted to access the camera to this group. Alternatively, -you can edit the included doinst.sh file to change "group plugdev" to -"group users" (if you're using udev) or edit /etc/hotplug/usb/usbcam after -the package is installed and change "camera" to "users" (if you're using -hotplug) if you want all users to have access to cameras. - -The resulting package *should* work without any manual setup, but in our -testing here, it seems that some cameras aren't recognized by the installed -udev rules. There is at least one reliable report of a change that *may* be -needed if you're using udev-097 from Slackware 11.0: - - This: - BUS!="usb*", GOTO="libgphoto2_rules_end" - should perhaps be this: - SUBSYSTEM!="usb*", GOTO="libgphoto2_rules_end" - -However, if the rules installed by libgphoto2 work for you, don't change -anything - this should only be done if they don't work. Note that this is -*not* a bug in the build script or implementation - we just use the provided -tools with libgphoto2 to generate the udev rules; as such, any bug reports -with the udev rules should go to them (feel free to CC our -users list). +The udev rules generated during install set device ownership to the +'plugdev' group. diff --git a/libraries/libgphoto2/doinst.sh b/libraries/libgphoto2/doinst.sh index 06dfc8ea24e95..5704983371cdf 100644 --- a/libraries/libgphoto2/doinst.sh +++ b/libraries/libgphoto2/doinst.sh @@ -1,36 +1,12 @@ -#!/bin/sh +#!/bin/bash -# Check to see if udev package is installed -if [ -e var/log/packages/udev-* ]; then - # Get udev version - UDEV_VERSION=$(basename var/log/packages/udev-* | cut -d- -f2) - # Generate udev rules files - if [ "$UDEV_VERSION" -lt "098" ]; then - usr/bin/print-camera-list udev-rules mode 0660 owner root group plugdev \ - >> etc/udev/rules.d/90-libgphoto2.rules - elif [ "$UDEV_VERSION" -ge "098" ]; then - usr/bin/print-camera-list udev-rules-0.98 mode 0660 owner root group plugdev \ - >> etc/udev/rules.d/90-libgphoto2.rules - fi -fi +# Generate udev rules files +usr/bin/print-camera-list udev-rules mode 0660 group plugdev \ + >> etc/udev/rules.d/90-libgphoto2.rules -# Generate files for old hotplug support -if [ -e etc/hotplug/usb.usermap ]; then - cat etc/hotplug/usb.usermap > etc/hotplug/usb.usermap.bak - rm -rf tmp/.usermap - grep -v usbcam etc/hotplug/usb.usermap > tmp/.usermap - usr/bin/print-camera-list usb-usermap usbcam >> tmp/.usermap - cat tmp/.usermap > etc/hotplug/usb.usermap - rm -f tmp/.usermap -else - usr/bin/print-camera-list usb-usermap usbcam > etc/hotplug/usb.usermap -fi - -# Check to see if hal is installed and generate fdi files -if [ -e var/log/packages/hal-[0-9]* ]; then - usr/bin/print-camera-list hal-fdi \ - >> usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi - usr/bin/print-camera-list hal-fdi-device \ - >> usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2-device.fdi -fi +# Install hal device information files +usr/bin/print-camera-list hal-fdi \ + > usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi +usr/bin/print-camera-list hal-fdi-device \ + > usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2-device.fdi diff --git a/libraries/libgphoto2/libgphoto2.SlackBuild b/libraries/libgphoto2/libgphoto2.SlackBuild index b7400cdb12ce0..7952a49ea2b0b 100644 --- a/libraries/libgphoto2/libgphoto2.SlackBuild +++ b/libraries/libgphoto2/libgphoto2.SlackBuild @@ -2,32 +2,31 @@ # Slackware build script for libgphoto2 -# Written by MagicMan <MagicMan07@bluebottle.com> +# Written by Frank Caraballo <fecaraballo[AT]gmail.com> # No Guarantees. Use this SlackBuild at your own risk. # Public Domain -# Modified by the SlackBuilds.org project - # Modified by Michael Wagner <lapinours@web.de> -# (include hal device information files, change group ownership -# for udev rules to plugdev, adjust README) +# (change group ownership for udev rules to plugdev, adjust README) # Do not blame the original author if anything goes wrong with these changes. +# Modified by Robby Workman <rworkman@slackbuilds.org> to fix a bug in +# the way the fdi files are created (the xml header must be the first line, +# so we can't append the autogenerated rules - they must overwrite the file) +# Thanks to amrit for the report. + PRGNAM=libgphoto2 -VERSION=2.3.1 +VERSION=2.4.0 ARCH=${ARCH:-i486} BUILD=${BUILD:-3} TAG=${TAG:-_SBo} + CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -PDOCS="ABOUT-NLS ChangeLog HACKING INSTALL MAINTAINERS README.in TESTERS" - -# If you have HAL installed, pass HAL=YES when running the build script -# HAL=YES ./libgphoto2.SlackBuild -HAL=${HAL:-NO} +DOCS="ABOUT-NLS ChangeLog HACKING INSTALL MAINTAINERS README.in TESTERS" if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" @@ -44,18 +43,14 @@ cd $PRGNAM-$VERSION || exit 1 chown -R root:root . chmod -R u+w,go+r-w,a-s . -# Patch print-camera-list.c to ignore zero vendor IDs on udev >= 098 -# https://bugs.launchpad.net/ubuntu/+source/udev/+bug/76077 -# This is a harmless patch for stock 11.0 +# Patch print-camera-list.c for newer kernels patch -p0 < $CWD/print-camera-list.c.diff || exit 1 CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --enable-static=no \ + --disable-static \ --mandir=/usr/man \ --with-doc-dir=/usr/doc/$PRGNAM-$VERSION \ || exit 1 @@ -70,45 +65,30 @@ make \ install-strip DESTDIR=$PKG \ || exit 1 -# Install usbcam file for old hotplug subsystem to work properly -install -D -m 0755 packaging/linux-hotplug/usbcam.group \ - $PKG/etc/hotplug/usb/usbcam - -# Install "dummy" udev rules files and (maybe) HAL device information files so -# they will be removed later if the package is uninstalled; the post-install -# script will append auto-generated rules to these files -mkdir -p $PKG/etc/udev/rules.d - +# Install "dummy" udev rules file so it will be removed later if the package +# is uninstalled; the post-install script will append auto-generated rules +mkdir -p $PKG/etc/udev/rules.d cat << EOF > $PKG/etc/udev/rules.d/90-libgphoto2.rules # DO NOT EDIT THIS FILE! # Any custom changes will be lost if the libgphoto package is upgraded. EOF -# If HAL is installed, then also install the fdi files for it -if [ "$HAL" = "YES" ]; then mkdir -p $PKG/usr/share/hal/fdi/information/20thirdparty -cat << EOF > $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi -<!-- DO NOT EDIT THIS FILE! --> -<!-- Any custom changes will be lost if the libgphoto package is upgraded. --> - -EOF - -cat << EOF > $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2-device.fdi -<!-- DO NOT EDIT THIS FILE! --> -<!-- Any custom changes will be lost if the libgphoto package is upgraded. --> - -EOF -fi +touch $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi +touch $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2-device.fdi +# Compress man pages ( cd $PKG/usr/man find . -type f -exec gzip -9 {} \; for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done ) mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a $PDOCS $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +# We don't need these +rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/{apidocs.html,linux-hotplug,README.apidocs} mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/libraries/libgphoto2/libgphoto2.info b/libraries/libgphoto2/libgphoto2.info index 02bc5c8ab5d15..04220b7184e94 100644 --- a/libraries/libgphoto2/libgphoto2.info +++ b/libraries/libgphoto2/libgphoto2.info @@ -1,8 +1,8 @@ PRGNAM="libgphoto2" -VERSION="2.3.1" +VERSION="2.4.0" HOMEPAGE="http://www.gphoto.org/" -DOWNLOAD="http://dl.sourceforge.net/gphoto/libgphoto2-2.3.1.tar.bz2" -MD5SUM="37f85e34e5b6031ddf6cac8b8782ac4f" -MAINTAINER="MagicMan" -EMAIL="MagicMan07@bluebottle.com" +DOWNLOAD="http://downloads.sourceforge.net/gphoto/libgphoto2-2.4.0.tar.bz2" +MD5SUM="a60154772635b693ff08b4f34dea7f61" +MAINTAINER="Frank Caraballo" +EMAIL="fecaraballo[AT]gmail.com" APPROVED="rworkman" diff --git a/libraries/libgphoto2/print-camera-list.c.diff b/libraries/libgphoto2/print-camera-list.c.diff index c6491d2b15a59..57d1883449e20 100644 --- a/libraries/libgphoto2/print-camera-list.c.diff +++ b/libraries/libgphoto2/print-camera-list.c.diff @@ -1,20 +1,75 @@ ---- packaging/generic/print-camera-list.c (Revision 9959) -+++ packaging/generic/print-camera-list.c (Revision 9960) -@@ -333,7 +333,7 @@ - | GP_USB_HOTPLUG_MATCH_PRODUCT_ID); - usb_vendor = a->usb_vendor; - usb_product = a->usb_product; -- } else if ((a->usb_class) && (a->usb_class != 666)) { -+ } else if (a->usb_class) { - class = a->usb_class; - subclass = a->usb_subclass; - proto = a->usb_protocol; -@@ -446,7 +446,7 @@ - | GP_USB_HOTPLUG_MATCH_PRODUCT_ID); - usb_vendor = a->usb_vendor; - usb_product = a->usb_product; -- } else if ((a->usb_class) && (a->usb_class != 666)) { -+ } else if (a->usb_class) { - class = a->usb_class; - subclass = a->usb_subclass; - proto = a->usb_protocol; +--- packaging/generic/print-camera-list.c 2007-07-27 02:35:28.000000000 +0200 ++++ packaging/generic/print-camera-list.c.new 2008-02-22 20:24:35.000000000 +0100 +@@ -382,14 +382,31 @@ + char *owner; + char *group; + char *script; +- char *begin_string; +- char *usbcam_string; ++ const char *begin_string; ++ const char *usbcam_string; + } udev_persistent_data_t; + + + static void + udev_parse_params (const func_params_t *params, void **data) + { ++ /* Note: 2 lines because we need to use || ... having them on the same ++ * line would mean &&. ++ */ ++ static const char * const begin_strings[] = { ++ /* UDEV_PRE_0_98 */ ++ "BUS!=\"usb_device\", GOTO=\"libgphoto2_rules_end\"\n" ++ "ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n", ++ /* UDEV_0_98 */ ++ "SUBSYSTEM!=\"usb|usb_device\", GOTO=\"libgphoto2_rules_end\"\n" ++ "ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n" ++ }; ++ static const char * const usbcam_strings[] = { ++ /* UDEV_PRE_0_98 */ ++ "SYSFS{idVendor}==\"%04x\", SYSFS{idProduct}==\"%04x\", ", ++ /* UDEV_0_98 */ ++ "ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ", ++ }; + udev_persistent_data_t *pdata; + pdata = calloc(1, sizeof(udev_persistent_data_t)); + pdata->version = UDEV_0_98; +@@ -436,37 +453,12 @@ + FATAL("The <script> parameter conflicts with the <mode,group,owner> parameters."); + } + +- /* Note: 2 lines because we need to use || ... having them on the same +- * line would mean &&. +- */ +- static char *begin_strings[] = { +- /* UDEV_PRE_0_98 */ +- "BUS!=\"usb_device\", GOTO=\"libgphoto2_rules_end\"\n" +- "ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n", +- /* UDEV_0_98 */ +- "SUBSYSTEM!=\"usb_device\", GOTO=\"libgphoto2_rules_end\"\n" +- "ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n" +- }; +- static char *usbcam_strings[] = { +- /* UDEV_PRE_0_98 */ +- "SYSFS{idVendor}==\"%04x\", SYSFS{idProduct}==\"%04x\", ", +- /* UDEV_0_98 */ +- "ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ", +- }; + pdata->begin_string = begin_strings[pdata->version]; + pdata->usbcam_string = usbcam_strings[pdata->version]; + } + +-static void +-version_str_func(const char *str, void *data) +-{ +- const char **foo = (const char **)data; +- fprintf(stdout, "V[%s]", str); +- fflush(stdout); +- *foo = str; +-} + +-static inline const char * ++static const char * + get_version_str(udev_version_t version) + { + return gpi_enum_to_string(version, udev_version_t_map); diff --git a/libraries/libgphoto2/slack-desc b/libraries/libgphoto2/slack-desc index 04fd2b838b100..9de29cbeb37c8 100644 --- a/libraries/libgphoto2/slack-desc +++ b/libraries/libgphoto2/slack-desc @@ -1,7 +1,15 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-------------------------------------------------| libgphoto2: libgphoto2 (Digital Camera Library) libgphoto2: -libgphoto2: libgphoto2 is a library that can be used by applications -libgphoto2: to access various digital cameras. +libgphoto2: libgphoto2 is a library that can be used by +libgphoto2: applications to access various digital cameras. libgphoto2: libgphoto2: Homepage: http://www.gphoto.org/ libgphoto2: |