[packages/PackageKit] - updated to 0.8.15 - removed obsolete PLD, bashism patches - zif backend is gone in favour of hawke

qboosh qboosh at pld-linux.org
Sun Jan 19 21:24:07 CET 2014


commit d113818a54914b4a5bb1dc69578e758a5628640f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Jan 19 21:25:13 2014 +0100

    - updated to 0.8.15
    - removed obsolete PLD, bashism patches
    - zif backend is gone in favour of hawkey; added hawkey-rpm5 patch to allow build it with rpm5

 PackageKit-PLD.patch         |  24 --
 PackageKit-hawkey-rpm5.patch | 514 +++++++++++++++++++++++++++++++++++++++++++
 PackageKit.spec              |  96 +++-----
 bashism.patch                |   8 -
 4 files changed, 545 insertions(+), 97 deletions(-)
---
diff --git a/PackageKit.spec b/PackageKit.spec
index dc58f1c..31cca70 100644
--- a/PackageKit.spec
+++ b/PackageKit.spec
@@ -8,7 +8,7 @@
 %bcond_without	poldek		# Poldek backend
 %bcond_without	smart		# SMART backend
 %bcond_without	yum		# YUM backend
-%bcond_with	zif		# Zif backend
+%bcond_with	hawkey		# Hawkey backend
 %bcond_with	browser		# browser plugin (patrys says: it's flawed by concept)
 
 # default backend, configurable at runtime
@@ -17,14 +17,13 @@
 Summary:	System daemon that is a D-Bus abstraction layer for package management
 Summary(pl.UTF-8):	Demon systemowy będący warstwą abstrakcji D-Bus do zarządzania pakietami
 Name:		PackageKit
-Version:	0.8.13
+Version:	0.8.15
 Release:	1
 License:	GPL v2+
 Group:		Applications/System
 Source0:	http://www.packagekit.org/releases/%{name}-%{version}.tar.xz
-# Source0-md5:	c8f7207cca4fcdb3d62d012b67c2f319
-Patch1:		%{name}-PLD.patch
-Patch2:		bashism.patch
+# Source0-md5:	147e35b64e3e3b9ca8b2baefb37531f6
+Patch0:		%{name}-hawkey-rpm5.patch
 Patch3:		smart-at-fix.patch
 Patch4:		%{name}-gstreamer.patch
 Patch5:		%{name}-bashcomp.patch
@@ -47,17 +46,19 @@ BuildRequires:	gstreamer-plugins-base-devel >= 1.0.0
 BuildRequires:	gtk+2-devel >= 2:2.14.0
 BuildRequires:	gtk+3-devel >= 3.0.0
 %{?with_doc:BuildRequires:	gtk-doc >= 1.11}
+%{?with_hawkey:BuildRequires:	hawkey-devel >= 0.4.5}
 BuildRequires:	intltool >= 0.35.0
 BuildRequires:	libarchive-devel
+%{?with_hawkey:BuildRequires:	librepo-devel}
 BuildRequires:	libtool
 BuildRequires:	libxslt-progs
 BuildRequires:	pango-devel
 BuildRequires:	pkgconfig
-BuildRequires:	pm-utils
 %{?with_poldek:BuildRequires:	poldek-devel >= 0.30-1.rc6.4}
 BuildRequires:	polkit-devel >= 0.98
 BuildRequires:	python-devel >= 1:2.7
 BuildRequires:	readline-devel
+%{?with_hawkey:BuildRequires:	rpm-devel >= 4.11.0}
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.311
 BuildRequires:	sqlite3-devel >= 3
@@ -65,7 +66,6 @@ BuildRequires:	systemd-devel
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	udev-glib-devel
 BuildRequires:	xz
-%{?with_zif:BuildRequires:	zif >= 0.2.8}
 %if %{with browser}
 BuildRequires:	cairo-devel
 BuildRequires:	nspr-devel >= 4.8
@@ -78,6 +78,7 @@ Requires:	ConsoleKit-x11
 Requires:	crondaemon
 Requires:	polkit >= 0.98
 Obsoletes:	PackageKit-docs < 0.8.4
+Obsoletes:	pm-utils-packagekit
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -141,6 +142,21 @@ PackageKit library API documentation.
 %description apidocs -l pl.UTF-8
 Dokumentacja API biblioteki PackageKit.
 
+%package backend-hawkey
+Summary:	PackageKit Hawkey backend
+Summary(pl.UTF-8):	Backend PackageKit oparty na Hawkeyu
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	hawkey >= 0.4.5
+Provides:	%{name}-backend = %{version}-%{release}
+Obsoletes:	PackageKit-backend-zif
+
+%description backend-hawkey
+A backend for PackageKit to enable Hawkey functionality.
+
+%description backend-hawkey -l pl.UTF-8
+Backend PackageKit dodający obsługę Hawkeya.
+
 %package backend-poldek
 Summary:	PackageKit Poldek backend
 Summary(pl.UTF-8):	Backend PackageKit oparty na Poldku
@@ -184,20 +200,6 @@ A backend for PackageKit to enable yum functionality.
 %description backend-yum -l pl.UTF-8
 Backend PackageKit dodający obsługę Yuma.
 
-%package backend-zif
-Summary:	PackageKit Zif backend
-Summary(pl.UTF-8):	Backend PackageKit oparty na Zifie
-Group:		Libraries
-Requires:	%{name} = %{version}-%{release}
-Requires:	zif >= 0.2.8
-Provides:	%{name}-backend = %{version}-%{release}
-
-%description backend-zif
-A backend for PackageKit to enable Zif functionality.
-
-%description backend-zif -l pl.UTF-8
-Backend PackageKit dodający obsługę Zifa.
-
 %package gstreamer-plugin
 Summary:	GStreamer codecs installer
 Summary(pl.UTF-8):	Instalator kodeków GStreamera
@@ -253,18 +255,6 @@ This package provides bash-completion for PackageKit console commands.
 Pakiet ten dostarcza bashowe uzupełnianie parametrów dla poleceń
 konsolowych PackageKit.
 
-%package -n pm-utils-packagekit
-Summary:	PackageKit script for pm-utils
-Summary(pl.UTF-8):	Skrypt PackageKit dla pm-utils
-Group:		Applications/System
-Requires:	pm-utils
-
-%description -n pm-utils-packagekit
-PackageKit script for pm-utils.
-
-%description -n pm-utils-packagekit -l pl.UTF-8
-Skrypt PackageKit dla pm-utils.
-
 %package -n python-packagekit
 Summary:	PackageKit Python bindings
 Summary(pl.UTF-8):	Wiązania PackageKit dla Pythona
@@ -294,8 +284,7 @@ Wtyczka PackageKit do przeglądarek WWW.
 
 %prep
 %setup -q
-%patch1 -p1
-%patch2 -p1
+%patch0 -p1
 %patch3 -p0
 %patch4 -p1
 %patch5 -p1
@@ -319,10 +308,10 @@ Wtyczka PackageKit do przeglądarek WWW.
 	--disable-silent-rules \
 	--enable-bash-completion=%{bash_compdir} \
 	%{__enable_disable browser browser-plugin} \
+	%{__enable_disable hawkey} \
 	%{__enable_disable poldek} \
 	%{__enable_disable smart} \
 	%{__enable_disable yum} \
-	%{__enable_disable zif} \
 	--with-default-backend=%{backend} \
 	--with-html-dir=%{_gtkdocdir} \
 	--with-mozilla-plugin-dir=%{_browserpluginsdir} \
@@ -338,9 +327,6 @@ rm -rf $RPM_BUILD_ROOT
 # use pk-gstreamer-install as codec installer
 ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper
 
-install -d $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
-install -p contrib/pm-utils/95packagekit $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
-
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk-{2,3}.0/modules/*.{la,a}
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.{la,a}
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/libpk_backend_test_*.so
@@ -394,26 +380,19 @@ fi
 %doc AUTHORS HACKING MAINTAINERS NEWS README TODO
 %attr(755,root,root) %{_bindir}/packagekit-bugreport.sh
 %attr(755,root,root) %{_bindir}/pkcon
-%attr(755,root,root) %{_bindir}/pkgenpack
 %attr(755,root,root) %{_bindir}/pkmon
 %attr(755,root,root) %{_bindir}/pk-debuginfo-install
 %attr(750,root,root) /etc/cron.daily/packagekit-background.cron
 %dir %{_libdir}/packagekit-backend
 %dir %{_libdir}/packagekit-plugins
-%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so
-%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-clear-firmware-requests.so
-%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-no-update-process.so
-%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-require-restart.so
 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-scan-desktop-files.so
 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-systemd-updates.so
-%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-update-check-processes.so
 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-update-package-cache.so
 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin_scripts.so
 %attr(755,root,root) %{_libdir}/packagekitd
 %attr(755,root,root) %{_libdir}/pk-clear-offline-update
 %attr(755,root,root) %{_libdir}/pk-offline-update
 %attr(755,root,root) %{_libdir}/pk-trigger-offline-update
-%attr(755,root,root) %{_sbindir}/pk-device-rebind
 %dir %{_sysconfdir}/PackageKit
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/PackageKit.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Vendor.conf
@@ -428,13 +407,8 @@ fi
 %{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy
 %{_datadir}/polkit-1/rules.d/org.freedesktop.packagekit.rules
 %{_datadir}/dbus-1/system-services/org.freedesktop.PackageKit.service
-%{_datadir}/mime/packages/packagekit-catalog.xml
-%{_datadir}/mime/packages/packagekit-package-list.xml
-%{_datadir}/mime/packages/packagekit-servicepack.xml
 %{_mandir}/man1/pkcon.1*
 %{_mandir}/man1/pk-debuginfo-install.1*
-%{_mandir}/man1/pk-device-rebind.1*
-%{_mandir}/man1/pkgenpack.1*
 %{_mandir}/man1/pkmon.1*
 %{systemdunitdir}/packagekit.service
 %{systemdunitdir}/packagekit-offline-update.service
@@ -474,6 +448,12 @@ fi
 %defattr(644,root,root,755)
 %{_gtkdocdir}/PackageKit
 
+%if %{with hawkey}
+%files backend-hawkey
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_hawkey.so
+%endif
+
 %if %{with poldek}
 %files backend-poldek
 %defattr(644,root,root,755)
@@ -491,7 +471,6 @@ fi
 %if %{with yum}
 %files backend-yum
 %defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Yum.conf
 %attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_yum.so
 %dir %{_datadir}/PackageKit/helpers/yum
 %{_datadir}/PackageKit/helpers/yum/licenses.txt
@@ -505,15 +484,6 @@ fi
 %{_prefix}/lib/yum-plugins/refresh-packagekit.py
 %endif
 
-%if %{with zif}
-%files backend-zif
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_zif.so
-%dir %{_datadir}/PackageKit/helpers/zif
-%{_datadir}/PackageKit/helpers/zif/licenses.txt
-%{_datadir}/PackageKit/helpers/zif/zif-comps-groups.conf
-%endif
-
 %files gstreamer-plugin
 %defattr(644,root,root,755)
 %doc contrib/gstreamer-plugin/README
@@ -534,10 +504,6 @@ fi
 %defattr(644,root,root,755)
 %{bash_compdir}/pkcon
 
-%files -n pm-utils-packagekit
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/pm-utils/sleep.d/95packagekit
-
 %files -n python-packagekit
 %defattr(644,root,root,755)
 %dir %{py_sitescriptdir}/packagekit
diff --git a/PackageKit-PLD.patch b/PackageKit-PLD.patch
deleted file mode 100644
index fa98eb9..0000000
--- a/PackageKit-PLD.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urN PackageKit-0.4.4/etc/PackageKit.conf.in PackageKit-0.4.4.new/etc/PackageKit.conf.in
---- PackageKit-0.4.4/etc/PackageKit.conf.in	2009-02-20 17:36:32.000000000 +0100
-+++ PackageKit-0.4.4.new/etc/PackageKit.conf.in	2009-02-23 16:28:31.000000000 +0100
-@@ -86,7 +86,7 @@
- # NOTE: Don't enable this for backends that are slow doing GetPackages()
- #
- # default=true
--UpdatePackageList=true
-+UpdatePackageList=false
- 
- # Check for running processes when we update packages
- #
-diff -urN PackageKit-0.4.4/etc/Vendor.conf PackageKit-0.4.4.new/etc/Vendor.conf
---- PackageKit-0.4.4/etc/Vendor.conf	2009-02-06 17:01:48.000000000 +0100
-+++ PackageKit-0.4.4.new/etc/Vendor.conf	2009-02-23 16:30:10.000000000 +0100
-@@ -54,7 +54,7 @@
- # The vendor name shown for the 'vendor' group
- #
- # default=My Vendor
--VendorName=My Vendor
-+VendorName=PLD Linux
- 
- # The vendor icon name shown for the 'vendor' group
- #
diff --git a/PackageKit-hawkey-rpm5.patch b/PackageKit-hawkey-rpm5.patch
new file mode 100644
index 0000000..874522b
--- /dev/null
+++ b/PackageKit-hawkey-rpm5.patch
@@ -0,0 +1,514 @@
+--- PackageKit-0.8.15/backends/hawkey/hif-keyring.c.orig	2013-12-05 14:36:16.000000000 +0100
++++ PackageKit-0.8.15/backends/hawkey/hif-keyring.c	2014-01-19 17:21:44.407060059 +0100
+@@ -27,8 +27,12 @@
+ 
+ #include <stdlib.h>
+ #include <glib.h>
+-#include <rpm/rpmlib.h>
++#include "rpmorg-compat.h"
++#include <rpm/rpmcli.h>
++#include <rpm/rpmio.h>
++#include <rpm/rpmps.h>
+ #include <rpm/rpmts.h>
++#include <rpm/rpmpgp.h>
+ 
+ #include "hif-keyring.h"
+ #include "hif-utils.h"
+@@ -37,17 +41,14 @@
+  * hif_keyring_add_public_key:
+  **/
+ gboolean
+-hif_keyring_add_public_key (rpmKeyring keyring,
++hif_keyring_add_public_key (const rpmts ts,
+ 			    const gchar *filename,
+ 			    GError **error)
+ {
+ 	gboolean ret = TRUE;
+-	gchar *data = NULL;
+ 	gint rc;
+ 	gsize len;
+ 	pgpArmor armor;
+-	pgpDig dig = NULL;
+-	rpmPubkey pubkey = NULL;
+ 	uint8_t *pkt = NULL;
+ 
+ 	/* ignore symlinks and directories */
+@@ -56,13 +57,8 @@ hif_keyring_add_public_key (rpmKeyring k
+ 	if (g_file_test (filename, G_FILE_TEST_IS_SYMLINK))
+ 		goto out;
+ 
+-	/* get data */
+-	ret = g_file_get_contents (filename, &data, &len, error);
+-	if (!ret)
+-		goto out;
+-
+ 	/* rip off the ASCII armor and parse it */
+-	armor = pgpParsePkts (data, &pkt, &len);
++	armor = pgpReadPkts (filename, &pkt, &len);
+ 	if (armor < 0) {
+ 		ret = FALSE;
+ 		g_set_error (error,
+@@ -85,7 +81,7 @@ hif_keyring_add_public_key (rpmKeyring k
+ 	}
+ 
+ 	/* test each one */
+-	pubkey = rpmPubkeyNew (pkt, len);
++/*	pubkey = rpmPubkeyNew (pkt, len);
+ 	if (pubkey == NULL) {
+ 		ret = FALSE;
+ 		g_set_error (error,
+@@ -94,19 +90,19 @@ hif_keyring_add_public_key (rpmKeyring k
+ 			     "failed to parse public key for %s",
+ 			     filename);
+ 		goto out;
+-	}
++	} */
+ 
+ 	/* does the key exist in the keyring */
+-	dig = rpmPubkeyDig (pubkey);
++/*	dig = rpmPubkeyDig (pubkey);
+ 	rc = rpmKeyringLookup (keyring, dig);
+ 	if (rc == RPMRC_OK) {
+ 		ret = TRUE;
+ 		g_debug ("%s is already present", filename);
+ 		goto out;
+-	}
++	} */
+ 
+ 	/* add to rpmdb automatically, without a prompt */
+-	rc = rpmKeyringAddKey (keyring, pubkey);
++	rc = rpmcliImportPubkey (ts, pkt, len);
+ 	if (rc == 1) {
+ 		ret = TRUE;
+ 		g_debug ("%s is already added", filename);
+@@ -128,11 +124,6 @@ hif_keyring_add_public_key (rpmKeyring k
+ out:
+ 	if (pkt != NULL)
+ 		free (pkt); /* yes, free() */
+-	if (pubkey != NULL)
+-		rpmPubkeyFree (pubkey);
+-	if (dig != NULL)
+-		pgpFreeDig (dig);
+-	g_free (data);
+ 	return ret;
+ }
+ 
+@@ -140,7 +131,7 @@ out:
+  * hif_keyring_add_public_keys:
+  **/
+ gboolean
+-hif_keyring_add_public_keys (rpmKeyring keyring, GError **error)
++hif_keyring_add_public_keys (rpmts ts, GError **error)
+ {
+ 	const gchar *filename;
+ 	const gchar *gpg_dir = "/etc/pki/rpm-gpg";
+@@ -159,7 +150,7 @@ hif_keyring_add_public_keys (rpmKeyring
+ 		if (filename == NULL)
+ 			break;
+ 		path_tmp = g_build_filename (gpg_dir, filename, NULL);
+-		ret = hif_keyring_add_public_key (keyring, path_tmp, error);
++		ret = hif_keyring_add_public_key (ts, path_tmp, error);
+ 		g_free (path_tmp);
+ 	} while (ret);
+ out:
+@@ -172,8 +163,7 @@ out:
+  * hif_keyring_check_untrusted_file:
+  */
+ gboolean
+-hif_keyring_check_untrusted_file (rpmKeyring keyring,
+-				  const gchar *filename,
++hif_keyring_check_untrusted_file (const gchar *filename,
+ 				  GError **error)
+ {
+ 	FD_t fd = NULL;
+@@ -216,10 +206,10 @@ hif_keyring_check_untrusted_file (rpmKey
+ 	}
+ 
+ 	/* convert and upscale */
+-	headerConvert (hdr, HEADERCONV_RETROFIT_V3);
++	/* headerConvert (hdr, HEADERCONV_RETROFIT_V3); */
+ 
+ 	/* get RSA key */
+-	td = rpmtdNew ();
++	td = malloc (sizeof (*td) );
+ 	rc = headerGet (hdr,
+ 			RPMTAG_RSAHEADER,
+ 			td,
+@@ -243,7 +233,7 @@ hif_keyring_check_untrusted_file (rpmKey
+ 	}
+ 
+ 	/* make it into a digest */
+-	dig = pgpNewDig ();
++	dig = rpmtsDig (ts);
+ 	rc = pgpPrtPkts (td->data, td->count, dig, 0);
+ 	if (rc != 0) {
+ 		g_set_error (error,
+@@ -255,7 +245,7 @@ hif_keyring_check_untrusted_file (rpmKey
+ 	}
+ 
+ 	/* does the key exist in the keyring */
+-	rc = rpmKeyringLookup (keyring, dig);
++	rc = rpmtsFindPubkey (ts, dig);
+ 	if (rc != RPMRC_OK) {
+ 		g_set_error_literal (error,
+ 				     HIF_ERROR,
+@@ -269,18 +259,18 @@ hif_keyring_check_untrusted_file (rpmKey
+ 	ret = TRUE;
+ out:
+ 	if (dig != NULL)
+-		pgpFreeDig (dig);
++		dig = pgpDigFree (dig);
+ 	if (td != NULL) {
+ 		rpmtdFreeData (td);
+-		rpmtdFree (td);
++		free (td);
+ 	}
+ 	if (ts != NULL)
+-		rpmtsFree (ts);
++		ts = rpmtsFree (ts);
+ 	if (hdr != NULL)
+-		headerFree (hdr);
++		hdr = headerFree (hdr);
+ 	if (fd != NULL)
+ 		Fclose (fd);
+ 	if (header != NULL)
+-		headerFree (header);
++		header = headerFree (header);
+ 	return ret;
+ }
+--- PackageKit-0.8.15/backends/hawkey/hif-keyring.h.orig	2013-12-05 14:36:16.000000000 +0100
++++ PackageKit-0.8.15/backends/hawkey/hif-keyring.h	2014-01-19 16:52:38.130466677 +0100
+@@ -24,14 +24,14 @@
+ 
+ #include <glib.h>
+ 
+-#include <rpm/rpmkeyring.h>
++#include <rpm/rpmts.h>
+ 
+-gboolean	 hif_keyring_add_public_key	(rpmKeyring		 keyring,
++gboolean	 hif_keyring_add_public_key	(const rpmts		 ts,
+ 						 const gchar		*filename,
+ 						 GError			**error);
+-gboolean	 hif_keyring_add_public_keys	(rpmKeyring		 keyring,
++gboolean	 hif_keyring_add_public_keys	(rpmts			 ts,
+ 						 GError			**error);
+-gboolean	 hif_keyring_check_untrusted_file (rpmKeyring		 keyring,
++gboolean	 hif_keyring_check_untrusted_file (
+ 						 const gchar		*filename,
+ 						 GError			**error);
+ 
+--- PackageKit-0.8.15/backends/hawkey/hif-rpmts.c.orig	2013-12-12 16:08:37.000000000 +0100
++++ PackageKit-0.8.15/backends/hawkey/hif-rpmts.c	2014-01-19 17:35:21.507025769 +0100
+@@ -26,9 +26,11 @@
+ #endif
+ 
+ #include <glib.h>
+-#include <rpm/rpmlib.h>
++#include <rpm/rpm46compat.h>
++#include <rpm/pkgio.h>
+ #include <rpm/rpmlog.h>
+ #include <rpm/rpmdb.h>
++#include <rpm/rpmio.h>
+ 
+ #include "hif-rpmts.h"
+ #include "hif-utils.h"
+@@ -212,10 +214,17 @@ hif_rpmts_get_problem_str (rpmProblem pr
+ 				       diskspace,
+ 				       generic_str);
+ 		break;
+-	case RPMPROB_OBSOLETES:
+-		str = g_strdup_printf ("package %s is obsoleted by %s",
+-				       pkg_nevr,
+-				       pkg_nevr_alt);
++	case RPMPROB_RDONLY:
++		str = g_strdup_printf ("tried to install package on read-only filesystem");
++		break;
++	case RPMPROB_BADPRETRANS:
++		str = g_strdup_printf ("bad %%pretrans?"); // unimplemented acc. to rpmps.h
++		break;
++	case RPMPROB_BADPLATFORM:
++		str = g_strdup_printf ("package %s is for a different platform", pkg_nevr);
++		break;
++	case RPMPROB_NOREPACKAGE:
++		str = g_strdup_printf ("re-packaged package %s is missing", pkg_nevr);
+ 		break;
+ 	}
+ 	return str;
+@@ -273,7 +282,7 @@ hif_rpmts_look_for_problems (rpmts ts, G
+ out:
+ 	if (string != NULL)
+ 		g_string_free (string, TRUE);
+-	rpmpsFree (probs);
++	probs = rpmpsFree (probs);
+ 	return ret;
+ }
+ 
+@@ -349,7 +358,7 @@ hif_rpmts_find_package (rpmts ts, HyPack
+ 	}
+ 
+ 	/* success */
+-	headerLink (hdr);
++	hdr = headerLink (hdr);
+ out:
+ 	rpmlogSetCallback (NULL, NULL);
+ 	if (rpm_error != NULL)
+@@ -388,6 +397,6 @@ hif_rpmts_add_remove_pkg (rpmts ts, HyPa
+ 	}
+ out:
+ 	if (hdr != NULL)
+-		headerFree (hdr);
++		hdr = headerFree (hdr);
+ 	return ret;
+ }
+--- PackageKit-0.8.15/backends/hawkey/hif-state.c.orig	2013-12-12 16:07:44.000000000 +0100
++++ PackageKit-0.8.15/backends/hawkey/hif-state.c	2014-01-19 17:36:10.177023726 +0100
+@@ -28,7 +28,6 @@
+ #include <glib.h>
+ #include <glib-unix.h>
+ #include <signal.h>
+-#include <rpm/rpmsq.h>
+ 
+ #include "hif-utils.h"
+ #include "hif-state.h"
+--- PackageKit-0.8.15/backends/hawkey/pk-backend-hawkey.c.orig	2013-12-17 15:20:05.000000000 +0100
++++ PackageKit-0.8.15/backends/hawkey/pk-backend-hawkey.c	2014-01-19 19:40:01.683378522 +0100
+@@ -39,12 +39,14 @@
+ #include <hawkey/version.h>
+ #include <hawkey/util.h>
+ #include <librepo/librepo.h>
+-#include <rpm/rpmlib.h>
++#include "rpmorg-compat.h"
+ #include <rpm/rpmdb.h>
++#include <rpm/rpmio.h>
+ #include <rpm/rpmlog.h>
++#include <rpm/rpmmacro.h>
+ #include <rpm/rpmps.h>
++#include <rpm/rpmrc.h>
+ #include <rpm/rpmts.h>
+-#include <rpm/rpmkeyring.h>
+ 
+ #include "hif-db.h"
+ #include "hif-goal.h"
+@@ -77,7 +79,6 @@ typedef struct {
+ 	HifDb		*db;
+ 	HifState	*state;
+ 	rpmts		 ts;
+-	rpmKeyring	 keyring;
+ 	GPtrArray	*packages_to_download;
+ 	PkBitfield	 transaction_flags;
+ 	HyGoal		 goal;
+@@ -286,29 +287,32 @@ pk_backend_initialize (PkBackend *backen
+ 			       "info");
+ 
+ 	/* get info from RPM */
+-	rpmGetOsInfo (&value, NULL);
++	value = rpmExpand ("%{_target_os}", NULL);
+ 	g_key_file_set_string (priv->config,
+ 			       HIF_CONFIG_GROUP_NAME,
+ 			       "Hawkey::OsInfo", value);
+-	rpmGetArchInfo (&value, NULL);
++	value = rpmExpand ("%{_target_cpu}", NULL);
+ 	g_key_file_set_string (priv->config,
+ 			       HIF_CONFIG_GROUP_NAME,
+ 			       "Hawkey::ArchInfo", value);
+-	rpmGetArchInfo (&value, NULL);
+ 	priv->native_arches = g_new0 (gchar *, 3);
+ 	priv->native_arches[0] = g_strdup (value);
+ 	priv->native_arches[1] = g_strdup ("noarch");
+-	if (g_strcmp0 (value, "i486") == 0 ||
+-	    g_strcmp0 (value, "i586") == 0 ||
+-	    g_strcmp0 (value, "i686") == 0) {
++	if (strcmp (value, "i486") == 0 ||
++	    strcmp (value, "i586") == 0 ||
++	    strcmp (value, "i686") == 0 ||
++	    strcmp (value, "athlon") == 0 ||
++	    strcmp (value, "pentium2") == 0 ||
++	    strcmp (value, "pentium3") == 0 ||
++	    strcmp (value, "pentium4") == 0) {
+ 		value = "i386";
+-	} else if (g_strcmp0 (value, "armv7l") == 0 ||
+-		   g_strcmp0 (value, "armv6l") == 0 ||
+-		   g_strcmp0 (value, "armv5tejl") == 0 ||
+-		   g_strcmp0 (value, "armv5tel") == 0) {
++	} else if (strcmp (value, "armv7l") == 0 ||
++	           strcmp (value, "armv6l") == 0 ||
++	           strcmp (value, "armv5tejl") == 0 ||
++	           strcmp (value, "armv5tel") == 0) {
+ 		value = "arm";
+-	} else if (g_strcmp0 (value, "armv7hnl") == 0 ||
+-		 g_strcmp0 (value, "armv7hl") == 0) {
++	} else if (strcmp (value, "armv7hnl") == 0 ||
++		 strcmp (value, "armv7hl") == 0) {
+ 		value = "armhfp";
+ 	}
+ 	g_key_file_set_string (priv->config,
+@@ -476,7 +480,6 @@ pk_backend_start_job (PkBackend *backend
+ 
+ 	/* setup RPM */
+ 	job_data->ts = rpmtsCreate ();
+-	job_data->keyring = rpmtsGetKeyring (job_data->ts, 1);
+ 
+ 	/* HifState */
+ 	job_data->packages_to_download =
+@@ -546,8 +549,7 @@ pk_backend_stop_job (PkBackend *backend,
+ 	g_ptr_array_unref (job_data->packages_to_download);
+ 	if (job_data->goal != NULL)
+ 		hy_goal_free (job_data->goal);
+-	rpmtsFree (job_data->ts);
+-	rpmKeyringFree (job_data->keyring);
++	job_data->ts = rpmtsFree (job_data->ts);
+ 	g_object_unref (job_data->db);
+ 	g_free (job_data);
+ 	pk_backend_job_set_user_data (job, NULL);
+@@ -1911,7 +1913,7 @@ out:
+  * pk_backend_transaction_check_untrusted:
+  */
+ static gboolean
+-pk_backend_transaction_check_untrusted (rpmKeyring keyring,
++pk_backend_transaction_check_untrusted (
+ 					GPtrArray *sources,
+ 					HyGoal goal,
+ 					GError **error)
+@@ -1957,7 +1959,7 @@ pk_backend_transaction_check_untrusted (
+ 		}
+ 
+ 		/* check file */
+-		ret = hif_keyring_check_untrusted_file (keyring,
++		ret = hif_keyring_check_untrusted_file (
+ 							filename,
+ 							error);
+ 		if (!ret)
+@@ -2045,15 +2047,6 @@ hif_commit_rpmcb_type_to_string (const r
+ 	case RPMCALLBACK_SCRIPT_ERROR:
+ 		type = "script-error";
+ 		break;
+-	case RPMCALLBACK_SCRIPT_START:
+-		type = "script-start";
+-		break;
+-	case RPMCALLBACK_SCRIPT_STOP:
+-		type = "script-stop";
+-		break;
+-	case RPMCALLBACK_INST_STOP:
+-		type = "install-stop";
+-		break;
+ 	}
+ 	return type;
+ }
+@@ -2329,7 +2322,6 @@ hif_commit_ts_progress_cb (const void *a
+ 		/* don't do anything */
+ 		break;
+ 
+-	case RPMCALLBACK_INST_STOP:
+ 	case RPMCALLBACK_UNINST_STOP:
+ 
+ 		/* phase complete */
+@@ -2344,8 +2336,6 @@ hif_commit_ts_progress_cb (const void *a
+ 	case RPMCALLBACK_UNPACK_ERROR:
+ 	case RPMCALLBACK_CPIO_ERROR:
+ 	case RPMCALLBACK_SCRIPT_ERROR:
+-	case RPMCALLBACK_SCRIPT_START:
+-	case RPMCALLBACK_SCRIPT_STOP:
+ 	case RPMCALLBACK_UNKNOWN:
+ 	case RPMCALLBACK_REPACKAGE_PROGRESS:
+ 	case RPMCALLBACK_REPACKAGE_START:
+@@ -2738,14 +2728,14 @@ pk_backend_transaction_commit (PkBackend
+ 		goto out;
+ 
+ 	/* import all GPG keys */
+-	ret = hif_keyring_add_public_keys (job_data->keyring, error);
++	ret = hif_keyring_add_public_keys (job_data->ts, error);
+ 	if (!ret)
+ 		goto out;
+ 
+ 	/* find any packages without valid GPG signatures */
+ 	if (pk_bitfield_contain (job_data->transaction_flags,
+ 				 PK_TRANSACTION_FLAG_ENUM_ONLY_TRUSTED)) {
+-		ret = pk_backend_transaction_check_untrusted (job_data->keyring,
++		ret = pk_backend_transaction_check_untrusted (
+ 							      job_data->enabled_sources,
+ 							      job_data->goal,
+ 							      error);
+@@ -2765,15 +2755,7 @@ pk_backend_transaction_commit (PkBackend
+ 	/* setup the transaction */
+ 	commit = g_new0 (HifTransactionCommit, 1);
+ 	commit->timer = g_timer_new ();
+-	rc = rpmtsSetRootDir (job_data->ts, "/");
+-	if (rc < 0) {
+-		ret = FALSE;
+-		g_set_error_literal (error,
+-				     HIF_ERROR,
+-				     PK_ERROR_ENUM_INTERNAL_ERROR,
+-				     "failed to set root");
+-		goto out;
+-	}
++	rpmtsSetRootDir (job_data->ts, "/");
+ 	rpmtsSetNotifyCallback (job_data->ts,
+ 				hif_commit_ts_progress_cb,
+ 				commit);
+--- PackageKit-0.8.15/backends/hawkey/rpmorg-compat.h.orig	1970-01-01 01:00:00.000000000 +0100
++++ PackageKit-0.8.15/backends/hawkey/rpmorg-compat.h	2014-01-19 19:40:00.416711909 +0100
+@@ -0,0 +1,64 @@
++#ifndef RPMORG_COMPAT_H
++#define RPMORG_COMPAT_H
++
++#include <rpm/rpm46compat.h>
++
++#define _RPMVSF_NOSIGNATURES (RPMVSF_NODSAHEADER | RPMVSF_NORSAHEADER | RPMVSF_NODSA | RPMVSF_NORSA)
++#define	_RPMVSF_NODIGESTS (RPMVSF_NOSHA1HEADER | RPMVSF_NOMD5HEADER | RPMVSF_NOSHA1 | RPMVSF_NOMD5)
++
++static inline const char * headerGetString(Header h, int32_t tag)
++{
++    const char *res = NULL;
++    struct rpmtd_s td;
++
++    if (headerGet(h, tag, &td, HEADERGET_MINMEM)) {
++	if (rpmtdCount(&td) == 1) {
++	    res = rpmtdGetString(&td);
++	}
++	rpmtdFreeData(&td);
++    }
++    return res;
++}
++
++static inline uint64_t rpmtdGetNumber(rpmtd td)
++{
++    uint64_t val = 0;
++    int ix;
++    assert(td != NULL);
++    ix = (td->ix >= 0 ? td->ix : 0);
++
++    switch (td->type) {
++    case RPM_INT64_TYPE:
++	val = *((uint64_t *) td->data + ix);
++	break;
++    case RPM_INT32_TYPE:
++	val = *((uint32_t *) td->data + ix);
++	break;
++    case RPM_INT16_TYPE:
++	val = *((uint16_t *) td->data + ix);
++	break;
++    case RPM_INT8_TYPE:
++    case RPM_CHAR_TYPE:
++	val = *((uint8_t *) td->data + ix);
++	break;
++    default:
++	break;
++    }
++    return val;
++}
++
++static inline uint64_t headerGetNumber(Header h, int32_t tag)
++{
++    uint64_t res = 0;
++    struct rpmtd_s td;
++
++    if (headerGet(h, tag, &td, HEADERGET_EXT)) {
++	if (rpmtdCount(&td) == 1) {
++	    res = rpmtdGetNumber(&td);
++	}
++	rpmtdFreeData(&td);
++    }
++    return res;
++}
++
++#endif /* RPMORG_COMPAT_H */
diff --git a/bashism.patch b/bashism.patch
deleted file mode 100644
index 9f7ace8..0000000
--- a/bashism.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- PackageKit-0.5.4/contrib/pm-utils/95packagekit~	2009-08-17 16:56:38.000000000 +0300
-+++ PackageKit-0.5.4/contrib/pm-utils/95packagekit	2009-11-19 16:29:52.312297173 +0200
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
- #
- # Licensed under the GNU General Public License Version 2
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/PackageKit.git/commitdiff/d113818a54914b4a5bb1dc69578e758a5628640f



More information about the pld-cvs-commit mailing list