From aa833344f36bb81fb79c9d1dbe8f9240a00fc645 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 28 May 2011 10:56:46 +0200 Subject: * cmdline/apt-config.cc: - show Acquire::Languages and APT::Architectures settings in 'dump' (Closes: 626739) --- cmdline/apt-config.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'cmdline') diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc index 9919a9c94..589ee7ada 100644 --- a/cmdline/apt-config.cc +++ b/cmdline/apt-config.cc @@ -20,6 +20,8 @@ #include #include #include +#include +#include #include #include @@ -27,6 +29,7 @@ #include #include #include +#include /*}}}*/ using namespace std; @@ -119,6 +122,16 @@ int main(int argc,const char *argv[]) /*{{{*/ CmdL.FileSize() == 0) return ShowHelp(); + std::vector const langs = APT::Configuration::getLanguages(true); + _config->Clear("Acquire::Languages"); + for (std::vector::const_iterator l = langs.begin(); l != langs.end(); ++l) + _config->Set("Acquire::Languages::", *l); + + std::vector const archs = APT::Configuration::getArchitectures(); + _config->Clear("APT::Architectures"); + for (std::vector::const_iterator a = archs.begin(); a != archs.end(); ++a) + _config->Set("APT::Architectures::", *a); + // Match the operation CmdL.DispatchArg(Cmds); -- cgit v1.2.3 From 00c6e1a3eb3d7c8890ca8861c07663f54e0900e0 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 30 Jun 2011 08:33:19 +0100 Subject: * doc/makefile: - create doxygen directory to avoid depending on magic (Closes: #628799) * cmdline/apt-key: - explicitly state that net-update is not supported if no url is set - require to be root for add, rm, update and net-update - clarify update vs. net-update in different distros (Closes: #632043) * debian/apt.symbols: - forgot 'mips' in the list for all architecture dependent symbols - comment out gcc-4.5 specific symbols as gcc-4.6 is now default - the symbol for PrintStatus() is architecture dependent * apt-pkg/policy.cc: - do not segfault in pinning if a package with this name doesn't exist. Thanks to Ferdinand Thommes for the report! - Defaults is a vector of Pin not of PkgPin - ensure that only the first specific stanza for a package is used - save all stanzas which had no effect in Unmatched - allow package:architecure in Package: --- cmdline/apt-key | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-key b/cmdline/apt-key index 3838fafcd..843163f82 100755 --- a/cmdline/apt-key +++ b/cmdline/apt-key @@ -21,6 +21,13 @@ ARCHIVE_KEYRING_URI="" ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg +requires_root() { + if [ "$(id -u)" -ne 0 ]; then + echo >&1 "ERROR: This command can only be used by root." + exit 1 + fi +} + add_keys_with_verify_against_master_keyring() { ADD_KEYRING=$1 MASTER=$2 @@ -59,13 +66,14 @@ add_keys_with_verify_against_master_keyring() { # (otherwise it does not make sense from a security POV) net_update() { if [ -z "$ARCHIVE_KEYRING_URI" ]; then - echo "ERROR: no location for the archive-keyring given" + echo >&2 "ERROR: Your distribution is not supported in net-update as no uri for the archive-keyring is set" exit 1 fi + requires_root # in theory we would need to depend on wget for this, but this feature # isn't useable in debian anyway as we have no keyring uri nor a master key if ! which wget >/dev/null 2>&1; then - echo "ERROR: an installed wget is required for a network-based update" + echo >&2 "ERROR: an installed wget is required for a network-based update" exit 1 fi if [ ! -d /var/lib/apt/keyrings ]; then @@ -93,6 +101,7 @@ update() { echo >&2 "Is the debian-archive-keyring package installed?" exit 1 fi + requires_root # add new keys from the package; @@ -184,10 +193,12 @@ fi case "$command" in add) + requires_root $GPG --quiet --batch --import "$1" echo "OK" ;; del|rm|remove) + requires_root $GPG --quiet --batch --delete-key --yes "$1" echo "OK" ;; -- cgit v1.2.3