[Buildroot] [git commit] package/leafnode2: New package
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Sat Oct 4 17:34:34 UTC 2014
commit: http://git.buildroot.net/buildroot/commit/?id=2f6b9b2b71db3e9ff3a6d57c92a5c9bd52cba206
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
[Thomas:
- Rewrap help text in Config.in
- Improve cross-compilation patch to not call the 'amiroot' program
on the host, while it is compiled for the target.
- Use CONF_OPTS instead of CONF_OPT.
- Use a pre-build hook rather than re-implementing the BUILD_CMDS
entirely.
- Also include COPYING file in license files.
- License is LGPLv2.1, not LGPLv2.1+: only one file is LGPLv2.1+,
the rest doesn't have any "or later" specification, so we assume
it's only LGPLv2.1.]
Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
package/Config.in | 1 +
package/leafnode2/Config.in | 10 +++++
.../leafnode2/leafnode2-0001-cross_makefile.patch | 39 ++++++++++++++++++++
package/leafnode2/leafnode2.mk | 35 ++++++++++++++++++
4 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/package/Config.in b/package/Config.in
index 7f8faff..ea94a2e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1002,6 +1002,7 @@ endif
source "package/iw/Config.in"
source "package/kismet/Config.in"
source "package/knock/Config.in"
+ source "package/leafnode2/Config.in"
source "package/lftp/Config.in"
source "package/lighttpd/Config.in"
source "package/linknx/Config.in"
diff --git a/package/leafnode2/Config.in b/package/leafnode2/Config.in
new file mode 100644
index 0000000..30a02c8
--- /dev/null
+++ b/package/leafnode2/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LEAFNODE2
+ bool "leafnode2"
+ depends on BR2_USE_MMU # fork()
+ select BR2_PACKAGE_PCRE
+ help
+ Leafnode-2 is a store-and-forward NNTP (or Usenet) proxy
+ server designed for small sites with just a few active
+ newsgroups.
+
+ http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/
diff --git a/package/leafnode2/leafnode2-0001-cross_makefile.patch b/package/leafnode2/leafnode2-0001-cross_makefile.patch
new file mode 100644
index 0000000..b61a8ef
--- /dev/null
+++ b/package/leafnode2/leafnode2-0001-cross_makefile.patch
@@ -0,0 +1,39 @@
+Fix cross-compilation issues
+
+ - During target package compilation the host version of b_sortnl is
+ needed.
+
+ - Do not call a 'amiroot' program built for the target when
+ cross-compiling. We're anyway not root, so simply remove the
+ chown/chgrp dance.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+Index: b/Makefile.in
+===================================================================
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1853,7 +1853,7 @@
+
+ configparam_data.c: $(srcdir)/config.table b_sortnl$(EXEEXT) genconfigparam_data.awk
+ rm -f config.table.sorted
+- ./b_sortnl$(EXEEXT) <$(srcdir)/config.table >config.table.sorted
++ ./b_sortnl_host$(EXEEXT) <$(srcdir)/config.table >config.table.sorted
+ $(AWK) -f $(srcdir)/genconfigparam_data.awk <config.table.sorted >$@ \
+ || { rm -f $@ ; false ; }
+
+@@ -1868,13 +1868,7 @@
+ install-data-hook:
+ $(INSTALL) -d -m 02770 $(DESTDIR)$(SPOOLDIR)
+ $(INSTALL) -d -m 02770 $(DESTDIR)$(SPOOLDIR)/leaf.node
+- -./amiroot && chown $(RUNAS_USER) $(DESTDIR)$(SPOOLDIR)
+- -./amiroot && chown $(RUNAS_USER) $(DESTDIR)$(SPOOLDIR)/leaf.node
+- -./amiroot && chgrp $(RUNAS_GROUP) $(DESTDIR)$(SPOOLDIR)
+- -./amiroot && chgrp $(RUNAS_GROUP) $(DESTDIR)$(SPOOLDIR)/leaf.node
+ rm -f $(DESTDIR)$(sbindir)/leafnode-version # now in $(bindir)
+- ./amiroot && p=$(DESTDIR)$(bindir)/newsq && chown 0 $$p \
+- && chgrp $(RUNAS_GROUP) $$p && chmod 2111 $$p ; true
+ @echo
+ @echo "### If upgrading from leafnode before 1.6,"
+ @echo "### run: make update"
diff --git a/package/leafnode2/leafnode2.mk b/package/leafnode2/leafnode2.mk
new file mode 100644
index 0000000..3e6bd0b
--- /dev/null
+++ b/package/leafnode2/leafnode2.mk
@@ -0,0 +1,35 @@
+################################################################################
+#
+# leafnode2
+#
+################################################################################
+
+LEAFNODE2_VERSION = 2.0.0.alpha20140727b
+LEAFNODE2_SOURCE = leafnode-$(LEAFNODE2_VERSION).tar.bz2
+LEAFNODE2_SITE = http://home.pages.de/~mandree/leafnode/beta
+LEAFNODE2_LICENSE = LGPLv2.1
+LEAFNODE2_LICENSE_FILES = COPYING COPYING.LGPL
+LEAFNODE2_DEPENDENCIES = host-pcre pcre
+
+LEAFNODE2_CONF_ENV = \
+ PCRECONFIG="$(STAGING_DIR)/usr/bin/pcre-config"
+
+LEAFNODE2_CONF_OPTS = \
+ --sysconfdir=/etc/leafnode2 \
+ --enable-spooldir=/var/spool/news
+
+# Leafnode2 needs the host version of b_sortnl during
+# compilation. Instead of creating a seperate host package and
+# installing b_sortnl to $(HOST_DIR) this binary is compiled
+# on-the-fly, host-pcre is needed for this
+define LEAFNODE2_BUILD_SORTNL_TOOL
+ cd $(@D); \
+ $(HOSTCC) $(HOST_CFLAGS) -o b_sortnl_host \
+ arc4random.c mergesort.c b_sortnl.c critmem_malloc.c \
+ critmem_realloc.c -DHAVE_CONFIG_H -I$(HOST_DIR)/usr/include \
+ -L $(HOST_DIR)/usr/lib -Wl,-rpath,$(HOST_DIR)/usr/lib -lpcre
+endef
+
+LEAFNODE2_PRE_BUILD_HOOKS += LEAFNODE2_BUILD_SORTNL_TOOL
+
+$(eval $(autotools-package))
More information about the buildroot
mailing list