summaryrefslogtreecommitdiffstats
path: root/urpmi
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2005-06-29 02:42:27 +0000
committerRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2005-06-29 02:42:27 +0000
commit999a07db7b69bfffb350ed0c439f7ea3deb2a14c (patch)
treec5d5aedf881d4fcc996ab905b7274b9969d99f0d /urpmi
parentc72ae1c2a0aa6701521129756ef80ca83376e662 (diff)
downloadurpmi-999a07db7b69bfffb350ed0c439f7ea3deb2a14c.tar
urpmi-999a07db7b69bfffb350ed0c439f7ea3deb2a14c.tar.gz
urpmi-999a07db7b69bfffb350ed0c439f7ea3deb2a14c.tar.bz2
urpmi-999a07db7b69bfffb350ed0c439f7ea3deb2a14c.tar.xz
urpmi-999a07db7b69bfffb350ed0c439f7ea3deb2a14c.zip
Add an experimental --restricted option, based on code by Michael Scherer
(bug #16610)
Diffstat (limited to 'urpmi')
-rwxr-xr-xurpmi13
1 files changed, 12 insertions, 1 deletions
diff --git a/urpmi b/urpmi
index dc3ab3fe..d9de5ab4 100755
--- a/urpmi
+++ b/urpmi
@@ -22,7 +22,7 @@ use strict;
use urpm;
use urpm::args;
use urpm::msg;
-use urpm::util qw/untaint/;
+use urpm::util qw(untaint);
use MDK::Common;
#- contains informations to parse installed system.
@@ -57,6 +57,7 @@ our $use_provides = 1;
our $verbose = 0;
our $usedistrib = 0;
our $log = '';
+our $restricted = 0;
our $nolock = 0;
my @files;
@@ -184,6 +185,16 @@ if ($install_src) {
@names = ();
}
+#- rurpmi checks
+if ($restricted) {
+ urpm::error_restricted($urpm) if @src_files || @files;
+ $urpm->{options}{keep} = 1;
+ $urpm->{options}{'verify-rpm'} = 1;
+ urpm::error_restricted($urpm) if $::root || $::usedistrib || $::force || $::env || $::parallel;
+ foreach (qw(allow-nodeps allow-force)) { urpm::error_restricted($urpm) if $urpm->{options}{$_} }
+ foreach (qw(verify-rpm)) { urpm::error_restricted($urpm) unless $urpm->{options}{$_} }
+}
+
#- prepare bug report.
my $bug = $urpm::args::options{bug};
if ($bug) {