From patchwork Tue Oct 13 19:51:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Gouarin X-Patchwork-Id: 1381706 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=cuLD/Cw6; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C9mQJ4sXBz9sVH for ; Wed, 14 Oct 2020 06:51:36 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E707687423; Tue, 13 Oct 2020 19:51:34 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mhkIvtKTGPTR; Tue, 13 Oct 2020 19:51:34 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 0B05D8740B; Tue, 13 Oct 2020 19:51:34 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id E3A3B1BF868 for ; Tue, 13 Oct 2020 19:51:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id E00FD86E29 for ; Tue, 13 Oct 2020 19:51:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WXoAyAd80aYQ for ; Tue, 13 Oct 2020 19:51:30 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by whitealder.osuosl.org (Postfix) with ESMTPS id DE42586D5F for ; Tue, 13 Oct 2020 19:51:29 +0000 (UTC) Received: by mail-wr1-f67.google.com with SMTP id x7so836311wrl.3 for ; Tue, 13 Oct 2020 12:51:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VfpP0Pj+v3Rx2sFdhXafV3I6/lY60Jj+Yj/nm7aoMNo=; b=cuLD/Cw6BqEjUT/SRBFiiTWAyvss6mKlriNaw7obSaSDG9l/ZlDOp5ygjjiyRQrD8s cqEPXgyisLAhEqAl9NU1Zb52pxrqOWpp5MjbHdCor25Ov7CJQGnYwEPeu9C73X5f0gSI e4uACOY/0QOHCcqAiYamXw/HUW6s7jTkUGff7394HRnqp87NvncL+bD0QJNj/+K3KFjE QSvpvI5wU4aaeOAqGoC7UF751nVmR7u6ByZJ9neWz/+ERzIQWJLVy5VPCFLTZqc9saWE uDnc+cLBoE0/sfO4KGmCWv3Vr78pDDqryKyzlgbqsFdklSkrfPaqSv8Vawydnas+TCts 4sKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VfpP0Pj+v3Rx2sFdhXafV3I6/lY60Jj+Yj/nm7aoMNo=; b=Kn+zDE3Yvm8bULhg6Oqxwuw5jgrgX44nwDymCev1hzpsVss2gAE/IyJbt1o4G2pVgo NDN4xqfz6eRfNT3vJMyat3QUUf6JSDVvyLGonNrt2NSNU9wnLfBvI0MD+7g5MYrVnd+i nL2pOYGFER8FAEHwkexnEx0dcu0sSsWgLH2F/N/QhCkBEH3hxy1GhIahHf5hrnKH1N3v YpNWTSKpZ6qLPyLmB98Otg5unUI2cN7hXjtQzH9kJNPWSohGnC9vy0yMVE2p1xw9oTl8 B2dUifZ5aiaGqw2I073siMhoQ0RCHXljc+MDWXf7t/XS/f3Pw23G0cMakZVTIuXy38xH tR2A== X-Gm-Message-State: AOAM530+BnRLqvgAfSE47D4aUyJv7v6Ioj6rUP5fNlvFybNa4GTSGPLF lHeVvfZ/OB2jhRbUtUiMRAKPrQJfmpxprQ== X-Google-Smtp-Source: ABdhPJy4nOsAyjavrIaC8sJwk6NOx1C5vRzrukpj04SOhcAyPj8glOvIc1l3ckSSRaL46zZ71bw28w== X-Received: by 2002:adf:fc83:: with SMTP id g3mr1408569wrr.200.1602618688081; Tue, 13 Oct 2020 12:51:28 -0700 (PDT) Received: from localhost.localdomain ([2a01:e0a:283:d2f0:db29:e000:1438:5c98]) by smtp.googlemail.com with ESMTPSA id p13sm25402wmb.5.2020.10.13.12.51.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Oct 2020 12:51:27 -0700 (PDT) From: David GOUARIN To: buildroot@buildroot.org Date: Tue, 13 Oct 2020 21:51:25 +0200 Message-Id: <20201013195125.6401-1-dgouarin@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201013143707.11678-2-dgouarin@gmail.com> References: <20201013143707.11678-2-dgouarin@gmail.com> Subject: [Buildroot] [PATCH v2 3/3] package/freeradius-server: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David GOUARIN MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" FreeRADIUS is an open source server which implements a protocol for remote user Authorization, Authentication and Accounting. Changes v1 -> v2: fix invalid characters in Config.in Signed-off-by: David GOUARIN --- DEVELOPERS | 1 + package/Config.in | 1 + .../0001-host-jlibtool.patch | 17 +++++++++ ...thread-support-while-cross-compiling.patch | 15 ++++++++ package/freeradius-server/Config.in | 20 ++++++++++ .../freeradius-server-config.cache | 4 ++ .../freeradius-server/freeradius-server.hash | 3 ++ .../freeradius-server/freeradius-server.mk | 37 +++++++++++++++++++ 8 files changed, 98 insertions(+) create mode 100644 package/freeradius-server/0001-host-jlibtool.patch create mode 100644 package/freeradius-server/0002-thread-support-while-cross-compiling.patch create mode 100644 package/freeradius-server/Config.in create mode 100644 package/freeradius-server/freeradius-server-config.cache create mode 100644 package/freeradius-server/freeradius-server.hash create mode 100644 package/freeradius-server/freeradius-server.mk diff --git a/DEVELOPERS b/DEVELOPERS index c856d7ad45..ae688a85c4 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -711,6 +711,7 @@ N: David du Colombier <0intro@gmail.com> F: package/x264/ N: David GOUARIN +F: package/freeradius-server/ F: package/librelp/ F: package/libtalloc/ diff --git a/package/Config.in b/package/Config.in index a4d6fe02ae..8e3ce4fe20 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2079,6 +2079,7 @@ menu "Networking applications" source "package/flannel/Config.in" source "package/fmc/Config.in" source "package/fping/Config.in" + source "package/freeradius-server/Config.in" source "package/freeswitch/Config.in" source "package/freeswitch-mod-bcg729/Config.in" source "package/frr/Config.in" diff --git a/package/freeradius-server/0001-host-jlibtool.patch b/package/freeradius-server/0001-host-jlibtool.patch new file mode 100644 index 0000000000..18cebcb4e5 --- /dev/null +++ b/package/freeradius-server/0001-host-jlibtool.patch @@ -0,0 +1,17 @@ +jlibtool.c: while cross compiling, use host CC instead of target CC to build jlibtool + +Signed-off-by: David Gouarin + +--- a/scripts/libtool.mk 2018-10-08 09:22:59.032031858 -0600 ++++ b/scripts/libtool.mk 2018-10-08 15:04:18.406661484 -0600 +@@ -43,8 +43,8 @@ ifeq "${LIBTOOL}" "JLIBTOOL" + # binary! + ${JLIBTOOL}: ${top_makedir}/jlibtool.c + $(Q)mkdir -p $(dir $@) +- $(Q)echo CC jlibtool.c +- $(Q)${CC} $< -o $@ ++ $(Q)echo HOSTCC jlibtool.c ++ $(Q)${HOSTCC} $< -o $@ + + clean: jlibtool_clean + diff --git a/package/freeradius-server/0002-thread-support-while-cross-compiling.patch b/package/freeradius-server/0002-thread-support-while-cross-compiling.patch new file mode 100644 index 0000000000..464bcf9aa6 --- /dev/null +++ b/package/freeradius-server/0002-thread-support-while-cross-compiling.patch @@ -0,0 +1,15 @@ +configure: enable __thread attribute compiler support by default when cross compiling to avoid a bug in some freeradius macros + +Signed-off-by: David Gouarin + +--- a/configure ++++ b/configure +@@ -11309,7 +11309,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support in compiler" >&5 + $as_echo_n "checking for __thread support in compiler... " >&6; } + if test "$cross_compiling" = yes; then : +- have_tls=no ++ have_tls=yes + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ diff --git a/package/freeradius-server/Config.in b/package/freeradius-server/Config.in new file mode 100644 index 0000000000..0aa0722970 --- /dev/null +++ b/package/freeradius-server/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_FREERADIUS_SERVER + bool "freeradius-server" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_COMPILER_PARANOID_UNSAFE_PATH + select BR2_PACKAGE_LIBTALLOC + select BR2_PACKAGE_PCRE + help + FreeRADIUS is an open source server which implements + a protocol for remote user Authorization, Authentication + and Accounting. + + http://wiki.freeradius.org/ + +comment "freeradius-server needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +comment "freeradius-server needs a glibc toolchain" + depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_COMPILER_PARANOID_UNSAFE_PATH + diff --git a/package/freeradius-server/freeradius-server-config.cache b/package/freeradius-server/freeradius-server-config.cache new file mode 100644 index 0000000000..b0e582afc9 --- /dev/null +++ b/package/freeradius-server/freeradius-server-config.cache @@ -0,0 +1,4 @@ +ax_cv_cc_bounded_attribute=no +ax_cv_cc_builtin_bswap64=yes +ax_cv_cc_builtin_choose_expr=yes +ax_cv_cc_builtin_types_compatible_p=yes diff --git a/package/freeradius-server/freeradius-server.hash b/package/freeradius-server/freeradius-server.hash new file mode 100644 index 0000000000..ba338d8b7f --- /dev/null +++ b/package/freeradius-server/freeradius-server.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 2bf914d471d4409fd72e708e308fa32ca8d01d698c518497a1d4b867d50132ae freeradius-server-3.0.21.tar.gz +sha256 8b9cc1e5d41938be45a368f126a6d1fda03d60a3d622dc75e776be4e90c2d2c6 COPYRIGHT diff --git a/package/freeradius-server/freeradius-server.mk b/package/freeradius-server/freeradius-server.mk new file mode 100644 index 0000000000..d04f453c60 --- /dev/null +++ b/package/freeradius-server/freeradius-server.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# freeradius-server +# +################################################################################ + +FREERADIUS_SERVER_VERSION = 3.0.21 +FREERADIUS_SERVER_SITE = ftp://ftp.freeradius.org/pub/freeradius +FREERADIUS_SERVER_LICENSE = GPL-2.0 +FREERADIUS_SERVER_LICENSE_FILES = COPYRIGHT +FREERADIUS_SERVER_INSTALL_HOST = NO + +FREERADIUS_SERVER_DEPENDENCIES = libtalloc pcre + +ifeq ($(BR2_PACKAGE_HAS_OPENSSL),y) +FREERADIUS_SERVER_DEPENDENCIES += openssl +FREERADIUS_SERVER_CONF_OPTS += --with-openssl +else +FREERADIUS_CONF_OPTS += --without-openssl +endif + +define FREERADIUS_SERVER_CACHE_FOR_CROSS_COMPILE + $(INSTALL) -m 0644 package/freeradius-server/freeradius-server-config.cache $(@D)/freeradius-server-config.cache +endef +FREERADIUS_SERVER_PRE_CONFIGURE_HOOKS += FREERADIUS_SERVER_CACHE_FOR_CROSS_COMPILE + +# --cache-file= : some compiler checks are not supported while cross compiling. +# instead of removing those checks, we use a config.cache file +FREERADIUS_SERVER_CONF_OPTS += \ + --cache-file=freeradius-server-config.cache + +FREERADIUS_SERVER_MAKE_ENV = R=$(TARGET_DIR) TARGET_DIR="" + +# make install does not support parallel build +FREERADIUS_SERVER_MAKE = $(MAKE1) + +$(eval $(autotools-package))