Hello community, here is the log from the commit of package libgphoto2 checked in at Tue Aug 29 16:27:45 CEST 2006. -------- New Changes file: --- /dev/null 2002-12-09 23:01:21.000000000 +0100 +++ libgphoto2/libgphoto2-sharp.changes 2006-08-28 18:10:44.000000000 +0200 @@ -0,0 +1,5 @@ +------------------------------------------------------------------- +Mon Aug 28 18:10:29 CEST 2006 - meissner@suse.de + +- created and split off C# bindings (originally from f-spot). + --- GNOME/libgphoto2/libgphoto2.changes 2006-08-28 16:52:24.000000000 +0200 +++ libgphoto2/libgphoto2.changes 2006-08-29 14:22:54.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Aug 29 14:22:41 CEST 2006 - meissner@suse.de + +- more bugfixes from trunk and split off C# bindings + package. + +------------------------------------------------------------------- New: ---- libgphoto2-sharp.changes libgphoto2-sharp.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libgphoto2-sharp.spec ++++++ # # spec file for package libgphoto2-sharp (Version 2.2.1.2.trunk) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: libgphoto2-sharp BuildRequires: gcc-c++ hal-devel libexif libjpeg-devel mDNSResponder-devel mDNSResponder-lib mono-devel resmgr URL: http://gphoto.org/ %define prefix /usr License: LGPL Group: Hardware/Other Summary: C# bindings for libgphoto2 Version: 2.2.1.2.trunk Release: 1 Source0: libgphoto2-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: libgphoto2 %description This RPM contains C# (.NET) bindings for the libgphoto2 camera access library. Authors: -------- Scott Fritzinger <scottf@scs.unr.edu> Lutz Müller <lutz@users.sourceforge.net> Eugene Crosser <crosser@average.org> Matt Martin <matt.martin@ieee.org> Gary Ross <gdr@hooked.net> M. Adam Kendall <joker@penguinpub.com> Del Simmons <del@gphoto.org> Bob Paauwe <bpaauwe@bobsplace.com> Cliff Wright <cliff@snipe444.org> Phill Hugo <phill@gphoto.org> Beat Christen <spiff@longstreet.ch> Warren Baird <wjbaird@bigfoot.com> Brent D. Metz <bmetz@vt.edu> Brian Hirt <bhirt@loopy.berkhirt.com> Mandrake <mandrake@lobotomy.com> Randy D. Scott <scottr@wwa.com> Paul S. Jenner <psj@mustec.eu.org> Tuomas Kuosmanen <tigert@gimp.org> Ole Aamot <oleaa@ifi.uio.no> Mariusz Zynel <mariusz@mizar.org> Johannes Erdfelt <johannes@erdfelt.com> Werner Almesberger <almesber@lrc.di.epfl.ch> Ole W. Saastad <o.w.saastad@kjemi.uio.no> Veros Kaplan <xkaplan@informatics.muni.cz> Wolfgang Reissnegger Philippe Marzouk <philm@users.sourceforge.net> Edouard Lafargue <lafargue@oslo.geco-prakla.slb.com> Bart van Leeuwen <bart@netage.nl> M. Adam Kendall <joker@penguinpub.com> Mark Davies <mdavies@dial.pipex.com> Beat Christen <spiff@longstreet.ch> Gus Hartmann <hartmann@madison-expat.net> Raymond Penners <raymond@dotsphinx.com> Marcus Meissner <marcus@jet.franken.de> Hans Ulrich Niedermann <hun@users.sourceforge.net> Colin Marquardt <cmarqu@users.sourceforge.net> %prep %setup -q -n libgphoto2-%version %build %{?suse_update_config:%{suse_update_config -f . libgphoto2_port}} PATH="/usr/X11R6/bin:$PATH" \ %if %suse_version > 1000 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fstack-protector" %endif CFLAGS="$RPM_OPT_FLAGS" \ ./configure \ --prefix=%{prefix} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --with-doc-dir=%{_defaultdocdir}/%{name} \ --with-drivers=jd11 \ --disable-static make all-local make # %{?jobs:-j%jobs} %install # skip-check-libtool-deps export LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install rm -rf $RPM_BUILD_ROOT/%{prefix}/bin rm -rf $RPM_BUILD_ROOT/%{prefix}/include rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib*so* rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib*la* rm -rf $RPM_BUILD_ROOT/%{_libdir}/libgphoto2_port rm -rf $RPM_BUILD_ROOT/%{_libdir}/libgphoto2/2* rm -rf $RPM_BUILD_ROOT/%{_libdir}/libgphoto2/print* rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/libgphoto2.pc rm -rf $RPM_BUILD_ROOT/%{prefix}/share/locale rm -rf $RPM_BUILD_ROOT/%{_mandir} rm -rf $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}} %files %defattr(-,root,root) %doc COPYING %dir %{_libdir}/libgphoto2 %{_libdir}/libgphoto2/* %{_libdir}/pkgconfig/libgphoto2-sharp.pc %changelog -n libgphoto2-sharp * Mon Aug 28 2006 - meissner@suse.de - created and split off C# bindings (originally from f-spot). ++++++ libgphoto2.spec ++++++ --- /var/tmp/diff_new_pack.6Buukx/_old 2006-08-29 16:26:55.000000000 +0200 +++ /var/tmp/diff_new_pack.6Buukx/_new 2006-08-29 16:26:55.000000000 +0200 @@ -18,7 +18,7 @@ Group: Hardware/Other Summary: A Digital Camera Library Version: 2.2.1.2.trunk -Release: 1 +Release: 2 Source0: libgphoto2-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: udev resmgr @@ -100,7 +100,7 @@ --with-drivers=all \ --disable-static make all-local -make %{?jobs:-j%jobs} +make # %{?jobs:-j%jobs} %install # skip-check-libtool-deps @@ -167,6 +167,9 @@ %run_ldconfig %changelog -n libgphoto2 +* Tue Aug 29 2006 - meissner@suse.de +- more bugfixes from trunk and split off C# bindings + package. * Mon Aug 28 2006 - meissner@suse.de - upgraded to current trunk version. - MTP fixes, including handling of Umlauts ++++++ libgphoto2-2.2.1.2.trunk.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libgphoto2-2.2.1.2.trunk/camlibs/mars/ChangeLog new/libgphoto2-2.2.1.2.trunk/camlibs/mars/ChangeLog --- old/libgphoto2-2.2.1.2.trunk/camlibs/mars/ChangeLog 2006-03-16 10:35:44.000000000 +0100 +++ new/libgphoto2-2.2.1.2.trunk/camlibs/mars/ChangeLog 2006-08-29 11:31:20.000000000 +0200 @@ -1,3 +1,14 @@ +2006-08-28 Theodore Kilgore <kilgota@auburn.edu> + + * library.c: Added INNOVAGE Digital Mini. Corrected USB Product + number for Philips Keychain camera (worked anyway, + but number was wrong). + Minor tweak to gamma setting. + Improvements to camera_manual(). + * mars.c: More improvements in mars_decompress(). + * README: updated. + + 2006-02-08 Theodore Kilgore <kilgota@auburn.edu> * library.c: Added two new cameras. One is the Argus QuickClix, diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libgphoto2-2.2.1.2.trunk/camlibs/mars/README new/libgphoto2-2.2.1.2.trunk/camlibs/mars/README --- old/libgphoto2-2.2.1.2.trunk/camlibs/mars/README 2006-03-16 10:35:44.000000000 +0100 +++ new/libgphoto2-2.2.1.2.trunk/camlibs/mars/README 2006-08-29 11:31:20.000000000 +0200 @@ -1,8 +1,9 @@ MARS MR97310 STILLCAM DRIVER -Theodore Kilgore <kilgota@auburn.edu> April, 2004. +Copyright Theodore Kilgore <kilgota@auburn.edu> April, 2004. This README +revised August 27, 2006. -(Driver is LGPL like most of the rest of libgphoto2; see any of the -source files for a more complete statement of the license.) +(Everything in libgphoto2/camlibs/mars is LGPL-licensed, including this README; +see any of the source files for a more complete statement of the license.) INTRODUCTION @@ -11,68 +12,87 @@ ID 0x08ca:0x0111). The interface is proprietary, and these cameras are supported commercially only in Windows. -FEATURES OF THE CAMERA +FEATURES OF THE CAMERAS -The Aiptek PenCam VGA+ is a "budget" camera. The camera has resolution settings -of 640x480 and 320x240. The default behavior of the manufacturer's camera -driver is to save photos in JPEG format, with BMP format optional. However, -the raw data is in Bayer array format. Here, everything is saved in PPM format. -The camera can also be used as a webcam (unsupported here) or to make a "video -clip." This driver supports the 640x480 and 320x240 *uncompressed* stillcam -and "clip" modes only. Clips download nicely as a succession of PPM files. -There is an optional compression mode, proprietary and not obvious. -The adventurous and persistent are hereby encouraged to play with it. -Update 09/12/05: Decompression sort of works, now. Thanks to Bertrik Sikkens +The first MR97310 camera which I encountered was the Aiptek PenCam VGA+, +a "budget" camera with resolution settings of 640x480 and 320x240. +This camera and the other MR97310 cameras can also be used as webcams +(not supportable here; would require a kernel module) or to make a "video +clip." Some of the other cameras automatically will run in compressed mode +when shooting clips, but on the Aiptek it is optional to compress clips. +Clips download nicely on all these cameras as a succession of PPM files. +The compression method (optional for the Aiptek camera) is proprietary and +not obvious. With recent progress, it ought to be usable. However, the +adventurous and persistent are hereby encouraged to play with it some more. + +09/12/05: Decompression sort of works, now. Thanks to Bertrik Sikkens for the basic algorithm, and to Michel Xhaard for testing my additional tweaks. With some of the cameras it is possible now to get decent photos in compressed mode, at least some of the time. For this, the camera seems to function best at outdoor use. -The outside of the package advertises "Interpolated XGA (1024x768) Resolution" -(which can be turned on or off). If "enhancement" is turned on, the appearance -of the photos does change, but not much to the better. The photos are only -slightly sharper but become much more blocky with jagged lines and curves. -It seems not worth the trouble. If you find that the "enhancement" does -something nice, please let me know. Especially if you can understand how to -get "Interpolated 1024x768 Resolution" from 640x480 bytes downloaded from a -640x480 Bayer array. +Update 08/28/06: Decompression algorithm much improved, after much trial +and error. I would say it is now somewhere between 90% to 100% good now. Seems +to work almost perfectly outdoors and in strong light. Works even better at low +resolution settings, that is, 352x288 or lower. The camera uses a configuration "block," as do the sq905 cameras. However, here the information can be used to run options such as gphoto2 -p 3 and -gphoto2 -p 3-5. Whether this flexibility is of any practical effect or not -is another question, since apparently the camera will not download thumbnails. -The driver provided with the camera is for Windows only, and that driver does -not take full advantage even of the mentioned abilities. There, one has the -choice either to download all photos, or none. If all are downloaded, then +gphoto2 -p 3-5. The OEM software provided with the various cameras does not +take advantage even of the mentioned abilities. With the OEM driver, one has +the choice either to download all photos, or none. If all are downloaded, then thumbnails are created. The user can then do previews and decide what to save. -STATUS NOTES ON SUPPORTED CAMERAS (7 Feb. 2006) +STATUS NOTES ON SUPPORTED CAMERAS (7 Feb. 2006, revised 28 Aug. 2006) + +First, a special note: On many of these cameras, the LED will read "PC" when +the camera is hooked to a live USB connector. It seems locked in this position. +But all of the cameras which do this, which I have tested, will come up with +all of the other camera button commands if one runs any gphoto2 option which +accesses the camera. Consequently, one can use the camera thus tethered, +without any battery in it, to shoot and download photos. The photos will die +soon if the camera is unhooked without a good battery in it, though, because +the camera uses volatile memory for its data storage. The only problem with using any of these cameras is the compression codec. Bertrik's decompression algorithm seems basically correct, but it has a problem with leaving diagonal color artifacts, a problem which can be severe in bad lighting conditions, especially if there are lots of dark colors in the photo. -I have recently been able to alleviate this problem, to a great extent, but +Those cameras with 352x288 max resolution instead of 640x480 do better, and the +Argus DC-1620 does better in poor light than does the Aiptek Pencam VGA+. +I have recently been able to alleviate these problems to a great extent, but not completely. Also, not all of the cameras seem to perform equally well -in compressed mode, when used to shoot similar photos under similar lighting -conditions. Here is a report on the cameras which I own. I can not say anything +in compressed mode when used to shoot similar photos under similar lighting +conditions. After the tweaks I have added as of August 2006, though, the +situation with compression mode is improved quite a bit. + +Here is a report on the cameras which I own. I can not say anything about the others unless their performance in compressed mode is reported to me: Aiptek Pencam VGA+: Compressed mode is very sensitive to bad lighting, -especially when there are dark colors in the image. The camera also will refuse -to shoot both in compressed and in uncompressed moed if the light is very bad -(indoors, in the evening) and that is probably all for the best. +especially when there are dark colors in the image (08/27/06: better now). +The camera also will refuse to shoot both in compressed and in uncompressed +mode if the light is very bad (indoors, in the evening) and that is probably +all for the best. Argus DC-1620: Compressed mode only. No uncompressed photos. The compressed mode works pretty well, though. Outdoor photos are pretty good, and if you are willing to put up with a cheap, compressed-mode-only camera it might even be worth your money. The camera does have some problems in bad light, but not so -severe as with the Aiptek Pencam VGA+. +severe as with the Aiptek Pencam VGA+. Camera does have a flash-light which can +be turned on in bad light. The camera will then decide if it wants to use it. Sakar Digital #77379: Also compressed mode only. Seems to work pretty well. Has a very high cutoff threshold and will not take photos in the evening, even if -one points it at a bright monitor screen. +one points it at a bright monitor screen. Color mapping is cruddy, though, even +running in uncompressed mode. + +Philips Keychain and INNOVAGE Mini Digital: These seem to be clones, even +having very similar cases. They will do max resolution 352x488. But for what +they are they work very well. It seems that these shoot clips in compressed +mode (no matter if you otherwise turned compression on, or not), but at the +resolution settings these cameras use the decompression works nicely, too. Argus QuickClix: Compressed mode only. The compression algorithm is different from the compression algorithm in the other known Mars cameras, too. I have @@ -87,8 +107,8 @@ uncompressed photos begin with FF FF 00 FF 96 64 00, and raw photos using the compression which is solved begin with FF FF 00 FF 96 64 50. If you get a camera in which the raw data begins with the signature FF FF 00 FF 96 64 20 -then your camera uses the same compression algorithm as the Argus QuickClix, -and obviously it also will not work. +then your camera uses the same compression algorithm as the Argus QuickClix. +That compression method is as yet unknown; a camera using it is a paperweight. Finally, one can not distinguish an Argus QuickClix from an Argus DC-1620 by appearance. From the outside they are identical. Also they and several other @@ -100,16 +120,18 @@ USABILITY OF DRIVER WITH GUI FRONTENDS The camera library presented here seems to work with gtkam as a frontend. To -use gtkam for the first time with the camera, you must choose the camera. +use gtkam for the first time with any camera, you must choose the camera. For this purpose, after starting gtkam click on "Camera." Then choose -"Add Camera." Then "Detect." After this, AFAICT gtkam will be fully functional, -including in particular the production of thumbnails for the photos. +"Add Camera." Then "Detect." Click on the name of the camera to get photos. +Gtkam creates its own thumbnails for cameras which do not offer them. These +cameras do not offer thumbnails. -The use of digikam as a frontend works almost as well, but for some reason +Digikam as a frontend works, too. But for some reason digikam seems unable to display thumbnails from this camera. Anyone who knows -what the problem is here, please let me know. Meanwhile, as I said, gtkam seems -to work without problems. +what the problem is here, please let me know. +Flphoto works well, too, with no obvious glitches. Flphoto is also willing to +create thumbnails and does so without any tweaking. FURTHER DETAILS diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libgphoto2-2.2.1.2.trunk/camlibs/mars/library.c new/libgphoto2-2.2.1.2.trunk/camlibs/mars/library.c --- old/libgphoto2-2.2.1.2.trunk/camlibs/mars/library.c 2006-04-03 16:39:02.000000000 +0200 +++ new/libgphoto2-2.2.1.2.trunk/camlibs/mars/library.c 2006-08-29 11:31:20.000000000 +0200 @@ -64,10 +64,11 @@ {"Haimei Electronics HE-501A", GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010e}, {"Elta Medi@ digi-cam", GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010e}, {"Precision Mini, Model HA513A", GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010f}, - {"Digital camera, CD302N", GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010e}, + {"Digital camera, CD302N", GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010e}, + {"INNOVAGE Mini Digital, CD302N", GP_DRIVER_STATUS_TESTING, 0x093a, 0x010e}, {"Argus DC-1610", GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010f}, {"Argus DC-1620", GP_DRIVER_STATUS_TESTING, 0x093a, 0x010f}, - {"Philips P44417B keychain camera", GP_DRIVER_STATUS_TESTING, 0x093a, 0x010f}, + {"Philips P44417B keychain camera", GP_DRIVER_STATUS_TESTING, 0x093a, 0x010e}, {"Sakar Digital no. 77379", GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010f}, {"Argus QuickClix", GP_DRIVER_STATUS_DEPRECATED, 0x093a, 0x010f}, {NULL,0,0,0} @@ -244,7 +245,7 @@ mars_decompress (data + 12, p_data, w, h); } else memcpy (p_data, data + 12, w*h); - gamma_factor = (float)data[7]/128.; + gamma_factor = .55;//(float)data[7]/128.; free(data); /* Now put the data into a PPM image file. */ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libgphoto2-2.2.1.2.trunk/camlibs/mars/mars.c new/libgphoto2-2.2.1.2.trunk/camlibs/mars/mars.c --- old/libgphoto2-2.2.1.2.trunk/camlibs/mars/mars.c 2006-03-16 10:35:44.000000000 +0100 +++ new/libgphoto2-2.2.1.2.trunk/camlibs/mars/mars.c 2006-08-29 11:31:20.000000000 +0200 @@ -200,22 +200,22 @@ } else if ((i & 0xF0) == 0x80) { /* code 1000 */ - val = +8; + val = +7; len = 4; } else if ((i & 0xF0) == 0x90) { /* code 1001 */ - val = -8; + val = -7; len = 4; } else if ((i & 0xF0) == 0xF0) { /* code 1111 */ - val = -20; + val = -15; len = 4; } else if ((i & 0xF8) == 0xE0) { /* code 11100 */ - val = +20; + val = +15; len = 5; } else if ((i & 0xF8) == 0xE8) { @@ -230,7 +230,13 @@ } } -#define CLAMP(x) ((x)<16?16:((x)>251)?251:(x)) +#define CLAMP(x) ((x)<20?20:((x)>255)?255:(x)) +/* #define MAX(a,b) ((a)>(b)?(a):(b)) */ +/* #define MIN(a,b) ((a)<(b)?(a):(b)) */ +#define MAX3(a,b,c) MAX(MAX(a,b),c) +#define MIN3(a,b,c) MIN(MIN(a,b),c) +#define MAX4(a,b,c,d) MAX(MAX(a,b),MAX(c,d)) +#define MIN4(a,b,c,d) MIN(MIN(a,b),MIN(c,d)) int mars_decompress (unsigned char *inp, @@ -241,7 +247,7 @@ int val; code_table_t table[256]; unsigned char *addr; - int bitpos; + int bitpos, i; unsigned char A,B,C,D, predictor; /* First calculate the Huffman table */ precalc_table(table); @@ -293,10 +299,23 @@ } else if (col < 2) { /* left column: relative to top pixel */ - val += (outp[-2*width] + - outp[-2*width + 2])/2; - + /* initial estimate */ + predictor = (outp[-2*width] + + outp[-2*width + 2])/2; + /* corrections */ + if (row > 3) { + B=outp[-2*width ]; + C=outp[-4*width ]; + if (MAX((predictor -2*B+C), + (-predictor +2*B-C)) + < 1) + predictor = + (7*predictor + C)/8; + } + + val += predictor; } + else if (col > width - 3) { /* left column: relative to top pixel */ val += (outp[-2*width] + @@ -309,19 +328,38 @@ C=outp[-2*width-2]; B=outp[-2*width ]; D=outp[-2*width+2]; - if (D-A >= 0) - predictor= - MIN((D-A)/8, 251-(A+B)/2)+ (A+B)/2; - - else - predictor= - -MIN((A-D)/8, (A+B)/2-4)+ (A+B)/2; - if ((val)&&(predictor > 0xcf)) - val = (5*val +1)/4; - if ((val)&&(predictor < 0x20)) - val = (5*val+3)/4; - - val += predictor; + /* initial estimate for predictor */ + predictor = (2*A + B + D+1)/4; + /* possible vertical edge? */ + if (4*MAX((C -2*B + D), + (-C + 2*B - D)) < 1) + predictor = + (3*predictor + D+1)/4; + /* or horizontal edge? */ + if (row >= 4) { + D=outp[-4*width - 2]; + if (4*MAX((A -2*C + D), + (-A + 2*C - D)) < 1) + predictor = + (3*predictor + A+1)/4; + } + /* decrease changes for close values */ + if (MAX3(A,B,D) - MIN3(A,B,D) + < 0x20) { + if(val > 0) + val -= 1; + if (val < 0) + val += 1; + } + /* increase change for widespread values*/ + if (MAX4(A,B,C,D) - MIN4(A,B,C,D) + > 0x30) { + if(val > 0) + val += 1; + if (val < 0) + val -= 1; + } + val += predictor; } } @@ -330,6 +368,9 @@ col++; } } + /* spread the clamped values upward */ +// for (i=0; i< sizeof(outp); i++) +// outp[i] = outp[i]*255/236; return 0; } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libgphoto2-2.2.1.2.trunk/camlibs/ptp2/ptp-pack.c new/libgphoto2-2.2.1.2.trunk/camlibs/ptp2/ptp-pack.c --- old/libgphoto2-2.2.1.2.trunk/camlibs/ptp2/ptp-pack.c 2006-08-28 15:49:04.000000000 +0200 +++ new/libgphoto2-2.2.1.2.trunk/camlibs/ptp2/ptp-pack.c 2006-08-29 11:32:02.000000000 +0200 @@ -169,7 +169,7 @@ } static inline unsigned char * -ptp_get_packed_stringcopy(PTPParams *params, char *string) +ptp_get_packed_stringcopy(PTPParams *params, char *string, uint32_t *packed_size) { uint8_t packed[PTP_MAXSTRLEN+3], len; size_t plen; @@ -183,9 +183,12 @@ /* Include terminator */ plen += 2; retcopy = malloc(plen); - if (!retcopy) + if (!retcopy) { + *packed_size = 0; return NULL; + } memcpy(retcopy, packed, plen); + *packed_size = plen; return (retcopy); } @@ -819,7 +822,7 @@ break; /* XXX: other int types are unimplemented */ case PTP_DTC_STR: { - dpv=ptp_get_packed_stringcopy(params, value->str); + dpv=ptp_get_packed_stringcopy(params, value->str, &size); break; } } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libgphoto2-2.2.1.2.trunk/configure new/libgphoto2-2.2.1.2.trunk/configure --- old/libgphoto2-2.2.1.2.trunk/configure 2006-08-28 15:54:11.000000000 +0200 +++ new/libgphoto2-2.2.1.2.trunk/configure 2006-08-29 11:32:45.000000000 +0200 @@ -3546,21 +3546,8 @@ try_gp2ddb=false -msg_gp2ddb="no" - -# check whether this is a certain developer's machine -mysum="$( (hostname; cat /proc/cpuinfo) | md5sum | cut -d" " -f1 )" -while read testsum; do - if test "$testsum" = "mysum"; then - try_gp2ddb=true - msg_dp2ddb="yes (developer machine detected)" - break - fi -done<<EOF -f00fd2f44928f790f4f219b3228e7d20 -292ab148abc02c12a5c52b200fb7d465 -da51c1e79e469b5577741f1a5fb2e9d6 -EOF +msg_gp2ddb="" +gp_msg_dp2ddb="no" # Check whether --enable-gp2ddb or --disable-gp2ddb was given. if test "${enable_gp2ddb+set}" = set; then @@ -3568,25 +3555,14 @@ if test "x$enableval" = "xyes"; then try_gp2ddb=true - msg_dp2ddb="yes (--enable-gp2ddb detected)" + msg_dp2ddb="(--enable-gp2ddb detected)" elif test "x$enableval" = "xno"; then try_gp2ddb=false - msg_dp2ddb="no (--disable-gp2ddb detected)" + msg_dp2ddb="(--disable-gp2ddb detected)" fi fi; -gp_config_msg_len="$(expr "GP2DDB support" : '.*')" -if test "$gp_config_msg_len" -ge "$gp_config_len"; then - gp_config_msg_lhs="$(expr "GP2DDB support" : "\(.\{0,${gp_config_len3}\}\)")..:" -else - gp_config_msg_lhs="$(expr "GP2DDB support:${gp_config_empty}" : "\(.\{0,${gp_config_len}\}\)")" -fi -gp_config_msg="${gp_config_msg} ${gp_config_msg_lhs} ${try_gp2ddb} (EXPERIMENTAL) -" - - - # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -3668,18 +3644,12 @@ - -if "$try_gp2ddb" && test -x "$FLEX" && test -x "$BISON"; then - HAVE_FLEX_BISON_TRUE= - HAVE_FLEX_BISON_FALSE='#' -else - HAVE_FLEX_BISON_TRUE='#' - HAVE_FLEX_BISON_FALSE= -fi - - +echo "$as_me:$LINENO: checking whether to enable GP2DDB" >&5 +echo $ECHO_N "checking whether to enable GP2DDB... $ECHO_C" >&6 if "$try_gp2ddb"; then - if test -x "$FLEX" && test -x "$BISON"; then :; else + if test -x "$FLEX" && test -x "$BISON"; then + gp_msg_dp2ddb="yes $msg_dp2ddb" + else { { echo "$as_me:$LINENO: error: Fatal: GP2DDB support requires flex and bison! Aborting configuration. @@ -3696,12 +3666,37 @@ " >&2;} { (exit 1); exit 1; }; } fi +else + gp_msg_dp2ddb="no $msg_dp2ddb" fi +echo "$as_me:$LINENO: result: ${gp_msg_gp2ddb}" >&5 +echo "${ECHO_T}${gp_msg_gp2ddb}" >&6 -echo "$as_me:$LINENO: checking whether to enable GP2DDB" >&5 -echo $ECHO_N "checking whether to enable GP2DDB... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: ${msg_gp2ddb}" >&5 -echo "${ECHO_T}${msg_gp2ddb}" >&6 + + +if "$try_gp2ddb" && test -x "$FLEX" && test -x "$BISON"; then + HAVE_FLEX_BISON_TRUE= + HAVE_FLEX_BISON_FALSE='#' +else + HAVE_FLEX_BISON_TRUE='#' + HAVE_FLEX_BISON_FALSE= +fi + + +if "$try_gp2ddb" && test -x "$FLEX" && test -x "$BISON"; then + gp_msg_gp2ddb="yes $msg_gp2ddb" +else + gp_msg_gp2ddb="no $msg_gp2ddb" +fi + +gp_config_msg_len="$(expr "GP2DDB support" : '.*')" +if test "$gp_config_msg_len" -ge "$gp_config_len"; then + gp_config_msg_lhs="$(expr "GP2DDB support" : "\(.\{0,${gp_config_len3}\}\)")..:" +else + gp_config_msg_lhs="$(expr "GP2DDB support:${gp_config_empty}" : "\(.\{0,${gp_config_len}\}\)")" +fi +gp_config_msg="${gp_config_msg} ${gp_config_msg_lhs} ${gp_msg_gp2ddb} (EXPERIMENTAL) +" @@ -6715,7 +6710,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 6718 "configure" +#line 6713 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9006,7 +9001,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 9009 "configure"' > conftest.$ac_ext + echo '#line 9004 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -10224,7 +10219,7 @@ # Provide some information about the compiler. -echo "$as_me:10227:" \ +echo "$as_me:10222:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 @@ -11287,11 +11282,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11290: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11285: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11294: \$? = $ac_status" >&5 + echo "$as_me:11289: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -11555,11 +11550,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11558: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11553: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11562: \$? = $ac_status" >&5 + echo "$as_me:11557: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -11659,11 +11654,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11662: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11657: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11666: \$? = $ac_status" >&5 + echo "$as_me:11661: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14004,7 +13999,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 14007 "configure" +#line 14002 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14104,7 +14099,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 14107 "configure" +#line 14102 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16444,11 +16439,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16447: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16442: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16451: \$? = $ac_status" >&5 + echo "$as_me:16446: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16548,11 +16543,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16551: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16546: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16555: \$? = $ac_status" >&5 + echo "$as_me:16550: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -18118,11 +18113,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18121: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18116: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:18125: \$? = $ac_status" >&5 + echo "$as_me:18120: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -18222,11 +18217,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18225: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18220: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:18229: \$? = $ac_status" >&5 + echo "$as_me:18224: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -20425,11 +20420,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:20428: $lt_compile\"" >&5) + (eval echo "\"\$as_me:20423: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:20432: \$? = $ac_status" >&5 + echo "$as_me:20427: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -20693,11 +20688,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:20696: $lt_compile\"" >&5) + (eval echo "\"\$as_me:20691: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:20700: \$? = $ac_status" >&5 + echo "$as_me:20695: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -20797,11 +20792,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:20800: $lt_compile\"" >&5) + (eval echo "\"\$as_me:20795: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:20804: \$? = $ac_status" >&5 + echo "$as_me:20799: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libgphoto2-2.2.1.2.trunk/configure.in new/libgphoto2-2.2.1.2.trunk/configure.in --- old/libgphoto2-2.2.1.2.trunk/configure.in 2006-08-24 14:49:21.000000000 +0200 +++ new/libgphoto2-2.2.1.2.trunk/configure.in 2006-08-29 11:31:20.000000000 +0200 @@ -74,44 +74,31 @@ try_gp2ddb=false -msg_gp2ddb="no" - -# check whether this is a certain developer's machine -mysum="$( (hostname; cat /proc/cpuinfo) | md5sum | cut -d" " -f1 )" -while read testsum; do - if test "$testsum" = "mysum"; then - try_gp2ddb=true - msg_dp2ddb="yes (developer machine detected)" - break - fi -done<<EOF -f00fd2f44928f790f4f219b3228e7d20 -292ab148abc02c12a5c52b200fb7d465 -da51c1e79e469b5577741f1a5fb2e9d6 -EOF +msg_gp2ddb="" +gp_msg_dp2ddb="no" AC_ARG_ENABLE([gp2ddb], [AS_HELP_STRING([--enable-gp2ddb], [enable EXPERIMENTAL PRE-ALPHA gphoto2 device database code])],[ if test "x$enableval" = "xyes"; then try_gp2ddb=true - msg_dp2ddb="yes (--enable-gp2ddb detected)" + msg_dp2ddb="(--enable-gp2ddb detected)" elif test "x$enableval" = "xno"; then try_gp2ddb=false - msg_dp2ddb="no (--disable-gp2ddb detected)" + msg_dp2ddb="(--disable-gp2ddb detected)" fi ]) -GP_CONFIG_MSG([GP2DDB support], [${try_gp2ddb} (EXPERIMENTAL)]) - AC_PATH_PROG([FLEX], [flex]) AC_SUBST([FLEX]) AC_PATH_PROG([BISON], [bison]) AC_SUBST([BISON]) -AM_CONDITIONAL([HAVE_FLEX_BISON], ["$try_gp2ddb" && test -x "$FLEX" && test -x "$BISON"]) +AC_MSG_CHECKING([whether to enable GP2DDB]) if "$try_gp2ddb"; then - if test -x "$FLEX" && test -x "$BISON"; then :; else + if test -x "$FLEX" && test -x "$BISON"; then + gp_msg_dp2ddb="yes $msg_dp2ddb" + else AC_MSG_ERROR([Fatal: GP2DDB support requires flex and bison! Aborting configuration. @@ -120,11 +107,19 @@ to disable GP2DDB support. ]) fi +else + gp_msg_dp2ddb="no $msg_dp2ddb" fi +AC_MSG_RESULT([${gp_msg_gp2ddb}]) -AC_MSG_CHECKING([whether to enable GP2DDB]) -AC_MSG_RESULT([${msg_gp2ddb}]) +AM_CONDITIONAL([HAVE_FLEX_BISON], ["$try_gp2ddb" && test -x "$FLEX" && test -x "$BISON"]) +if "$try_gp2ddb" && test -x "$FLEX" && test -x "$BISON"; then + gp_msg_gp2ddb="yes $msg_gp2ddb" +else + gp_msg_gp2ddb="no $msg_gp2ddb" +fi +GP_CONFIG_MSG([GP2DDB support], [${gp_msg_gp2ddb} (EXPERIMENTAL)]) GP_PKG_CONFIG Binary files old/libgphoto2-2.2.1.2.trunk/doc/libgphoto2-api.html.tar.gz and new/libgphoto2-2.2.1.2.trunk/doc/libgphoto2-api.html.tar.gz differ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@suse.de