- initial import

This commit is contained in:
Jindrich Novy 2008-04-18 06:10:29 +00:00
parent 62a1e4461f
commit cbbdca8514
7 changed files with 419 additions and 0 deletions

View File

@ -0,0 +1 @@
libgphoto2-2.4.0.tar.bz2

14
gphoto2-ixany.patch Normal file
View File

@ -0,0 +1,14 @@
diff -up gphoto2-2.4.0/libgphoto2-2.4.0/libgphoto2_port/serial/unix.c.ixany gphoto2-2.4.0/libgphoto2-2.4.0/libgphoto2_port/serial/unix.c
--- libgphoto2-2.4.0/libgphoto2_port/serial/unix.c.ixany 2007-07-27 02:36:13.000000000 +0200
+++ libgphoto2-2.4.0/libgphoto2_port/serial/unix.c 2008-02-25 06:40:40.000000000 +0100
@@ -98,6 +98,10 @@
#define CHECK(result) {int r=(result); if (r<0) return (r);}
+#ifndef IXANY
+#define IXANY 0004000
+#endif
+
/* Linux */
#ifdef __linux__
/* devfs is accounted for in the implementation */

28
gphoto2-norpath.patch Normal file
View File

@ -0,0 +1,28 @@
diff -up libgphoto2-2.4.0/libgphoto2_port/configure.norpath libgphoto2-2.4.0/libgphoto2_port/configure
--- libgphoto2-2.4.0/libgphoto2_port/configure.norpath 2007-07-28 17:02:04.000000000 +0200
+++ libgphoto2-2.4.0/libgphoto2_port/configure 2008-03-13 09:55:36.000000000 +0100
@@ -8149,8 +8149,8 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ runpath_var=
+ hardcode_libdir_flag_spec=
export_dynamic_flag_spec='${wl}--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
diff -up libgphoto2-2.4.0/configure.norpath libgphoto2-2.4.0/configure
--- libgphoto2-2.4.0/configure.norpath 2007-07-28 17:02:11.000000000 +0200
+++ libgphoto2-2.4.0/configure 2008-03-13 09:51:54.000000000 +0100
@@ -8579,8 +8579,8 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ runpath_var=
+ hardcode_libdir_flag_spec=
export_dynamic_flag_spec='${wl}--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then

74
gphoto2-pkgcfg.patch Normal file
View File

@ -0,0 +1,74 @@
--- libgphoto2-2.4.0/gphoto2-config.in.pkgcfg 2007-07-27 02:36:23.000000000 +0200
+++ libgphoto2-2.4.0/gphoto2-config.in 2007-07-31 12:21:14.000000000 +0200
@@ -1,11 +1,5 @@
#! /bin/sh
-# leave these definitions here
-# they are required for correct interpolation of
-# @libdir@ and @includedir@ later on
-prefix="@prefix@"
-exec_prefix="@exec_prefix@"
-
usage()
{
cat <<EOF
@@ -13,7 +7,7 @@ Usage: gphoto2-config [OPTION]
Known values for OPTION are:
- --prefix=DIR change libgphoto2 prefix [default ${prefix}]
+ --prefix print libgphoto2 prefix
--libs print library linking information
--cflags print pre-processor and compiler flags
--help display this help and exit
@@ -55,11 +49,11 @@ while test $# -gt 0; do
;;
--cflags)
- echo "-I@includedir@/gphoto2"
+ pkg-config --cflags gphoto2
;;
--libs)
- echo "-L@libdir@" -lgphoto2 -lgphoto2_port -lm
+ pkg-config --libs gphoto2
;;
*)
--- libgphoto2-2.4.0/libgphoto2_port/gphoto2-port-config.in.pkgcfg 2007-07-27 02:36:16.000000000 +0200
+++ libgphoto2-2.4.0/libgphoto2_port/gphoto2-port-config.in 2007-07-31 12:21:14.000000000 +0200
@@ -1,11 +1,5 @@
#! /bin/sh
-# leave these definitions here
-# they are required for correct interpolation of
-# @libdir@ and @includedir@ later on
-prefix="@prefix@"
-exec_prefix="@exec_prefix@"
-
usage()
{
cat <<EOF
@@ -13,7 +7,7 @@ Usage: gphoto2-port-config [OPTION]
Known values for OPTION are:
- --prefix=DIR change libgphoto2-port prefix [default ${prefix}]
+ --prefix print libgphoto2-port prefix
--libs print library linking information
--cflags print pre-processor and compiler flags
--help display this help and exit
@@ -55,11 +49,11 @@ while test $# -gt 0; do
;;
--cflags)
- echo "-I@includedir@/gphoto2"
+ pkg-config --cflags gphoto2-port
;;
--libs)
- echo "-L@libdir@" -lgphoto2_port
+ pkg-config --libs gphoto2-port
;;
*)

153
gphoto2-storage.patch Normal file
View File

@ -0,0 +1,153 @@
--- libgphoto2-2.4.0/packaging/generic/print-camera-list.c.orig 2007-09-18 11:36:19.000000000 -0400
+++ libgphoto2-2.4.0/packaging/generic/print-camera-list.c 2007-09-18 11:52:42.000000000 -0400
@@ -799,6 +799,8 @@
printf("<deviceinfo version=\"0.2\">\n");
printf(" <device>\n");
printf(" <match key=\"info.bus\" string=\"usb\">\n");
+ printf(" <!-- skip USB Mass Storage Devices -->\n");
+ printf(" <match key=\"usb.interface.class\" compare_ne=\"8\">\n");
return 0;
}
@@ -838,52 +840,52 @@
return 0;
}
if (a->usb_vendor) { /* usb product id might be 0! */
- printf(" <match key=\"usb.vendor_id\" int=\"%d\">\n", a->usb_vendor);
- printf(" <match key=\"usb.product_id\" int=\"%d\">\n", a->usb_product);
+ printf(" <match key=\"usb.vendor_id\" int=\"%d\">\n", a->usb_vendor);
+ printf(" <match key=\"usb.product_id\" int=\"%d\">\n", a->usb_product);
if (a->device_type & GP_DEVICE_AUDIO_PLAYER) {
- printf(" <merge key=\"info.category\" type=\"string\">portable_audio_player</merge>\n");
- printf(" <append key=\"info.capabilities\" type=\"strlist\">portable_audio_player</append>\n");
- printf(" <merge key=\"portable_audio_player.access_method\" type=\"string\">user</merge>\n");
- printf(" <merge key=\"portable_audio_player.type\" type=\"string\">mtp</merge>\n");
+ printf(" <merge key=\"info.category\" type=\"string\">portable_audio_player</merge>\n");
+ printf(" <append key=\"info.capabilities\" type=\"strlist\">portable_audio_player</append>\n");
+ printf(" <merge key=\"portable_audio_player.access_method\" type=\"string\">user</merge>\n");
+ printf(" <merge key=\"portable_audio_player.type\" type=\"string\">mtp</merge>\n");
/* FIXME: needs true formats ... But all of them can do MP3 */
- printf(" <append key=\"portable_audio_player.output_formats\" type=\"strlist\">audio/mpeg</append>\n");
+ printf(" <append key=\"portable_audio_player.output_formats\" type=\"strlist\">audio/mpeg</append>\n");
} else {
- printf(" <merge key=\"info.category\" type=\"string\">camera</merge>\n");
- printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
+ printf(" <merge key=\"info.category\" type=\"string\">camera</merge>\n");
+ printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
/* HACK alert ... but the HAL / gnome-volume-manager guys want that */
if (NULL!=strstr(a->library,"ptp"))
- printf(" <merge key=\"camera.access_method\" type=\"string\">ptp</merge>\n");
+ printf(" <merge key=\"camera.access_method\" type=\"string\">ptp</merge>\n");
else
- printf(" <merge key=\"camera.access_method\" type=\"string\">proprietary</merge>\n");
+ printf(" <merge key=\"camera.access_method\" type=\"string\">proprietary</merge>\n");
}
/* leave them here even for audio players */
- printf(" <merge key=\"camera.libgphoto2.name\" type=\"string\">%s</merge>\n", model);
- printf(" <merge key=\"camera.libgphoto2.support\" type=\"bool\">true</merge>\n");
+ printf(" <merge key=\"camera.libgphoto2.name\" type=\"string\">%s</merge>\n", model);
+ printf(" <merge key=\"camera.libgphoto2.support\" type=\"bool\">true</merge>\n");
+ printf(" </match>\n");
printf(" </match>\n");
- printf(" </match>\n");
} else if ((a->usb_class) && (a->usb_class != 666)) {
- printf(" <match key=\"usb.interface.class\" int=\"%d\">\n", a->usb_class);
- printf(" <match key=\"usb.interface.subclass\" int=\"%d\">\n", a->usb_subclass);
- printf(" <match key=\"usb.interface.protocol\" int=\"%d\">\n", a->usb_protocol);
- printf(" <merge key=\"info.category\" type=\"string\">camera</merge>\n");
- printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
+ printf(" <match key=\"usb.interface.class\" int=\"%d\">\n", a->usb_class);
+ printf(" <match key=\"usb.interface.subclass\" int=\"%d\">\n", a->usb_subclass);
+ printf(" <match key=\"usb.interface.protocol\" int=\"%d\">\n", a->usb_protocol);
+ printf(" <merge key=\"info.category\" type=\"string\">camera</merge>\n");
+ printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
if (a->usb_class == 6) {
- printf(" <merge key=\"camera.access_method\" type=\"string\">ptp</merge>\n");
+ printf(" <merge key=\"camera.access_method\" type=\"string\">ptp</merge>\n");
} else {
if (a->usb_class == 8) {
- printf(" <merge key=\"camera.access_method\" type=\"string\">storage</merge>\n");
+ printf(" <merge key=\"camera.access_method\" type=\"string\">storage</merge>\n");
} else {
- printf(" <merge key=\"camera.access_method\" type=\"string\">proprietary</merge>\n");
+ printf(" <merge key=\"camera.access_method\" type=\"string\">proprietary</merge>\n");
}
}
- printf(" <merge key=\"camera.libgphoto2.name\" type=\"string\">%s</merge>\n", model);
- printf(" <merge key=\"camera.libgphoto2.support\" type=\"bool\">true</merge>\n");
+ printf(" <merge key=\"camera.libgphoto2.name\" type=\"string\">%s</merge>\n", model);
+ printf(" <merge key=\"camera.libgphoto2.support\" type=\"bool\">true</merge>\n");
+ printf(" </match>\n");
printf(" </match>\n");
printf(" </match>\n");
- printf(" </match>\n");
}
} /* camera has USB connection */
return 0;
@@ -892,6 +894,7 @@
static int
fdi_end_func (const func_params_t *params, void *data)
{
+ printf(" </match>\n");
printf(" </match>\n");
printf(" </device>\n");
printf("</deviceinfo>\n");
@@ -918,6 +921,8 @@
printf("<deviceinfo version=\"0.2\">\n");
printf(" <device>\n");
printf(" <match key=\"info.bus\" string=\"usb\">\n");
+ printf(" <!-- skip USB Mass Storage Devices -->\n");
+ printf(" <match key=\"usb.interface.class\" compare_ne=\"8\">\n");
return 0;
}
@@ -961,28 +966,28 @@
/* do not set category. We don't really know what this device really is.
* But we do now that is capable of being a camera, so add to capabilities
*/
- printf(" <match key=\"usb_device.vendor_id\" int=\"%d\">\n", a->usb_vendor);
- printf(" <match key=\"usb_device.product_id\" int=\"%d\">\n", a->usb_product);
+ printf(" <match key=\"usb_device.vendor_id\" int=\"%d\">\n", a->usb_vendor);
+ printf(" <match key=\"usb_device.product_id\" int=\"%d\">\n", a->usb_product);
if (params->add_comments) {
printf(" <!-- %s -->\n", a->model);
}
if (a->device_type & GP_DEVICE_AUDIO_PLAYER)
- printf(" <append key=\"info.capabilities\" type=\"strlist\">portable_audio_player</append>\n");
+ printf(" <append key=\"info.capabilities\" type=\"strlist\">portable_audio_player</append>\n");
else
- printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
+ printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
+ printf(" </match>\n");
printf(" </match>\n");
- printf(" </match>\n");
}
#if 0
/* would need to be able to merge upwards ... but cannot currently */
else if ((a->usb_class) && (a->usb_class != 666)) {
- printf(" <match key=\"usb.interface.class\" int=\"%d\">\n", a->usb_class);
- printf(" <match key=\"usb.interface.subclass\" int=\"%d\">\n", a->usb_subclass);
- printf(" <match key=\"usb.interface.protocol\" int=\"%d\">\n", a->usb_protocol);
- printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
+ printf(" <match key=\"usb.interface.class\" int=\"%d\">\n", a->usb_class);
+ printf(" <match key=\"usb.interface.subclass\" int=\"%d\">\n", a->usb_subclass);
+ printf(" <match key=\"usb.interface.protocol\" int=\"%d\">\n", a->usb_protocol);
+ printf(" <append key=\"info.capabilities\" type=\"strlist\">camera</append>\n");
+ printf(" </match>\n");
printf(" </match>\n");
printf(" </match>\n");
- printf(" </match>\n");
}
#endif
}
@@ -992,6 +997,7 @@
static int
fdi_device_end_func (const func_params_t *params, void *data)
{
+ printf(" </match>\n");
printf(" </match>\n");
printf(" </device>\n");
printf("</deviceinfo>\n");

148
libgphoto2.spec Normal file
View File

@ -0,0 +1,148 @@
Summary: Library for accessing digital cameras
Name: libgphoto2
Version: 2.4.0
Release: 0.2%{?dist}
# GPLV2+ for the main lib (due to exif.c) and most plugins, some plugins GPLv2
License: GPLv2+ and GPLv2
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: http://downloads.sourceforge.net/gphoto/libgphoto2-%{version}.tar.bz2
Patch1: gphoto2-pkgcfg.patch
Patch2: gphoto2-storage.patch
Patch3: gphoto2-ixany.patch
Patch4: gphoto2-norpath.patch
Url: http://www.gphoto.org/
Requires: lockdev
BuildRequires: libusb-devel >= 0.1.5
BuildRequires: lockdev-devel
BuildRequires: libexif-devel
BuildRequires: libjpeg-devel
BuildRequires: libtool, pkgconfig, sharutils
BuildRequires: libtool-ltdl-devel, popt-devel
%description
libgphoto2 is a library that can be used by applications to access
various digital cameras. libgphoto2 itself is not a GUI application,
opposed to gphoto. There are GUI frontends for the gphoto2 library,
however, such as gtkam for example.
%package devel
Summary: Headers and links to compile against the libgphoto2 library
Group: Development/Libraries
Requires: %{name} = %{version}
Requires: pkgconfig
%description devel
libgphoto2 is a library that can be used by applications to access
various digital cameras. libgphoto2 itself is not a GUI application,
opposed to gphoto. There are GUI frontends for the gphoto2 library,
however, such as gtkam for example.
This package contains files needed to compile applications that
use libgphoto2.
%prep
%setup -q
%patch1 -p1 -b .pkgcfg
%patch2 -p1 -b .storage
%patch3 -p1 -b .ixany
%patch4 -p1 -b .norpath
cat > gphoto2.pc.in << EOF
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
VERSION=@VERSION@
Name: gphoto2
Description: Library for easy access to digital cameras
Requires:
Version: @VERSION@
Libs: -L\${libdir} -lgphoto2 -lgphoto2_port -lm
Cflags: -I\${includedir} -I\${includedir}/gphoto2
EOF
sed 's/Name: gphoto2/Name: gphoto2-port/' < gphoto2.pc.in > gphoto2-port.pc.in
%build
export CFLAGS=$RPM_OPT_FLAGS
%configure \
--with-drivers=all \
--with-doc-dir=%{_docdir}/%{name} \
--disable-static \
--disable-rpath \
--without-aalib
make %{?_smp_mflags}
%install
rm -rf "${RPM_BUILD_ROOT}"
make mandir=%{_mandir} DESTDIR=$RPM_BUILD_ROOT install
pushd packaging/linux-hotplug/
install -d -m755 %{buildroot}/usr/share/hal/fdi/information/20thirdparty/
export LIBDIR=$RPM_BUILD_ROOT%{_libdir}
export CAMLIBS=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}
$RPM_BUILD_ROOT%{_libdir}/%{name}/print-camera-list hal-fdi | \
grep -v "<!-- This file was generated" > $RPM_BUILD_ROOT/%{_datadir}/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi
popd
for i in AUTHORS COPYING; do
mv ${i} ${i}.old
iconv -f cp1250 -t utf-8 < ${i}.old > ${i}
touch -r ${i}.old ${i}
rm -f ${i}.old
done
rm -rf %{buildroot}%{_libdir}/libgphoto2/*/*a
rm -rf %{buildroot}%{_libdir}/libgphoto2_port/*/*a
rm -rf %{buildroot}%{_libdir}/*.a
rm -rf %{buildroot}%{_libdir}/*.la
%find_lang %{name}-2
%find_lang %{name}_port-0
cat libgphoto2*.lang >> %{name}.lang
%clean
rm -rf "${RPM_BUILD_ROOT}"
%files -f %{name}.lang
%defattr(-,root,root)
%doc AUTHORS COPYING README NEWS
%dir %{_libdir}/libgphoto2_port
%dir %{_libdir}/libgphoto2_port/*
%dir %{_libdir}/libgphoto2
%dir %{_libdir}/libgphoto2/*
%{_libdir}/libgphoto2_port/*/*.so
%{_libdir}/libgphoto2/*/*.so
%{_libdir}/*.so.*
%{_datadir}/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi
%{_libdir}/udev/check-ptp-camera
%{_libdir}/udev/check-mtp-device
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files devel
%defattr(-,root,root)
%doc %{_docdir}/%{name}
%{_datadir}/libgphoto2
%{_bindir}/gphoto2-config*
%{_bindir}/gphoto2-port-config
%{_includedir}/gphoto2
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%{_mandir}/man3/*
%changelog
* Mon Apr 14 2008 Jindrich Novy <jnovy@redhat.com> 2.4.0-0.2
- review fixes, thanks to Hans de Goede: (#437285)
- remove unused macro
- don't exclude s390/s390x
- preserve timestamps
- fix license
* Thu Mar 13 2008 Jindrich Novy <jnovy@redhat.com> 2.4.0-0.1
- initial libgphoto2 packaging

View File

@ -0,0 +1 @@
a60154772635b693ff08b4f34dea7f61 libgphoto2-2.4.0.tar.bz2