Skip to contentSkip to conversation

libgphoto2: Add libgphoto2 package

PATCH Superseded Kevin JOLY 4 participants 10 messages Apr 6, 2017 – Apr 10, 2017

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Kevin JOLY

author
#0 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Add support for libgphoto2 core library designed to allow access to digital camera.

---
 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/libgphoto2/Config.in       | 11 +++++++++++
 package/libgphoto2/libgphoto2.hash |  6 ++++++
 package/libgphoto2/libgphoto2.mk   | 29 +++++++++++++++++++++++++++++
 5 files changed, 50 insertions(+)
 create mode 100644 package/libgphoto2/Config.in
 create mode 100644 package/libgphoto2/libgphoto2.hash
 create mode 100644 package/libgphoto2/libgphoto2.mk
DEVELOPERS +3 -0
index e1713cf..09d7085 100644
@@ -956,6 +956,9 @@ F:	package/cpuload/
 F:	package/bwm-ng/
 F:	package/ramsmp/
 
+N:	Kevin Joly <[email protected]>
+F:	package/libgphoto2/
+
 N:	Laurent Cans <[email protected]>
 F:	package/aircrack-ng/
 
package/Config.in +1 -0
index fe4c0ae..e17ee6f 100644
@@ -1085,6 +1085,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"
package/libgphoto2/Config.in new file +11 -0
new file mode 100644
index 0000000..1626667
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBGPHOTO2
+	select BR2_PACKAGE_LIBTOOL
+	select BR2_PACKAGE_LIBUSB
+	select BR2_PACKAGE_LIBUSB_COMPAT
+	select BR2_PACKAGE_LIBXML2
+	bool "libgphoto2"
+	help
+	  libgphoto2 is the core library designed to allow access to
+	  digital camera by external programs.
+
+	  http://gphoto.org/
package/libgphoto2/libgphoto2.hash new file +6 -0
new file mode 100644
index 0000000..2e659ab
@@ -0,0 +1,6 @@
+# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.12/
+md5 a5999acc204c31515a6ec8e517d2cd91 libgphoto2-2.5.12.tar.bz2
+sha1 4ded403b87d46ad49ba88b22b9410789ed3cef10 libgphoto2-2.5.12.tar.bz2
+
+# Locally calculated hash
+sha256 b9bb28990fde45ac385e4851a07dbad2e1250404b535b0a3a3b898bb431e4e2e	libgphoto2-2.5.12.tar.bz2
package/libgphoto2/libgphoto2.mk new file +29 -0
new file mode 100644
index 0000000..354c29a
@@ -0,0 +1,29 @@
+################################################################################
+#
+# libgphoto2
+#
+################################################################################
+
+LIBGPHOTO2_VERSION = 2.5.12
+LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2
+LIBGPHOTO2_SITE = https://sourceforge.net/projects/gphoto/files/libgphoto/$(LIBGPHOTO2_VERSION)
+LIBGPHOTO2_INSTALL_STAGING = YES
+
+LIBGPHOTO2_DEPENDENCIES = libxml2 libusb libusb-compat libtool host-pkgconf
+
+ifeq ($(BR2_PACKAGE_LIBEXIF),y)
+LIBGPHOTO2_DEPENDENCIES += libexif
+endif
+
+ifeq ($(BR2_PACKAGE_LIBJPEG),y)
+LIBGPHOTO2_DEPENDENCIES += libjpeg
+endif
+
+ifeq ($(BR2_PACKAGE_GD),y)
+LIBGPHOTO2_DEPENDENCIES += gd
+endif
+
+LIBGPHOTO2_LICENSE = LGPLv2.1+
+LIBGPHOTO2_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Hello,

Quoted 13 lines · Kevin JOLY

Add support for libgphoto2 core library designed to allow access to digital camera.

---
 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/libgphoto2/Config.in       | 11 +++++++++++
 package/libgphoto2/libgphoto2.hash |  6 ++++++
 package/libgphoto2/libgphoto2.mk   | 29 +++++++++++++++++++++++++++++
 5 files changed, 50 insertions(+)
 create mode 100644 package/libgphoto2/Config.in
 create mode 100644 package/libgphoto2/libgphoto2.hash
 create mode 100644 package/libgphoto2/libgphoto2.mk

Thanks for this patch. However:

- You already posted a patch for the same package on March, 13th, but you don't explain how this version is different. This patch is not even identified as a new iteration. What changed?

- Romain Naour submitted on March 5 a patch adding libgphoto2, so your proposal seems a bit redundant with Romain's patch. Have you taken over Romain's patch? I'm adding Romain in Cc here.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
author
#2 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Hello Thomas,

I was talking with Romain on this mailing list and he had concern about license and dependencies of libgphoto2. I contacted the developpers of libgphoto2 to ensure that the license type was correct. I also turned the libexif, jpeg and gd dependencies as optional.

Anyway, if the patch is in the pipe, everything is fine. I re-submitted it because I didn't saw it was already on patchwork but I didn't wanted to be redundant with it.

Thank you

Kevin JOLY

Le 06. 04. 17 ? 22:36, Thomas Petazzoni a ?crit :

Quoted 29 lines

Hello,

Quoted 10 lines · Kevin JOLY

Add support for libgphoto2 core library designed to allow access to digital camera.

---
  DEVELOPERS                         |  3 +++
  package/Config.in                  |  1 +
  package/libgphoto2/Config.in       | 11 +++++++++++
  package/libgphoto2/libgphoto2.hash |  6 ++++++
  package/libgphoto2/libgphoto2.mk   | 29 +++++++++++++++++++++++++++++
  5 files changed, 50 insertions(+)
Quoted 3 lines

create mode 100644 package/libgphoto2/Config.in create mode 100644 package/libgphoto2/libgphoto2.hash create mode 100644 package/libgphoto2/libgphoto2.mk

Thanks for this patch. However:

- You already posted a patch for the same package on March, 13th, but you don't explain how this version is different. This patch is not even identified as a new iteration. What changed?

- Romain Naour submitted on March 5 a patch adding libgphoto2, so your proposal seems a bit redundant with Romain's patch. Have you taken over Romain's patch? I'm adding Romain in Cc here.

Thanks!

Thomas

Signature · 10 lines
*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/20170407/14948f39/attachment.html>
#3 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Hi Kevin, Thomas,

Le 07/04/2017 ? 07:14, Kevin JOLY a ?crit :

Quoted 10 lines

Hello Thomas,

I was talking with Romain on this mailing list and he had concern about license and dependencies of libgphoto2. I contacted the developpers of libgphoto2 to ensure that the license type was correct. I also turned the libexif, jpeg and gd dependencies as optional.

Anyway, if the patch is in the pipe, everything is fine. I re-submitted it because I didn't saw it was already on patchwork but I didn't wanted to be redundant with it.

Indeed, I've posted a patch adding libgphoto2 in Buildroot some day before your initial submission [1], but it's ok since you're working on it.

It would be great if you add a small changlog between each iteration, see [2] (21.5.4. Patch revision changelog). That's why Thomas asked what changed in your last submission.

Also, can you check this new package with the new test-pkg script ? [3] (17.20.2. How to test your package).

I'll review it later this week-end.
I'll mark my initial patch superseded in the patchwork.

Best regards,
Romain

[1] http://patchwork.ozlabs.org/patch/735448/
[2] http://nightly.buildroot.org/manual.html#submitting-patches
[3] http://nightly.buildroot.org/manual.html#_tips_and_tricks

Quoted 52 lines

Thank you

Kevin JOLY

Le 06. 04. 17 ? 22:36, Thomas Petazzoni a ?crit :

Quoted 29 lines

Hello,

Quoted 13 lines · Kevin JOLY

Add support for libgphoto2 core library designed to allow access to digital camera.

---
 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/libgphoto2/Config.in       | 11 +++++++++++
 package/libgphoto2/libgphoto2.hash |  6 ++++++
 package/libgphoto2/libgphoto2.mk   | 29 +++++++++++++++++++++++++++++
 5 files changed, 50 insertions(+)
 create mode 100644 package/libgphoto2/Config.in
 create mode 100644 package/libgphoto2/libgphoto2.hash
 create mode 100644 package/libgphoto2/libgphoto2.mk

Thanks for this patch. However:

- You already posted a patch for the same package on March, 13th, but you don't explain how this version is different. This patch is not even identified as a new iteration. What changed?

- Romain Naour submitted on March 5 a patch adding libgphoto2, so your proposal seems a bit redundant with Romain's patch. Have you taken over Romain's patch? I'm adding Romain in Cc here.

Thanks!

Thomas

Signature · 13 lines
*Kevin JOLY*
Embedded systems engineer

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



_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
author
#4 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Hi Romain, Thomas,

Le 07. 04. 17 ? 22:52, Romain Naour a ?crit :

Quoted 13 lines

Hi Kevin, Thomas,

Le 07/04/2017 ? 07:14, Kevin JOLY a ?crit :

Quoted 10 lines

Hello Thomas,

I was talking with Romain on this mailing list and he had concern about license and dependencies of libgphoto2. I contacted the developpers of libgphoto2 to ensure that the license type was correct. I also turned the libexif, jpeg and gd dependencies as optional.

Anyway, if the patch is in the pipe, everything is fine. I re-submitted it because I didn't saw it was already on patchwork but I didn't wanted to be redundant with it.

Quoted 6 lines

Indeed, I've posted a patch adding libgphoto2 in Buildroot some day before your initial submission [1], but it's ok since you're working on it.

It would be great if you add a small changlog between each iteration, see [2] (21.5.4. Patch revision changelog). That's why Thomas asked what changed in your last submission.

Ok, I submitted the v2 right before this email. Sorry about that, I'm still a newbie in patch revision!

Quoted 3 lines

Also, can you check this new package with the new test-pkg script ? [3] (17.20.2. How to test your package).

I ran the test. Everything was OK except br-arm-cortex-m4-full and br-arm-full-nothread.

Quoted 4 lines

I'll review it later this week-end.
I'll mark my initial patch superseded in the patchwork.

Quoted 56 lines

Best regards,
Romain

[1] http://patchwork.ozlabs.org/patch/735448/
[2] http://nightly.buildroot.org/manual.html#submitting-patches
[3] http://nightly.buildroot.org/manual.html#_tips_and_tricks

Quoted 50 lines

Thank you

Kevin JOLY

Le 06. 04. 17 ? 22:36, Thomas Petazzoni a ?crit :

Quoted 29 lines

Hello,

Quoted 10 lines · Kevin JOLY

Add support for libgphoto2 core library designed to allow access to digital camera.

---
  DEVELOPERS                         |  3 +++
  package/Config.in                  |  1 +
  package/libgphoto2/Config.in       | 11 +++++++++++
  package/libgphoto2/libgphoto2.hash |  6 ++++++
  package/libgphoto2/libgphoto2.mk   | 29 +++++++++++++++++++++++++++++
  5 files changed, 50 insertions(+)
Quoted 3 lines

create mode 100644 package/libgphoto2/Config.in create mode 100644 package/libgphoto2/libgphoto2.hash create mode 100644 package/libgphoto2/libgphoto2.mk

Thanks for this patch. However:

- You already posted a patch for the same package on March, 13th, but you don't explain how this version is different. This patch is not even identified as a new iteration. What changed?

- Romain Naour submitted on March 5 a patch adding libgphoto2, so your proposal seems a bit redundant with Romain's patch. Have you taken over Romain's patch? I'm adding Romain in Cc here.

Thanks!

Thomas

Signature · 13 lines
*Kevin JOLY*
Embedded systems engineer

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



_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Best regards,

Signature · 10 lines
*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/20170410/c0a64a0b/attachment.html>
#5 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Hello,

Thanks for your new iteration of the libgphoto2 patch!

Quoted 4 lines · Kevin JOLY
Quoted 2 lines

Also, can you check this new package with the new test-pkg script ? [3] (17.20.2. How to test your package).

I ran the test. Everything was OK except br-arm-cortex-m4-full and br-arm-full-nothread.

What errors did you had with those toolchains? Did you fix those issue in your v2?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#6 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Quoted 6 lines · Thomas Petazzoni

Hello,

Thanks for your new iteration of the libgphoto2 patch!

On Mon, 10 Apr 2017 11:24:32 +0200, Kevin JOLY wrote:

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

Also, can you check this new package with the new test-pkg script ? [3] (17.20.2. How to test your package).

I ran the test. Everything was OK except br-arm-cortex-m4-full and br-arm-full-nothread.

What errors did you had with those toolchains? Did you fix those issue in your v2?

I expect br-arm-cortex-m4-full runs into the elf2flt segfault, and
br-arm-full-nothread fails because it depends on threads (as mentioned in my review).

Regards,
Arnout

Quoted 5 lines

Thanks!

Thomas

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#7 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

In reply to Kevin JOLY

Hi Kevin,

Some more feedback on your patch...

A better summary line would be

libgphoto2: new package

Quoted 1 line · Kevin JOLY

Add support for libgphoto2 core library designed to allow access to digital camera.

The commit message text should be wrapped at 72 columns.

Quoted 2 lines

Since Romain also worked on this package, it's nice to add

Cc Romain Naour <[email protected]>

This makes sure that:
- Romain will be in Cc when you use git send-email;
- In the git history, it will be visible that Romain was involved.

[snip]

package/libgphoto2/Config.in line 4

Quoted 10 lines
package/libgphoto2/Config.in new file +4 -0
new file mode 100644
index 0000000..1626667
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBGPHOTO2
+	select BR2_PACKAGE_LIBTOOL
+	select BR2_PACKAGE_LIBUSB
+	select BR2_PACKAGE_LIBUSB_COMPAT

Is libusb-compat really needed? It seems to be only used if libusb1 isn't
found. Also, as far as I can see in the configure script, this is optional (you just loose most of the ports).

package/libgphoto2/Config.in line 5

Quoted 1 line
package/libgphoto2/Config.in new file +1 -0
+	select BR2_PACKAGE_LIBXML2

In your reply to v1, you mentioned that br-arm-full-nothread failed. That seems
to indicate that it should depend on BR2_TOOLCHAIN_HAS_THREADS (with the appropriate comment in case of !BR2_TOOLCHAIN_HAS_THREADS). But anyway, this dependency is already needed for libusb. So if the package itself doesn't require threads (just grep for "pthread", and check whether or not it's escaped by some #ifdef), you should say:

depends on BR2_TOOLCHAIN_HAS_THREADS # libusb

package/libgphoto2/Config.in line 11

Quoted 6 lines
package/libgphoto2/Config.in new file +6 -0
+	bool "libgphoto2"
+	help
+	  libgphoto2 is the core library designed to allow access to
+	  digital camera by external programs.
+
+	  http://gphoto.org/

For libgphoto2 itself:

http://gphoto.org/proj/libgphoto2/

Quoted 18 lines
package/libgphoto2/libgphoto2.hash new file +6 -0
new file mode 100644
index 0000000..2e659ab
@@ -0,0 +1,6 @@
+# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.12/
+md5 a5999acc204c31515a6ec8e517d2cd91 libgphoto2-2.5.12.tar.bz2
+sha1 4ded403b87d46ad49ba88b22b9410789ed3cef10 libgphoto2-2.5.12.tar.bz2
+
+# Locally calculated hash
+sha256 b9bb28990fde45ac385e4851a07dbad2e1250404b535b0a3a3b898bb431e4e2e	libgphoto2-2.5.12.tar.bz2
package/libgphoto2/libgphoto2.mk new file +0 -0
new file mode 100644
index 0000000..354c29a

package/libgphoto2/libgphoto2.mk line 7

Quoted 7 lines
package/libgphoto2/libgphoto2.mk new file +7 -0
@@ -0,0 +1,29 @@
+################################################################################
+#
+# libgphoto2
+#
+################################################################################
+
+LIBGPHOTO2_VERSION = 2.5.12

There's a 2.5.13 out now.

package/libgphoto2/libgphoto2.mk line 9

Quoted 2 lines
package/libgphoto2/libgphoto2.mk new file +2 -0
+LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2
+LIBGPHOTO2_SITE = https://sourceforge.net/projects/gphoto/files/libgphoto/$(LIBGPHOTO2_VERSION)

The website itself points to github, and the repository is maintained on github
(no commits in sourceforge since 2015), so I'd tend to say that you should use the github download. However, the github download is just the autogenerated one which doesn't contain a configure script, so indeed it's better to use sourceforge. Still, it's better to add a comment about that:

# Project is maintained on github but github tarball doesn't have configure

package/libgphoto2/libgphoto2.mk line 12

Quoted 3 lines
package/libgphoto2/libgphoto2.mk new file +3 -0
+LIBGPHOTO2_INSTALL_STAGING = YES
+
+LIBGPHOTO2_DEPENDENCIES = libxml2 libusb libusb-compat libtool host-pkgconf

It looks like there are some configure options you may want to pass explicitly,
like --disable-rpm. The package also installs a lot of stuff in non-standard locations, it would be good to check if the defaults are appropriate. Also take a look at README.packaging.

package/libgphoto2/libgphoto2.mk line 19

Quoted 8 lines
package/libgphoto2/libgphoto2.mk new file +7 -0
+
+ifeq ($(BR2_PACKAGE_LIBEXIF),y)
+LIBGPHOTO2_DEPENDENCIES += libexif
 
+endif
+
+ifeq ($(BR2_PACKAGE_LIBJPEG),y)
+LIBGPHOTO2_DEPENDENCIES += libjpeg

Please add an explicit
LIBGPHOTO2_CONF_OPTS += --with-jpeg
else
LIBGPHOTO2_CONF_OPTS += --without-jpeg

Ideally also for exif and gd, but it seems there are no options for those.

package/libgphoto2/libgphoto2.mk line 26

Quoted 7 lines
package/libgphoto2/libgphoto2.mk new file +7 -0
+endif
+
+ifeq ($(BR2_PACKAGE_GD),y)
+LIBGPHOTO2_DEPENDENCIES += gd
+endif
+
+LIBGPHOTO2_LICENSE = LGPLv2.1+

We switched completely to SPDX license strings, so LGPL-2.1+

Quoted 1 line

+LIBGPHOTO2_LICENSE_FILES = COPYING

We typically put the license info near the top, just above or below the initial
DEPENDENCIES.

It looks like some of the camlibs are actually GPL-2.0+ or LGPL-3+, and some
are LGPL-2.0 only. So the complete string should be:

LIBGPHOTO2_LICENSE = LGPLv2.1+, GPL-2.0 (adc65), GPL-2.0+ (some camlibs), \
	LGPL-2.0 (sipix), LGPL-3.0+ (pentax), BSD-3-Clause (ax203/tinyjpeg).

I couldn't find any license files for all the other licenses, so add a comment

# No license files for other licenses

It would be good to double-check all of the above...

Regards,
Arnout

Quoted 3 lines

+
+$(eval $(autotools-package))

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
author
#8 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Hi Arnout,

Le 10. 04. 17 ? 12:20, Arnout Vandecappelle a ?crit :

Quoted 23 lines

Hi Kevin,

Some more feedback on your patch...

A better summary line would be

libgphoto2: new package

Quoted 1 line · Kevin JOLY

Add support for libgphoto2 core library designed to allow access to digital camera.

The commit message text should be wrapped at 72 columns.

Quoted 1 line

Since Romain also worked on this package, it's nice to add

Cc Romain Naour <[email protected]>

This makes sure that:
- Romain will be in Cc when you use git send-email;
- In the git history, it will be visible that Romain was involved.

[snip]

Quoted 13 lines

package/libgphoto2/Config.in line 4

Quoted 10 lines
package/libgphoto2/Config.in new file +4 -0
new file mode 100644
index 0000000..1626667
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBGPHOTO2
+	select BR2_PACKAGE_LIBTOOL
+	select BR2_PACKAGE_LIBUSB
+	select BR2_PACKAGE_LIBUSB_COMPAT

Is libusb-compat really needed? It seems to be only used if libusb1 isn't
found. Also, as far as I can see in the configure script, this is optional (you just loose most of the ports).

You're right, this one is also optional.

Quoted 9 lines

package/libgphoto2/Config.in line 5

Quoted 1 line
package/libgphoto2/Config.in new file +1 -0
+	select BR2_PACKAGE_LIBXML2

In your reply to v1, you mentioned that br-arm-full-nothread failed. That seems
to indicate that it should depend on BR2_TOOLCHAIN_HAS_THREADS (with the appropriate comment in case of !BR2_TOOLCHAIN_HAS_THREADS). But anyway, this dependency is already needed for libusb. So if the package itself doesn't require threads (just grep for "pthread", and check whether or not it's escaped by some #ifdef), you should say:

depends on BR2_TOOLCHAIN_HAS_THREADS # libusb

pthread was not found in the source code of libgphoto2 itself so I guess it is only for libusb. I added the depends on and the comment.

Quoted 49 lines

package/libgphoto2/Config.in line 11

Quoted 7 lines
package/libgphoto2/Config.in new file +6 -0
+	bool "libgphoto2"
+	help
+	  libgphoto2 is the core library designed to allow access to
+	  digital camera by external programs.
+
+	  http://gphoto.org/

For libgphoto2 itself:

http://gphoto.org/proj/libgphoto2/

Quoted 18 lines
package/libgphoto2/libgphoto2.hash new file +6 -0
new file mode 100644
index 0000000..2e659ab
@@ -0,0 +1,6 @@
+# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.12/
+md5 a5999acc204c31515a6ec8e517d2cd91 libgphoto2-2.5.12.tar.bz2
+sha1 4ded403b87d46ad49ba88b22b9410789ed3cef10 libgphoto2-2.5.12.tar.bz2
+
+# Locally calculated hash
+sha256 b9bb28990fde45ac385e4851a07dbad2e1250404b535b0a3a3b898bb431e4e2e	libgphoto2-2.5.12.tar.bz2
package/libgphoto2/libgphoto2.mk new file +0 -0
new file mode 100644
index 0000000..354c29a

package/libgphoto2/libgphoto2.mk line 7

Quoted 7 lines
package/libgphoto2/libgphoto2.mk new file +7 -0
@@ -0,0 +1,29 @@
+################################################################################
+#
+# libgphoto2
+#
+################################################################################
+
+LIBGPHOTO2_VERSION = 2.5.12

There's a 2.5.13 out now.

package/libgphoto2/libgphoto2.mk line 9

Quoted 2 lines
package/libgphoto2/libgphoto2.mk new file +2 -0
+LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2
+LIBGPHOTO2_SITE = https://sourceforge.net/projects/gphoto/files/libgphoto/$(LIBGPHOTO2_VERSION)

The website itself points to github, and the repository is maintained on github
(no commits in sourceforge since 2015), so I'd tend to say that you should use the github download. However, the github download is just the autogenerated one which doesn't contain a configure script, so indeed it's better to use sourceforge. Still, it's better to add a comment about that:

# Project is maintained on github but github tarball doesn't have configure

Quoted 7 lines

package/libgphoto2/libgphoto2.mk line 12

Quoted 3 lines
package/libgphoto2/libgphoto2.mk new file +3 -0
+LIBGPHOTO2_INSTALL_STAGING = YES
+
+LIBGPHOTO2_DEPENDENCIES = libxml2 libusb libusb-compat libtool host-pkgconf

It looks like there are some configure options you may want to pass explicitly,
like --disable-rpm. The package also installs a lot of stuff in non-standard locations, it would be good to check if the defaults are appropriate. Also take a look at README.packaging.

Where did you find the --disable-rpm ? By non-standard location, do you mean the udevscriptdir and the utilsdir?

Quoted 13 lines

package/libgphoto2/libgphoto2.mk line 19

Quoted 8 lines
package/libgphoto2/libgphoto2.mk new file +7 -0
+
+ifeq ($(BR2_PACKAGE_LIBEXIF),y)
+LIBGPHOTO2_DEPENDENCIES += libexif
+endif
+
+ifeq ($(BR2_PACKAGE_LIBJPEG),y)
+LIBGPHOTO2_DEPENDENCIES += libjpeg

Please add an explicit
LIBGPHOTO2_CONF_OPTS += --with-jpeg
else
LIBGPHOTO2_CONF_OPTS += --without-jpeg

Quoted 1 line

Ideally also for exif and gd, but it seems there are no options for those.

I found --with-gdlib=[auto|no] and --with-libexif=[auto|no]

Quoted 20 lines

package/libgphoto2/libgphoto2.mk line 26

Quoted 8 lines
package/libgphoto2/libgphoto2.mk new file +7 -0
+endif
+
+ifeq ($(BR2_PACKAGE_GD),y)
+LIBGPHOTO2_DEPENDENCIES += gd
+endif
+
+LIBGPHOTO2_LICENSE = LGPLv2.1+

We switched completely to SPDX license strings, so LGPL-2.1+

package/libgphoto2/libgphoto2.mk line 27

Quoted 1 line
package/libgphoto2/libgphoto2.mk new file +1 -0
+LIBGPHOTO2_LICENSE_FILES = COPYING

We typically put the license info near the top, just above or below the initial
DEPENDENCIES.

It looks like some of the camlibs are actually GPL-2.0+ or LGPL-3+, and some
are LGPL-2.0 only. So the complete string should be:

LIBGPHOTO2_LICENSE = LGPLv2.1+, GPL-2.0 (adc65), GPL-2.0+ (some camlibs), \
	LGPL-2.0 (sipix), LGPL-3.0+ (pentax), BSD-3-Clause (ax203/tinyjpeg).
Quoted 12 lines

I couldn't find any license files for all the other licenses, so add a comment

# No license files for other licenses

It would be good to double-check all of the above...

Regards,
Arnout

Quoted 3 lines
package/libgphoto2/libgphoto2.mk new file +2 -0
+
+$(eval $(autotools-package))

Best regards,

Signature · 10 lines
*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/20170410/80c69737/attachment.html>
#9 lore raw

PATCH 1/1 libgphoto2: Add libgphoto2 package

Quoted 4 lines · Kevin JOLY

Hi Arnout,

Le 10. 04. 17 ? 12:20, Arnout Vandecappelle a ?crit :

[snip]

Quoted 5 lines
Quoted 4 lines

It looks like there are some configure options you may want to pass explicitly,
like --disable-rpm. The package also installs a lot of stuff in non-standard locations, it would be good to check if the defaults are appropriate. Also take a look at README.packaging.

Where did you find the --disable-rpm ?

I misread the configure.ac (gphoto-m4/gp-packaging.m4 actually). It's in fact
--without-rpmbuild.

Quoted 2 lines

By non-standard location, do you mean the
udevscriptdir and the utilsdir?

Yes, udevscriptdir. utilsdir is OK.

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF