[Buildroot] [PATCH 1/1] libgphoto2: Add libgphoto2 package

Kevin JOLY kevin.joly at sensefly.com
Thu Mar 9 06:52:59 UTC 2017


Hi Romain,

Thanks a lot for your comments!


Le 08. 03. 17 à 21:10, Romain Naour a écrit :
> Hi Kevin,
>
> Thanks for this contribution.
>
> I recently sent a patch adding libgphoto2 for Darktable [1].
> There are small differences with your patch (mostly package dependencies), can
> you comment on it ?
>
> Thanks!
>
> [1] http://patchwork.ozlabs.org/patch/735448/
>
> Le 08/03/2017 à 14:38, Kevin JOLY a écrit :
>> Add support for libgphoto2 core library designed to allow access to digital camera.
>>
>> Signed-off-by: Kevin JOLY <kevin.joly at sensefly.com>
>> ---
> We recommend to add yourself as package maintainer in DEVELOPERS file, see:
> http://nightly.buildroot.org/manual.html#DEVELOPERS
Ok
>>   package/Config.in                  |  1 +
>>   package/libgphoto2/Config.in       | 10 ++++++++++
>>   package/libgphoto2/libgphoto2.hash |  3 +++
>>   package/libgphoto2/libgphoto2.mk   | 14 ++++++++++++++
>>   4 files changed, 28 insertions(+)
>>   create mode 100644 package/libgphoto2/Config.in
>>   create mode 100644 package/libgphoto2/libgphoto2.hash
>>   create mode 100644 package/libgphoto2/libgphoto2.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 9eb6a22..69430c3 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -1073,6 +1073,7 @@ menu "Hardware handling"
>>   	source "package/libfreefare/Config.in"
>>   	source "package/libftdi/Config.in"
>>   	source "package/libftdi1/Config.in"
>> +	source "package/libgphoto2/Config.in"
>>   	source "package/libgpiod/Config.in"
>>   	source "package/libgudev/Config.in"
>>   	source "package/libhid/Config.in"
>> diff --git a/package/libgphoto2/Config.in b/package/libgphoto2/Config.in
>> new file mode 100644
>> index 0000000..ba1d535
>> --- /dev/null
>> +++ b/package/libgphoto2/Config.in
>> @@ -0,0 +1,10 @@
>> +config BR2_PACKAGE_LIBGPHOTO2
>> +	select BR2_PACKAGE_LIBTOOL
>> +	select BR2_PACKAGE_LIBUSB
>> +	select BR2_PACKAGE_LIBUSB_COMPAT
>> +	select BR2_PACKAGE_LIBXML2
> I added gd, jpeg, libexif and lockev package as mandatory dependencies, They may
> be optional... can you check ?
>
> You can compare with archlinux packaging for exemple:
>
> depends=(libexif libjpeg gd libltdl libusb libxml2)
>
> https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/libgphoto2
According to the figure 5.1 of their online manual [1], libexif is 
optionnal. I also noticed in the source code of libgphoto2 that there is 
several #ifdef HAVE_LIBGD, #ifdef HAVE_LIBJPEG, #ifdef HAVE_LOCKDEV//so 
that I assumed them optional. For libxml2 I was not able to compile the 
package without it. I got :
ERROR: unsafe header/library path used in cross-compilation: 
'-I/usr/include/libxml2'

Do you would like me to add them by default in order to keep the full 
feature set ?
>> +	bool "libgphoto2"
>> +	help
>> +	  libgphoto2 is the core library designed to allow access to digital camera by external programs.
> The help text should be wrapped within 72 characters (8 characters for one tab)
Ok
>> +
>> +	  http://gphoto.org/
>> diff --git a/package/libgphoto2/libgphoto2.hash b/package/libgphoto2/libgphoto2.hash
>> new file mode 100644
>> index 0000000..25de0bf
>> --- /dev/null
>> +++ b/package/libgphoto2/libgphoto2.hash
>> @@ -0,0 +1,3 @@
>> +# Hashes from: https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.12/
>> +sha1	4e1208a8a66d679b8b619b05915dbb0e684c5518	libgphoto2-2.5.12.tar.gz
>> +md5	b3b5d36e583fc96eed0594dc414d70c9		libgphoto2-2.5.12.tar.gz
> I used tar.bz2 archive here since the archive is smaller and used the
> corresponding hashes.
>
> I added a stronger hash calculated locally
> sha256 b9bb28990fde45ac385e4851a07dbad2e1250404b535b0a3a3b898bb431e4e2e
> libgphoto2-2.5.12.tar.bz2
>
Ok
>> diff --git a/package/libgphoto2/libgphoto2.mk b/package/libgphoto2/libgphoto2.mk
>> new file mode 100644
>> index 0000000..fc5be1b
>> --- /dev/null
>> +++ b/package/libgphoto2/libgphoto2.mk
>> @@ -0,0 +1,14 @@
>> +################################################################################
>> +#
>> +# libgphoto2
>> +#
>> +################################################################################
>> +
>> +LIBGPHOTO2_VERSION = 2.5.12
>> +LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.gz
> The tar.bz2 archive should be used here.
Ok
>> +LIBGPHOTO2_SITE = https://sourceforge.net/projects/gphoto/files/libgphoto/$(LIBGPHOTO2_VERSION)
> Missing license information:
>
> It's seems to be LGPLv2+ but...
>
>   * \par License
>   * This library is free software; you can redistribute it and/or
>   * modify it under the terms of the GNU Lesser General Public
>   * License as published by the Free Software Foundation; either
>   * version 2 of the License, or (at your option) any later version.
>   *
>   * \par
>   * This library is distributed in the hope that it will be useful,
>   * but WITHOUT ANY WARRANTY; without even the implied warranty of
>   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>   * Lesser General Public License for more details.
>   *
>   * \par
>   * You should have received a copy of the GNU Lesser General Public
>   * License along with this library; if not, write to the
>   * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
>   * Boston, MA  02110-1301  USA
>
> ... Fedora tagged this package as GPLV2+ and GPLv2... it seems there is a
> licensing issue...
>
> # GPLV2+ for the main lib (due to exif.c) and most plugins, some plugins GPLv2
> http://pkgs.fedoraproject.org/cgit/rpms/libgphoto2.git/tree/libgphoto2.spec
>
> exif.c:
>    \par License
>    This program is free software; you can redistribute it and/or modify
>    it under the terms of the GNU General Public License as published by
>    the Free Software Foundation; either version 2 of the License, or
>    (at your option) any later version.
>
>    \par
>    This program is distributed in the hope that it will be useful,
>    but WITHOUT ANY WARRANTY; without even the implied warranty of
>    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>    GNU General Public License for more details.
>
>    \par
>    You should have received a copy of the GNU General Public License
>    along with this program; if not, write to the
>    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
>    Boston, MA  02110-1301  USA
The library itself seems to be LGPL2.1. But it contains several plugins 
with different licences (GPL-2, LGPL-2+, ...). Is LGPL2.1 suitable ?
>> +LIBGPHOTO2_INSTALL_STAGING = YES
> Ok
>
>> +LIBGPHOTO2_INSTALL_TARGET = YES
> Not needed, this is the default behavior.
>
>> +LIBGPHOTO2_DEPENDENCIES = libxml2 libusb libusb-compat libtool host-pkgconf
> Ok but maybe gd jpeg libexif and lockdev dependencies may be missing.
>
> Best regards,
> Romain
>
>> +
>> +$(eval $(autotools-package))
>>
I'll submit my patch again with your recommendation.

Best regards,

[1] http://gphoto.org/doc/manual/compilation.html
-- 

*Kevin JOLY*
Embedded systems engineer

SenseFly <http://www.sensefly.com/>
38, rte de Genève
1033 Cheseaux-Lausanne, Switzerland

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170309/e49c95b9/attachment-0002.html>


More information about the buildroot mailing list