PPA packages do not show a changelog in update-manager

Bug #253119 reported by Paul Broadhead on 2008-07-29
This bug affects 98 people
Affects Status Importance Assigned to Milestone
Launchpad itself
update-manager (Ubuntu)
Nominated for Xenial by Jeremy Bicha

Bug Description

When installing official packages via update-manager, the change log is available from a tab in the GUI (next to description). These change logs are not available for PPA packages. Could this facility be added? When discussed on IRC #launchpad, there was some concern this might blur the boundaries between official and PPA packages and result in unfounded trust in the PPA packages.

Related branches

Celso Providelo (cprov) on 2008-07-29
Changed in soyuz:
importance: Undecided → Medium
status: New → Confirmed
Celso Providelo (cprov) wrote :

Thanks for reporting this missing feature, I agree with you that we should provide better experience for users installing PPA packages, including 'providing the PPA package changelogs'.

Regarding the concern about a clear distinction between PPA and official packages, Apt/Aptiude/Synaptic already list PPA packages candidates as 'unauthenticated', but it doesn't seem to be clear enough. This concern must be considered when solving this bug.

At the end, I really believe that full-feature installation and authentication of packages content/origin are orthogonal and address different issues. That said, I'm still with ScottK when he says that the latter should be sorted first.

TJ (tj) wrote :

In my report (duplicate) bug #254552 I've implemented a patch that grabs the PPA changelog and tags to it the PPA username and a link to the source PPA. There's a debdiff attached.

The revised package that displays the PPA changelog is in my own PPA for gutsy, hardy, and intrepid.

Michael Vogt (mvo) wrote :

If there is/would be a way to get the plain debian/changelog entry for a given version in a PPA, it would be trivial to extend u-m to show the chnagelog.

Gabe Gorelick (gabegorelick) wrote :

Has there been any progress on this?

Julian Edwards (julian-edwards) wrote :

Nothing yet, but we aim to get this working over the next few months in time for Maverick.

Julian Edwards (julian-edwards) wrote :

For Soyuz developers: from lucid onwards the update-manager will look for a .changelog file in the same directory as the .deb so if Soyuz can publish that file it will fix this bug.

tags: added: soyuz-publish
Michael Vogt (mvo) wrote :

update-manager in lucid will now try to download a changelog that is similar named to the .deb (it just substitutes .changelog for .deb). This is used e.g. in

If launchpad supports this and just extracts the plaintext .changelog file to the pool/ dir, then u-m will display them correctly.

Gabe Gorelick (gabegorelick) wrote :

Thanks for the status update. I do hope soyuz gains this functionality in time for Maverick. Let me know if you need any testing done.

Nicolas Delvaux (malizor) wrote :

Now that Natty is out, has there been any progress on this?

Jonathan Lange (jml) wrote :

Launchpad is a webapp. We release a few times a week, not once every six months. If you want to work on this, the fix could be up and running before the oneiric alpha 1. We'd be happy to help.

> Launchpad is a webapp. We release a few times a week, not once every six
> months.

I know, my comment was a bit ironic (according to previous comments, this bug was aimed to be fixed "in time for Maverick").

I may have a look, but this would be obviously way quicker and easier to fix for someone familiar with the code...

Robert Collins (lifeless) wrote :

Updating to reflect reality: 'medium' bugs aren't scheduled for being worked on by full time staff, and we don't discriminate between low and medium when looking for bugs to bring into the active queue (we are guided by feature requests from stakeholders, heat, users affected - that sort of thing).

Changed in launchpad:
importance: Medium → Low
Imri Paloja (blade19899) wrote :

is there any change this may get fixed in time for 12.10 final release?

quequotion (quequotion) wrote :

I've never actually seen this feature work for any package.

Warren Kelley (gh-warren-3a) wrote :

It's been 4 yeas since this bug was initially reported. Is the owner of this deceased?

Paul Broadhead (pjbroad) wrote :

I'm the original reporter of this bug/feature request. It would still be nice to have.

Leo Soares (leojrfs) wrote :

Its a easy fix bug that will make many ppl happy.
Tj already contributed a patch https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/254552

4 years have passed.


Has anybody packaged a patched version of update-manager? I would rather not apply the patch myself and compile, because then I will not be able to use update-manager to update itself (such irony).

Vadim Peretokin (vperetokin) wrote :

It's in Python, it does not need compilation.

anatoly techtonik (techtonik) wrote :

Can't believe it is still not fixed.

"there was some concern this might blur the boundaries between official and PPA packages" - this concern should be addressed differently. The boundaries are already blurred.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in update-manager (Ubuntu):
status: New → Confirmed
affects: ubuntu → update-manager (Ubuntu)
Changed in update-manager (Ubuntu):
status: New → Confirmed
Imri Paloja (blade19899) wrote :

Cant we just add an icon next to the official packages and non official with a warning? Or also an icon? This is not that big of a deal!

Its been 8 years.

At this point is seems like they are not going to fix it for whatever reason.

Also, I'm sorry, but no. Having something be broken is never an acceptable means of passing information to the end user. Period.

And now, with change logs collapsed by default, this is beyond pointless to not have fixed.

Worse yet, IMO, it gives Update Manager appearance of appearance of being buggy, sloppy, and thrown together. (That is a real shame)

It's the details like this that make the entire OS feel polished or not.

Matthew Paul Thomas (mpt) wrote :

On 2008-08-04, “TJ” added this patch for displaying PPA changelogs to bug 254552. Unfortunately, three days later, that report was marked as a duplicate of this one. All else being equal, it’s appropriate to mark a newer report as a duplicate of an older one — but not where the newer one is the only one with a patch. Because patches aren’t transferred from duplicates (bug 509398), this patch was forgotten.

The update-manager code has changed a lot since 2008, especially in switching from GTK2 to GTK3, and in implementing a UI redesign. So it’s unlikely that the patch still applies. But if you want to fix the bug, it’s probably still a useful starting point. There is no “they” who “are not going to fix it”. If you want it fixed, and can’t do it yourself, find someone who can. Commenting in this bug report is the worst possible way of doing that, because everyone subscribed already knows it exists.

The attachment "“Implement PPA changelog viewing” — patch from ~tj in duplicate bug 254552" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Mathew Hodson (mhodson) on 2016-06-07
Changed in update-manager (Ubuntu):
importance: Undecided → Wishlist
Nicolas Delvaux (malizor) wrote :

As explained here some years ago (and I confirm it is still valid as of update-manager on Xenial), UM already looks for changelog published alongside .deb packages. It's in the "UpdateManager/Core/MyCache.py" file.

So, IMHO, the proper fix for this issue would be to make Launchpad/Soyuz publish a changelog file.

The proposed approach in TJ's patch is to simply scrap the HTML from the PPA web page. It's fragile at best, but it has the advantage to work and to be an order of magnitude easier to implement than patching Soyuz.

So I think we need the advise from Canonical insiders here: I understand this feature may not be on any official roadmap, but Soyuz is a rather hard project to contribute to for an outsider.
Is this the only way to go or could a patch like TJ' be accepted in update-manager?

Colin Watson (cjwatson) wrote :

I think nowadays it would be sensible to use the Launchpad API for this via launchpadlib rather than scraping HTML. For example, something like this can get a URL from which you can fetch the raw changelog for version 139 of source package launchpad-buildd in ppa:launchpad/ppa:

  >>> archive = lp.archives.getByReference(reference='ppa:launchpad/ubuntu/ppa')
  >>> spph = archive.getPublishedSources(
  ... source_name='launchpad-buildd', exact_match=True, version='139')[0]
  >>> changelog_url = spph.changelogUrl()

You have to be using the "devel" API version, but I think that's reasonable here.

Now, obviously this is very hardcoded and needs more robustness, but it does the job and is far preferable to HTML scraping.

The main caveat is that this will only work reasonably for public PPAs, since update-manager will have to use the API anonymously. As long as error handling is reasonable, having changelogs only for public PPAs is still much better than having them for no PPAs at all.

I can see the rationale for actually publishing the changelogs alongside the .debs directly: it would be much easier for clients. However, it would be pretty cumbersome to actually do it in the current architecture. We intend eventually to move to "diskless PPAs", where ppa.launchpad.net would become a caching frontend that fetches information directly from the database as needed rather than publishing things as static files, which has various infrastructure-scaling benefits. That would make it much easier to do this kind of thing. Plans for this are still in their infancy, though, and I can't give you a timescale. For the moment, I would recommend taking the anonymous-Launchpad-API approach outlined above in update-manager.

Colin Watson (cjwatson) wrote :

(And FWIW, changelogUrl() wasn't available when TJ wrote that original patch; it was added in response to bug 833384.)

Nicolas Delvaux (malizor) wrote :

Thanks Colin, I proposed a merge request which implements your suggested approach.

However I noticed python3-launchpadlib is not seeded in the default install (at least on Ubuntu Xenial), so I assumed it would not be acceptable to pull this library, along with its dependencies, everywhere just for the sake of PPA changelogs.
So I kept the feature optional. One would have to manually install python3-launchpadlib to enable it.

Anyway, it works fine for me. Let's see how the review goes…

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-manager - 1:16.10.3

update-manager (1:16.10.3) yakkety; urgency=medium

  [Nicolas Delvaux]
  * Attempt to retrieve Changelogs from PPA sources (LP: #253119)
  * Correctly detect the usage of a username in changelog URIs

 -- Brian Murray <email address hidden> Wed, 27 Jul 2016 11:14:53 -0700

Changed in update-manager (Ubuntu Yakkety):
status: Confirmed → Fix Released
Paul Broadhead (pjbroad) wrote :

Thanks for the persistence and all the work to bring this feature to fruition.

Dmitry Kann (yktooo) wrote :

PPA changelogs are indeed shown now for a fresh install of 16.10 Yakkety. However with an upgraded system I still see: "This update does not come from a source that supports changelogs."

Is there some setting that I should change to make this work?

Nicolas Delvaux (malizor) wrote :

@Dmitry: Please check that python3-launchpadlib is installed on your system.

Dmitry Kann (yktooo) wrote :

@malizor Yes I can confirm it works with python3-launchpadlib installed. Thank you.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions

Related blueprints