QApt and Muon 0.3 (1.0 alpha2)

I’m proud to announce the second alpha of both LibQApt and Muon. (For an intro to those who may be seeing this for the first time, read my previous blog post) Packages will be in the same location as before, but are not yet ready. It seems that the PPA service builders have a backlog on the magnitude of 1956 jobs, and won’t get to LibQApt or Muon for another 48 hours. 😦

Tarballs can be found here and here, for QApt and Muon respectively.

Bugs are now being tracked at (as opposed to in blog comments ;)). To report a bug in either LibQApt or Muon, you can now use the “Help -> Report bug” menu item in Muon just like any other KDE application.

Here’s what’s changed since 0.2 (1.0 alpha 1):


  • Fixed a bug where entries like “Replaces: libqapt (< 0.3.0-0ubuntu1)” would get cut off at the ‘(‘, due to the interpretation of ‘<‘ as the beginning of an HTML tag.
  • Remove intermediary non-file paths from the installedFilesList() function. e.g if the file list were “/usr/, /usr/bin/, /usr/bin/konversation”, it would now be just “/usr/bin/konversation”
  • Miscellaneous Krazy compliance fixes
  • Fixed the appearance of items in the Depends tab that were localized by APT so that they don’t look like garbage. (Convert explicitly from Utf8)
  • Added a downloadSize() function to determine how large the potential download size will be.
  • Added an originLabel() function to get the human-readable name of a package archive. (PPAs, etc)
  • Add support for finding the internal origin name, given its human-readable name
  • Change the return type of Package::installSize() to be a qint64, since it easily can outgrow an int.
  • Fix the QApt Worker not downloading package description translation files. Starting the worker as root via DBus does not set the locale env vars to the system setting, but rather to “C” (unlocalized), which causes the translations not to be downloaded
  • Add version override support to QApt::Package
  • Add a saveSelections() file and readSelections() file to support saving/loading package markings to file, compatible with Synaptic markings files.
  • Add an updateXapianIndex() function to the backend and worker, so that apps can update the apt-xapian-index when necessary
  • For the QApt Batch installer, queue all fetch warnings and commit errors to be displayed in one dialog at the end of an operation. This fixes potential massive failures causing many error dialogs to appear during operations.


  • Fix the spacing of items in the status bar.
  • Set the bug address to
  • Miscellaneous Krazy fixes.
  • Add a menu item in the “Settings” menu to open software-properties-kde for software sources editing capabilities:

  • Fix the runtime warning “QCoreApplication::postEvent: Unexpected null receiver” from popping up on return from downloading/committing something.
  • Add support for showing reverse dependencies in the Dependencies tab.

  • Fix incorrect alphabetical sorting after changing a filter.
  • Show the download/install sizes of the currently-marked changes.

  • Add “Filter by origin” support, to show packages only from certain archives/PPAs, like Software Center does:

  • Save custom custom splitter sizes for the size of the filter box and the package view.
  • Add a versions tab for packages that have multiple available versions. From this tab you can force a specific version. I have not yet implemented version locking, but it is planned for a future release.

  • Add entries to the “File” menu to save and load package markings. It uses LibQApt’s functionality for this, and both loading/saving are Synaptic compatible.
  • If there are unapplied changes when the user tries to quit, Muon will now ask if they want to save these changes to a markings file. It comes with a “never ask again” checkbox for those who don’t want to be nagged when this happens. 🙂
  • On startup, check if the apt-xapian-index needs updating, and update it if it needs to be updated.
  • Queue all fetch warnings and commit errors to be displayed in one dialog at the end of an operation. This fixes potential massive failures causing many error dialogs to appear during operations.
  • Fix a bug where the “All” item in the categories filterbox was not at the top in localized environments.
  • Plug a teeny memory leak that could cause viewing screenshots and changelogs to accumulate memory over time.

Roadmap for 1.0

With this, I am hereby announcing that feature freeze and string freeze are occurring tomorrow for both QApt and Muon. I plan on doing a beta release in two weeks, followed by a release candidate the week after that, with a final release on August 12th, just in time for feature freeze for Kubuntu 10.10. I must once again stress that this will not be the default package manager for Kubuntu 10.10, but a stable release needs to be out there to get a maximal amount of testing for 11.04, should the Kubuntu Council and development community choose this as the default package manager for 11.04.

For beyond 1.0, I plan to implement version locking as well as a configuration dialog for various APT system preferences, such as whether or not to treat Recommended or Suggested packages as dependencies or not, etc. It would be nice to eventually implement software sources configuration in Muon itself, and not have to rely on launching software-properties-kde. This is not an exhaustive list, but it’s what I’ve thought of so far.


7 Responses to QApt and Muon 0.3 (1.0 alpha2)

  1. janask says:

    Great to see the package manager getting some love!

    I was looking at your screenshots and thinking about the software manager in Ubuntu that shows little icons of popular programs instead a rather unhelpful DEB package icon.
    I find this not only helps find packages easier when skimming through lists, but it also looks extremely nice.

    Any plans for something like this?

  2. tobami says:

    This is very nice. Though I think that Muon is a do-it-all app, like Synaptic, while what Kubuntu sorely needs is an equivalent to the Ubuntu Software Center (

    But of course that should be much easier now with your work on QApt!

  3. Praveesh K P says:


  4. Luis says:

    I’m really glad this project exists, KDE really needs a good package manager, and this one looks quite good, also your work on QApt is priceless. Just a little advice on the interface: Don’t use those hideous wrongly designed “vertical tabs”, since they wait space, change places every time the user selects one, and are completely unintuitive.

    Cheers from Mexico!

  5. Astreek says:

    Very nice! Thank you for both programs!

    Also, the interface of Muon is easy to understand!
    It remembers me to the feature rich but buggy software manager from Yast, and the short lived Shaman.

    What do you mean with: “implement version locking”?

    By implementing software-properties-kde in Muon you will have to rewrite it to C++? That would also be nice.

    Thank you very much for your work adding and fixing important software for Kubuntu/Debian/KDE.

    • Version locking is also known as “version pinning”, where a package can be kept at its current version without prompting an upgrade. As of now, you can downgrade to an available version of a package, but it will immediately mark it as upgradeable afterwards, and you will have to make sure yourself that you don’t upgrade it.

      And yes, a C++ rewrite of software-properties-kde was what I had in mind. It’ll most likely be a non-trivial undertaking, so I wouldn’t expect it any time soon. It’s on the “eventually to do” list. 😉

  6. frank says:

    Yay, I managed to compile 0.3 on Debian. Here’s my feedback/bug report summary:

    Things that work:
    – updating sources (including getting priviliges)
    – list of categories and package sources
    – displaying of package info in the bottom tabs

    Bus I found:
    – CMakeText.txt needs find_package(KDE4 REQUIRED)
    – nothing happens when I select a category on the left
    – when I double-click a category, I can edit its name o.O
    – When displaying “Installed Files” and selecting another installed package, the active tab changes to “Change List”. The tab should only be hidden if the newly selected package is not installed (instead of always hiding it and showing it again if available).
    – The total number of packages and of installed packages differs from what aptitude tells me. Though I can’t know whether aptitude is correct. 🙂

    Improvement suggestion:
    – The “Mark for” area: add another button [Installation with Suggestions], next to [Installation]. This would make a global Muon option unnecessary which tells it to obey or disregard package suggestions (like in aptitude).

    Visual glitches:
    – add a space after the colon in “Mark for:”
    – “Technical Details”: the two areas for “Installed Version” and “Available Version” touch each other, there should be some spacing on either side (I’m using QtCurve widget set)
    – perhaps put “Available Version” on the left, so it is always at the same place when browsing through installed and not installed packages

    I really like where this is going. I would feel much more at ease recommending KDE4 to Linux-Newbies if there was a sound package manager available. Cheers.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: