Message ID | 20191107164513.5760-1-paul@crapouillou.net |
---|---|
State | Changes Requested |
Headers | show |
Series | umtprd: Add package | expand |
Hi Paul, On Thu, Nov 07, 2019 at 05:45:13PM +0100, Paul Cercueil wrote: > uMTP-Responder is a lightweight USB Media Transfer Protocol (MTP) > responder daemon for GNU/Linux. > > Signed-off-by: Paul Cercueil <paul@crapouillou.net> > --- > package/Config.in | 1 + > ...thread.h-include-in-inc-mtp.h-header.patch | 28 +++++++++++++++++++ > package/umtprd/Config.in | 6 ++++ > package/umtprd/umtprd.hash | 2 ++ > package/umtprd/umtprd.mk | 20 +++++++++++++ > 5 files changed, 57 insertions(+) > create mode 100644 package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch > create mode 100644 package/umtprd/Config.in > create mode 100644 package/umtprd/umtprd.hash > create mode 100644 package/umtprd/umtprd.mk > > diff --git a/package/Config.in b/package/Config.in > index f72c77b416..4d945e0b04 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -550,6 +550,7 @@ endmenu > source "package/udev/Config.in" > source "package/udisks/Config.in" > source "package/uhubctl/Config.in" > + source "package/umtprd/Config.in" > source "package/upower/Config.in" > source "package/usb_modeswitch/Config.in" > source "package/usb_modeswitch_data/Config.in" > diff --git a/package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch b/package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch > new file mode 100644 > index 0000000000..ea0b31d052 > --- /dev/null > +++ b/package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch > @@ -0,0 +1,28 @@ > +From 6572d07a68466aaa3a7efcb4a55cc61ff31cfde3 Mon Sep 17 00:00:00 2001 > +From: Paul Cercueil <paul@crapouillou.net> > +Date: Thu, 30 May 2019 00:23:11 +0200 > +Subject: [PATCH] Add missing <pthread.h> include in inc/mtp.h header > + > +This fixes the build under GCC 8 with the musl C library. Please add a link to your upstream pull request: https://github.com/viveris/uMTP-Responder/pull/28 > + > +Signed-off-by: Paul Cercueil <paul@crapouillou.net> > +--- > + inc/mtp.h | 2 ++ > + 1 file changed, 2 insertions(+) > + > +diff --git a/inc/mtp.h b/inc/mtp.h > +index 238de68..5f5b804 100644 > +--- a/inc/mtp.h > ++++ b/inc/mtp.h > +@@ -26,6 +26,8 @@ > + #ifndef _INC_MTP_H_ > + #define _INC_MTP_H_ > + > ++#include <pthread.h> This most likely means ... > ++ > + #define MAX_STORAGE_NB 16 > + #define MAX_CFG_STRING_SIZE 512 > + > +-- > +2.21.0.593.g511ec345e18 > + > diff --git a/package/umtprd/Config.in b/package/umtprd/Config.in > new file mode 100644 > index 0000000000..28c08ce5bd > --- /dev/null > +++ b/package/umtprd/Config.in > @@ -0,0 +1,6 @@ > +config BR2_PACKAGE_UMTPRD > + bool "umtprd" > + help > + Lightweight USB MTP responder daemon for GNU/Linux > + > + https://github.com/viveris/uMTP-Responder ... that the package needs to depend on BR2_TOOLCHAIN_HAS_THREADS? baruch > diff --git a/package/umtprd/umtprd.hash b/package/umtprd/umtprd.hash > new file mode 100644 > index 0000000000..aa91696613 > --- /dev/null > +++ b/package/umtprd/umtprd.hash > @@ -0,0 +1,2 @@ > +# Locally computed > +sha256 e1301bdd89170cc2c679446c1cc5873feaacd061bf0ab547fc0a11670bae9163 umtprd-1.0.0.tar.gz > diff --git a/package/umtprd/umtprd.mk b/package/umtprd/umtprd.mk > new file mode 100644 > index 0000000000..8460f82b7d > --- /dev/null > +++ b/package/umtprd/umtprd.mk > @@ -0,0 +1,20 @@ > +################################################################################ > +# > +# umtprd > +# > +################################################################################ > + > +UMTPRD_VERSION = 1.0.0 > +UMTPRD_SITE = https://github.com/viveris/uMTP-Responder/archive > +UMTPRD_LICENSE = GPL-3.0 > +UMTPRD_LICENSE_FILES = LICENSE > + > +define UMTPRD_BUILD_CMDS > + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) > +endef > + > +define UMTPRD_INSTALL_TARGET_CMDS > + $(INSTALL) -D -m 0755 $(@D)/umtprd $(TARGET_DIR)/usr/sbin/umtprd > +endef > + > +$(eval $(generic-package))
Paul, All, On 2019-11-07 19:05 +0200, Baruch Siach spake thusly: > On Thu, Nov 07, 2019 at 05:45:13PM +0100, Paul Cercueil wrote: > > uMTP-Responder is a lightweight USB Media Transfer Protocol (MTP) > > responder daemon for GNU/Linux. [--SNIP--] > > ++#include <pthread.h> > This most likely means ... > > +config BR2_PACKAGE_UMTPRD > > + bool "umtprd" > ... that the package needs to depend on BR2_TOOLCHAIN_HAS_THREADS? It also needs kernel headers >= 3.15 (for FUNCTIONFS_HAS_FS_DESC and FUNCTIONFS_HAS_HS_DESC in functionfs.h) Regards, Yann E. MORIN.
Hello Paul, Some comments in addition to the ones done by Baruch and Yann. On Thu, 7 Nov 2019 17:45:13 +0100 Paul Cercueil <paul@crapouillou.net> wrote: > package/Config.in | 1 + > ...thread.h-include-in-inc-mtp.h-header.patch | 28 +++++++++++++++++++ > package/umtprd/Config.in | 6 ++++ > package/umtprd/umtprd.hash | 2 ++ > package/umtprd/umtprd.mk | 20 +++++++++++++ > 5 files changed, 57 insertions(+) You should add an entry in the DEVELOPERS file. > diff --git a/package/umtprd/umtprd.hash b/package/umtprd/umtprd.hash > new file mode 100644 > index 0000000000..aa91696613 > --- /dev/null > +++ b/package/umtprd/umtprd.hash > @@ -0,0 +1,2 @@ > +# Locally computed > +sha256 e1301bdd89170cc2c679446c1cc5873feaacd061bf0ab547fc0a11670bae9163 umtprd-1.0.0.tar.gz Please add a hash for the license file. > diff --git a/package/umtprd/umtprd.mk b/package/umtprd/umtprd.mk > new file mode 100644 > index 0000000000..8460f82b7d > --- /dev/null > +++ b/package/umtprd/umtprd.mk > @@ -0,0 +1,20 @@ > +################################################################################ > +# > +# umtprd > +# > +################################################################################ > + > +UMTPRD_VERSION = 1.0.0 > +UMTPRD_SITE = https://github.com/viveris/uMTP-Responder/archive It is never clear to me if those URLs are auto-generated tarballs, or tarballs produced by the project maintainer and uploaded to Github. If these are auto-generated tarballs, then the "github" macro should be used instead. Thanks, Thomas
Hi Thomas, Le jeu., nov. 7, 2019 at 22:09, Thomas Petazzoni <thomas.petazzoni@bootlin.com> a écrit : > Hello Paul, > > Some comments in addition to the ones done by Baruch and Yann. > > On Thu, 7 Nov 2019 17:45:13 +0100 > Paul Cercueil <paul@crapouillou.net> wrote: > >> package/Config.in | 1 + >> ...thread.h-include-in-inc-mtp.h-header.patch | 28 >> +++++++++++++++++++ >> package/umtprd/Config.in | 6 ++++ >> package/umtprd/umtprd.hash | 2 ++ >> package/umtprd/umtprd.mk | 20 +++++++++++++ >> 5 files changed, 57 insertions(+) > > You should add an entry in the DEVELOPERS file. > > >> diff --git a/package/umtprd/umtprd.hash b/package/umtprd/umtprd.hash >> new file mode 100644 >> index 0000000000..aa91696613 >> --- /dev/null >> +++ b/package/umtprd/umtprd.hash >> @@ -0,0 +1,2 @@ >> +# Locally computed >> >> +sha256 e1301bdd89170cc2c679446c1cc5873feaacd061bf0ab547fc0a11670bae9163 umtprd-1.0.0.tar.gz > > Please add a hash for the license file. > >> diff --git a/package/umtprd/umtprd.mk b/package/umtprd/umtprd.mk >> new file mode 100644 >> index 0000000000..8460f82b7d >> --- /dev/null >> +++ b/package/umtprd/umtprd.mk >> @@ -0,0 +1,20 @@ >> >> +################################################################################ >> +# >> +# umtprd >> +# >> >> +################################################################################ >> + >> +UMTPRD_VERSION = 1.0.0 >> +UMTPRD_SITE = https://github.com/viveris/uMTP-Responder/archive > > It is never clear to me if those URLs are auto-generated tarballs, or > tarballs produced by the project maintainer and uploaded to Github. If > these are auto-generated tarballs, then the "github" macro should be > used instead. It's a release manually uploaded to github, that's why I didn't use the "github" macro. Cheers, -Paul > > Thanks, > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
On 07/11/2019 22:09, Thomas Petazzoni wrote: > Hello Paul, > > Some comments in addition to the ones done by Baruch and Yann. > > On Thu, 7 Nov 2019 17:45:13 +0100 > Paul Cercueil <paul@crapouillou.net> wrote: > >> package/Config.in | 1 + >> ...thread.h-include-in-inc-mtp.h-header.patch | 28 +++++++++++++++++++ >> package/umtprd/Config.in | 6 ++++ >> package/umtprd/umtprd.hash | 2 ++ >> package/umtprd/umtprd.mk | 20 +++++++++++++ >> 5 files changed, 57 insertions(+) > > You should add an entry in the DEVELOPERS file. > > >> diff --git a/package/umtprd/umtprd.hash b/package/umtprd/umtprd.hash >> new file mode 100644 >> index 0000000000..aa91696613 >> --- /dev/null >> +++ b/package/umtprd/umtprd.hash >> @@ -0,0 +1,2 @@ >> +# Locally computed >> +sha256 e1301bdd89170cc2c679446c1cc5873feaacd061bf0ab547fc0a11670bae9163 umtprd-1.0.0.tar.gz > > Please add a hash for the license file. > >> diff --git a/package/umtprd/umtprd.mk b/package/umtprd/umtprd.mk >> new file mode 100644 >> index 0000000000..8460f82b7d >> --- /dev/null >> +++ b/package/umtprd/umtprd.mk >> @@ -0,0 +1,20 @@ >> +################################################################################ >> +# >> +# umtprd >> +# >> +################################################################################ >> + >> +UMTPRD_VERSION = 1.0.0 >> +UMTPRD_SITE = https://github.com/viveris/uMTP-Responder/archive > > It is never clear to me if those URLs are auto-generated tarballs, or > tarballs produced by the project maintainer and uploaded to Github. If > these are auto-generated tarballs, then the "github" macro should be > used instead. The documentation mentions it [1]: the uploaded tarballs have a different icon. Actually, there's an easier way to see it: if the URL has 'archive', then it's automatically generated. If it has 'releases/download', then it's been uploaded. So in this case, it actually *is* an autogenerated tarball. The original reason to use the github helper was because the URL construction had changed twice in a short time. That's no longer the case. Now, the reason is that it gives better tarball names. Normally, the URL is: https://github.com/<project>/<repo>/archive/<version>.tar.gz so you get a tarball called <version>.tar.gz. The github helper uses a trick to get a good tarball name: it constructs the following URL: https://github.com/<project>/<repo>/archive/<version>/<foo>.tar.gz github will use <version> as the version and ignore the whole <foo> thing. This allows us to set <foo> to $(PKG_NAME)-$(PKG_VERSION) and we get a nicely named tarball. In this particular case, the tag is in fact umtprd-1.0.0. So, using the normal URL gives a conveniently-named tarball, and using github-helper would actually make it weirder: UMTPRD_SITE = $(call github,viveris,uMTP-Responder,umtprd-$(UMTPRD_VERSION)) Therefore, I tend to agree that using the archive link is better in this case. Regards, Arnout [1] https://buildroot.org/downloads/manual/manual.html#github-download-url > > Thanks, > > Thomas >
diff --git a/package/Config.in b/package/Config.in index f72c77b416..4d945e0b04 100644 --- a/package/Config.in +++ b/package/Config.in @@ -550,6 +550,7 @@ endmenu source "package/udev/Config.in" source "package/udisks/Config.in" source "package/uhubctl/Config.in" + source "package/umtprd/Config.in" source "package/upower/Config.in" source "package/usb_modeswitch/Config.in" source "package/usb_modeswitch_data/Config.in" diff --git a/package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch b/package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch new file mode 100644 index 0000000000..ea0b31d052 --- /dev/null +++ b/package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch @@ -0,0 +1,28 @@ +From 6572d07a68466aaa3a7efcb4a55cc61ff31cfde3 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil <paul@crapouillou.net> +Date: Thu, 30 May 2019 00:23:11 +0200 +Subject: [PATCH] Add missing <pthread.h> include in inc/mtp.h header + +This fixes the build under GCC 8 with the musl C library. + +Signed-off-by: Paul Cercueil <paul@crapouillou.net> +--- + inc/mtp.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/inc/mtp.h b/inc/mtp.h +index 238de68..5f5b804 100644 +--- a/inc/mtp.h ++++ b/inc/mtp.h +@@ -26,6 +26,8 @@ + #ifndef _INC_MTP_H_ + #define _INC_MTP_H_ + ++#include <pthread.h> ++ + #define MAX_STORAGE_NB 16 + #define MAX_CFG_STRING_SIZE 512 + +-- +2.21.0.593.g511ec345e18 + diff --git a/package/umtprd/Config.in b/package/umtprd/Config.in new file mode 100644 index 0000000000..28c08ce5bd --- /dev/null +++ b/package/umtprd/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_UMTPRD + bool "umtprd" + help + Lightweight USB MTP responder daemon for GNU/Linux + + https://github.com/viveris/uMTP-Responder diff --git a/package/umtprd/umtprd.hash b/package/umtprd/umtprd.hash new file mode 100644 index 0000000000..aa91696613 --- /dev/null +++ b/package/umtprd/umtprd.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 e1301bdd89170cc2c679446c1cc5873feaacd061bf0ab547fc0a11670bae9163 umtprd-1.0.0.tar.gz diff --git a/package/umtprd/umtprd.mk b/package/umtprd/umtprd.mk new file mode 100644 index 0000000000..8460f82b7d --- /dev/null +++ b/package/umtprd/umtprd.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# umtprd +# +################################################################################ + +UMTPRD_VERSION = 1.0.0 +UMTPRD_SITE = https://github.com/viveris/uMTP-Responder/archive +UMTPRD_LICENSE = GPL-3.0 +UMTPRD_LICENSE_FILES = LICENSE + +define UMTPRD_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define UMTPRD_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/umtprd $(TARGET_DIR)/usr/sbin/umtprd +endef + +$(eval $(generic-package))
uMTP-Responder is a lightweight USB Media Transfer Protocol (MTP) responder daemon for GNU/Linux. Signed-off-by: Paul Cercueil <paul@crapouillou.net> --- package/Config.in | 1 + ...thread.h-include-in-inc-mtp.h-header.patch | 28 +++++++++++++++++++ package/umtprd/Config.in | 6 ++++ package/umtprd/umtprd.hash | 2 ++ package/umtprd/umtprd.mk | 20 +++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 package/umtprd/0001-Add-missing-pthread.h-include-in-inc-mtp.h-header.patch create mode 100644 package/umtprd/Config.in create mode 100644 package/umtprd/umtprd.hash create mode 100644 package/umtprd/umtprd.mk