mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-30 17:05:23 +00:00
Merge pull request #4088 from opensourcerouting/bump-libyang-requirement-vers
build, lib: bump libyang requirement version to >= 0.16.105 (-r3)
This commit is contained in:
commit
7bc33bcc19
15
configure.ac
15
configure.ac
@ -139,13 +139,6 @@ AC_ARG_WITH([yangmodelsdir], [AS_HELP_STRING([--with-yangmodelsdir=DIR], [yang m
|
|||||||
])
|
])
|
||||||
AC_SUBST([yangmodelsdir])
|
AC_SUBST([yangmodelsdir])
|
||||||
|
|
||||||
AC_ARG_WITH([libyang_pluginsdir], [AS_HELP_STRING([--with-libyang-pluginsdir=DIR], [yangmodule plugins directory (${libdir}/frr/libyang_plugins)])], [
|
|
||||||
libyang_pluginsdir="$withval"
|
|
||||||
], [
|
|
||||||
libyang_pluginsdir="\${libdir}/frr/libyang_plugins"
|
|
||||||
])
|
|
||||||
AC_SUBST([libyang_pluginsdir])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(tcmalloc,
|
AC_ARG_ENABLE(tcmalloc,
|
||||||
AS_HELP_STRING([--enable-tcmalloc], [Turn on tcmalloc]),
|
AS_HELP_STRING([--enable-tcmalloc], [Turn on tcmalloc]),
|
||||||
[case "${enableval}" in
|
[case "${enableval}" in
|
||||||
@ -1608,8 +1601,8 @@ AC_SUBST([SNMP_CFLAGS])
|
|||||||
dnl ---------------
|
dnl ---------------
|
||||||
dnl libyang
|
dnl libyang
|
||||||
dnl ---------------
|
dnl ---------------
|
||||||
PKG_CHECK_MODULES([LIBYANG], [libyang >= 0.16.7], , [
|
PKG_CHECK_MODULES([LIBYANG], [libyang >= 0.16.105], , [
|
||||||
AC_MSG_ERROR([libyang (>= 0.16.7) was not found on your system.])
|
AC_MSG_ERROR([libyang (>= 0.16.105) was not found on your system.])
|
||||||
])
|
])
|
||||||
ac_cflags_save="$CFLAGS"
|
ac_cflags_save="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS $LIBYANG_CFLAGS"
|
CFLAGS="$CFLAGS $LIBYANG_CFLAGS"
|
||||||
@ -2166,24 +2159,20 @@ CFG_SBIN="$sbindir"
|
|||||||
CFG_STATE="$frr_statedir"
|
CFG_STATE="$frr_statedir"
|
||||||
CFG_MODULE="$moduledir"
|
CFG_MODULE="$moduledir"
|
||||||
CFG_YANGMODELS="$yangmodelsdir"
|
CFG_YANGMODELS="$yangmodelsdir"
|
||||||
CFG_LIBYANG_PLUGINS="$libyang_pluginsdir"
|
|
||||||
for I in 1 2 3 4 5 6 7 8 9 10; do
|
for I in 1 2 3 4 5 6 7 8 9 10; do
|
||||||
eval CFG_SYSCONF="\"$CFG_SYSCONF\""
|
eval CFG_SYSCONF="\"$CFG_SYSCONF\""
|
||||||
eval CFG_SBIN="\"$CFG_SBIN\""
|
eval CFG_SBIN="\"$CFG_SBIN\""
|
||||||
eval CFG_STATE="\"$CFG_STATE\""
|
eval CFG_STATE="\"$CFG_STATE\""
|
||||||
eval CFG_MODULE="\"$CFG_MODULE\""
|
eval CFG_MODULE="\"$CFG_MODULE\""
|
||||||
eval CFG_YANGMODELS="\"$CFG_YANGMODELS\""
|
eval CFG_YANGMODELS="\"$CFG_YANGMODELS\""
|
||||||
eval CFG_LIBYANG_PLUGINS="\"$CFG_LIBYANG_PLUGINS\""
|
|
||||||
done
|
done
|
||||||
AC_SUBST([CFG_SYSCONF])
|
AC_SUBST([CFG_SYSCONF])
|
||||||
AC_SUBST([CFG_SBIN])
|
AC_SUBST([CFG_SBIN])
|
||||||
AC_SUBST([CFG_STATE])
|
AC_SUBST([CFG_STATE])
|
||||||
AC_SUBST([CFG_MODULE])
|
AC_SUBST([CFG_MODULE])
|
||||||
AC_SUBST([CFG_YANGMODELS])
|
AC_SUBST([CFG_YANGMODELS])
|
||||||
AC_SUBST([CFG_LIBYANG_PLUGINS])
|
|
||||||
AC_DEFINE_UNQUOTED([MODULE_PATH], ["$CFG_MODULE"], [path to modules])
|
AC_DEFINE_UNQUOTED([MODULE_PATH], ["$CFG_MODULE"], [path to modules])
|
||||||
AC_DEFINE_UNQUOTED([YANG_MODELS_PATH], ["$CFG_YANGMODELS"], [path to YANG data models])
|
AC_DEFINE_UNQUOTED([YANG_MODELS_PATH], ["$CFG_YANGMODELS"], [path to YANG data models])
|
||||||
AC_DEFINE_UNQUOTED([LIBYANG_PLUGINS_PATH], ["$CFG_LIBYANG_PLUGINS"], [path to libyang plugins])
|
|
||||||
AC_DEFINE_UNQUOTED([WATCHFRR_SH_PATH], ["${CFG_SBIN%/}/watchfrr.sh"], [path to watchfrr.sh])
|
AC_DEFINE_UNQUOTED([WATCHFRR_SH_PATH], ["${CFG_SBIN%/}/watchfrr.sh"], [path to watchfrr.sh])
|
||||||
|
|
||||||
dnl various features
|
dnl various features
|
||||||
|
@ -10,7 +10,7 @@ The FRR project builds binary ``libyang`` packages, which we offer for download
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
``libyang`` version 0.16.74 or newer is required to build FRR.
|
``libyang`` version 0.16.105 or newer is required to build FRR.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
@ -331,22 +331,6 @@ options to the configuration script.
|
|||||||
Look for YANG modules in `dir` [`prefix`/share/yang]. Note that the FRR
|
Look for YANG modules in `dir` [`prefix`/share/yang]. Note that the FRR
|
||||||
YANG modules will be installed here.
|
YANG modules will be installed here.
|
||||||
|
|
||||||
.. option:: --with-libyang-pluginsdir <dir>
|
|
||||||
|
|
||||||
Look for libyang plugins in `dir` [`prefix`/lib/frr/libyang_plugins].
|
|
||||||
Note that the FRR libyang plugins will be installed here.
|
|
||||||
|
|
||||||
This option is meaningless with libyang 0.16.74 or newer and will be
|
|
||||||
removed once support for older libyang versions is dropped.
|
|
||||||
|
|
||||||
When it's desired to run FRR without installing it in the system, it's possible
|
|
||||||
to configure it as follows to look for YANG modules and libyang plugins in the
|
|
||||||
compile directory:
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
./configure --with-libyang-pluginsdir="`pwd`/yang/libyang_plugins/.libs" \
|
|
||||||
--with-yangmodelsdir="`pwd`/yang"
|
|
||||||
|
|
||||||
Python dependency, documentation and tests
|
Python dependency, documentation and tests
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -1386,19 +1386,12 @@ int nb_oper_data_iterate(const char *xpath, struct yang_translator *translator,
|
|||||||
*/
|
*/
|
||||||
ly_errno = 0;
|
ly_errno = 0;
|
||||||
dnode = lyd_new_path(NULL, ly_native_ctx, xpath, NULL, 0,
|
dnode = lyd_new_path(NULL, ly_native_ctx, xpath, NULL, 0,
|
||||||
LYD_PATH_OPT_UPDATE);
|
LYD_PATH_OPT_UPDATE | LYD_PATH_OPT_NOPARENTRET);
|
||||||
if (!dnode && ly_errno) {
|
if (!dnode) {
|
||||||
flog_warn(EC_LIB_LIBYANG, "%s: lyd_new_path() failed",
|
flog_warn(EC_LIB_LIBYANG, "%s: lyd_new_path() failed",
|
||||||
__func__);
|
__func__);
|
||||||
return NB_ERR;
|
return NB_ERR;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* We can remove the following two lines once we depend on
|
|
||||||
* libyang-v0.16-r2, which has the LYD_PATH_OPT_NOPARENTRET flag for
|
|
||||||
* lyd_new_path().
|
|
||||||
*/
|
|
||||||
dnode = yang_dnode_get(dnode, xpath);
|
|
||||||
assert(dnode);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create a linked list to sort the data nodes starting from the root.
|
* Create a linked list to sort the data nodes starting from the root.
|
||||||
|
Loading…
Reference in New Issue
Block a user