From d330e26f993f13d73e83e091bf2297736677565b Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Tue, 18 Jun 2013 14:13:49 +0200 Subject: [PATCH] implement better method to compute changelog url apt-get uses similar code. --- PVE/API2/APT.pm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PVE/API2/APT.pm b/PVE/API2/APT.pm index f8bf59fd..78188aab 100644 --- a/PVE/API2/APT.pm +++ b/PVE/API2/APT.pm @@ -3,6 +3,7 @@ package PVE::API2::APT; use strict; use warnings; use File::stat (); +use File::Basename; use LWP::UserAgent; @@ -73,15 +74,14 @@ my $get_changelug_url = sub { foreach my $verfile (@{$candidate_ver->{FileList}}) { my $pkgfile = $verfile->{File}; my $origin = $pkgfile->{Origin}; - my $comp = $pkgfile->{Component}; - if ($origin && $comp) { + my $base = dirname($info->{FileName}); + if ($origin && $base) { my $pkgver = $candidate_ver->{VerStr}; $pkgver =~ s/^\d+://; # strip epoch my $srcpkg = $info->{SourcePkg} || $pkgname; - my $firstLetter = substr($srcpkg, 0, 1); if ($origin eq 'Debian') { - $changelog_url = "http://packages.debian.org/changelogs/pool/$comp/" . - "$firstLetter/$srcpkg/${srcpkg}_$pkgver/changelog"; + $changelog_url = "http://packages.debian.org/changelogs/$base/" . + "${srcpkg}_$pkgver/changelog"; } last; }