From: David GOUARIN <dgouarin@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4] package/libtalloc: new package
Date: Thu, 15 Oct 2020 22:06:08 +0200 [thread overview]
Message-ID: <20201015200609.20205-1-dgouarin@gmail.com> (raw)
In-Reply-To: <20201014170254.6184-1-dgouarin@gmail.com>
talloc is a hierarchical, reference counted memory pool system with destructors.
It is the core memory allocator used in Samba.
Signed-off-by: David GOUARIN <dgouarin@thalesgroup.com>
Change v1 -> v2:
- merge with work from jared.bents at rockwellcollins.com, as sujested by Matthew Weber
http://patchwork.ozlabs.org/project/buildroot/patch/20200327150225.15277-1-jared.bents at rockwellcollins.com
Change v2 -> v4: (no v3, resubmitting the whole patch series)
- fix build with BR2_PARANOID_UNSAFE_PATH (Thomas review)
- add hashes of license files (Thomas)
- license is GPL-3.0+ for both talloc and pytalloc (Thomas)
- remove useless --prefix and --libdir (Thomas)
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libtalloc/Config.in | 9 +++++
package/libtalloc/libtalloc-cache.txt | 42 ++++++++++++++++++++++++
package/libtalloc/libtalloc.hash | 4 +++
package/libtalloc/libtalloc.mk | 47 +++++++++++++++++++++++++++
6 files changed, 104 insertions(+)
create mode 100644 package/libtalloc/Config.in
create mode 100644 package/libtalloc/libtalloc-cache.txt
create mode 100644 package/libtalloc/libtalloc.hash
create mode 100644 package/libtalloc/libtalloc.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 79a9eaa563..c856d7ad45 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -712,6 +712,7 @@ F: package/x264/
N: David GOUARIN <dgouarin@gmail.com>
F: package/librelp/
+F: package/libtalloc/
N: David Lechner <david@lechnology.com>
F: board/lego/ev3/
diff --git a/package/Config.in b/package/Config.in
index 09a332e3b9..a4d6fe02ae 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1894,6 +1894,7 @@ menu "Other"
source "package/libsigc/Config.in"
source "package/libsigsegv/Config.in"
source "package/libspatialindex/Config.in"
+ source "package/libtalloc/Config.in"
source "package/libtasn1/Config.in"
source "package/libtommath/Config.in"
source "package/libtpl/Config.in"
diff --git a/package/libtalloc/Config.in b/package/libtalloc/Config.in
new file mode 100644
index 0000000000..df972f2288
--- /dev/null
+++ b/package/libtalloc/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_LIBTALLOC
+ bool "libtalloc"
+ depends on BR2_USE_MMU
+ help
+ talloc is a hierarchical, reference counted memory pool system with
+ destructors. It is the core memory allocator used in Samba.
+
+ https://talloc.samba.org/talloc/doc/html/index.html
+
diff --git a/package/libtalloc/libtalloc-cache.txt b/package/libtalloc/libtalloc-cache.txt
new file mode 100644
index 0000000000..a2b44857da
--- /dev/null
+++ b/package/libtalloc/libtalloc-cache.txt
@@ -0,0 +1,42 @@
+Checking simple C program: OK
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking for large file support without additional flags: OK
+Checking for -D_LARGE_FILES: OK
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: OK
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether setreuid is available: OK
+Checking whether setresuid is available: OK
+Checking whether seteuid is available: OK
+Checking whether fcntl locking is available: OK
+Checking whether fcntl lock supports open file description locks: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking whether POSIX capabilities are available: OK
+Checking for ftruncate extend: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+getcwd takes a NULL argument: OK
+Checking uname sysname type: "Linux"
+Checking uname release type: "5.4.0"
+Checking uname version type: "#1 Tue Oct 1 00:00:00 UTC 2020"
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking errno of iconv for illegal multibyte sequence: "0"
+checking for clnt_create(): OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash
new file mode 100644
index 0000000000..9d48a965d0
--- /dev/null
+++ b/package/libtalloc/libtalloc.hash
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256 ef4822d2fdafd2be8e0cabc3ec3c806ae29b8268e932c5e9a4cd5585f37f9f77 talloc-2.3.1.tar.gz
+sha256 15c2767545d1e43dc35832736253bde5be956f8ffec0474a6d0f70349b646ed3 talloc.h
+sha256 8742f2dad3aaf885c7b4b699c20bfa0e9edeab380689f91a88aa90af03e6947b pytalloc.h
diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk
new file mode 100644
index 0000000000..f3c80dc862
--- /dev/null
+++ b/package/libtalloc/libtalloc.mk
@@ -0,0 +1,47 @@
+################################################################################
+#
+# libtalloc
+#
+################################################################################
+
+LIBTALLOC_VERSION = 2.3.1
+LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz
+LIBTALLOC_SITE = https://www.samba.org/ftp/talloc
+LIBTALLOC_LICENSE = GPL-3.0+
+LIBTALLOC_LICENSE_FILES = talloc.h pytalloc.h
+LIBTALLOC_INSTALL_STAGING = YES
+
+LIBTALLOC_CONF_OPTS += --cross-compile \
+ --cross-answers=$(@D)/cache.txt \
+ --hostcc=gcc \
+ --with-libiconv=$(HOST_DIR)/usr # waf will search by default in /usr/local with causes an error at configure step when BR2_COMPILER_PARANOID_UNSAFE_PATH is set
+
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+LIBTALLOC_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`
+LIBTALLOC_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`
+LIBTALLOC_DEPENDENCIES += libtirpc host-pkgconf
+endif
+
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+LIBTALLOC_PYTHON = \
+ PYTHON="$(HOST_DIR)/bin/python3" \
+ PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python3-config"
+LIBTALLOC_DEPENDENCIES += host-python3 python3
+LIBTALLOC_CONF_ENV += \
+ $(LIBTALLOC_PYTHON)
+# There is not a --enable-python configuration option
+else
+LIBTALLOC_CONF_OPTS += --disable-python
+endif
+
+LIBTALLOC_WAF = ./buildtools/bin/waf
+
+define LIBTALLOC_POPULATE_WAF_CACHE
+ $(INSTALL) -m 0644 package/samba4/samba4-cache.txt $(@D)/cache.txt
+ echo 'Checking uname machine type: $(BR2_ARCH)' >>$(@D)/cache.txt
+endef
+
+LIBTALLOC_PRE_CONFIGURE_HOOKS += LIBTALLOC_POPULATE_WAF_CACHE
+
+$(eval $(waf-package))
+
--
2.17.1
next prev parent reply other threads:[~2020-10-15 20:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-13 14:37 [Buildroot] [PATCH 1/2] package/libtalloc: new package David GOUARIN
2020-10-13 14:37 ` [Buildroot] [PATCH 2/2] package/freeradius-server: " David GOUARIN
2020-10-13 19:51 ` [Buildroot] [PATCH v2 3/3] " David GOUARIN
2020-10-14 17:02 ` [Buildroot] [PATCH v3] " David GOUARIN
2020-10-14 19:26 ` Thomas Petazzoni
2020-10-15 20:06 ` David GOUARIN [this message]
2020-10-15 20:06 ` [Buildroot] [PATCH v4] " David GOUARIN
2020-10-15 20:16 ` [Buildroot] [PATCH v4] package/libtalloc: " Thomas Petazzoni
2020-10-16 6:25 ` david gouarin
2020-10-16 10:03 ` Thomas Petazzoni
2020-10-19 20:00 ` [Buildroot] [PATCH v5 1/2] " David GOUARIN
2020-10-19 20:00 ` [Buildroot] [PATCH v5 2/2] package/freeradius-server: " David GOUARIN
2020-10-13 14:50 ` [Buildroot] [PATCH 1/2] package/libtalloc: " Matthew Weber
2020-10-13 19:50 ` [Buildroot] [PATCH v2 2/3] " David GOUARIN
2020-10-14 19:18 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201015200609.20205-1-dgouarin@gmail.com \
--to=dgouarin@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox