Sync from SUSE:SLFO:Main libyang revision e7ac4258a865d47523dd68f5951920c6

This commit is contained in:
Adrian Schröter 2024-09-20 16:01:51 +02:00
commit 75b891471d
4 changed files with 449 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
libyang-2.1.148.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

268
libyang.changes Normal file
View File

@ -0,0 +1,268 @@
-------------------------------------------------------------------
Wed Apr 3 10:40:40 UTC 2024 - pgajdos@suse.com
- version update to 2.1.148
* lots of bugfixes and improvements in various parts of the library
-------------------------------------------------------------------
Sun Nov 12 17:15:43 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.1.128:
* revert of `identityref` canonical value change
* the identity always printed with the module name as the
prefix
* data tree and hash table optimizations
* opaque node handling fixes and improvements
* lots of other bug fixes
- update to 2.1.111:
* opaque node parsing improved
* native RESTCONF operation parsing support
* `union` value error reporting improved
* new `yanglint` and `yangre` tests
* optional support for leafref with XPath functions
* lots of other fixes and improvements
- update to 2.1.80:
* RESTCONF message parsing
* JSON parser refactor
* timezone DST handling
* public hash table API
* stored union value bugfix
* many other clarifications, improvements, and bugfixes
-------------------------------------------------------------------
Tue Apr 4 13:42:28 UTC 2023 - Valentin Lefebvre <valentin.lefebvre@suse.com>
- update to v2.1.55:
* type compilation fixes
* multi-error validation support
* JSON parser fixes
* portability improvements
* schema-mount support improvements
* minor optimizations
* other minor fixes
- fixed bsc#1210072, CVE-2023-26916
-------------------------------------------------------------------
Thu Jan 19 07:30:42 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to v2.1.30:
* many JSON printer/parser fixes and improvements
* unintentionally large library size reduced
* thread safety improvements
* big-endian compatibility fix
* uncrustify updated
* lots of other fixes and improvements
-------------------------------------------------------------------
Sat Dec 3 10:12:14 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 2.1.4:
* large extensions refactoring
* increased ext plugin API version
* new callbacks and capabilities of plugins
* changes in the parsed and compiled ext instance structures
* native support for structure extension
* error path logging improvements
* fixed unions with leafrefs
* yanglint schema mount support
* huge number of other fixes and improvements
-------------------------------------------------------------------
Mon Aug 29 10:05:14 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.0.231
* XPath axes support
-------------------------------------------------------------------
Sat May 7 13:20:19 UTC 2022 - Martin Hauke <mardnh@gmx.de>
- Update to version 2.0.194
* major yanglint improvements
* minor XPath fixes
* nested extension handling fixes
* other minor bugfixes
-------------------------------------------------------------------
Sun Apr 10 11:56:11 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 2.0.164:
* Windows support (thanks to @jktjkt)
* Schema Mount support
* schema compilation fixes
* minor schema printer fixes
* user-ordered list diff bugfix
* JSON anyxml/anydata format fixed
* XML parser CDATA support
* module caching improvements
* doc improvements
* many other various bugfixes
-------------------------------------------------------------------
Wed Nov 17 05:23:08 UTC 2021 - Linnaea Lavia <linnaea@lavia.moe>
- Update to version 2.0.112
* Support for XPath variables
* Bugfixes:
* Performance issues related to LYB format
* Memory leaks and double-free in XPath and LYB
* Opaque node handling in lists and at top-level
-------------------------------------------------------------------
Sat Oct 9 01:47:12 UTC 2021 - Linnaea Lavia <linnaea@lavia.moe>
- Upgrade to Release 2.0.97
* All language bingdings dropped: libyang-cpp and python-yang
* Standard extensions are now built-in: libyang-extentions removed
- Extension path changed from upstream default to allow co-existence
with possible future version
-------------------------------------------------------------------
Sat Jun 5 13:10:20 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0.240
Main changes of this release are:
* config deviation fixes
* state leaf-list validation fixes
* XPath derived-from() fixes
* minor memory problems fixes
* other minor bugfixes
- Update to version 1.0.225
* bugfixes in various parts of the library
- Update to version 1.0.215
Main changes of this release are:
* JSON printer bugfixes
* data validation fixes
* minor XPath optimizations
* C++ bindings improvements
* many other minor bugfixes
-------------------------------------------------------------------
Sat Aug 1 13:45:09 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0.184
* CFFI Python bindings were moved into a separated repository
* new functions and clarified behavior of current functions for
changing state of YANG features
* several bugfixes (#1104, #1119, #1123, #1133)
-------------------------------------------------------------------
Sat Jun 13 16:37:11 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0.176
Main features of this release are:
* completely new CFFI Python bindings
* printer and internal bugfixes
* better support of older compilers
-------------------------------------------------------------------
Thu May 7 09:57:35 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0.167
Bugfix release only
* bugfixes in almost all the components
-------------------------------------------------------------------
Sat Feb 15 22:32:14 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0.130
* new functions lyd_find_sibling*() for searching for a specific
sibling
+ if available, they use hashes meaning the search complexity
is constant!
* leafref validation no longer cached
+ may make validation slightly longer but editing data is
much faster
* minor C++ binding fixes
* minor schema/data parser bugfixes
* other general bugfixes
- Update to version 1.0.109
* new LYB parser flag to allow using updated modules
* minor fixes in action validation
* other minor fixes
-------------------------------------------------------------------
Sat Dec 21 20:44:42 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Run testsuite
-------------------------------------------------------------------
Fri Dec 20 11:53:20 UTC 2019 - Adam Majer <adam.majer@suse.de>
- Package extensions in a separate package - libyang-extentions
-------------------------------------------------------------------
Mon Dec 9 21:16:39 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0r5
Main features of this release are:
* value canonization support in API functions
* new debug message categories
* nested notification/action validation clarifications and fixes
* LYB format decimal64 value handling fixed
* C++ bindings minor improvements
* other minor fixes
-------------------------------------------------------------------
Fri Nov 1 12:17:11 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0r4
Main features of this release are:
* many bugfixes in various parts of the library
+ schema and data validation
+ manipulation with internal schemas and loading user schemas
in the context
+ xpath
+ LYB format
-------------------------------------------------------------------
Fri Jul 12 19:22:46 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0r3
Main features of this release are:
* many bugfixes in various parts of the library
+ LYB format
+ schema
+ data
+ xpath
-------------------------------------------------------------------
Tue Jun 18 09:31:02 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Build with ENABLE_LYD_PRIV=ON
-------------------------------------------------------------------
Sat Apr 6 09:28:58 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0r2
* New LYD_DUP_OPT_WITH_WHEN and LYD_DUP_OPT_WITH_KEYS options for
duplicating data nodes.
* New --disable-searchdir option of yanglint(1) to allow forcing
explicit specification of all the loaded modules.
* Plugins (extension and user type) are now more strictly checked
for compatibility - all plugins are now supposed to use
LYEXT_VERSION_CHECK or LYTYPE_VERSION_CHECK macro to be
compatible with libyang 1.0.
* User type plugins are now able not only to store the value in a
specific way, but also to change its original string value (e.g.
to make the value canonical). Change to the canonical value is
also used in the provided user types plugins implementing
ietf-yang-types and ietf-int-types data types.
* Many bugfixes as usual.
-------------------------------------------------------------------
Tue Feb 12 23:20:51 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Remove duplicated pkgconfig() require (rpm has autodetection!)
- Remove documentation's arbitrary requirements
- Strip em dash grammar from summaries.
-------------------------------------------------------------------
Thu Feb 7 10:50:04 UTC 2019 - mardnh@gmx.de
- Use better package descriptions
-------------------------------------------------------------------
Mon Feb 4 10:26:28 UTC 2019 - mardnh@gmx.de
- Initial package, version 0.16r3

155
libyang.spec Normal file
View File

@ -0,0 +1,155 @@
#
# spec file for package libyang
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2019-2022, Martin Hauke <mardnh@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global sover 2
Name: libyang
Version: 2.1.148
Release: 0
Summary: Parser toolkit for IETF YANG data modeling
License: BSD-3-Clause
Group: System/Libraries
URL: https://github.com/CESNET/libyang
Source0: https://github.com/CESNET/libyang/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: graphviz
BuildRequires: pkgconfig
BuildRequires: pkgconfig(cmocka)
BuildRequires: pkgconfig(libpcre2-8) >= 10.30
%description
Libyang implements functions to process schemas expressed in the
YANG data modeling language defined by the IETF in RFCs 6020/7950.
Schemas expressed in this language primarily describe configuration
used by larger network equipment like routers and switches.
In addition to handling the schemas itself, the library also provides
functions to process data described by the schemas.
The library is implemented in C and provides an API for other software
to use in processing configurations.
%package -n libyang%{sover}
Summary: IETF YANG data modeling parser toolkit runtime
Group: System/Libraries
Recommends: %{name}-extentions = %{version}
%description -n libyang%{sover}
Libyang implements functions to process schemas expressed in the
YANG data modeling language defined by the IETF in RFCs 6020/7950.
Schemas expressed in this language primarily describe configuration
used by larger network equipment like routers and switches.
In addition to handling the schemas itself, the library also provides
functions to process data described by the schemas.
The library is implemented in C and provides an API for other software
to use in processing configurations.
%package devel
Summary: Development files for libyang
Group: Development/Libraries/C and C++
Requires: libyang%{sover} = %{version}
%description devel
Libyang implements functions to process schemas expressed in the
YANG data modeling language defined by the IETF in RFCs 6020/7950.
Schemas expressed in this language primarily describe configuration
used by larger network equipment like routers and switches.
In addition to handling the schemas itself, the library also provides
functions to process data described by the schemas.
This subpackage contains libraries and header files for developing
applications that want to make use of libyang.
%package -n yang-tools
Summary: Executable tools from the IETF YANG data modeling parser toolkit
Group: Productivity/Networking/Other
%description -n yang-tools
This package provides the "yanglint" and "yangre" tools which can be used
during the creation of IETF YANG schemas. The tools are not generally
useful for normal operation where libyang primarily processes configuration
data, not schemas.
%package doc
Summary: API documentation for libyang
Group: Documentation/Other
BuildArch: noarch
%description doc
This is the API documentation of libyang.
%prep
%autosetup -p1
%build
%cmake \
-DPLUGINS_DIR=%{_libdir}/libyang%{sover} \
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
-DENABLE_LYD_PRIV=ON \
-DGEN_LANGUAGE_BINDINGS=ON \
-DENABLE_BUILD_TESTS=ON
%make_build
doxygen
%install
%cmake_install
cp tools/re/yangre.1 %{buildroot}/%{_mandir}/man1/yangre.1
mkdir -p %{buildroot}/%{_docdir}/libyang%{sover}
mkdir -p %{buildroot}/%{_libdir}/libyang%{sover}/extensions
mkdir -p %{buildroot}/%{_libdir}/libyang%{sover}/types
mkdir -p %{buildroot}%{_docdir}/%{name}/
cp README.md %{buildroot}%{_docdir}/%{name}/
cp -r build/doc/html %{buildroot}%{_docdir}/%{name}/
%fdupes -s %{buildroot}%{_docdir}/%{name}
%check
export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}
%ctest
%post -n libyang%{sover} -p /sbin/ldconfig
%postun -n libyang%{sover} -p /sbin/ldconfig
%files -n libyang%{sover}
%license LICENSE
%{_libdir}/libyang.so.*
%dir %{_libdir}/libyang%{sover}
%dir %{_libdir}/libyang%{sover}/extensions/
%dir %{_libdir}/libyang%{sover}/types/
%files -n yang-tools
%{_bindir}/yanglint
%{_bindir}/yangre
%{_mandir}/man1/yanglint.1%{?ext_man}
%{_mandir}/man1/yangre.1%{?ext_man}
%{_datadir}/yang/
%files devel
%dir %{_includedir}/libyang/
%{_includedir}/libyang/*.h
%{_libdir}/libyang.so
%{_libdir}/pkgconfig/libyang.pc
%files doc
%doc %{_docdir}/%{name}
%changelog