From f229813f60e33ce78f8cd0733a55c36a17a9adf3 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Mon, 15 Nov 2010 10:05:32 +0100 Subject: * cmdline/apt-changelog: Read server name from configuration APT::Changelog::Server instead of hardcoding it. This allows local users to point to a local changelog mirror, or make this script work for Debian. * Add debian/apt.conf.changelog: Configuration for apt-changelog with the server for Ubuntu (changelogs.ubuntu.com). Install it in debian/rules. * doc/apt-changelog.1.xml: Document the new option. --- cmdline/apt-changelog | 10 +++++++++- debian/apt.conf.changelog | 6 ++++++ debian/changelog | 6 ++++++ debian/rules | 1 + doc/apt-changelog.1.xml | 9 ++++++--- 5 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 debian/apt.conf.changelog diff --git a/cmdline/apt-changelog b/cmdline/apt-changelog index a333355a0..6d7c0e95f 100755 --- a/cmdline/apt-changelog +++ b/cmdline/apt-changelog @@ -47,10 +47,18 @@ version=${version#*:} dir=`echo "$showsrc"| grep ^Directory:` dir=${dir#Directory: } +# get configuration +eval `apt-config shell SERVER Apt::Changelog::Server` + +if [ -z "$SERVER" ]; then + echo "ERROR: You need to set Apt::Changelog::Server configuration option" >&2 + exit 1 +fi + # fetch it OUT=`mktemp -t "${pkg}.changes.XXXXXX"` trap "rm $OUT" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM -if ! wget -q -O- http://changelogs.ubuntu.com/changelogs/$dir/${pkg}_${version}/changelog > "$OUT" +if ! wget -q -O- ${SERVER}/$dir/${pkg}_${version}/changelog > "$OUT" then echo "ERROR: changelog for this version is not (yet) available; try https://launchpad.net/ubuntu/+source/$pkg/+changelog" >&2 exit 1 diff --git a/debian/apt.conf.changelog b/debian/apt.conf.changelog new file mode 100644 index 000000000..3466bb6e0 --- /dev/null +++ b/debian/apt.conf.changelog @@ -0,0 +1,6 @@ +// Server information for apt-changelog +APT { + Changelog { + Server "http://changelogs.ubuntu.com/changelogs"; + } +} diff --git a/debian/changelog b/debian/changelog index b7f290713..2f95d2e00 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,12 @@ apt (0.8.8ubuntu3) UNRELEASED; urgency=low * cmdline/apt-changelog: Filter out multiple results for a source package, just take the latest one. + * cmdline/apt-changelog: Read server name from configuration + APT::Changelog::Server instead of hardcoding it. This allows local users + to point to a local changelog mirror, or make this script work for Debian. + * Add debian/apt.conf.changelog: Configuration for apt-changelog with the + server for Ubuntu (changelogs.ubuntu.com). Install it in debian/rules. + * doc/apt-changelog.1.xml: Document the new option. -- Martin Pitt Fri, 12 Nov 2010 16:53:31 +0100 diff --git a/debian/rules b/debian/rules index 9f3dca627..ea0fec443 100755 --- a/debian/rules +++ b/debian/rules @@ -216,6 +216,7 @@ apt: build build-doc debian/shlibs.local cp debian/apt.logrotate debian/$@/etc/logrotate.d/apt cp share/ubuntu-archive.gpg debian/$@/usr/share/$@ cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove + cp debian/apt.conf.changelog debian/$@/etc/apt/apt.conf.d/20changelog # copy lintian override cp share/lintian-overrides debian/$@/usr/share/lintian/overrides/apt diff --git a/doc/apt-changelog.1.xml b/doc/apt-changelog.1.xml index 2f545bb68..f881dad8a 100644 --- a/doc/apt-changelog.1.xml +++ b/doc/apt-changelog.1.xml @@ -51,9 +51,12 @@ Description - apt-changelog downloads a package changelog from - http://changelogs.ubuntu.com and displays it through - sensible-pager. + apt-changelog downloads a package changelog and displays + it through sensible-pager. The server name and base + directory is defined in the APT::Changelog::Server + variable (e. g. http://packages.debian.org/changelogs for + Debian or http://changelogs.ubuntu.com/changelogs for + Ubuntu). -- cgit v1.2.3