diff mbox

[1/1] ibrdtn

Message ID 1438865424-5000-1-git-send-email-tom_a_sparks@yahoo.com.au
State Changes Requested
Headers show

Commit Message

Tom Sparks Aug. 6, 2015, 12:50 p.m. UTC
Signed-off-by: Tom Sparks <tom_a_sparks@yahoo.com.au>
---
 package/ibrcommon/Config.in    | 13 +++++++++++++
 package/ibrcommon/ibrcommon.mk | 32 ++++++++++++++++++++++++++++++++
 package/ibrdtn/Config.in       | 13 +++++++++++++
 package/ibrdtn/ibrdtn.mk       | 32 ++++++++++++++++++++++++++++++++
 package/ibrdtnd/Config.in      | 23 +++++++++++++++++++++++
 package/ibrdtnd/ibrdtnd.mk     | 32 ++++++++++++++++++++++++++++++++
 6 files changed, 145 insertions(+)
 create mode 100644 package/ibrcommon/Config.in
 create mode 100644 package/ibrcommon/ibrcommon.mk
 create mode 100644 package/ibrdtn/Config.in
 create mode 100644 package/ibrdtn/ibrdtn.mk
 create mode 100644 package/ibrdtnd/Config.in
 create mode 100644 package/ibrdtnd/ibrdtnd.mk

Comments

Vicente Olivert Riera Aug. 6, 2015, 3:31 p.m. UTC | #1
Hello Tom,

I think it's better if you send separate patches for each new package 
you want to add, along with a good subject such as "new package: <pkg 
name>" or something similar.

Also you are not adding a new entry to package/Config.in in order to 
make your new packages able to be selected in the menu.

On 06/08/15 14:50, Tom Sparks wrote:
> +IBRCOMMON_CONF_OPTS = --with-openssl --with-lowpan   --with-xml

To many spaces between "--with-lowpan" and "--with-xml".

> +IBRCOMMON_INSTALL_STAGING_OPTS = 			\
> +	prefix=$(STAGING_DIR)/usr 		\
> +	exec_prefix=$(STAGING_DIR)/usr 		\
> +	PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib	\
> +	install
> +
> +IBRCOMMON_INSTALL_TARGET_OPTS = 			\
> +	prefix=$(TARGET_DIR)/usr 		\
> +	exec_prefix=$(TARGET_DIR)/usr 		\
> +	install

I wouldn't try to align the back-slashes. Just a space and then the 
back-slash.

> +IBRDTN_INSTALL_STAGING_OPTS = 			\
> +	prefix=$(STAGING_DIR)/usr 		\
> +	exec_prefix=$(STAGING_DIR)/usr 		\
> +	PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib	\
> +	install
> +
> +IBRDTN_INSTALL_TARGET_OPTS = 			\
> +	prefix=$(TARGET_DIR)/usr 		\
> +	exec_prefix=$(TARGET_DIR)/usr 		\
> +	install

Same here.

> +if BR2_PACKAGE_IBRDTND
> +
> +source "package/ibrcommon/Config.in"
> +source "package/ibrdtn/Config.in"
> +
> +endif

What are you trying to do with this? Making "ibrdtn" the only package 
selectable from menuconfig, and when you select it show the other two in 
the menu as well?

> +IBRDTND_CONF_OPTS =   --with-curl  --with-sqlite     --with-tls

More unnecessary spaces.

> +IBRDTND_INSTALL_STAGING_OPTS = 			\
> +	prefix=$(STAGING_DIR)/usr 		\
> +	exec_prefix=$(STAGING_DIR)/usr 		\
> +	PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib	\
> +	install
> +
> +IBRDTND_INSTALL_TARGET_OPTS = 			\
> +	prefix=$(TARGET_DIR)/usr 		\
> +	exec_prefix=$(TARGET_DIR)/usr 		\
> +	install

No alignment, IMHO.

Regards,

Vincent.
Thomas Petazzoni Aug. 6, 2015, 10:21 p.m. UTC | #2
Dear Tom Sparks,

Thanks for this contribution. Vicente already made a review with some
comments, I'll add some more comments in this review.

On Thu,  6 Aug 2015 22:50:24 +1000, Tom Sparks wrote:
> Signed-off-by: Tom Sparks <tom_a_sparks@yahoo.com.au>
> ---
>  package/ibrcommon/Config.in    | 13 +++++++++++++
>  package/ibrcommon/ibrcommon.mk | 32 ++++++++++++++++++++++++++++++++
>  package/ibrdtn/Config.in       | 13 +++++++++++++
>  package/ibrdtn/ibrdtn.mk       | 32 ++++++++++++++++++++++++++++++++
>  package/ibrdtnd/Config.in      | 23 +++++++++++++++++++++++
>  package/ibrdtnd/ibrdtnd.mk     | 32 ++++++++++++++++++++++++++++++++

As Vincente said, each package should be added in a separate patch.
Each patch should have a title like this:

	<package>: new package

so, your series should have three patches:

	ibrcommon: new package
	ibrdtn: new package
	ibrdtnd: new package

And indeed each patch should add the package in package/Config.in to
make it visible in menuconfig.

> diff --git a/package/ibrcommon/Config.in b/package/ibrcommon/Config.in
> new file mode 100644
> index 0000000..c1d400b
> --- /dev/null
> +++ b/package/ibrcommon/Config.in
> @@ -0,0 +1,13 @@
> +config BR2_PACKAGE_IBRCOMMON
> +	bool "ibrcommon"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	select BR2_PACKAGE_OPENSSL
> +	select BR2_PACKAGE_LIBNL
> +	select BR2_PACKAGE_LIBXML2
> +	help
> +	  IBR-DTN is a small dtn application that supports:
> +	  Bundle Protocol RFC 5050
> +	  Bundle Security Protocol RFC 6257
> +
> +	  http://trac.ibr.cs.tu-bs.de/project-cm-2012-ibrdtn

Please read the Buildroot manual about adding a comment mentioning the
toolchain dependencies, especially "17.2.4. Dependencies on target and
toolchain options".

> diff --git a/package/ibrcommon/ibrcommon.mk b/package/ibrcommon/ibrcommon.mk
> new file mode 100644
> index 0000000..3a67307
> --- /dev/null
> +++ b/package/ibrcommon/ibrcommon.mk
> @@ -0,0 +1,32 @@
> +################################################################################
> +#
> +# ibrcommon
> +#
> +################################################################################
> +
> +IBRCOMMON_VERSION = 1.0.1
> +IBRCOMMON_SOURCE = ibrcommon-$(IBRCOMMON_VERSION).tar.gz

Not needed, since it is the default value.

> +IBRCOMMON_SITE = https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/
> +IBRCOMMON_INSTALL_STAGING = YES
> +IBRCOMMON_LICENSE = Apache-2.0
> +IBRCOMMON_LICENSE_FILES = COPYING
> +IBRCOMMON_CONF_OPTS = --with-openssl --with-lowpan   --with-xml 
> +IBRCOMMON_DEPENDENCIES = openssl libnl libxml2
> +
> +# While the configuration system uses autoconf, the Makefiles are
> +# hand-written and do not use automake. Therefore, we have to hack
> +# around their deficiencies by passing installation paths.
> +IBRCOMMON_INSTALL_STAGING_OPTS = 			\
> +	prefix=$(STAGING_DIR)/usr 		\
> +	exec_prefix=$(STAGING_DIR)/usr 		\
> +	PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib	\
> +	install
> +
> +IBRCOMMON_INSTALL_TARGET_OPTS = 			\
> +	prefix=$(TARGET_DIR)/usr 		\
> +	exec_prefix=$(TARGET_DIR)/usr 		\
> +	install
> +
> +
> +

Too many unneeded empty lines.

> +$(eval $(autotools-package))
> diff --git a/package/ibrdtn/Config.in b/package/ibrdtn/Config.in
> new file mode 100644
> index 0000000..9da2b54
> --- /dev/null
> +++ b/package/ibrdtn/Config.in
> @@ -0,0 +1,13 @@
> +config BR2_PACKAGE_IBRDTN
> +	bool "ibrdtn"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	select BR2_PACKAGE_IBRCOMMON
> +	help
> +	  IBR-DTN is a small dtn application that supports:
> +	  Bundle Protocol RFC 5050
> +	  Bundle Security Protocol RFC 6257
> +
> +	  http://trac.ibr.cs.tu-bs.de/project-cm-2012-ibrdtn
> +
> +

Too many unneeded new lines. Also, you're missing the Config.in comment
about toolchain dependencies.

> diff --git a/package/ibrdtn/ibrdtn.mk b/package/ibrdtn/ibrdtn.mk
> new file mode 100644
> index 0000000..744bd2f
> --- /dev/null
> +++ b/package/ibrdtn/ibrdtn.mk
> @@ -0,0 +1,32 @@
> +################################################################################
> +#
> +# ibrdtn
> +#
> +################################################################################
> +
> +IBRDTN_VERSION = 1.0.1
> +IBRDTN_SOURCE = ibrdtn-$(IBRDTN_VERSION).tar.gz

Unneeded, this is the default.

Same comments for the rest of the patch. Other than those basic
comments, it seems good.

Did you check if your packages work on noMMU platforms? For example, if
they use fork(), they will not work on noMMU platforms, and so you need
to add a BR2_USE_MMU dependency.

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/ibrcommon/Config.in b/package/ibrcommon/Config.in
new file mode 100644
index 0000000..c1d400b
--- /dev/null
+++ b/package/ibrcommon/Config.in
@@ -0,0 +1,13 @@ 
+config BR2_PACKAGE_IBRCOMMON
+	bool "ibrcommon"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_LIBXML2
+	help
+	  IBR-DTN is a small dtn application that supports:
+	  Bundle Protocol RFC 5050
+	  Bundle Security Protocol RFC 6257
+
+	  http://trac.ibr.cs.tu-bs.de/project-cm-2012-ibrdtn
diff --git a/package/ibrcommon/ibrcommon.mk b/package/ibrcommon/ibrcommon.mk
new file mode 100644
index 0000000..3a67307
--- /dev/null
+++ b/package/ibrcommon/ibrcommon.mk
@@ -0,0 +1,32 @@ 
+################################################################################
+#
+# ibrcommon
+#
+################################################################################
+
+IBRCOMMON_VERSION = 1.0.1
+IBRCOMMON_SOURCE = ibrcommon-$(IBRCOMMON_VERSION).tar.gz
+IBRCOMMON_SITE = https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/
+IBRCOMMON_INSTALL_STAGING = YES
+IBRCOMMON_LICENSE = Apache-2.0
+IBRCOMMON_LICENSE_FILES = COPYING
+IBRCOMMON_CONF_OPTS = --with-openssl --with-lowpan   --with-xml 
+IBRCOMMON_DEPENDENCIES = openssl libnl libxml2
+
+# While the configuration system uses autoconf, the Makefiles are
+# hand-written and do not use automake. Therefore, we have to hack
+# around their deficiencies by passing installation paths.
+IBRCOMMON_INSTALL_STAGING_OPTS = 			\
+	prefix=$(STAGING_DIR)/usr 		\
+	exec_prefix=$(STAGING_DIR)/usr 		\
+	PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib	\
+	install
+
+IBRCOMMON_INSTALL_TARGET_OPTS = 			\
+	prefix=$(TARGET_DIR)/usr 		\
+	exec_prefix=$(TARGET_DIR)/usr 		\
+	install
+
+
+
+$(eval $(autotools-package))
diff --git a/package/ibrdtn/Config.in b/package/ibrdtn/Config.in
new file mode 100644
index 0000000..9da2b54
--- /dev/null
+++ b/package/ibrdtn/Config.in
@@ -0,0 +1,13 @@ 
+config BR2_PACKAGE_IBRDTN
+	bool "ibrdtn"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_IBRCOMMON
+	help
+	  IBR-DTN is a small dtn application that supports:
+	  Bundle Protocol RFC 5050
+	  Bundle Security Protocol RFC 6257
+
+	  http://trac.ibr.cs.tu-bs.de/project-cm-2012-ibrdtn
+
+
diff --git a/package/ibrdtn/ibrdtn.mk b/package/ibrdtn/ibrdtn.mk
new file mode 100644
index 0000000..744bd2f
--- /dev/null
+++ b/package/ibrdtn/ibrdtn.mk
@@ -0,0 +1,32 @@ 
+################################################################################
+#
+# ibrdtn
+#
+################################################################################
+
+IBRDTN_VERSION = 1.0.1
+IBRDTN_SOURCE = ibrdtn-$(IBRDTN_VERSION).tar.gz
+IBRDTN_SITE = https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/
+IBRDTN_INSTALL_STAGING = YES
+IBRDTN_LICENSE = Apache-2.0
+IBRDTN_LICENSE_FILES = COPYING
+IBRDTN_CONF_OPTS = --with-compression
+IBRDTN_DEPENDENCIES = ibrcommon
+
+# While the configuration system uses autoconf, the Makefiles are
+# hand-written and do not use automake. Therefore, we have to hack
+# around their deficiencies by passing installation paths.
+IBRDTN_INSTALL_STAGING_OPTS = 			\
+	prefix=$(STAGING_DIR)/usr 		\
+	exec_prefix=$(STAGING_DIR)/usr 		\
+	PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib	\
+	install
+
+IBRDTN_INSTALL_TARGET_OPTS = 			\
+	prefix=$(TARGET_DIR)/usr 		\
+	exec_prefix=$(TARGET_DIR)/usr 		\
+	install
+
+
+
+$(eval $(autotools-package))
diff --git a/package/ibrdtnd/Config.in b/package/ibrdtnd/Config.in
new file mode 100644
index 0000000..ffc6e09
--- /dev/null
+++ b/package/ibrdtnd/Config.in
@@ -0,0 +1,23 @@ 
+config BR2_PACKAGE_IBRDTND
+	bool "ibrdtnd"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_IBRDTN
+	select BR2_PACKAGE_LIBDAEMON
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_OPENSSL
+
+	help
+	  IBR-DTN is a small dtn application that supports:
+	  Bundle Protocol RFC 5050
+	  Bundle Security Protocol RFC 6257
+
+	  http://trac.ibr.cs.tu-bs.de/project-cm-2012-ibrdtn
+
+if BR2_PACKAGE_IBRDTND
+
+source "package/ibrcommon/Config.in"
+source "package/ibrdtn/Config.in"
+
+endif
diff --git a/package/ibrdtnd/ibrdtnd.mk b/package/ibrdtnd/ibrdtnd.mk
new file mode 100644
index 0000000..d201787
--- /dev/null
+++ b/package/ibrdtnd/ibrdtnd.mk
@@ -0,0 +1,32 @@ 
+################################################################################
+#
+# ibrdtnd
+#
+################################################################################
+
+IBRDTND_VERSION = 1.0.1
+IBRDTND_SOURCE = ibrdtnd-$(IBRDTND_VERSION).tar.gz
+IBRDTND_SITE = https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/
+IBRDTND_INSTALL_STAGING = YES
+IBRDTND_LICENSE = Apache-2.0
+IBRDTND_LICENSE_FILES = COPYING
+IBRDTND_CONF_OPTS =   --with-curl  --with-sqlite     --with-tls  
+IBRDTND_DEPENDENCIES = ibrdtn libdaemon libcurl sqlite openssl 
+
+# While the configuration system uses autoconf, the Makefiles are
+# hand-written and do not use automake. Therefore, we have to hack
+# around their deficiencies by passing installation paths.
+IBRDTND_INSTALL_STAGING_OPTS = 			\
+	prefix=$(STAGING_DIR)/usr 		\
+	exec_prefix=$(STAGING_DIR)/usr 		\
+	PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib	\
+	install
+
+IBRDTND_INSTALL_TARGET_OPTS = 			\
+	prefix=$(TARGET_DIR)/usr 		\
+	exec_prefix=$(TARGET_DIR)/usr 		\
+	install
+
+
+
+$(eval $(autotools-package))