From 93858dda25ec8234ae0a983886d70b33a33e27d9 Mon Sep 17 00:00:00 2001 From: Frank Caraballo Date: Tue, 11 May 2010 22:23:59 +0200 Subject: libraries/libgphoto2: Updated for version 2.4.3 --- libraries/libgphoto2/README | 5 +- libraries/libgphoto2/check-ptp-camera.diff | 14 ++++ libraries/libgphoto2/doinst.sh | 12 --- libraries/libgphoto2/libgphoto2.SlackBuild | 113 ++++++++++++++++---------- libraries/libgphoto2/libgphoto2.info | 8 +- libraries/libgphoto2/print-camera-list.c.diff | 75 ----------------- 6 files changed, 87 insertions(+), 140 deletions(-) create mode 100644 libraries/libgphoto2/check-ptp-camera.diff delete mode 100644 libraries/libgphoto2/doinst.sh delete mode 100644 libraries/libgphoto2/print-camera-list.c.diff (limited to 'libraries/libgphoto2') diff --git a/libraries/libgphoto2/README b/libraries/libgphoto2/README index 611378b1ba..a49a4be6d5 100644 --- a/libraries/libgphoto2/README +++ b/libraries/libgphoto2/README @@ -1,5 +1,2 @@ libgphoto2 is a library that can be used by applications to access -various digital cameras. - -The udev rules generated during install set device ownership to the -'plugdev' group. +various digital cameras. \ No newline at end of file diff --git a/libraries/libgphoto2/check-ptp-camera.diff b/libraries/libgphoto2/check-ptp-camera.diff new file mode 100644 index 0000000000..92bb2c1b64 --- /dev/null +++ b/libraries/libgphoto2/check-ptp-camera.diff @@ -0,0 +1,14 @@ +diff -Nur libgphoto2-2.4.3.orig/packaging/generic/check-ptp-camera libgphoto2-2.4.3/packaging/generic/check-ptp-camera +--- libgphoto2-2.4.3.orig/packaging/generic/check-ptp-camera 2007-07-27 00:52:50.000000000 -0500 ++++ libgphoto2-2.4.3/packaging/generic/check-ptp-camera 2008-10-21 12:43:06.121742696 -0500 +@@ -3,8 +3,8 @@ + # check if any interface of this device is a PTP camera interface (06) + INTERFACE="${1:-06/01/01}" + +-BASENAME=${PHYSDEVPATH##*/} +-for d in /sys/${PHYSDEVPATH}/${BASENAME}:*; do ++BASENAME=${DEVPATH##*/} ++for d in /sys/${DEVPATH}/${BASENAME}:*; do + [[ -d ${d} ]] || continue + INTERFACEID="$(< ${d}/bInterfaceClass)" + INTERFACEID="${INTERFACEID}/$(< ${d}/bInterfaceSubClass)" diff --git a/libraries/libgphoto2/doinst.sh b/libraries/libgphoto2/doinst.sh deleted file mode 100644 index 5704983371..0000000000 --- a/libraries/libgphoto2/doinst.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# Generate udev rules files -usr/bin/print-camera-list udev-rules mode 0660 group plugdev \ - >> etc/udev/rules.d/90-libgphoto2.rules - -# 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 7952a49ea2..16ca223f4e 100644 --- a/libraries/libgphoto2/libgphoto2.SlackBuild +++ b/libraries/libgphoto2/libgphoto2.SlackBuild @@ -2,23 +2,30 @@ # Slackware build script for libgphoto2 -# Written by Frank Caraballo -# No Guarantees. Use this SlackBuild at your own risk. -# Public Domain - -# Modified by Michael Wagner -# (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 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. +# Copyright 2007-2008 Frank Caraballo +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libgphoto2 -VERSION=2.4.0 +VERSION=2.4.3 ARCH=${ARCH:-i486} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} CWD=$(pwd) @@ -26,25 +33,33 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -DOCS="ABOUT-NLS ChangeLog HACKING INSTALL MAINTAINERS README.in TESTERS" - if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" fi +set -e + rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT -cd $TMP || exit 1 +cd $TMP rm -rf $PRGNAM-$VERSION -tar -xvjf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1 -cd $PRGNAM-$VERSION || exit 1 +tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 +cd $PRGNAM-$VERSION chown -R root:root . -chmod -R u+w,go+r-w,a-s . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; -# Patch print-camera-list.c for newer kernels -patch -p0 < $CWD/print-camera-list.c.diff || exit 1 +# Fix the usage of obsolete PHYSDEVPATH in favor of DEVPATH in the +# check-ptp-camera script called by udev +# https://sourceforge.net/tracker/index.php?func=detail&aid=2110825&group_id=8874&atid=108874 +patch -p1 < $CWD/check-ptp-camera.diff CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -52,47 +67,55 @@ CXXFLAGS="$SLKCFLAGS" \ --prefix=/usr \ --disable-static \ --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ --with-doc-dir=/usr/doc/$PRGNAM-$VERSION \ - || exit 1 - -make || exit 1 + --build=$ARCH-slackware-linux # Make sure udev helper scripts are put in the right place and # install the other utilities to /usr/bin instead of /usr/lib/libgphoto2/ +make \ + udevscriptdir=/lib/udev \ + utilsdir=/usr/bin make \ udevscriptdir=/lib/udev \ utilsdir=/usr/bin \ - install-strip DESTDIR=$PKG \ - || exit 1 - -# 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 - + install DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Generate udev rules and hal device information files +# First, we'll have to set (and export) some important variables +LD_LIBRARY_PATH=/$PKG/usr/lib +CAMLIBS=$PKG/usr/lib/$PRGNAM/$VERSION +LIBDIR=$PKG/usr/lib +export LD_LIBRARY_PATH CAMLIBS LIBDIR +# Generate udev rules +mkdir -p $PKG/etc/udev/rules.d +$PKG/usr/bin/print-camera-list udev-rules mode 0660 owner root group plugdev \ + > $PKG/etc/udev/rules.d/90-libgphoto2.rules +# Generate fdi files mkdir -p $PKG/usr/share/hal/fdi/information/20thirdparty -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 +$PKG/usr/bin/print-camera-list hal-fdi \ + > $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi +$PKG/usr/bin/print-camera-list hal-fdi-device \ + > $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2-device.fdi +unset LD_LIBRARY_PATH CAMLIBS LIBDIR # Unset these just in case -# Compress man pages -( cd $PKG/usr/man +( cd $PKG/usr/man || exit 1 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 $DOCS $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cp -a AUTHORS COPYING* ChangeLog HACKING INSTALL MAINTAINERS \ + NEWS README README.packaging TESTERS $PKG/usr/doc/$PRGNAM-$VERSION # We don't need these -rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/{apidocs.html,linux-hotplug,README.apidocs} +rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/{apidocs.html,camlibs,linux-hotplug,README.apidocs} mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz + diff --git a/libraries/libgphoto2/libgphoto2.info b/libraries/libgphoto2/libgphoto2.info index 04220b7184..b7db559994 100644 --- a/libraries/libgphoto2/libgphoto2.info +++ b/libraries/libgphoto2/libgphoto2.info @@ -1,8 +1,8 @@ PRGNAM="libgphoto2" -VERSION="2.4.0" +VERSION="2.4.3" HOMEPAGE="http://www.gphoto.org/" -DOWNLOAD="http://downloads.sourceforge.net/gphoto/libgphoto2-2.4.0.tar.bz2" -MD5SUM="a60154772635b693ff08b4f34dea7f61" +DOWNLOAD="http://downloads.sourceforge.net/gphoto/libgphoto2-2.4.3.tar.bz2" +MD5SUM="6c23b8b3021aee4187b2c11d4bb7265b" MAINTAINER="Frank Caraballo" EMAIL="fecaraballo[AT]gmail.com" -APPROVED="rworkman" +APPROVED="dsomero" diff --git a/libraries/libgphoto2/print-camera-list.c.diff b/libraries/libgphoto2/print-camera-list.c.diff deleted file mode 100644 index 57d1883449..0000000000 --- a/libraries/libgphoto2/print-camera-list.c.diff +++ /dev/null @@ -1,75 +0,0 @@ ---- 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