--- packagekit-0.6.8.orig/debian/libpackagekit-qt-14.install +++ packagekit-0.6.8/debian/libpackagekit-qt-14.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/libpackagekit-qt.so.14 +debian/tmp/usr/lib/libpackagekit-qt.so.14.0.* --- packagekit-0.6.8.orig/debian/control +++ packagekit-0.6.8/debian/control @@ -0,0 +1,227 @@ +Source: packagekit +Section: admin +Priority: extra +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Sebastian Heinlein +Build-Depends: debhelper (>= 5), + cdbs, + quilt, + libpam0g-dev, + libglib2.0-dev, + libdbus-glib-1-dev (>=0.76), + libnm-glib-dev, + network-manager-dev, + libpolkit-gobject-1-dev, + libpolkit-backend-1-dev, + policykit-1, + libapt-pkg-dev (>= 0.7.26~exp10), + autotools-dev, + libtool, + libsqlite3-dev, + python-dev, + python-central (>= 0.5), + python-apt (>=0.7.13.2), + docbook-utils, + gtk-doc-tools, + xmlto, + xulrunner-dev (>= 1.9.1), + libgtk2.0-dev, + libdbus-glib-1-dev, + update-manager-core, + python-software-properties, + libgstreamer-plugins-base0.10-dev, + libarchive-dev, + libcppunit-dev, + libqt4-dev, + libxt-dev, + pm-utils, + gobject-introspection +Standards-Version: 3.8.3 +XS-Python-Version: current +Homepage: http://www.packagekit.org +Vcs-Bzr: https://code.launchpad.net/~packagekit/packagekit/ubuntu-maverick +Vcs-Browser: http://bazaar.launchpad.net/~packagekit/packagekit/ubuntu-maverick/files + +Package: packagekit +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + ${python:Depends}, + libpackagekit-glib2-14 (= ${binary:Version}), + dbus, + packagekit-backend-aptcc +Suggests: packagekit-backend-apt, packagekit-backend-smart +Replaces: packagekit-backend-apt (<< 0.6.6+20100703-0ubuntu1) +Description: provides a software installation daemon + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + The work is done by backends which make use of the package manager shipped by + the corresponding distribution. PackageKit is not meant to replace + advanced tools like Synaptic. + . + The main benefits are: + - unified interface on several distributions + - fine grained privilleges by using PolicyKit + - independecy from a running desktop session during the processing + +Package: python-packagekit +Architecture: all +Section: python +Depends: ${shlibs:Depends}, + ${misc:Depends}, + ${python:Depends}, + python-gobject, + python-dbus +XB-Python-Version: ${python:Versions} +Conflicts: packagekit (<< 0.3.11) +Description: PackageKit Python bindings + PackageKit allows to perform simple software management tasks over a DBus + interface e.g refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package provides Python bindings for PackageKit + +Package: gstreamer0.10-packagekit +Architecture: any +Section: libs +Conflicts: gnome-app-install (<< 0.5.12) +Depends: ${shlibs:Depends}, + ${misc:Depends}, + packagekit (= ${binary:Version}) +Description: GStreamer plugin to install codecs using PackageKit + PackageKit allows to perform simple software management tasks over a DBus + interface e.g refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package provides a plugin for the GStreamer multimedia framework + to search and to install audio and video codecs. + +Package: mozilla-packagekit +Architecture: any +Section: web +Depends: ${shlibs:Depends}, + ${misc:Depends}, + packagekit (= ${binary:Version}), + firefox (>> 3.0) | abrowser (>> 3.0) | www-browser +Description: software installation plugin + PackageKit allows to perform simple software management tasks over a DBus + interface e.g refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package provides a browser plugin. + +Package: libpackagekit-qt-14 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends}, +Conflicts: packagekit (<= 0.3.3-0ubuntu1) +Breaks: kpackagekit (<= 0.4) +Description: Library for accessing PackageKit using Qt. + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package provides a library to access PackageKit using Qt. + +Package: libpackagekit-glib2-14 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends}, +Conflicts: packagekit (<= 0.3.3-0ubuntu1) +Description: Advanced library for accessing PackageKit using GLib + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package provides an advanced library to access PackageKit using GLib. + It makes use of only async D-Bus calls and provides high level tasks which + peform the "transaction dance". + +Package: libpackagekit-glib2-dev +Section: libdevel +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libpackagekit-glib2-14 (= ${binary:Version}) +Conflicts: packagekit-dev (<= 0.3.3-0ubuntu1), libpackagekit-dev +Replaces: packagekit-dev +Description: Rewritten library for PackageKit using GLib (development files) + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This provides an advanced library to access PackageKit using GLib. + It makes use of only async D-Bus calls and provides high level tasks which + peform the "transaction dance". + . + This package provides the header files and documentation for the advanced + PackageKit library based on GLib. It makes use of only async D-Bus calls + and provides high level tasks which peform the "transaction dance". + +Package: libpackagekit-qt-dev +Section: libdevel +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libpackagekit-qt-14 (= ${binary:Version}) +Description: Library for accessing PackageKit using Qt (development files) + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package provides the header files for Qt. + +Package: packagekit-backend-apt +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + ${python:Depends}, + python-packagekit (= ${source:Version}), + app-install-data, + python-apt (>=0.7.13.2), + python-gdbm, + update-manager-core, + python-software-properties +XB-Python-Version: ${python:Versions} +Conflicts: packagekit (<< 0.3) +Recommends: apt-xapian-index +Description: APT backend for packagekit + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package allows to use APT which is the default package management tool + of Debian and Ubuntu. + +Package: packagekit-backend-smart +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + ${python:Depends}, + python-packagekit (= ${source:Version}), + smartpm-core +XB-Python-Version: ${python:Versions} +Description: Smart backend for packagekit + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package allows to use the smart package manager. + +Package: packagekit-backend-aptcc +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + python, + python-packagekit (= ${source:Version}) +Description: Alternative APT backend for packagekit written in C++ + PackageKit allows to perform simple software management tasks over a DBus + interface e.g. refreshing the cache, updating, installing and removing + software packages or searching for multimedia codecs and file handlers. + . + This package provides an alternative backend which is written in C++ for + faster performance and to target systems with low memory. --- packagekit-0.6.8.orig/debian/rules +++ packagekit-0.6.8/debian/rules @@ -0,0 +1,20 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk + +DEB_CONFIGURE_EXTRA_FLAGS := --enable-docbook-docs --enable-gtk-doc \ + --enable-apt --enable-aptcc --enable-smart \ + --with-default-backend=aptcc \ + --disable-gtk-module \ + --disable-service-packs + +binary-install/python-packagekit:: + dh_pycentral -p$(cdbs_curpkg) + +binary-install/packagekit-backend-apt:: + dh_pycentral -p$(cdbs_curpkg) + +binary-install/packagekit-backend-smart:: + dh_pycentral -p$(cdbs_curpkg) --- packagekit-0.6.8.orig/debian/README.source +++ packagekit-0.6.8/debian/README.source @@ -0,0 +1,6 @@ +This package uses quilt for upstream source code patch management. Please read +/usr/share/doc/quilt/README.source for more information how to apply, unapply, +add, modify or remove patches. + +Please note that /usr/share/doc/quilt/README.source is only available in quilt +version 0.46-4.1 or later. --- packagekit-0.6.8.orig/debian/packagekit-backend-apt.install +++ packagekit-0.6.8/debian/packagekit-backend-apt.install @@ -0,0 +1,5 @@ +backends/apt/README.apt usr/share/doc/packagekit-backend-apt/ +backends/apt/TODO.apt usr/share/doc/packagekit-backend-apt/ +debian/tmp/usr/lib/packagekit-backend/libpk_backend_apt.so +debian/tmp/usr/sbin/update-packagekit-app-data +debian/tmp/usr/share/PackageKit/helpers/apt/aptBackend.py --- packagekit-0.6.8.orig/debian/compat +++ packagekit-0.6.8/debian/compat @@ -0,0 +1 @@ +5 --- packagekit-0.6.8.orig/debian/changelog +++ packagekit-0.6.8/debian/changelog @@ -0,0 +1,643 @@ +packagekit (0.6.8-0ubuntu3) maverick; urgency=low + + * Add 04_aptcc_changelog_support.patch and + 05_aptcc_changelog_support_2.patch recommended by upstream for + changelog support + + -- Jonathan Riddell Tue, 05 Oct 2010 11:48:38 +0100 + +packagekit (0.6.8-0ubuntu2) maverick; urgency=low + + * Add patches from upstream as recommended by author, + 01_aptcc_fonts_group.diff 02_packagekit_qt_set_hints.diff + 03_non_deprecated_apt_api.diff + + -- Jonathan Riddell Mon, 20 Sep 2010 17:30:34 +0100 + +packagekit (0.6.8-0ubuntu1) maverick; urgency=low + + * New upstream bugfix release + * Remove branch_update.diff, applied upstream + * Don't set ScanDesktopFiles=false in defaults.patch + + -- Jonathan Riddell Mon, 06 Sep 2010 21:58:58 +0100 + +packagekit (0.6.7-0ubuntu2) maverick; urgency=low + + * Add branch_update.diff from Daniel Nicoletti for updates to aptcc: + - downloadSpeed is now emmited + - when downloading multiple files at the same time + do it properly + - Installing progress was highly improved + - Detection of update type is fixed and improved + - Turn off autoremove + * In defaults.patch set MaximumItemsToResolve=5000, aptcc is fast + enough to handle a large number + * Fix typo in packagekit-backend-aptcc description + * Build-dep on gobject-introspection because autoconf is being autoconfy + + -- Jonathan Riddell Wed, 25 Aug 2010 23:36:20 +0100 + +packagekit (0.6.7-0ubuntu1) maverick; urgency=low + + * New upstream release. + * Drop 20packagekit_error.diff, applied upstream. + * Make packagekit depend on packagekit-backend-aptcc without alternative + dependencies as the default config requires it. (LP: #613412) + - Move the apt and smart backends to Suggests. + * Add python and python-packagekit to the packagekit-backend-aptcc + dependencies as get-distro-upgrade.py requires them. (LP: #614168) + + -- Felix Geyer Sun, 08 Aug 2010 12:46:44 +0200 + +packagekit (0.6.6+20100703a-0ubuntu3) maverick; urgency=low + + * debian/control: + - browser plugin only works with firefox > 3.0 (LP: #606910) + * lintian stuff: + - old-fsf-address-in-copyright-file + - syntax-error-in-debian-changelog + + -- Cosme Domínguez Díaz Mon, 19 Jul 2010 21:45:05 +0000 + +packagekit (0.6.6+20100703a-0ubuntu2) maverick; urgency=low + + * Add 20packagekit_error.diff, fixes /etc/apt/apt.conf.d/20packagekit + script when packagekit gets removed + + -- Jonathan Riddell Tue, 03 Aug 2010 16:13:39 +0100 + +packagekit (0.6.6+20100703-0ubuntu1) maverick; urgency=low + + * New upstream snapshot + * Remove fix_arg_splitting.patch fix_search_api_changes.patch, applied upstream + * Change default backend to aptcc + * Move /etc/apt/apt.conf.d/20packagekit into packagekit .deb, now shared between + apt and aptcc backends + + -- Jonathan Riddell Tue, 03 Aug 2010 01:11:36 +0100 + +packagekit (0.6.5-0ubuntu2) maverick; urgency=low + + [ Sebastian Heinlein ] + * debian/patches: + - Add fix_arg_splitting: Cherry picked from upstream to adapt apt + backend to interal API changes of the python backend + (LP: #597748) + - Add fix_search_api_changes: Cherry picked from upstream to adapt + apt backend to internal API changes in the search methods + + [ Michael Vogt ] + * rebuild against latest libapt + * debian/control: + - point to the right vcs-bzr location + + -- Michael Vogt Thu, 29 Jul 2010 15:45:59 +0200 + +packagekit (0.6.5-0ubuntu1) maverick; urgency=low + + * New upstream release + * debian/patches: + - Remove fix_progress_crash: Obsolete + - Remove fix_upgrade_distro: Merged upstream + * debian/control, debian/libpackagekit-(qt|glib?)-*.install: + - Adpat library so names + - Don't ship the obsoleted libpackagekit-glib anymore + + -- Sebastian Heinlein Thu, 10 Jun 2010 08:55:50 +0200 + +packagekit (0.5.7-0ubuntu2) lucid; urgency=low + + * Add fix_upgrade_distro.diff to run the right thing for distro + upgrade + + -- Jonathan Riddell Mon, 08 Mar 2010 18:45:32 +0000 + +packagekit (0.5.7-0ubuntu1) lucid; urgency=low + + * New upstream bugfix release + * Remove add_kubuntu_upgrade_support.patch, merged upstream + + -- Jonathan Riddell Thu, 04 Mar 2010 13:57:39 +0000 + +packagekit (0.5.6-0ubuntu3) lucid; urgency=low + + * Update VCS entries in debian/control for lucid + * Add add_kubuntu_upgrade_support.patch to enable distro upgrades on + Kubuntu (also sent upstream via dantii) + + -- Harald Sitter Sun, 21 Feb 2010 11:11:07 +0100 + +packagekit (0.5.6-0ubuntu2) lucid; urgency=low + + * Re-add fix_progress_crash.patch. Never was upstreamed and apparently + was dropped in 0.5.x (LP: #438279) + + -- Jonathan Thomas Mon, 15 Feb 2010 21:34:00 -0500 + +packagekit (0.5.6-0ubuntu1) lucid; urgency=low + + * Add build-depend on policykit-1 to prevent FTBFS + * Add build-depend on libxt-dev to prevent FTBFS + * Add build-depend on pm-utils for pm-utils support, prevents FTBFS + * Fix obsolete-relation-form-in-source warnings throughout the package + * Bump Standards-Version to 3.8.3: + - Add README.source for quilt patch system info + + -- Jonathan Thomas Wed, 27 Jan 2010 20:48:54 -0500 + +packagekit (0.5.6) lucid; urgency=low + + * New upstream snapshot of the 0.5 series with the following highlights: + - PolicyKit-1 support + - New Simulate(Install|Remove|InstallFile|Update) methods to support + complex dependency resolutions + - Allow to fail on the installation of not authenticated packages + - New glib based library which provides a high level access to + PackageKit and performs the "transaction dance". Furthermore it only + uses async D-Bus calls. + * debian/patches: + - delayed_cache_refresh: Removed since it is now a config file option + - ftbfs_fix_aptcc_backend: Removed (merged upstream) + - fix_unicode: Removed (merged upstream) + - fix_unicode_debfile: Removed (merged upstream) + - fix_get_depends: Removed (merged upstream) + - fix_unset_locale: Removed (merged upstream) + - disable_werror: Removed since it is now a configure option + - defaults: Updated. Raise the StateChangedPriorityTimeout to avoid a + package cache rebuild race (bug in libapt) + * debian/control: + - Remove "experimental" from the aptcc backend description + - Change build deps from policykit to policykit-1 + - Don't require a specific network manager version as build dependency + - Add packages libpackagekit-glib2-(12|dev) to ship the advanced library + - Change libpackagekit-glib11 to libpackagekit-glib12 and + libpackagekit-qt11 to libpackagekit-qt-12 to make difference between new + glib2 library and so names clear + - packagekit was ported to glib2, so change dependency accordingly + * debian/libpackagekit-(glib2?|qt)-(dev-12): + - Adapt so name changes + * debian/rules: + - Remove obsolete configure options + - Disable service pack support + * debian/packagekit.install: + - Don't ship the service pack tools, since they are not supported by the + apt or aptcc backend + - Adapt the path to the polkit-1 action definition + - Ship the pk-command-not-found helper + + -- Sebastian Heinlein Wed, 04 Nov 2009 10:57:43 +0100 + +packagekit (0.4.9+20090825-0ubuntu4) UNRELEASED; urgency=low + + * debian/rules, debian/packagekit.install: Don't build and install the GTK + module which allows to install required fonts, since it isn't support by + any of the shipped backends. + + -- Sebastian Heinlein Sun, 30 Aug 2009 11:30:47 +0200 + +packagekit (0.4.9+20090825-0ubuntu3) karmic; urgency=low + + * libnm-glib soname transition rebuild for NM 0.8 - LP: #427400 + + -- Alexander Sack Thu, 24 Sep 2009 16:12:54 +0200 + +packagekit (0.4.9+20090825-0ubuntu2) karmic; urgency=low + + * debian/patches: + - Add disable_werror: Unset the Werror compile flag to fix FTBS on armel + - Add fix_get_depends: Cherry pick fa693068675742e17177534a23feb627b9ab7455 + to report the broken packages correctly in get_(depends|requires) + (LP: #418834) + - Add fix_unset_locale: Cherry pick 42c8fda9e0b3d4109b70035027562fa90b3471be + to not fail on unsetting LC_ALL (LP: #420348) + + -- Sebastian Heinlein Sat, 29 Aug 2009 09:23:42 +0200 + +packagekit (0.4.9+20090825-0ubuntu1) karmic; urgency=low + + * New upstream snapshot provding a lot of APT backend improvements: + - Allow to install updates which require the installation of additional + packages. Updates depending on the removal of a package are still + blocked (LP: #342671, LP: #374011, LP: #374011) + - Warn about the installation of untrusted package (LP: #256245) + - Don't crash in APT post update hook if system D-Bus daemon isn't + running (LP: #388623) + - Don't try to estimate a download progress during cache updating, since + APT reports only a forth- and backwards running progress. (LP: #348053) + - Support for python-apt 0.7.12 (LP: #415993) + - Translated package descriptions + * debian/patches: + - Remove ignore_packages_in_conffile (Merged upstream) + - Remove fix_typo (Merged upstream) + - Add fix_unicode: Handle the encoding messages via stdin/stdout correctly + (LP: #396513) + - Add fix_unicode_debfile: Convert the path of the local file which + should be installed to the correct encoding (LP: #347327) + * debian/libpackagekit-qt-dev.install: Fix install location of CMake module. + Thanks to Sveinung Kvilhaugsvik (LP: #345706) + * debian/control: Fix spelling of Qt. Thanks to Sveinung Kvilhaugsvik + (LP: #378419) + + -- Sebastian Heinlein Tue, 25 Aug 2009 13:03:26 +0200 + +packagekit (0.4.8-0ubuntu4) karmic; urgency=low + + * xulrunner-1.9.1 by default transition + + see: https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-firefox-3.5 + - bump minimal xulrunner-dev version + - adjust mozilla-packagekit depends to firefox-3.5 | abrowser-3.5 and Breaks: + firefox-3.0 + + -- Alexander Sack Fri, 07 Aug 2009 10:56:36 +0200 + +packagekit (0.4.8-0ubuntu3) karmic; urgency=low + + * Add debian/patches/ignore_packages_in_conffiles.patch to avoid crashes + when packages that are obsolete but not purged are on the system. + (LP: #395459) + * Fix typo that caused a NameError on some operations. Thanks to Koray Eyinc + (LP: #393326) + + -- James Westby Sat, 04 Jul 2009 15:54:45 -0400 + +packagekit (0.4.8-0ubuntu2) karmic; urgency=low + + * Install the gtk module in the packagekit package so that it is available + for gtk to load. (LP: #389766) + * Fix the Vcs-Bzr URIs. + * Fix issues found by lintian: + - Make the package binNMUable by changing to use ${source:Version} for + depending on python-packagekit from the python backends. + - Drop absolute paths in debian/packagekit-backend-apt.postinst and + debian/packagekit.postinst + - Drop duplicated "and" in the description of package-backend-apt. + - Fix spelling of "development" in the description of + packagekit-backend-aptcc. + - Fix capitalisation of "Python" in the description of python-packagekit. + + -- James Westby Thu, 02 Jul 2009 18:26:35 -0400 + +packagekit (0.4.8-0ubuntu1) karmic; urgency=low + + [ Sebastian Heinlein ] + * debian/control: + - Update my email address + - Add an or build dependency on xulrunner-dev to make building on Debian + systems more easily + - Add build dependency on quilt + - Add a package for the aptcc backend + - Remove package for yum backend + - Add ${python:Depends} and XB-Python-Version to all Python based backends + - Raise python-apt dependency version + - Add a break: libpackagekit-qt11 introduced an API change which will + break kpackagekit below 0.4.1 + * debian/patches: Removed obsolete patches + - Use quilt the patch management + - 03_change_mime_codec_db_path.patch: Included by upstream + - 04_dbus_policy.patch: Included by upstream + - 05_disable_werror.patch: Not longer required + - 10_qt_search_functions.patch: Not longer required + - 11_lax_backend_timeout.patch: Not longer required + - 99_autogen.patch: Not longer required + - Rename 03_vendor.patch to vendor.patch + - Update and rename 02_config.patch to defaults.patch + - Add delayed_cache_refresh.patch to delay the StateHasChanged signal + which resulted in APT cache rebuild races + * debian/mozilla-packagekit.install: Install the plugin to + /usr/lib/mozilla/plugins and adapt renamed directories + * debian/packagekit.install: + - Ship the mime type definitions + - Ship new command-not-found configuration + - job_count.dat ist no longer used + * debian/python-packagekit.install: Install modules explictly and not by + a wildcard + * debian/update-packagekit-app-data: Removed since shipped upstream + * debian/packagekit-backend-apt.install: Adapt to the new spawned backend + * debian/packagekit-backend-aptcc.install: Ship aptcc backend + * debian/packagekit-backend-yum.install: Removed + * debian/rules: + - Call dh_pycentral for all Python packages + - Remove obsolete DEB_PYTHON_SYSTEM + + [ Anthony Mercatante ] + * New upstream release + * Fixed debian/*.install for 0.4.8 compatibility + * Added patch fix_fbtfs_aptcc_backend.patch: + Fixes build issue due to missing header inclusion + + -- Anthony Mercatante Wed, 10 Jun 2009 22:12:47 +0200 + +packagekit (0.3.14-0ubuntu4) jaunty; urgency=low + + * debian/packagekit.postinst: ignore errors from dbus-send, there's no + requirement that dbus is even running at install time. + * debian/control: don't point Vcs-Bzr at edge, since that needlessly + confuses debcheckout; and use Vcs-* instead of XS-Vcs-* since these + are now official fields. + + -- Steve Langasek Tue, 10 Mar 2009 11:12:33 -0700 + +packagekit (0.3.14-0ubuntu3) jaunty; urgency=low + + [ Sebastian Heinlein ] + * debian/patches: + - Add 10_qt_search_functions.patch: Cherry pick of 2e0a1f3 to backport + searchFile and searchDetails function of the qt bindings which are + required by kpackagekit 0.4 + - Add 11_lax_backend_timeout.patch: Raise the timeout in which a DBus + based backend has to response to avoid errors on systems with + slow i/o performance. + * debian/rules: + - Only use one cdbs class. + + [ Anthony Mercatante ] + * Fixed debian/python-packagekit.install: + Python 2.6 files are installed in dist-packages instead of + site-packages + * Doesn't build-dep on python since build-deps on python-dev + + -- Anthony Mercatante Tue, 03 Mar 2009 11:03:51 +0100 + +packagekit (0.3.14-0ubuntu2) jaunty; urgency=low + + * debian/patches: + - Added 05_disable_werror.patch: Needed to get a successful build on ports + - Added 99_autogen.patch: Needed to effect the above change. + + -- Michael Casadevall Tue, 17 Feb 2009 17:21:28 -0500 + +packagekit (0.3.14-0ubuntu1) jaunty; urgency=low + + [ Sebastian Heinlein ] + * New upstream version + * debian/patches: + - Add 04_dbus_policy.patch: Cherry pick of 22c6a71 and 3e2e38e to secure + dbus interface and allow access of introspection and properties + * libpackagekit-(glib|qt)11.install: + - Adapt so names + + -- Jonathan Riddell Mon, 09 Feb 2009 13:57:52 +0000 + +packagekit (0.3.13-0ubuntu2) jaunty; urgency=low + + * Edit debian/rules to use langpack.mk to build .pot file + + -- Jonathan Riddell Thu, 22 Jan 2009 12:12:21 +0000 + +packagekit (0.3.13-0ubuntu1) jaunty; urgency=low + + * New upstream release + * debian/patches: + - Remove 02_fix_codec_regex, 04_fix_idle_timeout and 05_fix_update_stamp + (merged by upstream) + * debian/patches/01_disable_refresh_actions.patch: + - adpot to latest file changes + - disable the checking for updated processes + - rename the patch to 01_config.patch + * debian/control: + - Add build dependency on libqt4-dev and libcppunit-dev + - Remove old libpackagekit8(-dev) + - Add new binary packages for qt and glib version of libpackagekit + - Add new package for python files + * debian/libpackagekit-(glib|qt)(11|-dev).install + - ship glib and qt packagekit library files in separate packages + * debian/rules: + - build the gtk docs, which is now required explicitly + * debian/packagekit.dirs: + - ship empty download cache dir + * debian/packagekit.install: + - use a more fine grained file selection + - add moved job_count.db + - remove python files + * debian/python-packagekit.install: + - Include all python files + + -- Sebastian Heinlein Wed, 21 Jan 2009 15:43:44 +0100 + +packagekit (0.3.6-0ubuntu4) intrepid; urgency=low + + * debian/patches/05_fix_update_stamp.patch: + - fix syntax for the -APT::Update::Post-Invoke-Success hook + so that it works together with update-notifier + + -- Michael Vogt Mon, 27 Oct 2008 13:25:34 +0100 + +packagekit (0.3.6-0ubuntu3) intrepid; urgency=low + + * debian/patches: + - Rename 01_disable_package_list_refresh to 01_disable_refresh_actions + and also disable the scanning of installed applications after refreshing + - Add 04_fix_idle_timer: do not exit on pending actions + Cherry pick of 69e5277c1aac1ece9c76c499d8c65ae67b2a84f9 + + -- Sebastian Heinlein Sun, 19 Oct 2008 19:54:01 +0200 + +packagekit (0.3.6-0ubuntu2) intrepid; urgency=low + + * Version the conflicts on gnome-app-install from gstreamer0.10-packagekit + to (< 0.5.12), as that now installs an alternative for the codec install. + * Remove the alternative of the obsolete gnome-codec-install. + * Apologies to Sebastian for messing up his beautiful packages by + not uploading these changes in the last upload. + + -- James Westby Mon, 20 Oct 2008 15:28:26 +0100 + +packagekit (0.3.6-0ubuntu1) intrepid; urgency=low + + * New upstream bugfix release + * debian/patches: + - Remove 02_fix_statushaschanged_call.patch (applied upstream) + - Add 02_fix_codec_regex.patch: + extract the codec information correctly from the helper script output + - Add 03_vendor.patch: + Set the vendor information to Canonical + - Add 03_change_mime_codec_db_path.patch: Use the databases created by + the new update-packagekit-app-data + * debian/control: + - Ship the gstreamer plugin in a separate package gstreamer0.10-packagekit + and therefor add libgstreamer-plugins-base0.10-dev as build dependency + - gstreamer0.10-packagekit conflicts with gnome-app-install + - packagekit-backend-apt depends on app-install-data + * debian/gstreamer0.10-packagekit.(prerm|postinst): + - Install pk-codec-install as an alternative for gnome-codec-install + and gstreamer-codec-install + * debian/update-packagekit-app-data, debian/packagekit-backend-apt.install: + - Ship a simplified version of gnome-app-install's update-app-install-data + which caches mime type and codec information only + * debian/packagekit-backend-apt-postinst: + - Run update-packagekit-app-data + * debian/packagekit-backend-apt.triggers + - State an interest in /usr/share/app-install/desktop + + -- Sebastian Heinlein Thu, 09 Oct 2008 18:17:10 +0200 + +packagekit (0.3.5-1) UNRELEASED; urgency=low + + * New upstream bugfix release + * debian/patches: + - Remove 01_cleanup_cache_lock.patch (applied upstream) + - Add 01_disable_package_list_refresh.patch: + Disable the creation of the package list after each refresh since + GetPackages() is too slow for the apt backend + - Add 02_fix_statushaschanged_call.patch: + Cherry pick of d9f49bb24cf0df98ffc2b0216ff458f8671c05be + Use the correct apt hook, full path to dbus-send and do not wait for a + reply from packagekit + * debian/control: + - Ship libpackagekit in its own package libpackagekit8 + - Rename packagekit-dev to libpackagekit-dev + - Fix sections of the binary packages + - More detailed package descriptions + - Move recommendation of app-install-data and apt-xapian-index from + packagekit to packagekit-backend-apt + - Raise recommendation of update-manager-core and + python-software-properties to build dependecies and dependecies of + packagekit-backend-apt (backend capabillities are now detected at + build time) + * debian/packgekit.install: + - Remove pk-generate-package-list and pk-import-desktop (is now done by + the packagekitd) + * debian/packagekit-backend-apt.install + - Adapt apt config file path + + -- Sebastian Heinlein Tue, 30 Sep 2008 10:49:39 +0200 + +packagekit (0.3.3-0ubuntu1) intrepid; urgency=low + + * Latest release of the 0.3 series with the following apt highlights: + - Implement UpdatePackages, GetDepends, GetRequires, SetProxy, SetLocale, + InstallFiles, RepoEnable, RepoList, WhatProvides and GetFiles + - Show the changelog in UpdateDetails + - Several small enhancements + * debian/control: + - Point to the correct bzr repository in X-Vcs + - Ship the mozilla plugin and the apt, yum and smart backends in + separate binary package + - Add build dependecy on xulrunner-1.9-dev, libgtk+2.0-dev, + libdbus-glib-1-dev, network-manager-dev, python-dev and + libarchive-dev + - Packagekit recommands app-install-data to support codecs and + mime type handlers in WhatProvides + - Recommend update-manager-core to get notified about distro releases and + python-software-properties to handle repositories. + * debian/patches: + - Removed 00_allow_root_own_dbus.patch (too many issues) + - Removed 01_apt_license.patch (broken and implemented upstream) + - Removed 02_fix_apt_doresolve.patch (applied upstream) + - Removed 03_improve_installprogress.patch (applied upstream) + - Add 01_cleanup_cache_lock.patch: + Cherry pick of f27042cbdd54e8cefd33f64dba1e35a6fcad1eba + Make sure that the system apt cache is unlocked after a method which + locks it was called + * debian/packagekit.install: + - Ship documentation from the apt backend + - Add debfile.py + - Sorted + * debian/packagekit-backend-(apt|yum|smart).install: + - Added + * debian/packagekit-dev.install: + - Do not ship useless development files for the backends + * debian/packagekit.postinst: + - Suggest the daemon to quit after installing + * debian/trigger + - Suggest the daemon to quit if the backends changed + + -- Sebastian Heinlein Fri, 19 Sep 2008 05:17:00 +0200 + +packagekit (0.2.4-0ubuntu1) intrepid; urgency=low + + [ Sebastian Heinlein ] + * debian/copyright: Fix copyright statement + * debian/control: Set required minimum version of libdbus-glib-1-dev to 0.76 + * debian/packagekit.post(inst|rm): + - reload dbus configuration + - add/remove the packagkitd system user + * debian/patches/00_allow_root_own_dbus.patch: + - allow the root user to own org.freedesktop.PackageKit + * debian/rules: only run the apt backend as root and use the packagekit + user for the packagekit daemon + * New upstream bugfix release: + - Bump the soname as we changed ABI some time ago (Richard Hughes) + - Don't optimise for the common case in pk-import-desktop as we + really want to regenerate the cache even if it's slow (Richard Hughes) + - Fix doing pk_transaction_list_remove() on a transaction waiting to + timeout, to avoid walking on freed memory (Richard Hughes) + - Don't print the '%' chars on the console from python exceptions, + else we can crash the daemon when running in verbose mode (Richard Hughes) + - Backport a small memory leak in the daemon from master (Richard Hughes) + - AllowCancel(FALSE) is allowed when we are finished, but not TRUE (Richard + Hughes) + + [ Michael Vogt ] + * debian/patches/03_improve_installprogress.patch: + - kill maintainer scripts that hang + - send backend.Message() after the install if conffile prompts are + detected during the install (default to keep old conffile) + - implement doUpdatePackages() + (patch sent to upstream git repo) + + -- Sebastian Heinlein Wed, 06 Aug 2008 05:32:05 +0200 + +packagekit (0.2.3-0ubuntu1) intrepid; urgency=low + + * New upstream release: + - Remove 01_build_format_string.patch, applied upstream. + * debian/control: Fix obsolete ${Source-Version}. + * debian/control: Bump Standards-Version. + * debian/packagekit-dev.install: Adapt to new structure of documentation. + * debian/copyright: Update FSF address and small lintian fixes. + * debian/control: Make packagekit-dev Arch: any, since it ships architecture + dependent static library. + * Add 01_apt_license.patch: GetDetails(): Set license field to "free" for + main/universe/contrib sections. This gives a slightly better heuristics + than always leaving it to "unknown". + + -- Martin Pitt Wed, 09 Jul 2008 12:17:41 +0200 + +packagekit (0.2.2-0ubuntu2) intrepid; urgency=low + + * debian/control: Replaced 'cash' with 'cache' in description (LP: #238438) + (thanks to Nathan Handler) + + -- Michael Vogt Fri, 20 Jun 2008 10:07:31 +0200 + +packagekit (0.2.2-0ubuntu1) intrepid; urgency=low + + * New upstream release, with much improved apt support. + * debian/control: Bump PolicyKit build dependencies to >= 0.8. + * debian/control: Drop superfluous python-all-dev build dependency, we do not + build compiled Python extensions. + * debian/rules: Configure with --enable-apt --with-default-backend=apt. + * debian/rules: Use simple-patchsys. + * Add debian/patches/01_build_format_string.patch: Fix building with + -Wformat-security. + * Add debian/patches/02_fix_apt_doresolve.patch: Fix doResolve() in apt + backend. (apt backend was completely broken before) + * debian/packagekit.install: Do not install the sysconfig, cron.daily, and + udev bits, they do not apply to Debian/Ubuntu. + * debian/control: Point out that -dev contains documentation as well. + + -- Martin Pitt Thu, 19 Jun 2008 12:50:59 -0400 + +packagekit (0.1.6-0ubuntu2) hardy; urgency=low + + * debian/packagekit.install: + + Don't install .la files (they break the packagekit-gnome build). + + -- Michael Bienia Sun, 09 Mar 2008 14:40:00 +0100 + +packagekit (0.1.6-0ubuntu1) hardy; urgency=low + + * New upstream release + * Don't ship the test and dummy backend + * Explicitly build the plain search backend + * Add build dependency on xmlto, docbook-utils and gtk-doc-tools + + -- Sebastian Heinlein Mon, 11 Feb 2008 16:13:04 +0100 + +packagekit (0.1.3-ubuntu1) gutsy; urgency=low + + * Initial release + + -- Sebastian Heinlein Wed, 21 Nov 2007 01:12:42 +0100 --- packagekit-0.6.8.orig/debian/gstreamer0.10-packagekit.prerm +++ packagekit-0.6.8/debian/gstreamer0.10-packagekit.prerm @@ -0,0 +1,15 @@ +#!/bin/sh +# prerm script for gstreamer0.10-packagekit + +set -e + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then + update-alternatives --remove gstreamer-codec-install \ + /usr/lib/packagekit/pk-gstreamer-install || true + +fi + +#DEBHELPER# + +exit 0 + --- packagekit-0.6.8.orig/debian/README.Debian +++ packagekit-0.6.8/debian/README.Debian @@ -0,0 +1,11 @@ +You can find more information about the PackageKit integration online at: +http://wiki.debian.org/PackageKit + +The following components of PackageKit arn't shipped in the packages: + - ruck, command line client + - gtk-module, allows to install required fonts + - cron job + +TODO: + - Move pk-upgrade-distro.sh and helper scripts to /usr/lib + - Ship the gtk module in a separate package --- packagekit-0.6.8.orig/debian/gstreamer0.10-packagekit.postinst +++ packagekit-0.6.8/debian/gstreamer0.10-packagekit.postinst @@ -0,0 +1,13 @@ +#!/bin/sh +# postinst script for gstreamer0.10-packagekit + +set -e + +update-alternatives --install /usr/bin/gstreamer-codec-install \ + gstreamer-codec-install \ + /usr/lib/packagekit/pk-gstreamer-install 80 || true + +#DEBHELPER# + +exit 0 + --- packagekit-0.6.8.orig/debian/packagekit-backend-apt.postrm +++ packagekit-0.6.8/debian/packagekit-backend-apt.postrm @@ -0,0 +1,15 @@ +#!/bin/sh +# postrm script for packagekit-backend-apt + +set -e + +#DEBHELPER# + +if [ "$1" = "purge" ]; then + + if [ -x /etc/init.d/dbus ]; then + invoke-rc.d dbus force-reload || true + fi + +fi + --- packagekit-0.6.8.orig/debian/copyright +++ packagekit-0.6.8/debian/copyright @@ -0,0 +1,34 @@ +This package was debianized by Sebastian Heinlein on +Mon, 20 Aug 2007 19:56:43 +0200. + +It was downloaded from git://people.freedesktop.org/~hughsient/PackageKit + +Upstream Author: + + Richard Hughes + +Copyright: + + Copyright (C) 2007 Richard Hughes + +License: + + Licensed under the GNU General Public License Version 2 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + +The Debian packaging is (C) 2007, Sebastian Heinlein and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. --- packagekit-0.6.8.orig/debian/libpackagekit-glib2-14.install +++ packagekit-0.6.8/debian/libpackagekit-glib2-14.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/libpackagekit-glib2.so.14 +debian/tmp/usr/lib/libpackagekit-glib2.so.14.0.* --- packagekit-0.6.8.orig/debian/packagekit.postrm +++ packagekit-0.6.8/debian/packagekit.postrm @@ -0,0 +1,15 @@ +#!/bin/sh +# postrm script for packagekit + +set -e + +#DEBHELPER# + +if [ "$1" = "purge" ]; then + + if [ -x /etc/init.d/dbus ]; then + invoke-rc.d dbus force-reload || true + fi + +fi + --- packagekit-0.6.8.orig/debian/gstreamer0.10-packagekit.install +++ packagekit-0.6.8/debian/gstreamer0.10-packagekit.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/packagekit/pk-gstreamer-install --- packagekit-0.6.8.orig/debian/packagekit.triggers +++ packagekit-0.6.8/debian/packagekit.triggers @@ -0,0 +1 @@ +interest /usr/lib/packagekit-backend --- packagekit-0.6.8.orig/debian/libpackagekit-glib2-dev.install +++ packagekit-0.6.8/debian/libpackagekit-glib2-dev.install @@ -0,0 +1,4 @@ +debian/tmp/usr/include/PackageKit/packagekit-glib2 +debian/tmp/usr/lib/libpackagekit-glib2.la +debian/tmp/usr/lib/libpackagekit-glib2.so +debian/tmp/usr/lib/pkgconfig/packagekit-glib2.pc --- packagekit-0.6.8.orig/debian/mozilla-packagekit.install +++ packagekit-0.6.8/debian/mozilla-packagekit.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/mozilla/plugins/packagekit-plugin.so +contrib/browser-plugin/README /usr/share/doc/mozilla-packagekit/ +contrib/browser-plugin/tests/test.html /usr/share/doc/mozilla-packagekit/examples/ --- packagekit-0.6.8.orig/debian/libpackagekit-dev.install +++ packagekit-0.6.8/debian/libpackagekit-dev.install @@ -0,0 +1,7 @@ +debian/tmp/usr/include/* +debian/tmp/usr/lib/lib*.a +debian/tmp/usr/lib/libpackagekit.so +debian/tmp/usr/lib/pkgconfig/* +docs/html/*.html usr/share/doc/packagekit-dev/html/ +docs/html/*.css usr/share/doc/packagekit-dev/html/ +docs/html/img/*.png usr/share/doc/packagekit-dev/html/img/ --- packagekit-0.6.8.orig/debian/packagekit-backend-smart.install +++ packagekit-0.6.8/debian/packagekit-backend-smart.install @@ -0,0 +1,2 @@ +debian/tmp/usr/share/PackageKit/helpers/smart/smartBackend.py +debian/tmp/usr/lib/packagekit-backend/libpk_backend_smart.so --- packagekit-0.6.8.orig/debian/docs +++ packagekit-0.6.8/debian/docs @@ -0,0 +1,3 @@ +NEWS +README +TODO --- packagekit-0.6.8.orig/debian/python-packagekit.install +++ packagekit-0.6.8/debian/python-packagekit.install @@ -0,0 +1,11 @@ +debian/tmp/usr/lib/python2.*/*-packages/packagekit/__init__.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/backend.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/client.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/enums.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/filter.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/frontend.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/misc.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/package.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/pkdbus.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/pkexceptions.py +debian/tmp/usr/lib/python2.*/*-packages/packagekit/progress.py --- packagekit-0.6.8.orig/debian/packagekit-backend-apt.postinst +++ packagekit-0.6.8/debian/packagekit-backend-apt.postinst @@ -0,0 +1,11 @@ +#!/bin/sh +# postinst script for packagekit-backend-apt + +set -e + +update-packagekit-app-data || true + +#DEBHELPER# + +exit 0 + --- packagekit-0.6.8.orig/debian/packagekit-backend-apt.triggers +++ packagekit-0.6.8/debian/packagekit-backend-apt.triggers @@ -0,0 +1 @@ +interest /usr/share/app-install/desktop --- packagekit-0.6.8.orig/debian/packagekit.dirs +++ packagekit-0.6.8/debian/packagekit.dirs @@ -0,0 +1 @@ +var/cache/PackageKit/downloads --- packagekit-0.6.8.orig/debian/watch +++ packagekit-0.6.8/debian/watch @@ -0,0 +1,4 @@ +version=3 + +http://www.packagekit.org/releases/PackageKit-(.*)\.tar\.gz + --- packagekit-0.6.8.orig/debian/libpackagekit-qt-dev.install +++ packagekit-0.6.8/debian/libpackagekit-qt-dev.install @@ -0,0 +1,5 @@ +debian/tmp/usr/include/PackageKit/packagekit-qt +debian/tmp/usr/lib/libpackagekit-qt.la +debian/tmp/usr/lib/libpackagekit-qt.so +debian/tmp/usr/lib/pkgconfig/packagekit-qt.pc +debian/tmp/usr/share/cmake/Modules/FindQPackageKit.cmake /usr/share/cmake-2.6/Modules --- packagekit-0.6.8.orig/debian/packagekit.install +++ packagekit-0.6.8/debian/packagekit.install @@ -0,0 +1,20 @@ +debian/tmp/usr/bin/pkcon +debian/tmp/usr/bin/pkmon +debian/tmp/usr/lib/packagekit/packagekitd +debian/tmp/usr/lib/packagekit/pk-command-not-found +debian/tmp/usr/lib/pm-utils/sleep.d/95packagekit +debian/tmp/usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service +debian/tmp/usr/share/man/man1/pkcon.1 +debian/tmp/usr/share/man/man1/pkmon.1 +debian/tmp/usr/share/mime/packages/packagekit-catalog.xml +debian/tmp/usr/share/mime/packages/packagekit-package-list.xml +debian/tmp/usr/share/locale/*/LC_MESSAGES/PackageKit.mo +debian/tmp/usr/share/PackageKit/pk-upgrade-distro.sh +debian/tmp/usr/share/polkit-1/actions/org.freedesktop.packagekit.policy +debian/tmp/etc/bash_completion.d/pk-completion.bash +debian/tmp/etc/dbus-1/system.d/org.freedesktop.PackageKit.conf +debian/tmp/etc/PackageKit/CommandNotFound.conf +debian/tmp/etc/PackageKit/PackageKit.conf +debian/tmp/etc/PackageKit/Vendor.conf +debian/tmp/var/lib/PackageKit/transactions.db +debian/tmp/etc/apt/apt.conf.d/20packagekit --- packagekit-0.6.8.orig/debian/packagekit-backend-aptcc.install +++ packagekit-0.6.8/debian/packagekit-backend-aptcc.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/packagekit-backend/libpk_backend_aptcc.so +debian/tmp/usr/share/PackageKit/helpers/aptcc/get-distro-upgrade.py --- packagekit-0.6.8.orig/debian/packagekit.postinst +++ packagekit-0.6.8/debian/packagekit.postinst @@ -0,0 +1,20 @@ +#!/bin/sh +# postinst script for packagekit + +set -e + +if [ -x /etc/init.d/dbus ]; then + invoke-rc.d dbus force-reload || true +fi + +if [ -x /usr/bin/dbus-send ]; then + dbus-send --system --dest=org.freedesktop.PackageKit \ + --type=method_call \ + /org/freedesktop/PackageKit \ + org.freedesktop.PackageKit.SuggestDaemonQuit || true +fi + +#DEBHELPER# + +exit 0 + --- packagekit-0.6.8.orig/debian/patches/03_non_deprecated_apt_api.diff +++ packagekit-0.6.8/debian/patches/03_non_deprecated_apt_api.diff @@ -0,0 +1,68 @@ +From c79e2f6f705d45379c6fab9939681a3aa34daaa5 Mon Sep 17 00:00:00 2001 +From: Daniel Nicoletti +Date: Fri, 17 Sep 2010 00:52:14 -0300 +Subject: [PATCH] aptcc: Updated calls not to use deprecated apt code + +--- + backends/aptcc/apt.cpp | 5 +++-- + backends/aptcc/pk-backend-aptcc.cpp | 7 ++++--- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp +index a36145f..c4089de 100644 +--- a/backends/aptcc/apt.cpp ++++ b/backends/aptcc/apt.cpp +@@ -1450,7 +1450,7 @@ bool aptcc::runTransaction(vector PM= _system->CreatePM(Cache); +diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp +index 60c1274..f4f80d5 100644 +--- a/backends/aptcc/pk-backend-aptcc.cpp ++++ b/backends/aptcc/pk-backend-aptcc.cpp +@@ -402,7 +402,7 @@ backend_get_or_update_system_thread (PkBackend *backend) + OpTextProgress Prog(*_config); + int timeout = 10; + // TODO test this +- while (Cache.Open(Prog, !getUpdates) == false) { ++ while (Cache.Open(&Prog, !getUpdates) == false) { + // failed to open cache, try checkDeps then.. + // || Cache.CheckDeps(CmdL.FileSize() != 1) == false + if (getUpdates == true || (timeout <= 0)) { +@@ -607,7 +607,8 @@ backend_download_packages_thread (PkBackend *backend) + AcqPackageKitStatus Stat(m_apt, backend, _cancel); + + // get a fetcher +- pkgAcquire fetcher(&Stat); ++ pkgAcquire fetcher; ++ fetcher.Setup(&Stat); + string filelist; + gchar *pi; + +@@ -747,7 +748,7 @@ backend_refresh_cache_thread (PkBackend *backend) + // Rebuild the cache. + pkgCacheFile Cache; + OpTextProgress Prog(*_config); +- if (Cache.BuildCaches(Prog, true) == false) { ++ if (Cache.BuildCaches(&Prog, true) == false) { + if (_error->PendingError() == true) { + show_errors(backend, PK_ERROR_ENUM_CANNOT_GET_LOCK); + } +-- +1.6.1 + --- packagekit-0.6.8.orig/debian/patches/series +++ packagekit-0.6.8/debian/patches/series @@ -0,0 +1,7 @@ +01_aptcc_fonts_group.diff +02_packagekit_qt_set_hints.diff +03_non_deprecated_apt_api.diff +defaults.patch +vendor.patch +04_aptcc_changelog_support.patch +05_aptcc_changelog_support_2.patch --- packagekit-0.6.8.orig/debian/patches/05_aptcc_changelog_support_2.patch +++ packagekit-0.6.8/debian/patches/05_aptcc_changelog_support_2.patch @@ -0,0 +1,135 @@ +From 4c449baa8e890093362f3e0a7249392da3ace0b3 Mon Sep 17 00:00:00 2001 +From: Daniel Nicoletti +Date: Tue, 5 Oct 2010 04:15:03 -0300 +Subject: [PATCH] aptcc: Add a nicer string pointing to launchpad when the changelog is not available + +--- + backends/aptcc/apt-utils.cpp | 35 +++++++++++++++++++++++------------ + backends/aptcc/apt-utils.h | 7 ++++++- + backends/aptcc/apt.cpp | 9 +++++---- + 3 files changed, 34 insertions(+), 17 deletions(-) + +diff --git a/backends/aptcc/apt-utils.cpp b/backends/aptcc/apt-utils.cpp +index 52142a2..9065bc8 100644 +--- a/backends/aptcc/apt-utils.cpp ++++ b/backends/aptcc/apt-utils.cpp +@@ -244,7 +244,12 @@ get_enum_group (string group) + } + } + +-string getChangelogFile(const string &name, const string &uri, pkgAcquire *fetcher) ++string getChangelogFile(const string &name, ++ const string &origin, ++ const string &verstr, ++ const string &srcPkg, ++ const string &uri, ++ pkgAcquire *fetcher) + { + string descr("Changelog for "); + descr += name; +@@ -253,9 +258,6 @@ string getChangelogFile(const string &name, const string &uri, pkgAcquire *fetch + string filename = "/tmp/aptcc_changelog"; + + new pkgAcqFileSane(fetcher, uri, descr, name, filename); +- //cerr << "**DEBUG** origin: " << origin() << endl; +- //cerr << "**DEBUG** uri: " << uri << endl; +- //cerr << "**DEBUG** filename: " << filename << endl; + + ofstream out(filename.c_str()); + if(fetcher->Run() == pkgAcquire::Failed) { +@@ -263,14 +265,23 @@ string getChangelogFile(const string &name, const string &uri, pkgAcquire *fetch + out << "Please check your Internet connection." << endl; + // FIXME: Need to dequeue the item + } else { +- struct stat filestatus; +- stat(filename.c_str(), &filestatus ); +- if (filestatus.st_size == 0) { +- out << "This change is not coming from a source that supports changelogs.\n" << endl; +- out << "Failed to fetch the changelog for " << name << endl; +- out << "URI was: " << uri << endl; +- } +- }; ++ struct stat filestatus; ++ stat(filename.c_str(), &filestatus ); ++ ++ if (filestatus.st_size == 0) { ++ // FIXME: Use supportedOrigins ++ if (origin.compare("Ubuntu") == 0) { ++ out << "The list of changes is not available yet.\n" << endl; ++ out << "Please use http://launchpad.net/ubuntu/+source/"<< srcPkg << ++ "/" << verstr << "/+changelog" << endl; ++ out << "until the changes become available or try again later." << endl; ++ } else { ++ out << "This change is not coming from a source that supports changelogs.\n" << endl; ++ out << "Failed to fetch the changelog for " << name << endl; ++ out << "URI was: " << uri << endl; ++ } ++ } ++ } + out.close(); + + return filename; +diff --git a/backends/aptcc/apt-utils.h b/backends/aptcc/apt-utils.h +index 461e7ca..a38dcc9 100644 +--- a/backends/aptcc/apt-utils.h ++++ b/backends/aptcc/apt-utils.h +@@ -106,7 +106,12 @@ PkGroupEnum get_enum_group(string group); + /** + * Return the changelog filename fetched + */ +-string getChangelogFile(const string &name, const string &uri, pkgAcquire *fetcher); ++string getChangelogFile(const string &name, ++ const string &origin, ++ const string &verstr, ++ const string &srcPkg, ++ const string &uri, ++ pkgAcquire *fetcher); + + /** + * Returns a list of links pairs url;description for CVEs +diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp +index c0c58e2..e674be8 100644 +--- a/backends/aptcc/apt.cpp ++++ b/backends/aptcc/apt.cpp +@@ -607,6 +607,7 @@ void aptcc::emit_update_detail(const pkgCache::PkgIterator &pkg) + // Build the changelogURI + char uri[512]; + string srcpkg; ++ string verstr; + + if (rec.SourcePkg().empty()) { + srcpkg = pkg.Name(); +@@ -623,18 +624,17 @@ void aptcc::emit_update_detail(const pkgCache::PkgIterator &pkg) + src_section = "main"; + } + +- prefix+=srcpkg[0]; ++ prefix += srcpkg[0]; + if(srcpkg.size() > 3 && srcpkg[0] == 'l' && srcpkg[1] == 'i' && srcpkg[2] == 'b') { + prefix = string("lib") + srcpkg[3]; + } + +- string verstr; + if(candver.VerStr() != NULL) { + verstr = candver.VerStr(); + } + + if(verstr.find(':') != verstr.npos) { +- verstr=string(verstr, verstr.find(':') + 1); ++ verstr = string(verstr, verstr.find(':') + 1); + } + + if (origin.compare("Debian") == 0) { +@@ -685,7 +685,8 @@ void aptcc::emit_update_detail(const pkgCache::PkgIterator &pkg) + fetcher.Setup(&Stat); + + // fetch the changelog +- string filename = getChangelogFile(pkg.Name(), uri, &fetcher); ++ pk_backend_set_status(m_backend, PK_STATUS_ENUM_DOWNLOAD_CHANGELOG); ++ string filename = getChangelogFile(pkg.Name(), origin, verstr, srcpkg, uri, &fetcher); + + string changelog; + string update_text; +-- +1.6.1 + --- packagekit-0.6.8.orig/debian/patches/01_aptcc_fonts_group.diff +++ packagekit-0.6.8/debian/patches/01_aptcc_fonts_group.diff @@ -0,0 +1,38 @@ +From 58e5b2b56250d1a7580831ea17d6161f84b00ef7 Mon Sep 17 00:00:00 2001 +From: Daniel Nicoletti +Date: Mon, 13 Sep 2010 11:10:58 -0300 +Subject: [PATCH] aptcc: Added Fonts group + +--- + backends/aptcc/apt-utils.cpp | 2 ++ + backends/aptcc/pk-backend-aptcc.cpp | 1 + + 2 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/backends/aptcc/apt-utils.cpp b/backends/aptcc/apt-utils.cpp +index 09f71ba..f2ed478 100644 +--- a/backends/aptcc/apt-utils.cpp ++++ b/backends/aptcc/apt-utils.cpp +@@ -177,6 +177,8 @@ get_enum_group (string group) + return PK_GROUP_ENUM_ELECTRONICS; + } else if (group.compare ("embedded") == 0) { + return PK_GROUP_ENUM_SYSTEM; ++ } else if (group.compare ("fonts") == 0) { ++ return PK_GROUP_ENUM_FONTS; + } else if (group.compare ("games") == 0) { + return PK_GROUP_ENUM_GAMES; + } else if (group.compare ("gnome") == 0) { +diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp +index 7fa8264..082574a 100644 +--- a/backends/aptcc/pk-backend-aptcc.cpp ++++ b/backends/aptcc/pk-backend-aptcc.cpp +@@ -83,6 +83,7 @@ backend_get_groups (PkBackend *backend) + PK_GROUP_ENUM_DESKTOP_KDE, + PK_GROUP_ENUM_DESKTOP_OTHER, + PK_GROUP_ENUM_ELECTRONICS, ++ PK_GROUP_ENUM_FONTS, + PK_GROUP_ENUM_GAMES, + PK_GROUP_ENUM_GRAPHICS, + PK_GROUP_ENUM_INTERNET, +-- +1.6.1 + --- packagekit-0.6.8.orig/debian/patches/defaults.patch +++ packagekit-0.6.8/debian/patches/defaults.patch @@ -0,0 +1,40 @@ +Index: PackageKit-0.6.8/etc/PackageKit.conf.in +=================================================================== +--- PackageKit-0.6.8.orig/etc/PackageKit.conf.in 2010-07-07 11:26:16.000000000 +0100 ++++ PackageKit-0.6.8/etc/PackageKit.conf.in 2010-09-06 22:08:53.220422002 +0100 +@@ -123,7 +123,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 + # +@@ -131,7 +131,7 @@ + # installed files. + # + # default=true +-UpdateCheckProcesses=true ++UpdateCheckProcesses=false + + # Check for shared libraries that are in use, that are replaced by packages + # that are marked as security updates. +@@ -176,7 +176,7 @@ + # should be updated to reflect reality. + # + # default=5 +-StateChangedTimeoutPriority=5 ++StateChangedTimeoutPriority=60 + + # The time in seconds to wait after the computer has been resumed or any non + # package related system event +@@ -202,7 +202,7 @@ + # packages in one method. + # + # default=100 +-MaximumItemsToResolve=100 ++MaximumItemsToResolve=5000 + + # The maximum number of packages that can be processed in one method + # --- packagekit-0.6.8.orig/debian/patches/04_aptcc_changelog_support.patch +++ packagekit-0.6.8/debian/patches/04_aptcc_changelog_support.patch @@ -0,0 +1,800 @@ +From 2d03c1ed2f710955de4814ddaf8b133da06f026b Mon Sep 17 00:00:00 2001 +From: Daniel Nicoletti +Date: Tue, 5 Oct 2010 03:11:39 -0300 +Subject: [PATCH] aptcc: Feature: added a fetcher/parser for updates changelogs + +--- + backends/aptcc/Makefile.am | 14 +- + backends/aptcc/apt-utils.cpp | 188 ++++++++++++++++++++ + backends/aptcc/apt-utils.h | 27 +++ + backends/aptcc/apt.cpp | 327 +++++++++++++++++++++++++++++------ + backends/aptcc/pk-backend-aptcc.cpp | 6 + + backends/aptcc/pkg_acqfile.cpp | 38 ++++ + backends/aptcc/pkg_acqfile.h | 20 ++ + 7 files changed, 556 insertions(+), 64 deletions(-) + +diff --git a/backends/aptcc/Makefile.am b/backends/aptcc/Makefile.am +index 235b430..4e1e22d 100644 +--- a/backends/aptcc/Makefile.am ++++ b/backends/aptcc/Makefile.am +@@ -1,14 +1,14 @@ + plugindir = $(PK_PLUGIN_DIR) + plugin_LTLIBRARIES = libpk_backend_aptcc.la +-libpk_backend_aptcc_la_SOURCES = pk-backend-aptcc.cpp \ +- apt.cpp \ +- apt-utils.cpp \ +- matcher.cpp \ ++libpk_backend_aptcc_la_SOURCES = pkg_acqfile.cpp \ + aptcc_show_broken.cpp \ +- acqprogress.cpp \ + aptcc_show_error.cpp \ +- pkg_acqfile.cpp \ +- rsources.cpp ++ apt-utils.cpp \ ++ acqprogress.cpp \ ++ matcher.cpp \ ++ rsources.cpp \ ++ apt.cpp \ ++ pk-backend-aptcc.cpp + libpk_backend_aptcc_la_LIBADD = -lcrypt $(PK_PLUGIN_LIBS) + libpk_backend_aptcc_la_LDFLAGS = -module -avoid-version $(APTCC_LIBS) $(GST_LIBS) + libpk_backend_aptcc_la_CFLAGS = $(PK_PLUGIN_CFLAGS) +diff --git a/backends/aptcc/apt-utils.cpp b/backends/aptcc/apt-utils.cpp +index f2ed478..52142a2 100644 +--- a/backends/aptcc/apt-utils.cpp ++++ b/backends/aptcc/apt-utils.cpp +@@ -20,7 +20,11 @@ + */ + + #include "apt-utils.h" ++ ++#include "pkg_acqfile.h" + #include ++#include ++#include + + static int descrBufferSize = 4096; + static char *descrBuffer = new char[descrBufferSize]; +@@ -240,6 +244,132 @@ get_enum_group (string group) + } + } + ++string getChangelogFile(const string &name, const string &uri, pkgAcquire *fetcher) ++{ ++ string descr("Changelog for "); ++ descr += name; ++ ++ // no need to translate this, the changelog is in english anyway ++ string filename = "/tmp/aptcc_changelog"; ++ ++ new pkgAcqFileSane(fetcher, uri, descr, name, filename); ++ //cerr << "**DEBUG** origin: " << origin() << endl; ++ //cerr << "**DEBUG** uri: " << uri << endl; ++ //cerr << "**DEBUG** filename: " << filename << endl; ++ ++ ofstream out(filename.c_str()); ++ if(fetcher->Run() == pkgAcquire::Failed) { ++ out << "Failed to download the list of changes. " << endl; ++ out << "Please check your Internet connection." << endl; ++ // FIXME: Need to dequeue the item ++ } else { ++ struct stat filestatus; ++ stat(filename.c_str(), &filestatus ); ++ if (filestatus.st_size == 0) { ++ out << "This change is not coming from a source that supports changelogs.\n" << endl; ++ out << "Failed to fetch the changelog for " << name << endl; ++ out << "URI was: " << uri << endl; ++ } ++ }; ++ out.close(); ++ ++ return filename; ++} ++ ++string getCVEUrls(const string &changelog) ++{ ++ string ret; ++ // Regular expression to find cve references ++ GRegex *regex; ++ GMatchInfo *match_info; ++ regex = g_regex_new("CVE-\\d{4}-\\d{4}", ++ G_REGEX_CASELESS, ++ G_REGEX_MATCH_NEWLINE_ANY, ++ 0); ++ g_regex_match (regex, changelog.c_str(), G_REGEX_MATCH_NEWLINE_ANY, &match_info); ++ while (g_match_info_matches(match_info)) { ++ gchar *cve = g_match_info_fetch (match_info, 0); ++ gchar *cveLink; ++ if (!ret.empty()) { ++ ret.append(";"); ++ } ++ cveLink = g_strdup_printf("http://web.nvd.nist.gov/view/vuln/detail?vulnId=%s;%s", cve, cve); ++ ret.append(cveLink); ++ g_free(cveLink); ++ g_free(cve); ++ g_match_info_next(match_info, NULL); ++ } ++ g_match_info_free(match_info); ++ g_regex_unref(regex); ++ ++ return ret; ++} ++ ++string getBugzillaUrls(const string &changelog) ++{ ++ string ret; ++ // Matches Ubuntu bugs ++ GRegex *regex; ++ GMatchInfo *match_info; ++ regex = g_regex_new("LP:\\s+(?:[,\\s*]?#(?'bug'\\d+))*", ++ G_REGEX_CASELESS, ++ G_REGEX_MATCH_NEWLINE_ANY, ++ 0); ++ g_regex_match (regex, changelog.c_str(), G_REGEX_MATCH_NEWLINE_ANY, &match_info); ++ while (g_match_info_matches(match_info)) { ++ gchar *bug = g_match_info_fetch_named(match_info, "bug"); ++ gchar *bugLink; ++ if (!ret.empty()) { ++ ret.append(";"); ++ } ++ bugLink = g_strdup_printf("https://bugs.launchpad.net/bugs/%s;Launchpad bug #%s", bug, bug); ++ ret.append(bugLink); ++ g_free(bugLink); ++ g_free(bug); ++ g_match_info_next(match_info, NULL); ++ } ++ g_match_info_free(match_info); ++ g_regex_unref(regex); ++ ++ // Debian bugs ++ // Regular expressions to detect bug numbers in changelogs according to the ++ // Debian Policy Chapter 4.4. For details see the footnote 15: ++ // http://www.debian.org/doc/debian-policy/footnotes.html#f15 ++ // /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i ++ regex = g_regex_new("closes:\\s*(?:bug)?\\#?\\s?(?'bug1'\\d+)(?:,\\s*(?:bug)?\\#?\\s?(?'bug2'\\d+))*", ++ G_REGEX_CASELESS, ++ G_REGEX_MATCH_NEWLINE_ANY, ++ 0); ++ g_regex_match (regex, changelog.c_str(), G_REGEX_MATCH_NEWLINE_ANY, &match_info); ++ while (g_match_info_matches(match_info)) { ++ gchar *bug1 = g_match_info_fetch_named(match_info, "bug1"); ++ gchar *bugLink1; ++ if (!ret.empty()) { ++ ret.append(";"); ++ } ++ bugLink1 = g_strdup_printf("http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%s;Debian bug #%s", bug1, bug1); ++ ret.append(bugLink1); ++ ++ gchar *bug2 = g_match_info_fetch_named(match_info, "bug2"); ++ if (!ret.empty() && bug2 != NULL) { ++ gchar *bugLink2; ++ ret.append(";"); ++ bugLink2 = g_strdup_printf("http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%s;Debian bug #%s", bug1, bug1); ++ ret.append(bugLink2); ++ g_free(bugLink2); ++ g_free(bug2); ++ } ++ ++ g_free(bugLink1); ++ g_free(bug1); ++ g_match_info_next(match_info, NULL); ++ } ++ g_match_info_free(match_info); ++ g_regex_unref(regex); ++ ++ return ret; ++} ++ + bool contains(vector > packages, + const pkgCache::PkgIterator pkg) + { +@@ -265,3 +395,61 @@ bool starts_with (const string &str, const char *start) + return str.size() >= startSize && (strncmp(str.data(), start, startSize) == 0); + } + ++GDateTime* dateFromString(const gchar *tz, ++ const gchar *year, ++ const gchar *month, ++ const gchar *day, ++ const gchar *hour, ++ const gchar *minute, ++ const gchar *seconds) ++{ ++ GDateTime *ret; ++ int monthI; ++ if (strcmp(month, "Jan") == 0) { ++ monthI = 1; ++ } else if (strcmp(month, "Feb") == 0) { ++ monthI = 2; ++ } else if (strcmp(month, "Mar") == 0) { ++ monthI = 3; ++ } else if (strcmp(month, "Apr") == 0) { ++ monthI = 4; ++ } else if (strcmp(month, "May") == 0) { ++ monthI = 5; ++ } else if (strcmp(month, "Jun") == 0) { ++ monthI = 6; ++ } else if (strcmp(month, "Jul") == 0) { ++ monthI = 7; ++ } else if (strcmp(month, "Aug") == 0) { ++ monthI = 8; ++ } else if (strcmp(month, "Sep") == 0) { ++ monthI = 9; ++ } else if (strcmp(month, "Oct") == 0) { ++ monthI = 10; ++ } else if (strcmp(month, "Nov") == 0) { ++ monthI = 11; ++ } else if (strcmp(month, "Dez") == 0) { ++ monthI = 12; ++ } ++ ++ ret = g_date_time_new(g_time_zone_new(tz), ++ atoi(year), ++ monthI, ++ atoi(day), ++ atoi(hour), ++ atoi(minute), ++ atoi(seconds)); ++ return ret; ++} ++ ++const char *utf8(const char *str) ++{ ++ static char *_str = NULL; ++ if (str == NULL) ++ return NULL; ++ if (g_utf8_validate(str, -1, NULL) == true) ++ return str; ++ g_free(_str); ++ _str = NULL; ++ _str = g_locale_to_utf8(str, -1, NULL, NULL, NULL); ++ return _str; ++} +diff --git a/backends/aptcc/apt-utils.h b/backends/aptcc/apt-utils.h +index 92f6e1a..461e7ca 100644 +--- a/backends/aptcc/apt-utils.h ++++ b/backends/aptcc/apt-utils.h +@@ -104,6 +104,21 @@ string get_long_description_parsed(const pkgCache::VerIterator &ver, + PkGroupEnum get_enum_group(string group); + + /** ++ * Return the changelog filename fetched ++ */ ++string getChangelogFile(const string &name, const string &uri, pkgAcquire *fetcher); ++ ++/** ++ * Returns a list of links pairs url;description for CVEs ++ */ ++string getCVEUrls(const string &changelog); ++ ++/** ++ * Returns a list of links pairs url;description for Debian and Ubuntu bugs ++ */ ++string getBugzillaUrls(const string &changelog); ++ ++/** + * Return if the given vector contain a package + */ + bool contains(vector > packages, +@@ -119,4 +134,16 @@ bool ends_with(const string &str, const char *end); + */ + bool starts_with(const string &str, const char *end); + ++GDateTime* dateFromString(const gchar *tz, ++ const gchar *year, ++ const gchar *month, ++ const gchar *day, ++ const gchar *hour, ++ const gchar *minute, ++ const gchar *seconds); ++/** ++ * Return an utf8 string ++ */ ++const char *utf8(const char *str); ++ + #endif +diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp +index c4089de..c0c58e2 100644 +--- a/backends/aptcc/apt.cpp ++++ b/backends/aptcc/apt.cpp +@@ -31,8 +31,10 @@ + #include + #include + #include +- + #include ++#include ++#include ++ + #include + #include + #include +@@ -584,49 +586,260 @@ void aptcc::emit_details(const pkgCache::PkgIterator &pkg) + // used to emit packages it collects all the needed info + void aptcc::emit_update_detail(const pkgCache::PkgIterator &pkg) + { +- pkgCache::VerIterator candver = find_candidate_ver(pkg); +- +- pkgCache::VerFileIterator vf = candver.FileList(); +- pkgRecords::Parser &rec = packageRecords->Lookup(vf); +- string archive(vf.File().Archive()); +- gchar *package_id; +- package_id = pk_package_id_build(pkg.Name(), +- candver.VerStr(), +- candver.Arch(), +- archive.c_str()); +- +- pkgCache::VerIterator currver = find_ver(pkg); +- pkgCache::VerFileIterator currvf = currver.FileList(); +- gchar *current_package_id; +- current_package_id = pk_package_id_build(pkg.Name(), +- currver.VerStr(), +- currver.Arch(), +- currvf.File().Archive()); +- +- PkUpdateStateEnum updateState = PK_UPDATE_STATE_ENUM_UNKNOWN; +- if (archive.compare("stable") == 0) { +- updateState = PK_UPDATE_STATE_ENUM_STABLE; +- } else if (archive.compare("testing") == 0) { +- updateState = PK_UPDATE_STATE_ENUM_TESTING; +- } else if (archive.compare("unstable") == 0 || +- archive.compare("experimental") == 0) +- { +- updateState = PK_UPDATE_STATE_ENUM_UNSTABLE; +- } +- pk_backend_update_detail(m_backend, +- package_id, +- current_package_id,//const gchar *updates +- "",//const gchar *obsoletes +- "",//const gchar *vendor_url +- "",//const gchar *bugzilla_url +- "",//const gchar *cve_url +- PK_RESTART_ENUM_NONE,//PkRestartEnum restart +- "",//const gchar *update_text +- "",//const gchar *changelog +- updateState,//PkUpdateStateEnum state +- "",//const gchar *issued_text +- ""//const gchar *updated_text +- ); ++ // Get the version of the current package ++ pkgCache::VerIterator currver = find_ver(pkg); ++ pkgCache::VerFileIterator currvf = currver.FileList(); ++ // Build a package_id from the current version ++ gchar *current_package_id; ++ current_package_id = pk_package_id_build(pkg.Name(), ++ currver.VerStr(), ++ currver.Arch(), ++ currvf.File().Archive()); ++ ++ // Get the update version ++ pkgCache::VerIterator candver = find_candidate_ver(pkg); ++ ++ pkgCache::VerFileIterator vf = candver.FileList(); ++ pkgCache::PkgFileIterator pkgFile = vf.File(); ++ string origin = pkgFile.Origin(); ++ pkgRecords::Parser &rec = packageRecords->Lookup(candver.FileList()); ++ ++ // Build the changelogURI ++ char uri[512]; ++ string srcpkg; ++ ++ if (rec.SourcePkg().empty()) { ++ srcpkg = pkg.Name(); ++ } else { ++ srcpkg = rec.SourcePkg(); ++ } ++ if (origin.compare("Debian") == 0 || origin.compare("Ubuntu") == 0) { ++ string prefix; ++ ++ string src_section = candver.Section(); ++ if(src_section.find('/') != src_section.npos) { ++ src_section = string(src_section, 0, src_section.find('/')); ++ } else { ++ src_section = "main"; ++ } ++ ++ prefix+=srcpkg[0]; ++ if(srcpkg.size() > 3 && srcpkg[0] == 'l' && srcpkg[1] == 'i' && srcpkg[2] == 'b') { ++ prefix = string("lib") + srcpkg[3]; ++ } ++ ++ string verstr; ++ if(candver.VerStr() != NULL) { ++ verstr = candver.VerStr(); ++ } ++ ++ if(verstr.find(':') != verstr.npos) { ++ verstr=string(verstr, verstr.find(':') + 1); ++ } ++ ++ if (origin.compare("Debian") == 0) { ++ snprintf(uri, ++ 512, ++ "http://packages.debian.org/changelogs/pool/%s/%s/%s/%s_%s/changelog", src_section.c_str(), ++ prefix.c_str(), ++ srcpkg.c_str(), ++ srcpkg.c_str(), ++ verstr.c_str()); ++ } else { ++ snprintf(uri, ++ 512, ++ "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog", src_section.c_str(), ++ prefix.c_str(), ++ srcpkg.c_str(), ++ srcpkg.c_str(), ++ verstr.c_str()); ++ } ++ } else { ++ string pkgfilename; ++ const char *start, *stop; ++ pkgTagSection sec; ++ unsigned long len; ++ ++ rec.GetRec(start, stop); ++ len = stop - start; ++ // add +1 to ensure we have the double lineline in the buffer ++ if (start && sec.Scan(start, len + 1)) { ++ pkgfilename = sec.FindS("Filename"); ++ } ++ ++ string cadidateOriginSiteUrl; ++ if(!vf.end() && vf.File() && vf.File().Site()) { ++ cadidateOriginSiteUrl = vf.File().Site(); ++ } ++ ++ pkgfilename = pkgfilename.substr(0, pkgfilename.find_last_of('.')) + ".changelog"; ++ snprintf(uri,512,"http://%s/%s", ++ cadidateOriginSiteUrl.c_str(), ++ pkgfilename.c_str()); ++ } ++ // Create the download object ++ AcqPackageKitStatus Stat(this, m_backend, _cancel); ++ ++ // get a fetcher ++ pkgAcquire fetcher; ++ fetcher.Setup(&Stat); ++ ++ // fetch the changelog ++ string filename = getChangelogFile(pkg.Name(), uri, &fetcher); ++ ++ string changelog; ++ string update_text; ++ ifstream in(filename.c_str()); ++ string line; ++ GRegex *regexVer; ++ regexVer = g_regex_new("(?'source'.+) \\((?'version'.*)\\) " ++ "(?'dist'.+); urgency=(?'urgency'.+)", ++ G_REGEX_CASELESS, ++ G_REGEX_MATCH_ANCHORED, ++ 0); ++ GRegex *regexDate; ++ regexDate = g_regex_new("^ -- (?'maintainer'.+) (?'mail'<.+>) (?'dayname'\\w+,) " ++"(?'d'\\d+) (?'m'\\w+) (?'y'\\d+) (?'H'\\d+):(?'M'\\d+):(?'s'\\d+) (?'offset'[-\\+]\\d+)$", ++ G_REGEX_CASELESS, ++ G_REGEX_MATCH_ANCHORED, ++ 0); ++ string updated; ++ string issued; ++ while (getline(in, line)) { ++ // no need to free str later, it is allocated in a static buffer ++ const char *str = utf8(line.c_str()); ++ if (strcmp(str, "") == 0) { ++ changelog.append("\n"); ++ continue; ++ } else { ++ changelog.append(str); ++ changelog.append("\n"); ++ } ++ ++ if (starts_with(str, srcpkg.c_str())) { ++ // Check to see if the the text isn't about the current package, ++ // otherwise add a == version == ++ GMatchInfo *match_info; ++ if (g_regex_match(regexVer, str, G_REGEX_MATCH_ANCHORED, &match_info)) { ++ gchar *version; ++ version = g_match_info_fetch_named(match_info, "version"); ++ ++ // Compare if the current version is shown in the changelog, to not ++ // display old changelog information ++ if (_system != 0 && ++ _system->VS->DoCmpVersion(version, version + strlen(version), ++ currver.VerStr(), currver.VerStr() + strlen(currver.VerStr())) <= 0) { ++ g_free (version); ++ break; ++ } else { ++ if (!update_text.empty()) { ++ update_text.append("\n\n"); ++ } ++ update_text.append(" == "); ++ update_text.append(version); ++ update_text.append(" =="); ++ g_free (version); ++ } ++ } ++ g_match_info_free (match_info); ++ } else if (starts_with(str, " ")) { ++ // update descritption ++ update_text.append("\n"); ++ update_text.append(str); ++ } else if (starts_with(str, " --")) { ++ // Parse the text to know when the update was issued, ++ // and when it got updated ++ GMatchInfo *match_info; ++ if (g_regex_match(regexDate, str, G_REGEX_MATCH_ANCHORED, &match_info)) { ++ gchar *tz; ++ gchar *year; ++ gchar *month; ++ gchar *day; ++ gchar *hour; ++ gchar *minute; ++ gchar *seconds; ++ tz = g_match_info_fetch_named(match_info, "offset"); ++ year = g_match_info_fetch_named(match_info, "y"); ++ month = g_match_info_fetch_named(match_info, "m"); ++ day = g_match_info_fetch_named(match_info, "d"); ++ hour = g_match_info_fetch_named(match_info, "H"); ++ minute = g_match_info_fetch_named(match_info, "M"); ++ seconds = g_match_info_fetch_named(match_info, "s"); ++ GDateTime *dateTime; ++ dateTime = dateFromString(tz, ++ year, ++ month, ++ day, ++ hour, ++ minute, ++ seconds); ++ g_free(tz); ++ g_free(year); ++ g_free(month); ++ g_free(day); ++ g_free(hour); ++ g_free(minute); ++ g_free(seconds); ++ ++ issued = g_date_time_format(dateTime, "%FT%R:%S"); ++ if (updated.empty()) { ++ updated = g_date_time_format(dateTime, "%FT%R:%S"); ++ } ++ } ++ g_match_info_free(match_info); ++ } ++ } ++ // Clean structures ++ g_regex_unref(regexVer); ++ g_regex_unref(regexDate); ++ unlink(filename.c_str()); ++ ++ // Check if the update was updates since it was issued ++ if (issued.compare(updated) == 0) { ++ updated = ""; ++ } ++ ++ // Build a package_id from the update version ++ string archive(vf.File().Archive()); ++ gchar *package_id; ++ package_id = pk_package_id_build(pkg.Name(), ++ candver.VerStr(), ++ candver.Arch(), ++ archive.c_str()); ++ ++ PkUpdateStateEnum updateState = PK_UPDATE_STATE_ENUM_UNKNOWN; ++ if (archive.compare("stable") == 0) { ++ updateState = PK_UPDATE_STATE_ENUM_STABLE; ++ } else if (archive.compare("testing") == 0) { ++ updateState = PK_UPDATE_STATE_ENUM_TESTING; ++ } else if (archive.compare("unstable") == 0 || ++ archive.compare("experimental") == 0) ++ { ++ updateState = PK_UPDATE_STATE_ENUM_UNSTABLE; ++ } ++ ++ PkRestartEnum restart = PK_RESTART_ENUM_NONE; ++ if (starts_with(pkg.Name(), "linux-image-") || ++ starts_with(pkg.Name(), "nvidia-") || ++ strcmp(pkg.Name(), "libc6") == 0 || ++ strcmp(pkg.Name(), "dbus") == 0) { ++ restart = PK_RESTART_ENUM_SYSTEM; ++ } ++ ++ pk_backend_update_detail(m_backend, ++ package_id, ++ current_package_id,//const gchar *updates ++ "",//const gchar *obsoletes ++ "",//const gchar *vendor_url ++ getBugzillaUrls(changelog).c_str(),//const gchar *bugzilla_url ++ getCVEUrls(changelog).c_str(),//const gchar *cve_url ++ restart,//PkRestartEnum restart ++ update_text.c_str(),//const gchar *update_text ++ changelog.c_str(),//const gchar *changelog ++ updateState,//PkUpdateStateEnum state ++ issued.c_str(), //const gchar *issued_text ++ updated.c_str() //const gchar *updated_text ++ ); + } + + void aptcc::get_depends(vector > &output, +@@ -1286,34 +1499,34 @@ void aptcc::updateInterface(int fd, int writeFd) + // Let's start parsing the status: + if (starts_with(str, "Preparing to configure")) { + // Preparing to Install/configure +- cout << "Found Preparing to configure! " << line << endl; ++// cout << "Found Preparing to configure! " << line << endl; + // The next item might be Configuring so better it be 100 + m_lastSubProgress = 100; + emitTransactionPackage(pkg, PK_INFO_ENUM_PREPARING); + pk_backend_set_sub_percentage(m_backend, 75); + } else if (starts_with(str, "Preparing for removal")) { + // Preparing to Install/configure +- cout << "Found Preparing for removal! " << line << endl; ++// cout << "Found Preparing for removal! " << line << endl; + m_lastSubProgress = 50; + emitTransactionPackage(pkg, PK_INFO_ENUM_REMOVING); + pk_backend_set_sub_percentage(m_backend, m_lastSubProgress); + } else if (starts_with(str, "Preparing")) { + // Preparing to Install/configure +- cout << "Found Preparing! " << line << endl; ++// cout << "Found Preparing! " << line << endl; + // if last package is different then finish it + if (!m_lastPackage.empty() && m_lastPackage.compare(pkg) != 0) { +- cout << "FINISH the last package: " << m_lastPackage << endl; ++// cout << "FINISH the last package: " << m_lastPackage << endl; + emitTransactionPackage(m_lastPackage, PK_INFO_ENUM_FINISHED); + } + emitTransactionPackage(pkg, PK_INFO_ENUM_PREPARING); + pk_backend_set_sub_percentage(m_backend, 25); + } else if (starts_with(str, "Unpacking")) { +- cout << "Found Unpacking! " << line << endl; ++// cout << "Found Unpacking! " << line << endl; + emitTransactionPackage(pkg, PK_INFO_ENUM_DECOMPRESSING); + pk_backend_set_sub_percentage(m_backend, 50); + } else if (starts_with(str, "Configuring")) { + // Installing Package +- cout << "Found Configuring! " << line << endl; ++// cout << "Found Configuring! " << line << endl; + if (m_lastSubProgress >= 100 && !m_lastPackage.empty()) { + cout << "FINISH the last package: " << m_lastPackage << endl; + emitTransactionPackage(m_lastPackage, PK_INFO_ENUM_FINISHED); +@@ -1323,24 +1536,24 @@ void aptcc::updateInterface(int fd, int writeFd) + pk_backend_set_sub_percentage(m_backend, m_lastSubProgress); + m_lastSubProgress += 25; + } else if (starts_with(str, "Running dpkg")) { +- cout << "Found Running dpkg! " << line << endl; ++// cout << "Found Running dpkg! " << line << endl; + } else if (starts_with(str, "Running")) { +- cout << "Found Running! " << line << endl; ++// cout << "Found Running! " << line << endl; + pk_backend_set_status (m_backend, PK_STATUS_ENUM_COMMIT); + } else if (starts_with(str, "Installing")) { +- cout << "Found Installing! " << line << endl; ++// cout << "Found Installing! " << line << endl; + // FINISH the last package + if (!m_lastPackage.empty()) { +- cout << "FINISH the last package: " << m_lastPackage << endl; ++// cout << "FINISH the last package: " << m_lastPackage << endl; + emitTransactionPackage(m_lastPackage, PK_INFO_ENUM_FINISHED); + } + m_lastSubProgress = 0; + emitTransactionPackage(pkg, PK_INFO_ENUM_INSTALLING); + pk_backend_set_sub_percentage(m_backend, 0); + } else if (starts_with(str, "Removing")) { +- cout << "Found Removing! " << line << endl; ++// cout << "Found Removing! " << line << endl; + if (m_lastSubProgress >= 100 && !m_lastPackage.empty()) { +- cout << "FINISH the last package: " << m_lastPackage << endl; ++// cout << "FINISH the last package: " << m_lastPackage << endl; + emitTransactionPackage(m_lastPackage, PK_INFO_ENUM_FINISHED); + } + m_lastSubProgress += 25; +@@ -1348,7 +1561,7 @@ void aptcc::updateInterface(int fd, int writeFd) + pk_backend_set_sub_percentage(m_backend, m_lastSubProgress); + } else if (starts_with(str, "Installed") || + starts_with(str, "Removed")) { +- cout << "Found FINISHED! " << line << endl; ++// cout << "Found FINISHED! " << line << endl; + m_lastSubProgress = 100; + emitTransactionPackage(pkg, PK_INFO_ENUM_FINISHED); + } else { +diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp +index f4f80d5..246a4c0 100644 +--- a/backends/aptcc/pk-backend-aptcc.cpp ++++ b/backends/aptcc/pk-backend-aptcc.cpp +@@ -321,6 +321,12 @@ backend_get_details_thread (PkBackend *backend) + return false; + } + ++ if (updateDetail) { ++ // this is needed to compare the changelog verstion to ++ // current package using DoCmpVersion() ++ pkgInitSystem(*_config, _system); ++ } ++ + pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY); + for (uint i = 0; i < g_strv_length(package_ids); i++) { + pi = package_ids[i]; +diff --git a/backends/aptcc/pkg_acqfile.cpp b/backends/aptcc/pkg_acqfile.cpp +index 2f64d16..872816b 100644 +--- a/backends/aptcc/pkg_acqfile.cpp ++++ b/backends/aptcc/pkg_acqfile.cpp +@@ -33,10 +33,48 @@ + #include + + #include ++#include + #include + #include + #include + ++// Let's all sing a song about apt-pkg's brokenness.. ++ ++pkgAcqFileSane::pkgAcqFileSane(pkgAcquire *Owner, string URI, ++ string Description, string ShortDesc, ++ string filename): ++ Item(Owner) ++{ ++ Retries=_config->FindI("Acquire::Retries",0); ++ DestFile=filename; ++ ++ Desc.URI=URI; ++ Desc.Description=Description; ++ Desc.Owner=this; ++ Desc.ShortDesc=ShortDesc; ++ ++ QueueURI(Desc); ++} ++ ++// Straight from acquire-item.cc ++/* Here we try other sources */ ++void pkgAcqFileSane::Failed(string Message,pkgAcquire::MethodConfig *Cnf) ++{ ++ ErrorText = LookupTag(Message,"Message"); ++ ++ // This is the retry counter ++ if (Retries != 0 && ++ Cnf->LocalOnly == false && ++ StringToBool(LookupTag(Message,"Transient-Failure"),false) == true) ++ { ++ Retries--; ++ QueueURI(Desc); ++ return; ++ } ++ ++ Item::Failed(Message,Cnf); ++} ++ + // Mostly copied from pkgAcqArchive. + bool get_archive(pkgAcquire *Owner, pkgSourceList *Sources, + pkgRecords *Recs, pkgCache::VerIterator const &Version, +diff --git a/backends/aptcc/pkg_acqfile.h b/backends/aptcc/pkg_acqfile.h +index 08fe02f..a6638b7 100644 +--- a/backends/aptcc/pkg_acqfile.h ++++ b/backends/aptcc/pkg_acqfile.h +@@ -22,6 +22,26 @@ + /** \file pkg_acqfile.h + */ + ++class pkgAcqFileSane:public pkgAcquire::Item ++// This is frustrating: pkgAcqFile is **almost** good enough, but has some ++// hardcoded stuff that makes it not quite work. ++// ++// Based heavily on that class, though. ++{ ++ pkgAcquire::ItemDesc Desc; ++ string Md5Hash; ++ unsigned int Retries; ++ ++public: ++ pkgAcqFileSane(pkgAcquire *Owner, string URI, ++ string Description, string ShortDesc, string filename); ++ ++ void Failed(string Message, pkgAcquire::MethodConfig *Cnf); ++ string MD5Sum() {return Md5Hash;} ++ string DescURI() {return Desc.URI;} ++ virtual ~pkgAcqFileSane() {} ++}; ++ + /** Like pkgAcqArchive, but uses generic File objects to download to + * the cwd (and copies from file:/ URLs). + */ +-- +1.6.1 + --- packagekit-0.6.8.orig/debian/patches/02_packagekit_qt_set_hints.diff +++ packagekit-0.6.8/debian/patches/02_packagekit_qt_set_hints.diff @@ -0,0 +1,24 @@ +From 68eb126106c26d324645fe0a3d0f1d982ba661e5 Mon Sep 17 00:00:00 2001 +From: Daniel Nicoletti +Date: Fri, 17 Sep 2010 01:40:58 -0300 +Subject: [PATCH] packagekit-qt: Forgot to setHints() on new constructor + +--- + lib/packagekit-qt/src/transaction.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/lib/packagekit-qt/src/transaction.cpp b/lib/packagekit-qt/src/transaction.cpp +index 3868c2c..568ddd7 100644 +--- a/lib/packagekit-qt/src/transaction.cpp ++++ b/lib/packagekit-qt/src/transaction.cpp +@@ -87,6 +87,7 @@ Transaction::Transaction(const QString &tid, QObject *parent) + } else { + d->error = Client::NoError; + Client::instance()->d_ptr->runningTransactions.insert(d->tid, this); ++ setHints(Client::instance()->d_ptr->hints); + } + + connect(d->p, SIGNAL(Changed()), +-- +1.6.1 + --- packagekit-0.6.8.orig/debian/patches/vendor.patch +++ packagekit-0.6.8/debian/patches/vendor.patch @@ -0,0 +1,35 @@ +diff --git a/etc/Vendor.conf b/etc/Vendor.conf +index ed1f5a9..281f944 100644 +--- a/etc/Vendor.conf ++++ b/etc/Vendor.conf +@@ -12,7 +12,7 @@ + # If the value is set to 'none' then no link is shown. + # + # default=http://www.packagekit.org/pk-package-not-found.html +-DefaultUrl=http://www.packagekit.org/pk-package-not-found.html ++DefaultUrl=https://help.ubuntu.com/community/Repositories/ + + # The URL which is shown to the user when a codec could not be found. + # It should explain why certain codecs cannot be used, and perhaps show +@@ -21,7 +21,7 @@ DefaultUrl=http://www.packagekit.org/pk-package-not-found.html + # If the value is set to 'none' then the value of DefaultUrl is used. + # + # default=none +-CodecUrl=none ++CodecUrl=https://shop.canonical.com/index.php?cPath=19&osCsid=f1e370ea7563ed5e654c10450364ff24 + + # The URL which is shown to the user when hardware drivers could not be found. + # It should explain why some hardware is not supported, and links to futher +@@ -54,10 +54,10 @@ MimeUrl=none + # The vendor name shown for the 'vendor' group + # + # default=My Vendor +-VendorName=My Vendor ++VendorName=Ubuntu + + # The vendor icon name shown for the 'vendor' group + # + # default=emblem-favorite +-VendorIcon=emblem-favorite ++VendorIcon=distributor-logo +