Changelogs aren't available

Questions about applications and software
Forum rules
Before you post please read how to get help
c30zD
Level 1
Level 1
Posts: 28
Joined: Fri Feb 26, 2010 11:14 am

Changelogs aren't available

Postby c30zD » Thu Jun 08, 2017 12:54 pm

I've seen this problem for a while now. In mintUpdate (Update Manager) it always says "No changelog available". Using apt-get changelog gives a 404 error, and Synaptic tells me that the changelog source doesn't support changelogs.

The specific messages are:
Synaptic:
This change is not coming from a source that supports changelogs.

Failed to fetch the changelog for libldap-2.4-2
URI was: http://security.debian.org/pool/updates ... .changelog


Update Manager:
No changelog available


apt-get changelog libldap-2.4-2
Err Changelog for libldap-2.4-2 (http://packages.debian.org/changelogs/p ... /changelog)
404 Not Found [IP: 5.153.231.3 80]
Err Changelog for libldap-2.4-2 (http://security.debian.org/pool/updates ... .changelog)
404 Not Found [IP: 128.61.240.73 80]
E: changelog download failed


However, the changelog seems to exist in each individual package that's up for upgrading (i.e. if I download the deb archive and extract it, I can see that there's the changelog). I have tried changing mirrors, enabling/disabling source packages, and I'm not really sure of what am I supposed to do to fix this: nothing works.

I would expect that if I wait long enough I could see the changelog (I can confirm that has happened, but I'm not sure if it will happen again), but it doesn't make much sense to have to wait several weeks just to see the changelog and decide whether I want to install it or not.

Does anybody experience the same issue? Is there a way to fix it?


PS: I have mintUpdate version 5.2.1, apt-get --version reports apt 1.0.9.8.4 for amd64 compiled on Dec 11 2016 09:48:19, and synaptic 0.81.2

Cosmo.
Level 22
Level 22
Posts: 15431
Joined: Sat Dec 06, 2014 7:34 am

Re: Changelogs aren't available

Postby Cosmo. » Thu Jun 08, 2017 5:59 pm

There might be a difference, if a changelog is available online on the place, where the update manager expects it, or if the changelog is (after installation) available on your hard drive. Take a look into /usr/share/doc to find it.

Deuus
Level 1
Level 1
Posts: 2
Joined: Wed Jun 14, 2017 4:37 am

Re: Changelogs aren't available

Postby Deuus » Wed Jun 14, 2017 4:58 am

I agree that the "No changelog available" message from within the Update Manager is annoying. Should be able to read it before installation. I don't like to blindly apply updates.

Cosmo.
Level 22
Level 22
Posts: 15431
Joined: Sat Dec 06, 2014 7:34 am

Re: Changelogs aren't available

Postby Cosmo. » Wed Jun 14, 2017 5:53 am

I don't think, that the update manager can do anything about it. It expects the change-log on the proper place and if there is non, what shall UM do?

A virtual machine comes in handy here: After having applied the updates there the change-log can usually be found in /usr/share/doc.

c30zD
Level 1
Level 1
Posts: 28
Joined: Fri Feb 26, 2010 11:14 am

Re: Changelogs aren't available

Postby c30zD » Sun Jun 18, 2017 9:42 am

Cosmo. wrote:There might be a difference, if a changelog is available online on the place, where the update manager expects it, or if the changelog is (after installation) available on your hard drive. Take a look into /usr/share/doc to find it.


I'm not sure I understand what you're trying to say. What I'd like to do is to be able to read the changelog before applying any updates. The problem is that there isn't any changelog at all, except that the package (the deb archive) does have it. I guess what I want to know is if there is any bug and how could I solve it.

Cosmo.
Level 22
Level 22
Posts: 15431
Joined: Sat Dec 06, 2014 7:34 am

Re: Changelogs aren't available

Postby Cosmo. » Sun Jun 18, 2017 5:48 pm

If you mean, if there is a bug in the update manager (UM): No. If there is a bug in the repository, that the change-log is not stored on the proper place or in the proper way: Might be, but impossible to answer in general.

The only workaround is what I described in my previous post.

User avatar
orcus
Level 1
Level 1
Posts: 8
Joined: Mon Jun 19, 2017 7:13 pm

Re: Changelogs aren't available

Postby orcus » Mon Jun 19, 2017 7:44 pm

hi - reading the post I noticed I've the problem for quite a while - since last year - using LMDE (2).
As far I remember another installation using an ubuntu-based linux mint does not show the problem.
Digging around on the http://metadata.ftp-master.debian.org/c ... main/-site (and the other variants) one can see the requested url does never match the changelog-path. That's not an exception but the regular case - as the file-version queried always contains an inserted "+deb8u"-string which seems to be the reason.

I don't know whether it's the right way to solve the problem :-) but I modified my local /usr/lib/linuxmint/mintUpdate/mintUpdate.py and I get the changelogs now ahead of an install...

In case people are interested - until there exists an official fix for the problem - here's a diff of my mintUpdate.py

Code: Select all

diff -c mintUpdate.py  mintUpdate.py.orig


Code: Select all

*** mintUpdate.py   2017-06-20 01:06:33.247632661 +0200
--- mintUpdate.py.orig   2017-06-20 01:08:31.551633925 +0200
***************
*** 259,286 ****
                  changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
                  changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
          elif self.origin == "debian":
-             #orcus 2017-06-19: this has to be fixed by someone who know's what's the correct way...
-             #self.version contains an appended "+deb8u1" which is not available at the given servers.
-             #'fixed' only for the debian (LMDE 2)-version as I think my ubuntu based mint-version does not
-             #show the problem (not finding changelog infos)...
-             #---------------------------------------------------------------------------------------
-             #replaced occurencies of self.version with ver_plain for the debian-part; ver_plain contains
-             #the 'cleaned' contents of self.version. In case self.version cannot be split by the '+' or
-             #the result wont be two items: ver_plain is set to the original self.version-value.
-             ver_values = self.version.split("+")
-             if len(ver_values) == 2:
-                 ver_plain=ver_values[0]
-             else:
-                 ver_plain=self.version
              if (self.source_package.startswith("lib")):
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, ver_plain))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, ver_plain))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, ver_plain))
              else:
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, ver_plain))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, ver_plain))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, ver_plain))
!             #end orcus
          elif self.origin.startswith("LP-PPA"):
              ppa_owner, ppa_name = self.get_ppa_info()
              if ppa_owner and ppa_name:
--- 259,272 ----
                  changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
                  changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
          elif self.origin == "debian":
              if (self.source_package.startswith("lib")):
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
              else:
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
!                 changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
          elif self.origin.startswith("LP-PPA"):
              ppa_owner, ppa_name = self.get_ppa_info()
              if ppa_owner and ppa_name:


maybe easier to copy/paste - search for

Code: Select all

elif self.origin == "debian":

and replace the whole "debian"-section without the

Code: Select all

 elif self.origin.startswith("LP-PPA"):


Code: Select all

        elif self.origin == "debian":
            #orcus 2017-06-19: this has to be fixed by someone who know's what's the correct way...
            #self.version contains an appended "+deb8u1" which is not available at the given servers.
            #'fixed' only for the debian (LMDE 2)-version as I think my ubuntu based mint-version does not
            #show the problem (not finding changelog infos)...
            #---------------------------------------------------------------------------------------
            #replaced occurencies of self.version with ver_plain for the debian-part; ver_plain contains
            #the 'cleaned' contents of self.version. In case self.version cannot be split by the '+' or
            #the result wont be two items: ver_plain is set to the original self.version-value.
            ver_values = self.version.split("+")
            if len(ver_values) == 2:
                ver_plain=ver_values[0]
            else:
                ver_plain=self.version
            if (self.source_package.startswith("lib")):
                changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, ver_plain))
                changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, ver_plain))
                changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, ver_plain))
            else:
                changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, ver_plain))
                changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, ver_plain))
                changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, ver_plain))
            #end orcus
        elif self.origin.startswith("LP-PPA"):


cu - orcus

PS: If my assumptions are right - it's a problem of mintUpdate.py and not of http://metadata.ftp-master.debian.org/:
Feel free to tell the maintainer of mintUpdate.py about it - as I don't have the time for that...
orcus - by the light of the night

Monsta
Level 9
Level 9
Posts: 2994
Joined: Fri Aug 19, 2011 3:46 am

Re: Changelogs aren't available

Postby Monsta » Mon Jul 10, 2017 7:47 am

Hmm... a fresh update of xorg-xserver doesn't have a changelog on that website.

Code: Select all

$ LC_ALL=C apt policy xserver-xorg-core
xserver-xorg-core:
  Installed: 2:1.16.4-1
  Candidate: 2:1.16.4-1+deb8u1
  Version table:
     2:1.16.4-1+deb8u1 0
        500 http://security.debian.org/ jessie/updates/main amd64 Packages
 *** 2:1.16.4-1 0
        500 http://mirror2.corbina.ru/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status

The changelogs directory only has the previous one. The "oldstable_changelog" link, which is supposed to point to the latest changelog for the package in Jessie repos, also points to it.

I guess it's because the update comes from the security repos.

User avatar
orcus
Level 1
Level 1
Posts: 8
Joined: Mon Jun 19, 2017 7:13 pm

Re: Changelogs aren't available

Postby orcus » Tue Jul 11, 2017 4:57 pm

Hello Monsta,

I'm not shure if you address my last post or the thread in general + I don't have enough background about the displayed urls (could be this are the parameters to some server-request which are concatenated to make things look shorter) or a regular url.

But in case it's a regular url - I wouldn't expect the blank between the http://security.debian.org/ and jessie -part (and yes there exist lots of pages having spaces in-between names like the main amd64 Packages here - but I never saw leading spaces after a "/" (which doesn't mean anything at all too).

[quote="Monsta"]...

Code: Select all

$ LC_ALL=C apt policy xserver-xorg-core
xserver-xorg-core:
  Installed: 2:1.16.4-1
  Candidate: 2:1.16.4-1+deb8u1
  Version table:
     2:1.16.4-1+deb8u1 0
        500 http://security.debian.org/ jessie/updates/main amd64 Packages

...

As you seem to be one of the developers:
The missing update-info is not (and has never been) a show-stopper for me, but as a user it has the excitement of blind flying as right now one has to install an update without any information what it would do to the system.
orcus - by the light of the night


Return to “Software & Applications”

Who is online

Users browsing this forum: No registered users and 1 guest