From 430481e794a3fa2e75022c67e129b54d192ad54c Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 2 Dec 2015 12:43:33 +0100 Subject: [PATCH] use @CHANGEPATH@ as placeholder in changelog URI templates This should make it more obvious that CHANGEPATH is a placeholder which apt will replace with a package specific path rather than a string constant. Mail-Reference: <87d1upgvaf.fsf@deep-thought.43-1.org> Mail-Archive: https://lists.debian.org/debian-dak/2015/12/msg00005.html --- apt-pkg/acquire-item.cc | 4 ++-- apt-pkg/acquire-item.h | 2 +- apt-pkg/init.cc | 8 ++++---- doc/apt.conf.5.xml | 2 +- doc/examples/configure-index | 4 ++-- doc/po/apt-doc.pot | 2 +- doc/po/de.po | 2 +- doc/po/es.po | 2 +- doc/po/fr.po | 2 +- doc/po/it.po | 2 +- doc/po/ja.po | 2 +- doc/po/nl.po | 2 +- doc/po/pl.po | 2 +- doc/po/pt.po | 2 +- doc/po/pt_BR.po | 2 +- test/integration/test-apt-get-changelog | 16 ++++++++-------- test/integration/test-bug-738785-switch-protocol | 2 +- 17 files changed, 29 insertions(+), 29 deletions(-) diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 189d1e06b..e0f02b8e2 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -3178,7 +3178,7 @@ std::string pkgAcqChangelog::URI(std::string const &Template, char const * const Component, char const * const SrcName, char const * const SrcVersion) { - if (Template.find("CHANGEPATH") == std::string::npos) + if (Template.find("@CHANGEPATH@") == std::string::npos) return ""; // the path is: COMPONENT/SRC/SRCNAME/SRCNAME_SRCVER, e.g. main/a/apt/1.1 or contrib/liba/libapt/2.0 @@ -3190,7 +3190,7 @@ std::string pkgAcqChangelog::URI(std::string const &Template, if (Component != NULL && strlen(Component) != 0) path = std::string(Component) + "/" + path; - return SubstVar(Template, "CHANGEPATH", path); + return SubstVar(Template, "@CHANGEPATH@", path); } /*}}}*/ // AcqChangelog::Failed - Failure handler /*{{{*/ diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h index d77b5f9ef..134bbab7e 100644 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@ -1103,7 +1103,7 @@ class pkgAcqChangelog : public pkgAcquire::Item /** returns the URI to the changelog of this version * - * \param Template URI where CHANGEPATH has to be filled in + * \param Template URI where @CHANGEPATH@ has to be filled in * \param Component in which the package resides, can be empty * \param SrcName is the source package name * \param SrcVersion is the source package version diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc index eab198fac..c35477bf6 100644 --- a/apt-pkg/init.cc +++ b/apt-pkg/init.cc @@ -116,10 +116,10 @@ bool pkgInitConfig(Configuration &Cnf) Cnf.CndSet("Acquire::IndexTargets::deb-src::Sources::flatDescription", "$(RELEASE) Sources"); Cnf.CndSet("Acquire::IndexTargets::deb-src::Sources::Optional", false); - Cnf.CndSet("Acquire::Changelogs::URI::Origin::Debian", "http://metadata.ftp-master.debian.org/changelogs/CHANGEPATH_changelog"); - Cnf.CndSet("Acquire::Changelogs::URI::Origin::Tanglu", "http://metadata.tanglu.org/changelogs/CHANGEPATH_changelog"); - Cnf.CndSet("Acquire::Changelogs::URI::Origin::Ubuntu", "http://changelogs.ubuntu.com/changelogs/pool/CHANGEPATH/changelog"); - Cnf.CndSet("Acquire::Changelogs::URI::Origin::Ultimedia", "http://packages.ultimediaos.com/changelogs/pool/CHANGEPATH/changelog.txt"); + Cnf.CndSet("Acquire::Changelogs::URI::Origin::Debian", "http://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog"); + Cnf.CndSet("Acquire::Changelogs::URI::Origin::Tanglu", "http://metadata.tanglu.org/changelogs/@CHANGEPATH@_changelog"); + Cnf.CndSet("Acquire::Changelogs::URI::Origin::Ubuntu", "http://changelogs.ubuntu.com/changelogs/pool/@CHANGEPATH@/changelog"); + Cnf.CndSet("Acquire::Changelogs::URI::Origin::Ultimedia", "http://packages.ultimediaos.com/changelogs/pool/@CHANGEPATH@/changelog.txt"); bool Res = true; diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml index e6cbc8bc4..54f1de22f 100644 --- a/doc/apt.conf.5.xml +++ b/doc/apt.conf.5.xml @@ -657,7 +657,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; or Acquire::Changelogs::URI::Override::Origin::ORIGIN. The value should be a normal URI to a text file, expect that package specific data is - replaced with the placeholder CHANGEPATH. The + replaced with the placeholder @CHANGEPATH@. The value for it is: 1. if the package is from a component (e.g. main) this is the first part otherwise it is omitted, 2. the first letter of source package name, expect if the source package name starts with 'lib' in which case it will diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 1339335fa..db85654ca 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -298,8 +298,8 @@ Acquire "fr"; }; - // Location of the changelogs with the placeholder CHANGEPATH (e.g. "main/a/apt/apt_1.1") - Changelogs::URI::Origin::Debian "http://metadata.ftp-master.debian.org/changelogs/CHANGEPATH_changelog"; + // Location of the changelogs with the placeholder @CHANGEPATH@ (e.g. "main/a/apt/apt_1.1") + Changelogs::URI::Origin::Debian "http://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog"; }; // Directory layout diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot index da32a7269..2b277b11d 100644 --- a/doc/po/apt-doc.pot +++ b/doc/po/apt-doc.pot @@ -3498,7 +3498,7 @@ msgid "" "Acquire::Changelogs::URI::Override::Origin::ORIGIN. " "The value should be a normal URI to a text file, expect that package " "specific data is replaced with the placeholder " -"CHANGEPATH. The value for it is: 1. if the package is " +"@CHANGEPATH@. The value for it is: 1. if the package is " "from a component (e.g. main) this is the first part " "otherwise it is omitted, 2. the first letter of source package name, expect " "if the source package name starts with 'lib' in which " diff --git a/doc/po/de.po b/doc/po/de.po index 58d54976d..953e8804f 100644 --- a/doc/po/de.po +++ b/doc/po/de.po @@ -5057,7 +5057,7 @@ msgid "" "replaceable> or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib or Acquire::Changelogs::URI::Override::" "Origin::ORIGIN. The value should be a " "normal URI to a text file, expect that package specific data is replaced " -"with the placeholder CHANGEPATH. The value for it is: 1. " +"with the placeholder @CHANGEPATH@. The value for it is: 1. " "if the package is from a component (e.g. main) this is " "the first part otherwise it is omitted, 2. the first letter of source " "package name, expect if the source package name starts with 'lib rootdir/etc/apt/apt.conf.d/changelog.conf +echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/@CHANGEPATH@/change.txt\";" > rootdir/etc/apt/apt.conf.d/changelog.conf testsuccessequal "'http://localhost:${APTHTTPPORT}/main/f/foo/foo_1.0/change.txt' foo.changelog 'http://localhost:${APTHTTPPORT}/main/libb/libbar/libbar_1.0/change.txt' libbar.changelog" aptget changelog foo libbar --print-uris -echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/pool/CHANGEPATH/changelog\";" > rootdir/etc/apt/apt.conf.d/changelog.conf +echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/pool/@CHANGEPATH@/changelog\";" > rootdir/etc/apt/apt.conf.d/changelog.conf testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" aptget changelog foo --print-uris @@ -97,11 +97,11 @@ testfilestats 'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAUL testfileequal 'foo.changelog' "$(cat ../aptarchive/pool/main/f/foo/foo_1.0/changelog)" rm -f foo.changelog -# no CHANGEPATH in the URI +# no @CHANGEPATH@ in the URI testequal 'E: Failed to fetch changelog:/foo.changelog Changelog unavailable for foo=1.0 ' aptget changelog foo -qq -d -o Acquire::Changelogs::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/change.txt" testfailure test -e foo.changelog testequal "E: Failed to fetch http://localhost:${APTHTTPPORT}/does/not/exist/main/f/foo/foo_1.0/change.txt Changelog unavailable for foo=1.0 (404 Not Found) -" aptget changelog foo -qq -d -o Acquire::Changelogs::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/does/not/exist/CHANGEPATH/change.txt" +" aptget changelog foo -qq -d -o Acquire::Changelogs::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/does/not/exist/@CHANGEPATH@/change.txt" testfailure test -e foo.changelog diff --git a/test/integration/test-bug-738785-switch-protocol b/test/integration/test-bug-738785-switch-protocol index 2f8a7ae5d..0e84f55d9 100755 --- a/test/integration/test-bug-738785-switch-protocol +++ b/test/integration/test-bug-738785-switch-protocol @@ -22,7 +22,7 @@ testsuccess aptget update -o Debug::Acquire::http=1 -o Debug::Acquire::https=1 - msgtest 'Test that the webserver does not answer' 'http requests' downloadfile "http://localhost:${APTHTTPPORT}/pool/main/a/apt/apt_1.0/changelog" changelog >/dev/null 2>&1 && msgfail || msgpass -echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/redirectme/pool/CHANGEPATH/changelog\";" > rootdir/etc/apt/apt.conf.d/changelog.conf +echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/redirectme/pool/@CHANGEPATH@/changelog\";" > rootdir/etc/apt/apt.conf.d/changelog.conf testsuccessequal "'http://localhost:${APTHTTPPORT}/redirectme/pool/main/a/apt/apt_1.0/changelog' apt.changelog" aptget changelog apt --print-uris cd downloaded -- 2.45.2