diff mbox series

[v6] libostree: new package

Message ID 20171102112722.19414-1-marcus.folkesson@gmail.com
State Superseded
Headers show
Series [v6] libostree: new package | expand

Commit Message

Marcus Folkesson Nov. 2, 2017, 11:27 a.m. UTC
OSTree is an upgrade system for Linux-based operating systems

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
---
v6:
- Rearrange logic for curl and libsoup check

v5:
Fix comments from Bernd Kuhls:
- use tarball provided by upstream
- propagate dependencies
- set optional dependencies
- depend on !musl

v4:
- bump version to 2017.12

v3:
- move with the package within Config.in to match the chronological order
  (the former name was just 'ostree')

v2:
- add e2fsprogs as dependency
 DEVELOPERS                       |  3 ++
 package/Config.in                |  1 +
 package/libostree/Config.in      | 20 ++++++++++++++
 package/libostree/libostree.hash |  1 +
 package/libostree/libostree.mk   | 59 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 84 insertions(+)
 create mode 100644 package/libostree/Config.in
 create mode 100644 package/libostree/libostree.hash
 create mode 100644 package/libostree/libostree.mk

Comments

Bernd Kuhls Nov. 12, 2017, 12:24 p.m. UTC | #1
Hi Marcus,

Am Thu, 02 Nov 2017 12:27:22 +0100 schrieb Marcus Folkesson:

> diff --git a/package/libostree/Config.in b/package/libostree/Config.in
> new file mode 100644
> index 0000000000..d4a802a6b6
> --- /dev/null
> +++ b/package/libostree/Config.in
> @@ -0,0 +1,20 @@
> +config BR2_PACKAGE_LIBOSTREE
> +	bool "libostree"
> +	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme
> +	depends on !BR2_STATIC_LIBS # libfuse
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> +	depends on BR2_USE_WCHAR # libglib2
> +	depends on BR2_USE_MMU # e2fsprogs, libfuse,libglib2, libgpgme
> +
> +	# doesn't build with musl due to lack of TEMP_FAILURE_RETRY()
> +	depends on !BR2_TOOLCHAIN_USES_MUSL
> +
> +	select BR2_PACKAGE_E2FSPROGS
> +	select BR2_PACKAGE_LIBFUSE
> +	select BR2_PACKAGE_LIBGLIB2
> +	select BR2_PACKAGE_LIBGPGME
> +	select BR2_PACKAGE_XZ
> +	help
> +	  OSTree is an upgrade system for Linux-based operating systems.
> +
> +	  https://ostree.readthedocs.io/en/latest/

please add a comment which is displayed when the dependencies
are not met by the current config to help users to enable this
package:

comment "libostree needs a uClibc or glibc toolchain w/ threads, dynamic library, wchar"
        depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
                || !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL
        depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
        depends on BR2_USE_MMU

> diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash
> new file mode 100644
> index 0000000000..b8bdd974c4
> --- /dev/null
> +++ b/package/libostree/libostree.hash
> @@ -0,0 +1 @@
> +sha256 fc409f04c9fd440b83b4fa324f3b912cbf61145389378d44254b8b191c9fef08  libostree-2017.12.tar.xz
> diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk

Please add the hash of the license file as well.

Regards, Bernd
Marcus Folkesson Nov. 12, 2017, 8:49 p.m. UTC | #2
Hi Bernd,

On Sun, Nov 12, 2017 at 01:24:19PM +0100, Bernd Kuhls wrote:
> Hi Marcus,
> 
> Am Thu, 02 Nov 2017 12:27:22 +0100 schrieb Marcus Folkesson:
> 
> > diff --git a/package/libostree/Config.in b/package/libostree/Config.in
> > new file mode 100644
> > index 0000000000..d4a802a6b6
> > --- /dev/null
> > +++ b/package/libostree/Config.in
> > @@ -0,0 +1,20 @@
> > +config BR2_PACKAGE_LIBOSTREE
> > +	bool "libostree"
> > +	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme
> > +	depends on !BR2_STATIC_LIBS # libfuse
> > +	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> > +	depends on BR2_USE_WCHAR # libglib2
> > +	depends on BR2_USE_MMU # e2fsprogs, libfuse,libglib2, libgpgme
> > +
> > +	# doesn't build with musl due to lack of TEMP_FAILURE_RETRY()
> > +	depends on !BR2_TOOLCHAIN_USES_MUSL
> > +
> > +	select BR2_PACKAGE_E2FSPROGS
> > +	select BR2_PACKAGE_LIBFUSE
> > +	select BR2_PACKAGE_LIBGLIB2
> > +	select BR2_PACKAGE_LIBGPGME
> > +	select BR2_PACKAGE_XZ
> > +	help
> > +	  OSTree is an upgrade system for Linux-based operating systems.
> > +
> > +	  https://ostree.readthedocs.io/en/latest/
> 
> please add a comment which is displayed when the dependencies
> are not met by the current config to help users to enable this
> package:
> 
> comment "libostree needs a uClibc or glibc toolchain w/ threads, dynamic library, wchar"
>         depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
>                 || !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL
>         depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
>         depends on BR2_USE_MMU
> 
> > diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash
> > new file mode 100644
> > index 0000000000..b8bdd974c4
> > --- /dev/null
> > +++ b/package/libostree/libostree.hash
> > @@ -0,0 +1 @@
> > +sha256 fc409f04c9fd440b83b4fa324f3b912cbf61145389378d44254b8b191c9fef08  libostree-2017.12.tar.xz
> > diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk
> 
> Please add the hash of the license file as well.
> 
> Regards, Bernd
> 

Again, thank you for your comments.
I will send a new patch later tonight.

Best regards
Marcus Folkesson
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 632d87a829..c10a62e4f8 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -985,6 +985,9 @@  F:	package/turbolua/
 N:	Marcin Nowakowski <marcin.nowakowski@imgtec.com>
 F:	package/libkcapi/
 
+N:	Marcus Folkesson <marcus.folkesson@gmail.com>
+F:	package/libostree/
+
 N:	Marek Belisko <marek.belisko@open-nandra.com>
 F:	package/libatasmart/
 F:	package/polkit/
diff --git a/package/Config.in b/package/Config.in
index dbfb288d53..c7bec5152b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1916,6 +1916,7 @@  menu "System tools"
 	source "package/keyutils/Config.in"
 	source "package/kmod/Config.in"
 	source "package/kvmtool/Config.in"
+	source "package/libostree/Config.in"
 	source "package/lxc/Config.in"
 	source "package/monit/Config.in"
 	source "package/ncdu/Config.in"
diff --git a/package/libostree/Config.in b/package/libostree/Config.in
new file mode 100644
index 0000000000..d4a802a6b6
--- /dev/null
+++ b/package/libostree/Config.in
@@ -0,0 +1,20 @@ 
+config BR2_PACKAGE_LIBOSTREE
+	bool "libostree"
+	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme
+	depends on !BR2_STATIC_LIBS # libfuse
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on BR2_USE_WCHAR # libglib2
+	depends on BR2_USE_MMU # e2fsprogs, libfuse,libglib2, libgpgme
+
+	# doesn't build with musl due to lack of TEMP_FAILURE_RETRY()
+	depends on !BR2_TOOLCHAIN_USES_MUSL
+
+	select BR2_PACKAGE_E2FSPROGS
+	select BR2_PACKAGE_LIBFUSE
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBGPGME
+	select BR2_PACKAGE_XZ
+	help
+	  OSTree is an upgrade system for Linux-based operating systems.
+
+	  https://ostree.readthedocs.io/en/latest/
diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash
new file mode 100644
index 0000000000..b8bdd974c4
--- /dev/null
+++ b/package/libostree/libostree.hash
@@ -0,0 +1 @@ 
+sha256 fc409f04c9fd440b83b4fa324f3b912cbf61145389378d44254b8b191c9fef08  libostree-2017.12.tar.xz
diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk
new file mode 100644
index 0000000000..0d8bc9bccd
--- /dev/null
+++ b/package/libostree/libostree.mk
@@ -0,0 +1,59 @@ 
+################################################################################
+#
+# libostree
+#
+################################################################################
+
+LIBOSTREE_VERSION = 2017.12
+LIBOSTREE_SOURCE = libostree-$(LIBOSTREE_VERSION).tar.xz
+LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION)
+
+LIBOSTREE_LICENSE = GPLv2
+LIBOSTREE_LICENSE_FILES = COPYING
+LIBOSTREE_DEPENDENCIES = e2fsprogs host-pkgconf libfuse libglib2 libgpgme xz
+
+LIBOSTREE_CONF_OPTS += --with-gpgme-prefix=$(STAGING_DIR)/usr
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+LIBOSTREE_CONF_OPTS += --with-openssl
+LIBOSTREE_DEPENDENCIES += openssl
+else
+LIBOSTREE_CONF_OPTS += --without-openssl
+endif
+
+ifeq ($(BR2_PACKAGE_AVAHI),y)
+LIBOSTREE_CONF_OPTS += --with-avahi
+LIBOSTREE_DEPENDENCIES += avahi
+else
+LIBOSTREE_CONF_OPTS += --without-avahi
+endif
+
+#cURL depends on libsoup
+ifeq ($(BR2_PACKAGE_LIBSOUP),y)
+LIBOSTREE_CONF_OPTS += --with-libsoup
+LIBOSTREE_DEPENDENCIES += libsoup
+ifeq ($(BR2_PACKAGE_LIBCURL),y)
+LIBOSTREE_CONF_OPTS += --with-curl
+LIBOSTREE_DEPENDENCIES += libcurl
+else
+LIBOSTREE_CONF_OPTS += --without-curl
+endif
+else
+LIBOSTREE_CONF_OPTS += --without-libsoup --without-curl
+endif
+
+ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
+LIBOSTREE_CONF_OPTS += --with-libarchive
+LIBOSTREE_DEPENDENCIES += libarchive
+else
+LIBOSTREE_CONF_OPTS += --without-libarchive
+endif
+
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+LIBOSTREE_CONF_OPTS += --with-selinux
+LIBOSTREE_DEPENDENCIES += libselinux
+else
+LIBOSTREE_CONF_OPTS += --without-selinux
+endif
+
+$(eval $(autotools-package))