From patchwork Tue Feb 25 15:53:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 1244379 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.137; helo=fraxinus.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=XxXnpNT5; dkim-atps=neutral Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48Rk4T31ljz9sPK for ; Wed, 26 Feb 2020 02:53:45 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 7D42585F71; Tue, 25 Feb 2020 15:53:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rUejuHZWQijV; Tue, 25 Feb 2020 15:53:39 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 88A1A85F84; Tue, 25 Feb 2020 15:53:39 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 7B3371BF578 for ; Tue, 25 Feb 2020 15:53:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 77D7A875F4 for ; Tue, 25 Feb 2020 15:53:38 +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 lOXoJNRFcLcu for ; Tue, 25 Feb 2020 15:53:34 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by hemlock.osuosl.org (Postfix) with ESMTPS id 594B1859E3 for ; Tue, 25 Feb 2020 15:53:34 +0000 (UTC) Received: by mail-lf1-f66.google.com with SMTP id r14so10118950lfm.5 for ; Tue, 25 Feb 2020 07:53:34 -0800 (PST) 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=cTg5ZBdKOQVOoTbO025HPn+d3lap1SB6p5OgtqTKlq8=; b=XxXnpNT5ckz1vQLCQPXylG2czgXZNcXJ2VM8M7lTehFo63fGxD3QVx33SRi/jGNnR5 SwhLtdzTjx9JkaHvlEehF1/84vDQ+Llp1VxflUQ1WCRVefO/lXxkIvttECBmMBuFbjiS HBJp11FR6BtgncKTINGGSpbx2LW2wowy+Cfsmmv5wT/VjVddoTm7ZtYKzavWosHnv48e WSMrP/ooWA3kmPdTRIEH2kxzAJpY4aoPoiDAsMuTHKhIl+xffn+VSn5GXaBDzHJEgUw0 +FTTaO7x/qPnkUzNpPPDQ4d6wCiUkf8rDakgmfe29ibo7ksFHQ90x1zbVE7fi1uA2AXC OaGg== 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=cTg5ZBdKOQVOoTbO025HPn+d3lap1SB6p5OgtqTKlq8=; b=X5aZEqWhXZJkwh1IhX5lyaCz0qSYNStyVH/TUEm5vU1+VDMXOxN8IwP/WZ5Vxk8XSt SxqGbzHBqhP6f6lB+55QE5FDLSKRSeT1FBmfp++bGanka7XtDeXMNL7AWRHAPVoTc/3O U75/IgsYDT6NTliV0pLkilWg4b7J7aFqgjXoGzr93SChxu4V3/UaBdEVaBxjde2q7RN/ UOqERmxnKg5BpW3K8GaODERcyCUFarF883KaXCalvHIMp2KqkgGj5SUeqtjsIK5UFhZk lbb5I15Hm4GfTieJc/AgbLzXxBi00zhEbrKjzEp7xx/ekg6YYDy/GWFHjXj4GZaLlLNP o6fQ== X-Gm-Message-State: APjAAAXuUNF6Cx2P/j2jSDsVs1bF/QFoJaQ5zaBIcuYwyzyzrdWfG3ej XHq2IlJV9OrpDX9cBnAjD5Zuln2y X-Google-Smtp-Source: APXvYqxVTurlKu8pi5zN1Op2qVN0TSEMTjJZ40aLMfsrZkoODqGLvJb5oMaKHgoWetVVmqrsSyKwuQ== X-Received: by 2002:ac2:5388:: with SMTP id g8mr1041425lfh.168.1582646012359; Tue, 25 Feb 2020 07:53:32 -0800 (PST) Received: from pc60716vkochan.x.ow.s ([217.20.186.93]) by smtp.gmail.com with ESMTPSA id r20sm7510623lfi.91.2020.02.25.07.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2020 07:53:31 -0800 (PST) From: Vadim Kochan To: buildroot@buildroot.org Date: Tue, 25 Feb 2020 17:53:21 +0200 Message-Id: <20200225155322.8440-2-vadim4j@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200225155322.8440-1-vadim4j@gmail.com> References: <20200225155322.8440-1-vadim4j@gmail.com> Subject: [Buildroot] [PATCH v3 1/2] package/libyang: enable LYD_PRIV option for frr 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: Heiko Thiery , Vadim Kochan , Jan Kundrat MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" This option is required by frr package, so enable it by default as there is no size difference with or without this option enabled. Signed-off-by: Vadim Kochan --- package/libyang/libyang.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/libyang/libyang.mk b/package/libyang/libyang.mk index 648ffeb6a3..e701c6f448 100644 --- a/package/libyang/libyang.mk +++ b/package/libyang/libyang.mk @@ -15,7 +15,8 @@ HOST_LIBYANG_DEPENDENCIES = host-pcre LIBYANG_CONF_OPTS = \ -DENABLE_VALGRIND_TESTS=OFF \ - -DGEN_PYTHON_BINDINGS=OFF + -DGEN_PYTHON_BINDINGS=OFF \ + -DENABLE_LYD_PRIV=ON HOST_LIBYANG_CONF_OPTS = \ -DENABLE_VALGRIND_TESTS=OFF \ From patchwork Tue Feb 25 15:53:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 1244382 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=k9JgBpIt; 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 48Rk4b4fMgz9sRY for ; Wed, 26 Feb 2020 02:53:51 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 3D8EF87874; Tue, 25 Feb 2020 15:53:48 +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 5CufKI--5y9d; Tue, 25 Feb 2020 15:53:43 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 87252875F4; Tue, 25 Feb 2020 15:53:43 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 42E591BF578 for ; Tue, 25 Feb 2020 15:53:41 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 3C2F4859E3 for ; Tue, 25 Feb 2020 15:53:41 +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 77xbC7Y61-x7 for ; Tue, 25 Feb 2020 15:53:36 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lj1-f193.google.com (mail-lj1-f193.google.com [209.85.208.193]) by hemlock.osuosl.org (Postfix) with ESMTPS id BDE3B86CDC for ; Tue, 25 Feb 2020 15:53:35 +0000 (UTC) Received: by mail-lj1-f193.google.com with SMTP id o15so14610978ljg.6 for ; Tue, 25 Feb 2020 07:53:35 -0800 (PST) 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=Jt0Vpc2qc+4gv/O0Qq3SjkTQ0HHSY+0rLadZA9EcDZU=; b=k9JgBpItOZiFRG5WLrP6XKkctn9Lkg/za0KmR3rmimCNbAtb52MjRU+oPxuHsLjRal A2oHicS7966YuMFWPPMiyms2ylzTSlDGqPaNUiONDfHCthoLkA5IMWfiAiQO5081jlY7 MhUknHL1phs15p/QDQuvOXOeMJhwbDVLTsiJemOYe2eeK6CXSe1fj8gDmtVHZE7MTTNZ IwmdOEhe/GiHHO+gk1dQdCWTVhUPF9jibum9RVX4YkoCL1JgvXmL6mtXwvKZ59FvexXO stdp+I63yecwo9y9nEOGkTSUH3MmJfx5msqpIJjVWNDy7dxTkkYOTA32/UiwnZY2jSfm bQCw== 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=Jt0Vpc2qc+4gv/O0Qq3SjkTQ0HHSY+0rLadZA9EcDZU=; b=kqzc/TTJp2rKYI8AHYP9pwg/tvUDzx9iZ63MZkvUIEQXZ7ZXg+37sEUhG2s/t+Z1JO i1yzTVF8YjOlXxVu9jeW/KwnftqKY+OOjg52e0A1aNXzKIp0UrPtyRmZTjlOFeDyH2md W7v4D+Nk0bpLtaTgf4L1p1hxSfn/iEN/e3dWAxiKA53tz6JeUKkAIKFUSnA+oevG6cSz CnL/3h3RCvF8ZG/fz4sMCHsbSH1+l4Ko7jjX22wBO4cCtBAsA5SKWka2cfjJvyiQtxhU ry4xVGfgYvE5ChgQHnwc7KOFfMnwJhyue70LWV7ZfgaWW3jc0wfiTt/R4OIlvF6L3gtJ wPYw== X-Gm-Message-State: APjAAAWyTUp5vgd0peSX0vUfQxC7HB1SLWpeavhKaADYNHGepgMVFlTN GpV+MYu6KolmmLSkqDO5zBStF2qg X-Google-Smtp-Source: APXvYqxY5P3QxivwrWKBnBWU8UMmW1U26Bh9X943uhd1a5Z8sAE/HPreUQwwPbQf0Ikqq9fWyqTm2g== X-Received: by 2002:a2e:8e84:: with SMTP id z4mr32567794ljk.207.1582646013417; Tue, 25 Feb 2020 07:53:33 -0800 (PST) Received: from pc60716vkochan.x.ow.s ([217.20.186.93]) by smtp.gmail.com with ESMTPSA id r20sm7510623lfi.91.2020.02.25.07.53.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2020 07:53:32 -0800 (PST) From: Vadim Kochan To: buildroot@buildroot.org Date: Tue, 25 Feb 2020 17:53:22 +0200 Message-Id: <20200225155322.8440-3-vadim4j@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200225155322.8440-1-vadim4j@gmail.com> References: <20200225155322.8440-1-vadim4j@gmail.com> Subject: [Buildroot] [PATCH v3 2/2] package/frr: 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: Heiko Thiery , Vadim Kochan , Jan Kundrat MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" FRR is free software that implements and manages various IPv4 and IPv6 routing protocols. It runs on nearly all distributions of Linux and BSD as well as Solaris and supports all modern CPU architectures. FRR currently supports the following protocols: BGP OSPFv2 OSPFv3 RIPv1 RIPv2 RIPng IS-IS PIM-SM/MSDP LDP BFD Babel PBR OpenFabric VRRP EIGRP (alpha) NHRP (alpha) Some not-needed features were disabled to minimize package dependencies: - POSIX capabilities - RPKi Signed-off-by: Vadim Kochan --- DEVELOPERS | 1 + package/Config.in | 1 + package/frr/Config.in | 25 ++++++++++++++++ package/frr/S50frr | 46 +++++++++++++++++++++++++++++ package/frr/frr.hash | 2 ++ package/frr/frr.mk | 69 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 144 insertions(+) create mode 100644 package/frr/Config.in create mode 100644 package/frr/S50frr create mode 100644 package/frr/frr.hash create mode 100644 package/frr/frr.mk diff --git a/DEVELOPERS b/DEVELOPERS index 7d3d1ca11a..95ea2254de 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2477,6 +2477,7 @@ F: package/tstools/ N: Vadim Kochan F: package/brcm-patchram-plus/ +F: package/frr/ F: package/gettext-tiny/ F: package/tinyssh/ diff --git a/package/Config.in b/package/Config.in index dfa3f34b9d..3e6b51a745 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1998,6 +1998,7 @@ menu "Networking applications" source "package/fping/Config.in" source "package/freeswitch/Config.in" source "package/freeswitch-mod-bcg729/Config.in" + source "package/frr/Config.in" source "package/gerbera/Config.in" source "package/gesftpserver/Config.in" source "package/glorytun/Config.in" diff --git a/package/frr/Config.in b/package/frr/Config.in new file mode 100644 index 0000000000..c0c3bdd693 --- /dev/null +++ b/package/frr/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_FRR + bool "frr" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS # libyang + depends on BR2_USE_MMU # fork() + depends on BR2_PACKAGE_BASH # init + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + select BR2_PACKAGE_C_ARES + select BR2_PACKAGE_LIBYANG + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_READLINE + select BR2_PACKAGE_JSON_C + help + The FRRouting Protocol Suite. + + FRR is free software that implements and manages various IPv4 and + IPv6 routing protocols. + + https://frrouting.org + +comment "frr needs BASH, threads, dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_BASH || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/package/frr/S50frr b/package/frr/S50frr new file mode 100644 index 0000000000..0c128353e9 --- /dev/null +++ b/package/frr/S50frr @@ -0,0 +1,46 @@ +#!/bin/sh + +DAEMON="frr" + +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + install -m 755 -o frr -g frr -d /var/run/frr + install -m 755 -o frr -g frr -d /var/log/frr + + printf 'Starting %s: ' "$DAEMON" + /usr/sbin/frrinit.sh start + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + /usr/sbin/frrinit.sh stop + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/package/frr/frr.hash b/package/frr/frr.hash new file mode 100644 index 0000000000..7d9ff7ea04 --- /dev/null +++ b/package/frr/frr.hash @@ -0,0 +1,2 @@ +sha256 c209ed66a0331221649b8c21dc8c6704ce1696e2017ef4d48f8c2ac6b1fa01b7 frr-7.3.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/frr/frr.mk b/package/frr/frr.mk new file mode 100644 index 0000000000..2add98542a --- /dev/null +++ b/package/frr/frr.mk @@ -0,0 +1,69 @@ +################################################################################ +# +# frr +# +################################################################################ + +FRR_VERSION = 7.3 +FRR_SITE = https://github.com/FRRouting/frr/archive +FRR_LICENSE = GPL-2.0 +FRR_LICENSE_FILES = COPYING +FRR_AUTORECONF = YES + +FRR_DEPENDENCIES = host-frr readline json-c \ + libyang libnl c-ares + +HOST_FRR_DEPENDENCIES = host-flex host-bison host-python + +FRR_CONF_OPTS = --with-clippy=$(HOST_DIR)/bin/clippy \ + --sysconfdir=/etc/frr \ + --localstatedir=/var/run/frr \ + --with-moduledir=/usr/lib/frr/modules \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --enable-multipath=256 \ + --disable-ospfclient \ + --enable-shell-access \ + --enable-user=frr \ + --enable-group=frr \ + --enable-vty-group=frrvty \ + --disable-capabilities \ + --enable-fpm + +HOST_FRR_CONF_OPTS = --enable-clippy-only + +define HOST_FRR_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/lib/clippy $(HOST_DIR)/bin/clippy +endef + +define FRR_INSTALL_CONFIG_FILES + $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/frr + + $(foreach f,daemons daemons.conf frr.conf vtysh.conf support_bundle_commands.conf,\ + $(INSTALL) -D -m 0640 $(@D)/tools/etc/frr/$(f) \ + $(TARGET_DIR)/etc/frr/$(f) + ) + + $(RM) $(TARGET_DIR)/etc/frr/*.sample +endef +FRR_POST_INSTALL_TARGET_HOOKS += FRR_INSTALL_CONFIG_FILES + +define FRR_PERMISSIONS + /etc/frr/daemons f 640 frr frr - - - - - + /etc/frr/daemons.conf f 640 frr frr - - - - - + /etc/frr/frr.conf f 640 frr frr - - - - - + /etc/frr/vtysh.conf f 640 frr frrvty - - - - - + /etc/frr/support_bundle_commands.conf f 640 frr frr +endef + +define FRR_USERS + frr -1 frr -1 * /var/run/frr - frrvty FRR user priv +endef + +define FRR_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 $(FRR_PKGDIR)/S50frr \ + $(TARGET_DIR)/etc/init.d/S50frr +endef + +$(eval $(autotools-package)) +$(eval $(host-autotools-package))