summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2009-06-29 16:55:49 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2009-06-29 16:55:49 +0200
commit55a5a46c235a30bf024fb2301066553953701cc5 (patch)
tree1e65a90a93f8ce8c07317c12cd724bad0206474e
parentafe4d2a556535dbc9475ac1665c380a235dd28de (diff)
support running "--simulate" as user
-rw-r--r--cmdline/apt-get.cc13
-rw-r--r--debian/changelog1
-rw-r--r--doc/apt-get.8.xml5
3 files changed, 18 insertions, 1 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 028f371b5..faad2ed6b 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 28bc54108..f1cb7bd0c 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 c63b2a6c6..e7f6d7094 100644
--- a/doc/apt-get.8.xml
+++ b/doc/apt-get.8.xml
@@ -363,6 +363,11 @@
actually change the system.
Configuration Item: <literal>APT::Get::Simulate</literal>.</para>
+ <para>Simulation run as user will deactivate locking (<literal>Debug::NoLocking</literal>)
+ 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 <literal>apt-get</literal>).</para>
+
<para>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