ibrcommon: new package
PATCH 1/1 ibrcommon: new package
--- package/ibrcommon/Config.in | 17 +++++++++++++++++ package/ibrcommon/ibrcommon.mk | 30 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 package/ibrcommon/Config.in create mode 100644 package/ibrcommon/ibrcommon.mk
package/ibrcommon/Config.in new file +17 -0
@@ -0,0 +1,17 @@ +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 + +comment "ibrcommon needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_THREADS
package/ibrcommon/ibrcommon.mk new file +30 -0
@@ -0,0 +1,30 @@ +################################################################################ +# +# 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))
Signature · 1 line
1.9.1
PATCH 1/1 ibrcommon: new package
Dear Tom Sparks,
Quoted 7 lines · Tom Sparks
Signed-off-by Tom Sparks <[email protected]>--- package/ibrcommon/Config.in | 17 +++++++++++++++++ package/ibrcommon/ibrcommon.mk | 30 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 package/ibrcommon/Config.in create mode 100644 package/ibrcommon/ibrcommon.mk
Thanks for your contribution! I applied your patch to the next branch (so this patch will be part of the 2015.11 release in november, but not of the upcoming 2015.08 release).
However, I had to do quite a few changes compared to your submission:
[Thomas:
- add package in package/Config.in, to make it visible in menuconfig
- make the openssl, libnl and libxml2 dependencies optional, since they are definitely not mandatory
- add README to the license files, since it contains useful licensing related information.
- remove custom INSTALL_STAGING_OPTS and INSTALL_TARGET_OPTS since the package uses automake.
- add missing final newline in Config.in and .mk file.]
You can look at the final commit at:
http://git.buildroot.net/buildroot/commit/?h=next&id=d45e6bf09d0413742457b371762b09e69cf22829
and compare it to your original submission, to see the changes that have been made. The most important issues were: 1/ that package/ibrcommon/Config.in was not included in package/Config.in and 2/ that the openssl, libxml2 and libnl dependencies were optional not mandatory.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 ibrcommon: new package
Hello,
Quoted 14 lines · Thomas Petazzoni
However, I had to do quite a few changes compared to your submission:
[Thomas:
- add package in package/Config.in, to make it visible in menuconfig
- make the openssl, libnl and libxml2 dependencies optional since they are definitely not mandatory
- add README to the license files, since it contains useful licensing related information.
- remove customINSTALL_STAGING_OPTSandINSTALL_TARGET_OPTSsince the package uses automake.
- add missing final newline in Config.in and .mk file.]You can look at the final commit at:
Quoted 7 lines
http://git.buildroot.net/buildroot/commit/?h=next&id=d45e6bf09d0413742457b371762b09e69cf22829
and compare it to your original submission, to see the changes that have been made. The most important issues were: 1/ that package/ibrcommon/Config.in was not included in package/Config.in and 2/ that the openssl, libxml2 and libnl dependencies were optional not mandatory.
There were in fact two other issues, which I fixed in follow up commits:
- The hash file was missing.
- The "depends on" logic for the "comment" in the Config.in file was incorrect. The comment should be displayed either when thread support is not available *OR* when C++ support is not available. While in your implementation, the comment would only be shown if both are unavailable.
See:
http://git.buildroot.net/buildroot/commit/?h=next&id=8bb79ac97d152a4e611357564eebf370e947a57e
http://git.buildroot.net/buildroot/commit/?h=next&id=f1e2419753990744eb9d5d06e8661c9713d9a629
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com