automatic version update by autodist [release 10.1.1-1mamba;Mon Sep 16 2024]
This commit is contained in:
parent
49116f105b
commit
6ef4a08fe4
@ -1,206 +0,0 @@
|
|||||||
diff -ru frr-10.0.orig/lib/vty.c frr-10.0/lib/vty.c
|
|
||||||
--- frr-10.0.orig/lib/vty.c 2024-05-16 12:29:42.000000000 +0200
|
|
||||||
+++ frr-10.0/lib/vty.c 2024-05-16 13:22:41.208287747 +0200
|
|
||||||
@@ -39,6 +39,7 @@
|
|
||||||
#include "libfrr.h"
|
|
||||||
#include "frrstr.h"
|
|
||||||
#include "lib_errors.h"
|
|
||||||
+#include <libyang/version.h>
|
|
||||||
#include "northbound_cli.h"
|
|
||||||
#include "printfrr.h"
|
|
||||||
#include "json.h"
|
|
||||||
@@ -3668,15 +3669,24 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
static void vty_out_yang_error(struct vty *vty, LYD_FORMAT format,
|
|
||||||
- struct ly_err_item *ei)
|
|
||||||
+ const struct ly_err_item *ei)
|
|
||||||
{
|
|
||||||
+#if (LY_VERSION_MAJOR < 3)
|
|
||||||
+#define data_path path
|
|
||||||
+#else
|
|
||||||
+#define data_path data_path
|
|
||||||
+#endif
|
|
||||||
bool have_apptag = ei->apptag && ei->apptag[0] != 0;
|
|
||||||
- bool have_path = ei->path && ei->path[0] != 0;
|
|
||||||
+ bool have_path = ei->data_path && ei->data_path[0] != 0;
|
|
||||||
bool have_msg = ei->msg && ei->msg[0] != 0;
|
|
||||||
const char *severity = NULL;
|
|
||||||
const char *evalid = NULL;
|
|
||||||
const char *ecode = NULL;
|
|
||||||
+#if (LY_VERSION_MAJOR < 3)
|
|
||||||
LY_ERR err = ei->no;
|
|
||||||
+#else
|
|
||||||
+ LY_ERR err = ei->err;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (ei->level == LY_LLERR)
|
|
||||||
severity = "error";
|
|
||||||
@@ -3701,7 +3711,8 @@
|
|
||||||
vty_out(vty, "<error-validation>%s</error-validation>\n",
|
|
||||||
evalid);
|
|
||||||
if (have_path)
|
|
||||||
- vty_out(vty, "<error-path>%s</error-path>\n", ei->path);
|
|
||||||
+ vty_out(vty, "<error-path>%s</error-path>\n",
|
|
||||||
+ ei->data_path);
|
|
||||||
if (have_apptag)
|
|
||||||
vty_out(vty, "<error-app-tag>%s</error-app-tag>\n",
|
|
||||||
ei->apptag);
|
|
||||||
@@ -3720,7 +3731,7 @@
|
|
||||||
if (evalid)
|
|
||||||
vty_out(vty, ", \"error-validation\": \"%s\"", evalid);
|
|
||||||
if (have_path)
|
|
||||||
- vty_out(vty, ", \"error-path\": \"%s\"", ei->path);
|
|
||||||
+ vty_out(vty, ", \"error-path\": \"%s\"", ei->data_path);
|
|
||||||
if (have_apptag)
|
|
||||||
vty_out(vty, ", \"error-app-tag\": \"%s\"", ei->apptag);
|
|
||||||
if (have_msg)
|
|
||||||
@@ -3737,18 +3748,19 @@
|
|
||||||
if (evalid)
|
|
||||||
vty_out(vty, " invalid: %s", evalid);
|
|
||||||
if (have_path)
|
|
||||||
- vty_out(vty, " path: %s", ei->path);
|
|
||||||
+ vty_out(vty, " path: %s", ei->data_path);
|
|
||||||
if (have_apptag)
|
|
||||||
vty_out(vty, " app-tag: %s", ei->apptag);
|
|
||||||
if (have_msg)
|
|
||||||
vty_out(vty, " msg: %s", ei->msg);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
+#undef data_path
|
|
||||||
}
|
|
||||||
|
|
||||||
static uint vty_out_yang_errors(struct vty *vty, LYD_FORMAT format)
|
|
||||||
{
|
|
||||||
- struct ly_err_item *ei = ly_err_first(ly_native_ctx);
|
|
||||||
+ const struct ly_err_item *ei = ly_err_first(ly_native_ctx);
|
|
||||||
uint count;
|
|
||||||
|
|
||||||
if (!ei)
|
|
||||||
diff -ru frr-10.0.orig/lib/yang.c frr-10.0/lib/yang.c
|
|
||||||
--- frr-10.0.orig/lib/yang.c 2024-05-16 12:29:42.000000000 +0200
|
|
||||||
+++ frr-10.0/lib/yang.c 2024-05-16 13:22:41.209287749 +0200
|
|
||||||
@@ -11,6 +11,7 @@
|
|
||||||
#include "lib_errors.h"
|
|
||||||
#include "yang.h"
|
|
||||||
#include "yang_translator.h"
|
|
||||||
+#include <libyang/version.h>
|
|
||||||
#include "northbound.h"
|
|
||||||
|
|
||||||
#include "lib/config_paths.h"
|
|
||||||
@@ -18,6 +19,17 @@
|
|
||||||
DEFINE_MTYPE_STATIC(LIB, YANG_MODULE, "YANG module");
|
|
||||||
DEFINE_MTYPE_STATIC(LIB, YANG_DATA, "YANG data structure");
|
|
||||||
|
|
||||||
+/* Safe to remove after libyang 2.2.8 */
|
|
||||||
+#if (LY_VERSION_MAJOR < 3)
|
|
||||||
+#define yang_lyd_find_xpath3(ctx_node, tree, xpath, format, prefix_data, vars, \
|
|
||||||
+ set) \
|
|
||||||
+ lyd_find_xpath3(ctx_node, tree, xpath, vars, set)
|
|
||||||
+#else
|
|
||||||
+#define yang_lyd_find_xpath3(ctx_node, tree, xpath, format, prefix_data, vars, \
|
|
||||||
+ set) \
|
|
||||||
+ lyd_find_xpath3(ctx_node, tree, xpath, LY_VALUE_JSON, NULL, vars, set)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* libyang container. */
|
|
||||||
struct ly_ctx *ly_native_ctx;
|
|
||||||
|
|
||||||
@@ -691,7 +703,12 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Make libyang log its errors using FRR logging infrastructure. */
|
|
||||||
-static void ly_log_cb(LY_LOG_LEVEL level, const char *msg, const char *path)
|
|
||||||
+static void ly_zlog_cb(LY_LOG_LEVEL level, const char *msg, const char *data_path
|
|
||||||
+#if !(LY_VERSION_MAJOR < 3)
|
|
||||||
+ ,
|
|
||||||
+ const char *schema_path, uint64_t line
|
|
||||||
+#endif
|
|
||||||
+)
|
|
||||||
{
|
|
||||||
int priority = LOG_ERR;
|
|
||||||
|
|
||||||
@@ -708,8 +725,14 @@
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (path)
|
|
||||||
- zlog(priority, "libyang: %s (%s)", msg, path);
|
|
||||||
+ if (data_path)
|
|
||||||
+ zlog(priority, "libyang: %s (%s)", msg, data_path);
|
|
||||||
+#if !(LY_VERSION_MAJOR < 3)
|
|
||||||
+ else if (schema_path)
|
|
||||||
+ zlog(priority, "libyang %s (%s)\n", msg, schema_path);
|
|
||||||
+ else if (line)
|
|
||||||
+ zlog(priority, "libyang %s (line %" PRIu64 ")\n", msg, line);
|
|
||||||
+#endif
|
|
||||||
else
|
|
||||||
zlog(priority, "libyang: %s", msg);
|
|
||||||
}
|
|
||||||
@@ -736,7 +759,8 @@
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
- err = lyd_find_xpath3(NULL, tree, xpath, NULL, &set);
|
|
||||||
+ err = yang_lyd_find_xpath3(NULL, tree, xpath, LY_VALUE_JSON, NULL, NULL,
|
|
||||||
+ &set);
|
|
||||||
if (err) {
|
|
||||||
zlog_err("Failed to parse notification: %s", ly_last_errmsg());
|
|
||||||
lyd_free_all(tree);
|
|
||||||
@@ -829,23 +853,29 @@
|
|
||||||
|
|
||||||
const char *yang_print_errors(struct ly_ctx *ly_ctx, char *buf, size_t buf_len)
|
|
||||||
{
|
|
||||||
- struct ly_err_item *ei;
|
|
||||||
+ const struct ly_err_item *ei;
|
|
||||||
|
|
||||||
ei = ly_err_first(ly_ctx);
|
|
||||||
if (!ei)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
strlcpy(buf, "YANG error(s):\n", buf_len);
|
|
||||||
+#if (LY_VERSION_MAJOR < 3)
|
|
||||||
+#define data_path path
|
|
||||||
+#else
|
|
||||||
+#define data_path data_path
|
|
||||||
+#endif
|
|
||||||
for (; ei; ei = ei->next) {
|
|
||||||
- if (ei->path) {
|
|
||||||
+ if (ei->data_path) {
|
|
||||||
strlcat(buf, " Path: ", buf_len);
|
|
||||||
- strlcat(buf, ei->path, buf_len);
|
|
||||||
+ strlcat(buf, ei->data_path, buf_len);
|
|
||||||
strlcat(buf, "\n", buf_len);
|
|
||||||
}
|
|
||||||
strlcat(buf, " Error: ", buf_len);
|
|
||||||
strlcat(buf, ei->msg, buf_len);
|
|
||||||
strlcat(buf, "\n", buf_len);
|
|
||||||
}
|
|
||||||
+#undef data_path
|
|
||||||
|
|
||||||
ly_err_clean(ly_ctx, NULL);
|
|
||||||
|
|
||||||
@@ -897,7 +927,12 @@
|
|
||||||
void yang_init(bool embedded_modules, bool defer_compile)
|
|
||||||
{
|
|
||||||
/* Initialize libyang global parameters that affect all containers. */
|
|
||||||
- ly_set_log_clb(ly_log_cb, 1);
|
|
||||||
+ ly_set_log_clb(ly_zlog_cb
|
|
||||||
+#if (LY_VERSION_MAJOR < 3)
|
|
||||||
+ ,
|
|
||||||
+ 1
|
|
||||||
+#endif
|
|
||||||
+ );
|
|
||||||
ly_log_options(LY_LOLOG | LY_LOSTORE);
|
|
||||||
|
|
||||||
/* Initialize libyang container for native models. */
|
|
||||||
@@ -1209,7 +1244,8 @@
|
|
||||||
|
|
||||||
*root = lyd_first_sibling(*root);
|
|
||||||
|
|
||||||
- err = lyd_find_xpath3(NULL, *root, xpath, NULL, &set);
|
|
||||||
+ err = yang_lyd_find_xpath3(NULL, *root, xpath, LY_VALUE_JSON, NULL,
|
|
||||||
+ NULL, &set);
|
|
||||||
if (err) {
|
|
||||||
flog_err_sys(EC_LIB_LIBYANG,
|
|
||||||
"cannot obtain specific result for xpath \"%s\": %s",
|
|
11
frr.spec
11
frr.spec
@ -1,5 +1,5 @@
|
|||||||
Name: frr
|
Name: frr
|
||||||
Version: 10.0.1
|
Version: 10.1.1
|
||||||
Release: 1mamba
|
Release: 1mamba
|
||||||
Summary: Routing protocol suite supporting BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP, BFD, VRRP, NHRP and EIGRP
|
Summary: Routing protocol suite supporting BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP, BFD, VRRP, NHRP and EIGRP
|
||||||
Group: Applications/Networking
|
Group: Applications/Networking
|
||||||
@ -10,10 +10,10 @@ URL: https://frrouting.org/
|
|||||||
Source: https://github.com/FRRouting/frr.git/frr-%{version}/frr-%{version}.tar.bz2
|
Source: https://github.com/FRRouting/frr.git/frr-%{version}/frr-%{version}.tar.bz2
|
||||||
Source1: frr-sysusers.conf
|
Source1: frr-sysusers.conf
|
||||||
Source2: frr-tmpfiles.conf
|
Source2: frr-tmpfiles.conf
|
||||||
Patch0: frr-10.0-libyang-2.2.8.patch
|
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
## AUTOBUILDREQ-BEGIN
|
## AUTOBUILDREQ-BEGIN
|
||||||
BuildRequires: glibc-devel
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libatomic-devel
|
||||||
BuildRequires: libcap-devel
|
BuildRequires: libcap-devel
|
||||||
BuildRequires: libcares-devel
|
BuildRequires: libcares-devel
|
||||||
BuildRequires: libjson-c-devel
|
BuildRequires: libjson-c-devel
|
||||||
@ -66,7 +66,6 @@ This package contains libraries and header files for developing applications tha
|
|||||||
# Fix some paths
|
# Fix some paths
|
||||||
sed -ri 's|/var/run/frr|/run/frr|g' redhat/frr.logrotate
|
sed -ri 's|/var/run/frr|/run/frr|g' redhat/frr.logrotate
|
||||||
sed -ri 's|/usr/lib/frr|/usr/bin|g' tools/frr-reload
|
sed -ri 's|/usr/lib/frr|/usr/bin|g' tools/frr-reload
|
||||||
%patch 0 -p1 -b .libyang-2.2.8
|
|
||||||
|
|
||||||
autoreconf -f -i
|
autoreconf -f -i
|
||||||
|
|
||||||
@ -126,8 +125,6 @@ install -D -m0644 tools/etc/frr/vtysh.conf -t %{buildroot}%{_sysconfdir}/frr
|
|||||||
%systemd_postun_with_restart frr
|
%systemd_postun_with_restart frr
|
||||||
:
|
:
|
||||||
|
|
||||||
%post -n lib%{name} -p /sbin/ldconfig
|
|
||||||
%postun -n lib%{name} -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -143,6 +140,7 @@ install -D -m0644 tools/etc/frr/vtysh.conf -t %{buildroot}%{_sysconfdir}/frr
|
|||||||
%{_bindir}/bgpd
|
%{_bindir}/bgpd
|
||||||
%{_bindir}/eigrpd
|
%{_bindir}/eigrpd
|
||||||
%{_bindir}/fabricd
|
%{_bindir}/fabricd
|
||||||
|
%{_bindir}/fpm_listener
|
||||||
%{_bindir}/frr
|
%{_bindir}/frr
|
||||||
%{_bindir}/frr-reload
|
%{_bindir}/frr-reload
|
||||||
%{_bindir}/frr-reload.py
|
%{_bindir}/frr-reload.py
|
||||||
@ -232,6 +230,9 @@ install -D -m0644 tools/etc/frr/vtysh.conf -t %{buildroot}%{_sysconfdir}/frr
|
|||||||
%doc README.md
|
%doc README.md
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 16 2024 Automatic Build System <autodist@openmamba.org> 10.1.1-1mamba
|
||||||
|
- automatic version update by autodist
|
||||||
|
|
||||||
* Fri Jun 07 2024 Automatic Build System <autodist@openmamba.org> 10.0.1-1mamba
|
* Fri Jun 07 2024 Automatic Build System <autodist@openmamba.org> 10.0.1-1mamba
|
||||||
- automatic version update by autodist
|
- automatic version update by autodist
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user