From 55a5a46c235a30bf024fb2301066553953701cc5 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 29 Jun 2009 16:55:49 +0200 Subject: [PATCH] support running "--simulate" as user --- cmdline/apt-get.cc | 13 ++++++++++++- debian/changelog | 1 + doc/apt-get.8.xml | 5 +++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 028f371b..faad2ed6 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -2788,7 +2788,18 @@ int main(int argc,const char *argv[]) ShowHelp(CmdL); return 0; } - + + // simulate user-friendly if apt-get has no root privileges + if (getuid() != 0 && _config->FindB("APT::Get::Simulate") == true) + { + cout << _("NOTE: This is only a simulation!\n" + " apt-get needs root privileges for real execution.\n" + " Keep also in mind that locking is deactivated,\n" + " so don't depend on the relevance to the real current situation!" + ) << std::endl; + _config->Set("Debug::NoLocking",true); + } + // Deal with stdout not being a tty if (!isatty(STDOUT_FILENO) && _config->FindI("quiet",0) < 1) _config->Set("quiet","1"); diff --git a/debian/changelog b/debian/changelog index 28bc5410..f1cb7bd0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,7 @@ apt (0.7.22) UNRELEASED; urgency=low * [ABI break] support '#' in apt.conf and /etc/apt/preferences (closes: #189866) * [ABI break] Allow pinning by codename (closes: #97564) + * support running "--simulate" as user [ Julian Andres Klode ] * apt-pkg/contrib/configuration.cc: Fix a small memory leak in diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml index c63b2a6c..e7f6d709 100644 --- a/doc/apt-get.8.xml +++ b/doc/apt-get.8.xml @@ -363,6 +363,11 @@ actually change the system. Configuration Item: APT::Get::Simulate. + Simulation run as user will deactivate locking (Debug::NoLocking) + automatical and display a notice indicating that this is only a simulation. + Neigther NoLocking nor the notice will be triggered if run as root (root should know what + he is doing without further warnings by apt-get). + Simulate prints out a series of lines each one representing a dpkg operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with -- 2.20.1