Blame SPECS/libcomps.spec

a62312
%if 0%{?rhel} && 0%{?rhel} <= 7
a62312
%bcond_with python3
a62312
%else
a62312
%bcond_without python3
a62312
%endif
a62312
a62312
Name:           libcomps
a62312
Version:        0.1.8
70bab7
Release:        13%{?dist}
a62312
Summary:        Comps XML file manipulation library
a62312
a62312
License:        GPLv2+
a62312
URL:            https://github.com/rpm-software-management/libcomps
a62312
Source0:        %{url}/archive/%{name}-%{version}/%{name}-%{version}.tar.gz
70bab7
Patch1:         0001-Fix-UAF-in-comps_objmrtree_unite-function.patch
a62312
a62312
BuildRequires:  cmake
a62312
BuildRequires:  gcc
a62312
BuildRequires:  libxml2-devel
a62312
BuildRequires:  check-devel
a62312
BuildRequires:  expat-devel
a62312
a62312
%description
a62312
Libcomps is library for structure-like manipulation with content of
a62312
comps XML files. Supports read/write XML file, structure(s) modification.
a62312
a62312
%package devel
a62312
Summary:        Development files for libcomps library
a62312
Requires:       %{name}%{?_isa} = %{version}-%{release}
a62312
a62312
%description devel
a62312
Development files for libcomps library.
a62312
a62312
%package doc
a62312
Summary:        Documentation files for libcomps library
a62312
Requires:       %{name} = %{version}-%{release}
a62312
BuildArch:      noarch
a62312
BuildRequires:  doxygen
a62312
a62312
%description doc
a62312
Documentation files for libcomps library.
a62312
a62312
%package -n python-%{name}-doc
a62312
Summary:        Documentation files for python bindings libcomps library
a62312
Requires:       %{name} = %{version}-%{release}
a62312
BuildArch:      noarch
a62312
BuildRequires:  python-sphinx
a62312
a62312
%description -n python-%{name}-doc
a62312
Documentation files for python bindings libcomps library.
a62312
a62312
%package -n python2-%{name}
a62312
Summary:        Python 2 bindings for libcomps library
a62312
%{?python_provide:%python_provide python2-%{name}}
a62312
BuildRequires:  python2-devel
a62312
Requires:       %{name}%{?_isa} = %{version}-%{release}
a62312
a62312
%description -n python2-%{name}
a62312
Python 2 bindings for libcomps library.
a62312
a62312
%if %{with python3}
a62312
%package -n python3-%{name}
a62312
Summary:        Python 3 bindings for libcomps library
a62312
BuildRequires:  python3-devel
a62312
%{?python_provide:%python_provide python3-%{name}}
a62312
Requires:       %{name}%{?_isa} = %{version}-%{release}
a62312
Obsoletes:      platform-python-%{name} < %{version}-%{release}
a62312
a62312
%description -n python3-%{name}
a62312
Python3 bindings for libcomps library.
a62312
%endif
a62312
a62312
%prep
70bab7
%autosetup -n %{name}-%{name}-%{version} -p1
a62312
a62312
mkdir build
a62312
a62312
%if %{with python3}
a62312
mkdir build-py3
a62312
%endif
a62312
a62312
%build
a62312
pushd build
a62312
  %cmake ../libcomps/ -DPYTHON_DESIRED:STRING=2
a62312
  %make_build
a62312
  make %{?_smp_mflags} docs
a62312
  make %{?_smp_mflags} pydocs
a62312
popd
a62312
a62312
%if %{with python3}
a62312
pushd build-py3
a62312
  %cmake ../libcomps/ -DPYTHON_DESIRED:STRING=3
a62312
  %make_build
a62312
popd
a62312
%endif
a62312
a62312
%install
a62312
pushd build
a62312
  %make_install
a62312
popd
a62312
a62312
%if %{with python3}
a62312
pushd build-py3
a62312
  %make_install
a62312
popd
a62312
%endif
a62312
a62312
%check
a62312
pushd build
a62312
  make test
a62312
popd
a62312
%if %{with python3}
a62312
pushd build-py3
a62312
  make pytest
a62312
popd
a62312
%endif
a62312
a62312
%post -p /sbin/ldconfig
a62312
%postun -p /sbin/ldconfig
a62312
a62312
%files
a62312
%license COPYING
a62312
%doc README.md
a62312
%{_libdir}/%{name}.so.*
a62312
a62312
%files devel
a62312
%{_libdir}/%{name}.so
a62312
%{_includedir}/%{name}/
a62312
a62312
%files doc
a62312
%doc build/docs/libcomps-doc/html
a62312
a62312
%files -n python-%{name}-doc
a62312
%doc build/src/python/docs/html
a62312
a62312
%files -n python2-%{name}
a62312
%{python2_sitearch}/%{name}/
a62312
a62312
%if %{with python3}
a62312
%files -n python3-%{name}
a62312
%{python3_sitearch}/%{name}/
a62312
%endif
a62312
a62312
%changelog
70bab7
* Tue Oct 08 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.1.8-13
70bab7
- Fix UAF in comps_objmrtree_unite function (RhBug:1668683)
70bab7
a62312
* Mon Jun 11 2018 Marek Blaha <mblaha@redhat.com> - 0.1.8-12
a62312
- Build for RHEL 7
a62312
- Do not use %%ldconfig_scriptlets
a62312
a62312
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-11
a62312
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
a62312
a62312
* Wed Jan 31 2018 Igor Gnatenko <ignatenko@redhat.com> - 0.1.8-10
a62312
- Switch to %%ldconfig_scriptlets
a62312
a62312
* Tue Nov 07 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.1.8-9
a62312
- Use better Obsoletes for platform-python
a62312
a62312
* Fri Nov 03 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.1.8-8
a62312
- Remove platform-python subpackage
a62312
a62312
* Fri Sep 01 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.1.8-7
a62312
- Disable platform python on old releases
a62312
a62312
* Thu Aug 10 2017 Lumír Balhar <lbalhar@redhat.com> - 0.1.8-6
a62312
- Add Platform Python subpackage (https://fedoraproject.org/wiki/Changes/Platform_Python_Stack)
a62312
a62312
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-5
a62312
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
a62312
a62312
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-4
a62312
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
a62312
a62312
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-3
a62312
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
a62312
a62312
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 0.1.8-2
a62312
- Rebuild for Python 3.6
a62312
a62312
* Thu Sep 22 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.1.8-1
a62312
- Update to 0.1.8
a62312
a62312
* Tue Aug 09 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.1.7-6
a62312
- Add %%{?system_python_abi}
a62312
a62312
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.7-5
a62312
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
a62312
a62312
* Tue Apr 12 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.1.7-4
a62312
- Adopt to new packaging guidelines
a62312
- Use %%license macro
a62312
- Fix file ownerships
a62312
a62312
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.7-3
a62312
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
a62312
a62312
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 0.1.7-2
a62312
- Rebuilt for Python3.5 rebuild
a62312
a62312
* Thu Jul 02 2015 Jindrich Luza <jluza@redhat.com> 0.1.7
a62312
- added langpacks to union process
a62312
- comps DOCTYPE read-write-read fix
a62312
- support biarchonly attribute
a62312
- fixed rhbz#1073885 rhbz#1073890 rhbz#1073907 rhbz#1073979
a62312
- fix rhbz#1073079
a62312
- comps_*_match() now support fnmatching
a62312
- added libpycomps.MATCH_IGNORECASE as matching flag
a62312
- added group.packages_match
a62312
- added comps.groups_match, comps.categories_match, comps.entironments_match
a62312
- PyCOMPS_Package hash
a62312
- cmake-2.6, python-2.6, RHEL-6 compatible
a62312
- '_arch' attribute change to 'arch'
a62312
- empty 'arch' attribute will be ommited from output from now
a62312
a62312
* Wed Jan 29 2014 Jindrich Luza <jluza@redhat.com> 0.1.6
a62312
- version bumped
a62312
- added libcomps.MDict.keys()
a62312
-         libcomps.MDict.values()
a62312
-         libcomps.MDict.items()
a62312
-         libcomps.MDict.clear()
a62312
-         libcomps.MDict.update()
a62312
-         libcomps.MDict.copy()
a62312
- COMPS_List replaced with COMPS_HSList
a62312
- added missing basearchonly to DocGroupPackage
a62312
- python3/CMakeLists.txt fixed
a62312
- added explicit attributes support for xml options
a62312
- added arch_filter test for python
a62312
- insert method in libcomps.Sequence
a62312
- Unioning is now accomplished with replace x append policy
a62312
- Weaker package equality check (comparing only name now)
a62312
- Fixed leeks in unioning
a62312
- modified test_merge_comps test_libcomps
a62312
- dictionaries are now storing keys in alphabetical order
a62312
- comps parser redesigned
a62312
- change python/tests directory composition
a62312
- added elem attributes check in parser
a62312
- xml output '_arch' attribute support
a62312
- parser and xml output defaults options for specify defaults values
a62312
- comps object validation in python
a62312
- added validity checker before append/set object to list (python only)
a62312
- .validate() method
a62312
- added libcomps.Dict.keys
a62312
-         libcomps.Dict.values
a62312
-         libcomps.Dict.items
a62312
-         libcomps.Dict.clear
a62312
-         libcomps.Dict.update
a62312
-         libcomps.Dict.copy
a62312
- added xml output options (comps.xml_str([options = {}]), comps.xml_f(options = {}))
a62312
a62312
* Wed Oct 23 2013 Jindrich Luza <jluza@redhat.com> 0.1.4-4
a62312
- group.uservisible is true by default now.
a62312
- fixed comps_mobjradix parent node problem
a62312
- implemented bindings for blacklist, whiteout and langpacks
a62312
- COMPS_Logger redesigned
a62312
a62312
* Tue Oct 08 2013 Jindrich Luza <jluza@redhat.com> 0.1.5
a62312
- version bump
a62312
- PyCOMPS_Sequence.__getitem__["objectid"] implemented for libcomps.GroupList, libcomps.CategoryList, libcomps.EnvList
a62312
- added missing files
a62312
- missing display_order fix for libcomps.Environment
a62312
a62312
* Tue Oct 01 2013 Jindrich Luza <jluza@redhat.com> 0.1.4
a62312
- added missing files
a62312
- architectural redesign finished
a62312
- fixed #1003986 by Gustavo Luiz Duarte guidelines (but not tested on ppc)
a62312
- fixed bug #1000449
a62312
- fixed bug #1000442
a62312
- added GroupId.default test
a62312
- some minor unreported bugs discovered during testing fixed
a62312
- finished default attribute support in groupid object
a62312
- Comps.get_last_parse_errors and Comps.get_last_parse_log has been renamed
a62312
-   as Comps.get_last_errors and Comps.get_last_log
a62312
- version bumped. Python bindings is now easier.
a62312
- added missing files
a62312
a62312
* Tue Aug 20 2013 Jindrich Luza <jluza@redhat.com> 0.1.3
a62312
- finished default attribute support in groupid object
a62312
- Comps.get_last_parse_errors and Comps.get_last_parse_log has been renamed
a62312
-   as Comps.get_last_errors and Comps.get_last_log
a62312
- finished default attribute support in groupid object
a62312
- Comps.get_last_parse_errors and Comps.get_last_parse_log has been renamed
a62312
-   as Comps.get_last_errors and Comps.get_last_log
a62312
a62312
* Thu Jul 18 2013 Jindrich Luza <jluza@redhat.com> 0.1.2
a62312
- automatic changelog system
a62312
- fixed issue #14
a62312
- libcomps.Dict is now behave more like python dict. Implemented iter(libcomps.Dict)
a62312
- libcomps.iteritems() and libcomps.itervalues()
a62312
- remaked error reporting system.
a62312
-     libcomps.Comps.fromxml_f and libcomps.Comps.fromxml_str now return
a62312
-     -1, 0 or 1. 0 means parse procedure completed without any problem,
a62312
-     1 means there's some errors or warnings but not fatal. -1 indicates
a62312
-     fatal error problem (some results maybe given, but probably incomplete
a62312
-     and invalid)
a62312
- errors catched during parsing can be obtained by calling
a62312
-     libcomps.Comps.get_last_parse_errors
a62312
- all log is given by
a62312
-     libcomps.Comps.get_last_parse_log
a62312
- prop system complete
a62312
- fixed issue 1
a62312
- fixed issue 3
a62312
- added <packagereq requires=...> support
a62312
- new prop system in progress....
a62312
- separated doc package
a62312
- some minor fixes in CMakeFiles
a62312
- improved integrated tests
a62312
a62312
* Tue Jun 25 2013 Jindrich Luza <jluza@redhat.com> 0.1.1-1
a62312
- Automatic commit of package [libcomps] release [0.1.1-1].
a62312