Random errors…

Taken from “man va_start”
If there is no next argument, or if type is not compatible with the type of the actual next argument (as promoted according to the default argument promotions), random errors will occur.

Just what I like. Random errors.

PackageKit groups

The PackageKit team have been rocking recently with lots of new features and bugfixes. There is yum group support thanks to Tim, and soon there will be other backends supported too.

The screenshot below just shows what pk-application looks like with groups support. All the names are translated into the session users locale, as you would expect. Comments welcome.

pk-application with groups support

gnome-packagekit 0.1.1 release!

Translations:

  • Updated Norwegian bokmål translation (Kjartan Maraas)
  • Add Polish translation (Piotr Drąg)

New features:

  • Show an icon when we are waiting, to give feedback when yum is waiting for a command line tool to release the lock (Richard Hughes)
  • Connect up the Requires button in the toolbar (Grzegorz Dabrowski)
  • Add a desktop icon for pk-repo (Richard Hughes)

Bugfixes

  • Use the new API in PackageKit to get the cached data (Richard Hughes)
  • Use a local copy of libgbus to stop the startup race of gnome-power-manager, gnome-screensaver and pk-update-icon from preventing the update icon to show on first login (Richard Hughes)
  • Spin the progress bar at the same speed between applications (Richard Hughes)

Tarball available here.

PackageKit 0.1.1 release!

New backends:

  • A SMART backend (James Bowes)
  • A PiSi backend (S.Çağlar Onur)

New features:

  • A better, easier to use website (Richard Hughes)
  • Added missing install-file.py so we can do local rpm installs (Tim Lauridsen)
  • Be ultra-paranoid about validating input from the user (Richard Hughes)
  • Send SIGQUIT and then SIGKILL after a little delay, so we can clean up the backends nicely by unlocking when we cancel (Richard Hughes)
  • Add resolve functionality in pkcon to allow non-package_id use, for instance 'pkcon remove gimp' now does the right thing (Richard Hughes)
  • Display a pulsing progress bar for no-progress-updates and percentage-update that is shown when using a console (James Bowes)
  • Remove the hard dependency on NetworkManager so other networking stacks can be used instead (S.Çağlar Onur, Richard Hughes)
  • Add a filter parameter for Resolve() so we can do the filtering in the spawned backend without duplicating code (James Bowes, Richard Hughes)
  • Substantial additions to the box backend (Grzegorz Dabrowski)
  • Add GetRepoList and RepoEnable to the yum backend (Tim Lauridsen)
  • Add bash completion script for pkcon (James Bowes)
  • Get the repo list for the aplm backend (Andreas Obergrusberger)

API changes:

  • Store the transaction database in /var/lib rather than /var/db (James Bowes)
  • Don't expose the private list in PkTaskList, instead use verified functions to ensure we can't corrupt data accidentally (Richard Hughes)
  • Don't export the private data array in PkClient or PkPackageListthis breaks API, so the library version has been bumped (Richard Hughes)

Bugfixes:

  • Fix the resolve method parameter passingnow pk-install-package should work correctly (James Bowes)
  • Fix all the copyright notices to be a standard GPL2+ boilerplate licence text (Tom Parker, Robin Norwood)
  • Dist the local apt headers so the apt backend can be compiled from a tarball rather than just from git (Richard Hughes)
  • Fix a 1-in-10 random daemon startup crash when backends do libnm_glib init, shutdown, init, shutdown repeatedly (Richard Hughes)
  • Added locking in the yum backend to allow simultaneous use of the yum command line tool or yum-updatesd (Tim Lauridsen)
  • Fix NoPercentageUpdates validity checking (James Bowes)

Tarball available here.

PackageKit and gnome-packagekit 0.1.0 release!

The Daemon

  • The first public release of PackageKit!
  • New gobject client library for session software to easily talk to PackageKit.
  • Asynchronous API that does not block.
  • Daemon that can queue and manage multiple simultaneous blocking and non-blocking transactions
  • Client applications (pkcon and pkmon) that interact with PackageKit on the command line without any GUI dependencies
  • Many compiled and scripted backends: conary, yum, apt, box, alpm
  • Comprehensive docbook documentation
  • Daemon configuration parameters in etc
  • Module level unit tests as standard
  • Python backend and frontend helper libraries
  • Transaction logging and capability exports for GUI tools
  • HAL locking supported for not-to-be interrupted phases of the transaction
  • NetworkManager integration for network state (other network detection stacks can also be used in the future)
  • PolicyKit integration for fine-grained permission control

GNOME Frontend

  • The first public release of gnome-packagekit!
  • Current applications and tools:
    • pk-application: A more advanced package browser where you can install, remove and get details about installed and available packages.
    • pk-update-icon: A session process that checks for updates using PackageKit and optionally applies them automatically.
    • pk-install-file: A helper to allow rpms and debs to be double clicked and installed with dependencies automatically.
    • pk-install-package: A helper to allow packages to be installed with a progress UI, for instance openoffice-clipart.
    • pk-prefs: The preferences tool that sets update checking frequency and other package session preferences.
    • pk-update-viewer: A simple application to show the updates available, and more information about each update.
    • pk-backend-status: A development tool to see what capabilities the backend author have provided.
    • pk-transaction-viewer: A tool that lets you see what was updated, installed or removed and optionally rollback to an old checkpoint.
    • pk-repo: A tool that lets you enable and disable installed repositories.
  • Some initial translations
  • A simple help file.

Tarballs available from my freedesktop page. RPM's available here. My thanks go out to all those who made this possible.

PackageKit Repo Viewer

Not very important in the grand scheme of things, but some people want to be able to enable and disable different repos.


pk-repo, which took about 10 minutes to create…

The frontend is done, the backend just needs adding. This should be pretty trivial, it just needs support in the backends. Of course, this will work for all backends and distros and is not distro specific. PolicyKit will be used again to enforce the permissions for changing the repo files.

They'll also be method to set arbitrary data, for tools like distro upgrade tools. A distro upgrade tool isn't something I want to add in PackageKit, although it should be simple to knock something up in python just to execute backend specific standards. There's a python helper library shipped for stuff like this. For example, a foresight distro update tool could just call RepoSetData(“conary-set-download-url”, “http://new-version.org”) and then UpdateSystem().

Don't expect this to work properly for 0.1.0 next week, this is a feature preview.