rpms/libgphoto2/devel gphoto2-ixany.patch, NONE, 1.1 gphoto2-norpath.patch, NONE, 1.1 gphoto2-pkgcfg.patch, NONE, 1.1 gphoto2-storage.patch, NONE, 1.1 libgphoto2.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Jindrich Novy (jnovy) fedora-extras-commits at redhat.com
Fri Apr 18 06:11:07 UTC 2008


Author: jnovy

Update of /cvs/extras/rpms/libgphoto2/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19767/devel

Modified Files:
	.cvsignore sources 
Added Files:
	gphoto2-ixany.patch gphoto2-norpath.patch gphoto2-pkgcfg.patch 
	gphoto2-storage.patch libgphoto2.spec 
Log Message:
- initial import


gphoto2-ixany.patch:

--- NEW FILE gphoto2-ixany.patch ---
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 */

gphoto2-norpath.patch:

--- NEW FILE gphoto2-norpath.patch ---
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

gphoto2-pkgcfg.patch:

--- NEW FILE gphoto2-pkgcfg.patch ---
--- 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 at includedir@/gphoto2"
+       	pkg-config --cflags gphoto2
        	;;
 
     --libs)
-        echo "-L at 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 at includedir@/gphoto2"
+       	pkg-config --cflags gphoto2-port
        	;;
 
     --libs)
-       	echo "-L at libdir@" -lgphoto2_port
+       	pkg-config --libs gphoto2-port
        	;;
 
     *)

gphoto2-storage.patch:

--- NEW FILE gphoto2-storage.patch ---
--- 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");


--- NEW FILE libgphoto2.spec ---
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 at 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 at redhat.com> 2.4.0-0.1
- initial libgphoto2 packaging


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/libgphoto2/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	17 Apr 2008 16:54:17 -0000	1.1
+++ .cvsignore	18 Apr 2008 06:10:29 -0000	1.2
@@ -0,0 +1 @@
+libgphoto2-2.4.0.tar.bz2


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/libgphoto2/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	17 Apr 2008 16:54:17 -0000	1.1
+++ sources	18 Apr 2008 06:10:29 -0000	1.2
@@ -0,0 +1 @@
+a60154772635b693ff08b4f34dea7f61  libgphoto2-2.4.0.tar.bz2




More information about the scm-commits mailing list