Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 1 year ago
commit
04b56266ba
  1. 45
      SOURCES/0001-loader-add-check-for-unknown-file-type.patch
  2. 220
      SOURCES/0002-loader-work-around-lstat-EACCES-regression-in-_g_loc.patch
  3. 330
      SPECS/libosinfo.spec

45
SOURCES/0001-loader-add-check-for-unknown-file-type.patch

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
From d3b1587f7b77b630bae8ab3f4760eda69bd7fe66 Mon Sep 17 00:00:00 2001
From: Victor Toso <victortoso@redhat.com>
Date: Fri, 26 Nov 2021 17:36:09 +0100
Subject: [PATCH 1/1] loader: add check for unknown file type

So we can provide a meaningful error message in case the provided path
is not accessible to running process.

e.g: running HOME=/root osinfo-query os we would get
`Error loading OS data: Unexpected file type`
and now we get
`Error loading OS data: Can't read path /root/.config/osinfo`

This error was first hit with v2v [0] that was leaking $USER and $HOME
of root user when osinfo-query as vsdm user with `sudo -c vdsm`. The
example above is a simple way to show lack of permision of
osinfo-query to read the root's $HOME.

[0] https://bugzilla.redhat.com/show_bug.cgi?id=1901423

Related: https://bugzilla.redhat.com/show_bug.cgi?id=1902720
Signed-off-by: Victor Toso <victortoso@redhat.com>
---
osinfo/osinfo_loader.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
index 3f04fa5..96ca6ee 100644
--- a/osinfo/osinfo_loader.c
+++ b/osinfo/osinfo_loader.c
@@ -2374,6 +2374,11 @@ static void osinfo_loader_find_files(OsinfoLoader *loader,
}
g_object_unref(ents);
g_list_free(children);
+ } else if (type == G_FILE_TYPE_UNKNOWN) {
+ g_autofree gchar *path = g_file_get_path(file);
+ g_autofree gchar *msg = g_strdup_printf("Can't read path %s", path);
+ OSINFO_LOADER_SET_ERROR(&error, msg);
+ g_propagate_error(err, error);
} else {
OSINFO_LOADER_SET_ERROR(&error, "Unexpected file type");
g_propagate_error(err, error);
--
2.33.1

220
SOURCES/0002-loader-work-around-lstat-EACCES-regression-in-_g_loc.patch

@ -0,0 +1,220 @@ @@ -0,0 +1,220 @@
From e5bdc6759195dbcfc4e7dcb02bf59190a3debe06 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Wed, 9 Feb 2022 13:14:54 +0100
Subject: [PATCH] loader: work around lstat()/EACCES regression in
_g_local_file_info_get()

In glib commit 71e7b5800a31 ("Handle MLS selinux policy better",
2010-07-08), which was made for
<https://bugzilla.gnome.org/show_bug.cgi?id=623692>, an lstat() failure
with error code EACCES was *masked* in function _g_local_file_info_get().

Consequently, if osinfo_loader_find_files() calls g_file_query_info() on a
file that is inaccessible due to (e.g.) a missing "x" (search) permission
on a leading directory, then g_file_query_info() succeeds, our
"skipMissing" branch is dead, g_file_info_get_attribute_uint32() is
reached, and it returns G_FILE_TYPE_UNKNOWN.

As a consequence, the outer osinfo_loader_process_default_path() function
can fail, even though it passes skipMissing=TRUE to
osinfo_loader_process_list(). Example:

> $ HOME=/root \
> OSINFO_SYSTEM_DIR=/usr/share/osinfo \
> build/tools/osinfo-query os
> Error loading OS data: Can't read path /root/.config/osinfo

Arguably, this situation should be handled by simply skipping the
inaccessible path, as if all leading directories could be searched, and
only the last pathname compontent (the filename entry) didn't exist in its
direct parent directory.

The glib regression was reported in 2017:

https://bugzilla.gnome.org/show_bug.cgi?id=777187

and then migrated to gitlab:

https://gitlab.gnome.org/GNOME/glib/-/issues/1237

but it's still not solved today.

Work around the issue by honoring "skipMissing" on the G_FILE_TYPE_UNKNOWN
branch. Demonstration:

> $ HOME=/root \
> OSINFO_SYSTEM_DIR=/usr/share/osinfo \
> build/tools/osinfo-query os
>
> ** (osinfo-query:9924): WARNING **: 13:23:12.776: Can't read path /root/.config/osinfo
> Short ID | Name | Version | ID
> ----------------+------------------+---------+----------------------------------------
> alpinelinux3.5 | Alpine Linux 3.5 | 3.5 | http://alpinelinux.org/alpinelinux/3.5
> ...

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2051559
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
osinfo/osinfo_loader.c | 15 ++++++
tests/test-loader.c | 105 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 120 insertions(+)

diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
index 96ca6ee..e244b3f 100644
--- a/osinfo/osinfo_loader.c
+++ b/osinfo/osinfo_loader.c
@@ -2377,6 +2377,21 @@ static void osinfo_loader_find_files(OsinfoLoader *loader,
} else if (type == G_FILE_TYPE_UNKNOWN) {
g_autofree gchar *path = g_file_get_path(file);
g_autofree gchar *msg = g_strdup_printf("Can't read path %s", path);
+ if (skipMissing) {
+ /* This is a work-around for
+ * <https://gitlab.gnome.org/GNOME/glib/-/issues/1237>. If the
+ * lstat() call underlying our g_file_query_info() call at the top
+ * of this function fails for "path" with EACCES, then
+ * g_file_query_info() should fail, and the "skipMissing" branch up
+ * there should suppress the error and return cleanly.
+ * Unfortunately, _g_local_file_info_get() masks the lstat()
+ * failure, g_file_info_get_attribute_uint32() is reached above,
+ * and returns G_FILE_TYPE_UNKNOWN for the file that could never be
+ * accessed. So we need to consider "skipMissing" here too.
+ */
+ g_warning("%s", msg);
+ return;
+ }
OSINFO_LOADER_SET_ERROR(&error, msg);
g_propagate_error(err, error);
} else {
diff --git a/tests/test-loader.c b/tests/test-loader.c
index 6644943..bb86585 100644
--- a/tests/test-loader.c
+++ b/tests/test-loader.c
@@ -16,6 +16,8 @@
*/
#include <osinfo/osinfo.h>
+#include <glib/gstdio.h>
+#include <unistd.h>
static void
test_basic(void)
@@ -31,6 +33,101 @@ test_basic(void)
g_object_unref(loader);
}
+typedef struct {
+ gchar *tmp_parent;
+ gchar *tmp_child;
+ gchar *orig_userdir;
+ gchar *expected_warning;
+} TestEaccesFixture;
+
+static void
+eacces_fixture_setup(TestEaccesFixture *fixture, gconstpointer user_data)
+{
+ gpointer rp;
+ gint ri;
+ gboolean rb;
+
+ /* create a temporary directory with permissions 0700 */
+ fixture->tmp_parent = g_strdup_printf("%s/%s", g_get_tmp_dir(),
+ "test_eacces.XXXXXX");
+ rp = g_mkdtemp_full(fixture->tmp_parent, 0700);
+ g_assert_nonnull(rp);
+
+ /* create a child directory called "osinfo" in it, with permissions 0700 */
+ fixture->tmp_child = g_strdup_printf("%s/osinfo", fixture->tmp_parent);
+ ri = g_mkdir(fixture->tmp_child, 0700);
+ g_assert_cmpint(ri, ==, 0);
+
+ /* revoke the search permission (0100) from the parent */
+ ri = g_chmod(fixture->tmp_parent, 0600);
+ g_assert_cmpint(ri, ==, 0);
+
+ /* stash the current value of OSINFO_USER_DIR */
+ fixture->orig_userdir = g_strdup(g_getenv("OSINFO_USER_DIR"));
+
+ /* point osinfo_loader_get_user_path() inside
+ * osinfo_loader_process_default_path() to the child directory
+ */
+ rb = g_setenv("OSINFO_USER_DIR", fixture->tmp_child, TRUE);
+ g_assert_true(rb);
+
+ /* format the pattern for the warning expected later on */
+ fixture->expected_warning = g_strdup_printf("Can't read path %s",
+ fixture->tmp_child);
+}
+
+static void
+eacces_fixture_teardown(TestEaccesFixture *fixture, gconstpointer user_data)
+{
+ gboolean rb;
+ gint ri;
+
+ /* free the expected warning pattern */
+ g_free(fixture->expected_warning);
+
+ /* restore the OSINFO_USER_DIR variable */
+ if (fixture->orig_userdir) {
+ rb = g_setenv("OSINFO_USER_DIR", fixture->orig_userdir, TRUE);
+ g_assert_true(rb);
+ g_free(fixture->orig_userdir);
+ } else {
+ g_unsetenv("OSINFO_USER_DIR");
+ }
+
+ /* restore search permission on the parent */
+ ri = g_chmod(fixture->tmp_parent, 0700);
+ g_assert_cmpint(ri, ==, 0);
+
+ /* remove both directories */
+ ri = g_rmdir(fixture->tmp_child);
+ g_assert_cmpint(ri, ==, 0);
+ g_free(fixture->tmp_child);
+
+ ri = g_rmdir(fixture->tmp_parent);
+ g_assert_cmpint(ri, ==, 0);
+ g_free(fixture->tmp_parent);
+}
+
+static void
+test_eacces(TestEaccesFixture *fixture, gconstpointer user_data)
+{
+ OsinfoLoader *loader = osinfo_loader_new();
+ GError *error = NULL;
+
+ g_assert_true(OSINFO_IS_LOADER(loader));
+
+ /* this should trigger an EACCES in glib's lstat(), but not break db
+ * loading; also we expect the warning here
+ */
+ g_test_expect_message(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
+ fixture->expected_warning);
+ osinfo_loader_process_default_path(loader, &error);
+ g_assert_no_error(error);
+ g_test_assert_expected_messages();
+
+ g_object_unref(loader);
+}
+
int
main(int argc, char *argv[])
{
@@ -38,6 +135,14 @@ main(int argc, char *argv[])
g_test_add_func("/loader/basic", test_basic);
+ /* the following test depends on a directory with file mode bits 0600 being
+ * unsearchable for the owner, so skip it if the test is running as root
+ */
+ if (geteuid() != 0) {
+ g_test_add("/loader/eacces", TestEaccesFixture, NULL,
+ eacces_fixture_setup, test_eacces, eacces_fixture_teardown);
+ }
+
/* Upfront so we don't confuse valgrind */
osinfo_entity_get_type();
osinfo_db_get_type();
--
2.34.1

330
SPECS/libosinfo.spec

@ -0,0 +1,330 @@ @@ -0,0 +1,330 @@
# -*- rpm-spec -*-

Summary: A library for managing OS information for virtualization
Name: libosinfo
Version: 1.9.0
Release: 5%{?dist}
License: LGPLv2+
Source: https://releases.pagure.io/%{name}/%{name}-%{version}.tar.xz
URL: https://libosinfo.org/

### Patches ###
Patch0001: 0001-loader-add-check-for-unknown-file-type.patch
Patch0002: 0002-loader-work-around-lstat-EACCES-regression-in-_g_loc.patch

BuildRequires: meson
BuildRequires: gcc
BuildRequires: gtk-doc
BuildRequires: gettext-devel
BuildRequires: glib2-devel
BuildRequires: libxml2-devel >= 2.6.0
BuildRequires: libxslt-devel >= 1.0.0
BuildRequires: libsoup-devel
BuildRequires: vala
BuildRequires: /usr/bin/pod2man
BuildRequires: hwdata
BuildRequires: gobject-introspection-devel
BuildRequires: osinfo-db
BuildRequires: git
Requires: hwdata
Requires: osinfo-db
Requires: osinfo-db-tools

%description
libosinfo is a library that allows virtualization provisioning tools to
determine the optimal device settings for a hypervisor/operating system
combination.

%package devel
Summary: Libraries, includes, etc. to compile with the libosinfo library
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
Requires: glib2-devel
# -vala subpackage removed in F30
Obsoletes: libosinfo-vala < 1.3.0-3
Provides: libosinfo-vala = %{version}-%{release}

%description devel
libosinfo is a library that allows virtualization provisioning tools to
determine the optimal device settings for a hypervisor/operating system
combination.

Libraries, includes, etc. to compile with the libosinfo library

%prep
%autosetup -S git

%build
%meson \
-Denable-gtk-doc=true \
-Denable-tests=true \
-Denable-introspection=enabled \
-Denable-vala=enabled
%meson_build

%install
%meson_install

%find_lang %{name}

%check
%meson_test

%ldconfig_scriptlets

%files -f %{name}.lang
%doc AUTHORS ChangeLog COPYING.LIB NEWS README
%{_bindir}/osinfo-detect
%{_bindir}/osinfo-query
%{_bindir}/osinfo-install-script
%{_mandir}/man1/osinfo-detect.1*
%{_mandir}/man1/osinfo-query.1*
%{_mandir}/man1/osinfo-install-script.1*
%{_libdir}/%{name}-1.0.so.*
%{_libdir}/girepository-1.0/Libosinfo-1.0.typelib

%files devel
%{_libdir}/%{name}-1.0.so
%dir %{_includedir}/%{name}-1.0/
%dir %{_includedir}/%{name}-1.0/osinfo/
%{_includedir}/%{name}-1.0/osinfo/*.h
%{_libdir}/pkgconfig/%{name}-1.0.pc
%{_datadir}/gir-1.0/Libosinfo-1.0.gir
%{_datadir}/gtk-doc/html/Libosinfo

%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/libosinfo-1.0.deps
%{_datadir}/vala/vapi/libosinfo-1.0.vapi

%changelog
* Fri Feb 11 2022 Victor Toso <victortoso@redhat.com> - 1.9.0-5
- Warn on EACCES error when skipMissing is set
Resolves: rhbz#2051559

* Wed Dec 01 2021 Victor Toso <victortoso@redhat.com> - 1.9.0-4
- Improve error message on failure to access database due permission
Related: rhbz#1942431

* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.9.0-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688

* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.9.0-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937

* Tue Feb 02 2021 Fabiano Fidêncio <fidencio@redhat.com> - 1.9.0-1
- Update to 1.9.0 release

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-5
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Sat May 30 2020 Fabiano Fidêncio <fidencio@redhat.com> - 1.8.0-1
- Update to 1.8.0 release

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Mon Jan 13 2020 Fabiano Fidêncio <fidencio@redhat.com> - 1.7.1-2
- Fix OsinfoList ABI breakage

* Wed Dec 04 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.7.1-1
- Update to 1.7.1 release

* Fri Nov 29 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.7.0-1
- Update to 1.7.0 release

* Fri Nov 08 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.6.0-2
- Improve ISO detection mechanism

* Fri Jul 26 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.6.0-1
- Update to 1.6.0 release

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Wed Jul 10 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.5.0-3
- rhbz#1727767 - CVE-2019-13313 libosinfo: osinfo-install-script
option leaks password via command line argument

* Mon Jun 03 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.5.0-2
- Fix coverity issues

* Thu May 09 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.5.0-1
- Update to 1.5.0 release

* Thu Apr 11 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.4.0-3
- rhbz#1698845: Require GVFS

* Wed Apr 10 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.4.0-2
- Fix usage of application ID
- Fix images' load
- Remove tests depending on osinfo-db

* Fri Mar 01 2019 Fabiano Fidêncio <fidencio@redhat.com> 1.4.0-1
- Update to 1.4.0 release

* Mon Feb 04 2019 Kalev Lember <klember@redhat.com> - 1.3.0-3
- Use standard vala packaging pattern where vapi files are in -devel

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Jan 30 2019 Daniel P. Berrangé <berrange@redhat.com> - 1.3.0-1
- Update to 1.3.0 release

* Thu Oct 11 2018 Fabiano Fidêncio <fabiano@fidencio.org> - 1.2.0-5
- Do not force anchored patterns on libosinfo, leave it for osinfo-db

* Thu Sep 20 2018 Fabiano Fidêncio <fabiano@fidencio.org> - 1.2.0-4
- Require osinfo-db >= 20180920-1

* Thu Sep 20 2018 Fabiano Fidêncio <fabiano@fidencio.org> - 1.2.0-3
- Force anchored patterns when matching regex

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Jun 20 2018 Daniel P. Berrangé <berrange@redhat.com> - 1.2.0-1
- Update to 1.2.0 release

* Tue Feb 06 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.1.0-2
- Switch to %%ldconfig_scriptlets

* Tue Aug 15 2017 Daniel P. Berrange <berrange@redhat.com> 1.1.0-1
- New upstream release 1.1.0

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Fri Oct 7 2016 Daniel P. Berrange <berrange@redhat.com> 1.0.0-1
- New upstream release 1.0.0

* Fri Jul 1 2016 Daniel P. Berrange <berrange@redhat.com> 0.3.1-1
- New upstream release 0.3.1

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Fri Jan 8 2016 Zeeshan Ali <zeenix@redhat.com> 0.3.0-1
- New upstream release 0.3.0

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Thu May 28 2015 Zeeshan Ali <zeenix@redhat.com> 0.2.12-1
- New upstream release 0.2.12

* Mon Sep 22 2014 Cole Robinson <crobinso@redhat.com> - 0.2.11-2
- os: Add Fedora 21

* Tue Aug 26 2014 Christophe Fergeau <cfergeau@redhat.com> 0.2.11-1
- New upstream release 0.2.11

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Tue Jul 22 2014 Kalev Lember <kalevlember@gmail.com> - 0.2.9-3
- Rebuilt for gobject-introspection 1.41.4

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed Dec 18 2013 Debarshi Ray <rishi@fedoraproject.org> - 0.2.9-1
- New upstream release 0.2.9

* Thu Nov 28 2013 Zeeshan Ali <zeenix@redhat.com> - 0.2.8-1
- New upstream release 0.2.8

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Tue May 14 2013 Zeeshan Ali <zeenix@redhat.com> - 0.2.7-1
- New upstream release 0.2.7

* Thu Mar 21 2013 Zeeshan Ali <zeenix@redhat.com> - 0.2.6-1
- New upstream release 0.2.6

* Wed Mar 06 2013 Christophe Fergeau <cfergeau@redhat.com> - 0.2.5-2
- BuildRequires /usr/bin/pod2man as this will automatically pick the right
package rather than conditionally requiring a package that is only
available in f19+
- Do not Requires: udev when building libosinfo without its udev rule
(which is done on f19+)

* Tue Mar 05 2013 Christophe Fergeau <cfergeau@redhat.com> 0.2.5-1
- New upstream release 0.2.5
- Disable udev rule as it's no longer required with newer
systemd/util-linux

* Tue Feb 12 2013 Cole Robinson <crobinso@redhat.com> - 0.2.3-2
- Fix osinfo-detect crash with non-bootable media (bz #901910)

* Mon Jan 14 2013 Zeeshan Ali <zeenix@redhat.com> - 0.2.3-1
- New upstream release 0.2.3

* Thu Dec 20 2012 Christophe Fergeau <cfergeau@redhat.com> - 0.2.2-1
- New upstream release 0.2.2

* Fri Oct 12 2012 Zeeshan Ali <zeenix@redhat.com> - 0.2.1-1
- Fix and simplify udev rule.
- Fedora:
- Fix minimum RAM requirements for F16 and F17.
- Add data on:
- Fedora 18
- GNOME 3.6
- Ubuntu 12.10
- Fixes to doc build.
- Install script:
- Add get_config_param method.
- Differenciate between expected/output script names.
- Add more utility functions.
- Add 'installer-reboots' parameter to medias.
- osinfo-detect does not die of DB loading errors anymore.
- More type-specific entity value getters/setters.
- Fixe and update RNG file.
- Add 'subsystem' property/attribute to devices.

* Mon Sep 03 2012 Christophe Fergeau <cfergeau@redhat.com> - 0.2.0-1
- Update to 0.2.0 release.

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Jun 12 2012 Zeeshan Ali <zeenix@redhat.com> - 0.1.2-1
- Update to 0.1.2 release.

* Thu Apr 12 2012 Zeeshan Ali <zeenix@redhat.com> - 0.1.1-1
- Update to 0.1.1 release.

* Wed Mar 14 2012 Daniel P. Berrange <berrange@redhat.com> - 0.1.0-2
- Remove obsolete perl based scripts (rhbz #803086)

* Wed Feb 08 2012 Christophe Fergeau <cfergeau@redhat.com> - 0.1.0-1
- Update to 0.1.0 release

* Tue Jan 17 2012 Zeeshan Ali <zeenix@redhat.com> - 0.0.5-1
- Update to 0.0.5 release

* Tue Jan 3 2012 Daniel P. Berrange <berrange@redhat.com> - 0.0.4-2
- Remove pointless gir conditionals

* Wed Dec 21 2011 Daniel P. Berrange <berrange@redhat.com> - 0.0.4-1
- Update to 0.0.4 release

* Thu Nov 24 2011 Daniel P. Berrange <berrange@redhat.com> - 0.0.2-1
- Initial package

Loading…
Cancel
Save