Blame SPECS/libyang.spec

623084
# valgrind finds invalid writes in libcmocka on arm
623084
# see bug #1699304 for more information
623084
%ifarch %arm ppc64le
623084
%global run_valgrind_tests OFF
623084
%else
623084
%global run_valgrind_tests ON
623084
%endif
623084
623084
Name: libyang
623084
Version: 0.16.105
1a5b84
Release: 3%{?dist}.2
623084
Summary: YANG data modeling language library
623084
Url: https://github.com/CESNET/libyang
623084
Source: %{url}/archive/debian/libyang-%{version}-1.tar.gz
623084
License: BSD
623084
623084
Requires:  pcre
623084
BuildRequires:  cmake
623084
BuildRequires:  doxygen
623084
BuildRequires:  pcre-devel
623084
BuildRequires:  gcc
623084
BuildRequires:  valgrind
623084
BuildRequires:  gcc-c++
623084
BuildRequires:  swig >= 3.0.12
623084
BuildRequires:  libcmocka-devel
623084
BuildRequires:  python3-devel
623084
BuildRequires:  flex
623084
BuildRequires:  bison
623084
BuildRequires:  graphviz
1a5b84
BuildRequires:  git-core
1a5b84
1a5b84
Patch0001:		0001-libyang-0.16.105-CVE-2019-19333.patch
1a5b84
Patch0002:		0002-libyang-0.16.105-CVE-2019-19334.patch
623084
623084
%package devel
623084
Summary:    Development files for libyang
623084
Requires:   %{name}%{?_isa} = %{version}-%{release}
623084
Requires:   pcre-devel
623084
623084
%package devel-doc
623084
Summary:    Documentation of libyang API
623084
Requires:   %{name} = %{version}-%{release}
623084
BuildArch:  noarch
623084
623084
%package -n libyang-cpp
623084
Summary:    C++ bindings for libyang
623084
Requires:   %{name}%{?_isa} = %{version}-%{release}
623084
623084
%package -n libyang-cpp-devel
623084
Summary:    Development files for libyang-cpp
623084
Requires:   libyang-cpp%{?_isa} = %{version}-%{release}
623084
Requires:   pcre-devel
623084
623084
%package -n python3-libyang
623084
Summary:    Python3 bindings for libyang
623084
Requires:   libyang-cpp%{?_isa} = %{version}-%{release}
623084
%{?python_provide:%python_provide python3-libyang}
623084
623084
%description -n libyang-cpp
623084
Bindings of libyang library to C++ language.
623084
623084
%description -n libyang-cpp-devel
623084
Headers of bindings to c++ language.
623084
623084
%description -n python3-libyang
623084
Bindings of libyang library to python language.
623084
623084
%description devel
623084
Headers of libyang library.
623084
623084
%description devel-doc
623084
Documentation of libyang API.
623084
623084
%description
623084
Libyang is YANG data modeling language parser and toolkit
623084
written (and providing API) in C.
623084
623084
%prep
1a5b84
%autosetup -S git -n libyang-debian-libyang-%{version}-1
623084
mkdir build
623084
623084
%build
623084
cd build
623084
%cmake \
623084
   %{?_smp_mflags} \
623084
   -DCMAKE_INSTALL_PREFIX:PATH=/usr \
623084
   -DCMAKE_BUILD_TYPE:String="Package" \
623084
   -DENABLE_LYD_PRIV=ON \
623084
   -DGEN_JAVA_BINDINGS=OFF \
623084
   -DGEN_JAVASCRIPT_BINDINGS=OFF \
623084
   -DGEN_LANGUAGE_BINDINGS=ON \
623084
   -DENABLE_VALGRIND_TESTS=%{run_valgrind_tests} ..
623084
%make_build
623084
make doc
623084
623084
%check
623084
cd build
623084
ctest --output-on-failure -V %{?_smp_mflags}
623084
623084
%install
623084
pushd build
623084
%make_install DESTDIR=%{buildroot}
623084
popd
623084
mkdir -m0755 -p %{buildroot}/%{_docdir}/libyang
623084
cp -r doc/html %{buildroot}/%{_docdir}/libyang/html
623084
623084
%files
623084
%license LICENSE
623084
%{_bindir}/yanglint
623084
%{_bindir}/yangre
623084
%{_datadir}/man/man1/yanglint.1.gz
623084
%{_datadir}/man/man1/yangre.1.gz
623084
%{_libdir}/libyang.so.*
623084
%{_libdir}/libyang/*
623084
%dir %{_libdir}/libyang/
623084
623084
%files devel
623084
%{_libdir}/libyang.so
623084
%{_libdir}/pkgconfig/libyang.pc
623084
%{_includedir}/libyang/*.h
623084
%dir %{_includedir}/libyang/
623084
623084
%files devel-doc
623084
%{_docdir}/libyang
623084
623084
%files -n libyang-cpp
623084
%{_libdir}/libyang-cpp.so.*
623084
623084
%files -n libyang-cpp-devel
623084
%{_libdir}/libyang-cpp.so
623084
%{_includedir}/libyang/*.hpp
623084
%{_libdir}/pkgconfig/libyang-cpp.pc
623084
%dir %{_includedir}/libyang/
623084
623084
%files -n python3-libyang
623084
%{python3_sitearch}/yang.py
623084
%{python3_sitearch}/_yang.so
623084
%{python3_sitearch}/__pycache__/yang*
623084
623084
%changelog
1a5b84
* Mon Dec 16 2019 Michal Ruprich <mruprich@redhat.com> - 0.16.105-3.2
1a5b84
- Related: #1779573 - Fixing a few covscan issues
1a5b84
1a5b84
* Tue Dec 10 2019 Michal Ruprich <mruprich@redhat.com> - 0.16.105-3.1
1a5b84
- Resolves: #1779573 - CVE-2019-19333 libyang: stack-based buffer overflow in make_canonical when bits leaf type is used
1a5b84
- Resolves: #1779576 - CVE-2019-19334 libyang: stack-based buffer overflow in make_canonical when identityref leaf type is used
1a5b84
623084
* Mon May 27 2019 Michal Ruprich <mruprich@redhat.com> - 0.16.105-3
623084
- Related: #1698076 - Adding gating file
623084
623084
* Tue May 14 2019 Michal Ruprich <mruprich@redhat.com> - 0.16.105-2
623084
- Related: #1698076 - turning off valgrind on tests on ppc64le
623084
623084
* Mon May 13 2019 Michal Ruprich <mruprich@redhat.com> - 0.16.105-1
623084
- Resolves: #1698076 - [RFE] Add libyang package as a build-time dependency for FRR
623084
623084
* Fri Apr 26 2019 Tomas Korbar <tkorbar@redhat.com> - 0.16.105-1
623084
- Change specfile accordingly to mosvald's review
623084
- Remove obsolete ldconfig scriptlets
623084
- libyang-devel-doc changed to noarch package
623084
- Add python_provide macro to python3-libyang subpackage
623084
- Remove obsolete Requires from libyang-cpp-devel
623084
- Start using cmake with smp_mflags macro
623084
623084
* Wed Apr 03 2019 Tomas Korbar <tkorbar@redhat.com> - 0.16.105-1
623084
- Initial commit of package after editation of specfile