import libcomps-0.1.11-4.el8

This commit is contained in:
CentOS Sources 2020-04-23 22:26:06 +00:00 committed by Andrew Lukoshko
commit d05fc33a18
6 changed files with 627 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/libcomps-0.1.11.tar.gz

1
.libcomps.metadata Normal file
View File

@ -0,0 +1 @@
ad66eb33f10da57565fbbf44e30e4d418f0a0a4d SOURCES/libcomps-0.1.11.tar.gz

View File

@ -0,0 +1,26 @@
From 849ae4a7c7abe72baaeb22214be3e04e4e43eb81 Mon Sep 17 00:00:00 2001
From: Jaroslav Rohel <jrohel@redhat.com>
Date: Wed, 22 May 2019 13:21:19 +0200
Subject: [PATCH] Fix: order of asserts() in unit test (RhBug:1713220)
---
libcomps/src/python/tests/__test.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libcomps/src/python/tests/__test.py b/libcomps/src/python/tests/__test.py
index 40c2e83..c9b4dd4 100644
--- a/libcomps/src/python/tests/__test.py
+++ b/libcomps/src/python/tests/__test.py
@@ -891,8 +891,8 @@ class COMPSTest(unittest.TestCase):
gid1 = libcomps.GroupId("gid1")
gid2 = libcomps.GroupId("gid2", default=False)
gid3 = libcomps.GroupId("gid3", default=True)
- self.assertRaises(TypeError, gid1.__eq__, 1)
self.assertTrue(gid1 != None)
+ self.assertRaises(TypeError, gid1.__eq__, 1)
self.assertTrue(gid1 == gid1)
self.assertTrue(gid1 != "gid2")
self.assertTrue(gid1 != gid2)
--
libgit2 0.28.2

View File

@ -0,0 +1,161 @@
From 257df5670310775a9c279f5f34e3d088966759b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
Date: Mon, 7 Oct 2019 12:14:22 +0200
Subject: [PATCH 1/3] Update couple of tests
- list indices cannot by of type float
- remove unnecessary print
- update print with parenthesis which are now required in python
---
libcomps/src/python/tests/__test.py | 2 +-
libcomps/src/python/tests/test_libcomps.py | 1 -
libcomps/src/python/tests/test_merge_comps.py | 4 ++--
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/libcomps/src/python/tests/__test.py b/libcomps/src/python/tests/__test.py
index c9b4dd4..c7529f3 100644
--- a/libcomps/src/python/tests/__test.py
+++ b/libcomps/src/python/tests/__test.py
@@ -225,7 +225,7 @@ def test_union3(self):
def test_hash(self):
s = set()
for x in range(6):
- s.add(self.obj_constructor(**self.obj_data[x/2]))
+ s.add(self.obj_constructor(**self.obj_data[int(x/2)]))
self.assertTrue(len(s) == 3)
self.assertTrue(hash(self.obj_constructor(**self.obj_data[0])) ==\
hash(self.obj_constructor(**self.obj_data[0])))
diff --git a/libcomps/src/python/tests/test_libcomps.py b/libcomps/src/python/tests/test_libcomps.py
index 2a18984..71311ef 100755
--- a/libcomps/src/python/tests/test_libcomps.py
+++ b/libcomps/src/python/tests/test_libcomps.py
@@ -19,7 +19,6 @@
class TestLibcomps(unittest.TestCase):
def setUp(self):
- print (dir(libcomps))
self.comps = libcomps.Comps()
self.comps.fromxml_f("comps/comps-f21.xml")
self.tmp_dir = tempfile.mkdtemp()
diff --git a/libcomps/src/python/tests/test_merge_comps.py b/libcomps/src/python/tests/test_merge_comps.py
index beef2cf..73e743f 100755
--- a/libcomps/src/python/tests/test_merge_comps.py
+++ b/libcomps/src/python/tests/test_merge_comps.py
@@ -7,10 +7,10 @@
try:
import _libpycomps as libcomps
- print "local tests"
+ print("local tests")
except ImportError:
import libcomps
- print "global tests"
+ print("global tests")
class TestMergeComps(unittest.TestCase):
From 1b7add27595b12b9f47e54c3e5f1bda2177da346 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
Date: Mon, 7 Oct 2019 12:50:21 +0200
Subject: [PATCH 2/3] Fix segfault when converting empty dict to string
(RhBug:1757959)
Handle all elements in single loop consistently, instead of handling
last element separately which caused problems with empty dictionary.
https://bugzilla.redhat.com/show_bug.cgi?id=1757959
---
libcomps/src/python/src/pycomps_dict.c | 20 +-------------------
1 file changed, 1 insertion(+), 19 deletions(-)
diff --git a/libcomps/src/python/src/pycomps_dict.c b/libcomps/src/python/src/pycomps_dict.c
index 1b42909..4a20cf7 100644
--- a/libcomps/src/python/src/pycomps_dict.c
+++ b/libcomps/src/python/src/pycomps_dict.c
@@ -78,7 +78,7 @@ PyObject* PyCOMPSDict_str(PyObject *self) {
pairlist = comps_objdict_pairs(((PyCOMPS_Dict*)self)->dict);
char *tmpstr;
- for (it = pairlist->first; it != pairlist->last; it = it->next) {
+ for (it = pairlist->first; it != NULL; it = it->next) {
tmp = ret;
tmpkey = __pycomps_lang_decode(((COMPS_ObjRTreePair*)it->data)->key);
if (!tmpkey) {
@@ -99,24 +99,6 @@ PyObject* PyCOMPSDict_str(PyObject *self) {
Py_XDECREF(tmpkey);
Py_XDECREF(tmpval);
}
- tmp = ret;
- tmpkey = __pycomps_lang_decode(((COMPS_RTreePair*)it->data)->key);
- if (!tmpkey) {
- goto out;
- }
- tmpstr = comps_object_tostr(((COMPS_ObjRTreePair*)it->data)->data);
- tmpval = __pycomps_lang_decode(tmpstr);
- free(tmpstr);
- if (!tmpval) {
- //PyErr_SetString(PyExc_TypeError, "val convert error");
- goto out;
- }
- tmp2 = PyUnicode_FromFormat("%U = '%U'", tmpkey, tmpval);
- ret = PyUnicode_Concat(ret, tmp2);
- Py_XDECREF(tmp);
- Py_XDECREF(tmp2);
- Py_XDECREF(tmpkey);
- Py_XDECREF(tmpval);
tmp = ret;
tmp2 = PyUnicode_FromString("}");
From 6b4bffb541e70a1715e91ba06de8172b57cd26f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
Date: Mon, 7 Oct 2019 12:52:59 +0200
Subject: [PATCH 3/3] Add test for python API with empty *_by_lang dictionary
input
---
.../python/tests/comps/comps_empty_by_lang_tags.xml | 12 ++++++++++++
libcomps/src/python/tests/test_libcomps.py | 10 ++++++++++
2 files changed, 22 insertions(+)
create mode 100644 libcomps/src/python/tests/comps/comps_empty_by_lang_tags.xml
diff --git a/libcomps/src/python/tests/comps/comps_empty_by_lang_tags.xml b/libcomps/src/python/tests/comps/comps_empty_by_lang_tags.xml
new file mode 100644
index 0000000..2f40a86
--- /dev/null
+++ b/libcomps/src/python/tests/comps/comps_empty_by_lang_tags.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
+<comps>
+ <group>
+ <id>birds</id>
+ <description></description>
+ </group>
+ <category>
+ <id>all</id>
+ <name>all</name>
+ </category>
+</comps>
diff --git a/libcomps/src/python/tests/test_libcomps.py b/libcomps/src/python/tests/test_libcomps.py
index 71311ef..64c2b59 100755
--- a/libcomps/src/python/tests/test_libcomps.py
+++ b/libcomps/src/python/tests/test_libcomps.py
@@ -153,6 +153,16 @@ def test_duplicate_groups(self):
#print self.comps.xml_str()
self.comps.fromxml_str(self.comps.xml_str())
+ def test_empty_by_lang_tags(self):
+ self.comps = libcomps.Comps()
+ self.comps.fromxml_f("comps/comps_empty_by_lang_tags.xml")
+ for group in self.comps.groups:
+ self.assertEqual("{}", str(group.name_by_lang))
+ self.assertEqual("{}", str(group.desc_by_lang))
+
+ for category in self.comps.categories:
+ self.assertEqual("{}", str(category.name_by_lang))
+ self.assertEqual("{}", str(category.desc_by_lang))
if __name__ == "__main__":
unittest.main(testRunner = utest.MyRunner)

View File

@ -0,0 +1,64 @@
From be21c727509e252859d7850f7d7ec06c51ba15b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
Date: Mon, 6 Jan 2020 12:08:00 +0100
Subject: [PATCH] Do not skip type=mandatory in xml output and test it
(RhBug:1771224)
The mandatory type is used when no other configuration and no other
type is specified but since this behavior can be overridden with passed
configuration it doesn't make sense to always skip outputting the type
mandatory.
The user can specify for example optional type as default and then
the knowledge that some specific <packagereq> were mandatory would be
lost.
https://bugzilla.redhat.com/show_bug.cgi?id=1771224
---
libcomps/src/comps_docpackage.c | 5 +++--
libcomps/src/python/tests/__test.py | 10 +++++++++-
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/libcomps/src/comps_docpackage.c b/libcomps/src/comps_docpackage.c
index 25d8564..f2d6bae 100644
--- a/libcomps/src/comps_docpackage.c
+++ b/libcomps/src/comps_docpackage.c
@@ -164,8 +164,9 @@ signed char comps_docpackage_xml(COMPS_DocGroupPackage *pkg,
str = "conditional";
else
str = "default";
- if (pkg->type != COMPS_PACKAGE_MANDATORY)
- ret = xmlTextWriterWriteAttribute(writer, BAD_CAST "type", BAD_CAST str);
+
+ ret = xmlTextWriterWriteAttribute(writer, BAD_CAST "type", BAD_CAST str);
+
if (pkg->requires) {
str = comps_object_tostr((COMPS_Object*)pkg->requires);
ret = xmlTextWriterWriteAttribute(writer, (xmlChar*) "requires",
diff --git a/libcomps/src/python/tests/__test.py b/libcomps/src/python/tests/__test.py
index c7529f3..9cb957a 100644
--- a/libcomps/src/python/tests/__test.py
+++ b/libcomps/src/python/tests/__test.py
@@ -620,6 +620,14 @@ def test_hash(self):
self.assertTrue(hash(pkg2) != hash(pkg3))
self.assertTrue(len(set([pkg1,pkg2,pkg3])) == 2)
+ def test_mandatory_in_xml_out(self):
+ self.comps = libcomps.Comps()
+ self.comps.groups.append(libcomps.Group("g1", "group1", "group desc", 0, 0, 0, "en"))
+ self.comps.groups[0].packages.append(libcomps.Package("kernel", libcomps.PACKAGE_TYPE_MANDATORY))
+
+ out = self.comps.xml_str()
+ self.assertTrue("<packagereq type=\"mandatory\" requires=\"\">kernel</packagereq>" in out)
+
#@unittest.skip("skip")
class DictTest(unittest.TestCase):
def test_dict(self):
@@ -998,7 +1006,7 @@ def test_xml_options(self):
self.assertEqual(len(comps2.groups), 0)
self.assertEqual(len(comps2.categories), 0)
self.assertEqual(len(comps2.environments), 0)
-
+
s = comps.toxml_str(xml_options={"empty_groups": True,
"empty_categories": True,
"empty_environments": True})

374
SPECS/libcomps.spec Normal file
View File

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