git://git.jankratochvil.net
/
nethome.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switch to FSF GCC 4.7.
[nethome.git]
/
bin
/
mockrun
diff --git
a/bin/mockrun
b/bin/mockrun
index
8163f24
..
25a2694
100755
(executable)
--- a/
bin/mockrun
+++ b/
bin/mockrun
@@
-1,20
+1,19
@@
#! /usr/bin/perl -T
#! /usr/bin/perl -T
-# $Id$
+# $Id
: mockrun,v 1.2 2009/10/03 17:45:41 jkratoch Exp
$
use strict;
use warnings;
use English;
die "Need [/var/lib/mock/]<ROOTNAME> [<commandline...>]" if @ARGV<1;
local $_=shift;
use strict;
use warnings;
use English;
die "Need [/var/lib/mock/]<ROOTNAME> [<commandline...>]" if @ARGV<1;
local $_=shift;
-$EUID==0 or die "Need SUID";
-$UID = $EUID;
delete @ENV{qw(PATH BASH_ENV)};
tr{/}{}s;
s{^/var/lib/mock/}{};
delete @ENV{qw(PATH BASH_ENV)};
tr{/}{}s;
s{^/var/lib/mock/}{};
-my $safe="([-_a-z0-9]+)";
+my $safe="([-_a-z0-9
/
]+)";
$_=(/$safe/)[0];
$_=(/$safe/)[0];
+my $HOME=($ENV{"HOME"}=~/$safe/)[0];
my $rpath="/var/lib/mock/$_/root";
my $rpath="/var/lib/mock/$_/root";
-system "
/usr/local/sbin/mocksetup -s $_" and die "
mocksetup $_";
+system "
sudo $HOME/bin/mocksetup -s $_" and die "sudo
mocksetup $_";
-e "$rpath/MOCK" or die "mocksetup $_ and still no $rpath/MOCK";
my $user=$ENV{"USER"};
$user=($user=~/$safe/)[0];
-e "$rpath/MOCK" or die "mocksetup $_ and still no $rpath/MOCK";
my $user=$ENV{"USER"};
$user=($user=~/$safe/)[0];
@@
-24,7
+23,7
@@
$user=($user=~/$safe/)[0];
# my @l=(qw(mock -r),$_,qw(--shell));
my $mock="/usr/bin/setarch";
my $arch=(/-(i386|x86_64)(?:-.*)?$/)[0] or die;
# my @l=(qw(mock -r),$_,qw(--shell));
my $mock="/usr/bin/setarch";
my $arch=(/-(i386|x86_64)(?:-.*)?$/)[0] or die;
-my @l=("setarch",$arch,"/usr/sbin/chroot",$rpath);
+my @l=("setarch",$arch,"/usr/
bin/sudo","/usr/
sbin/chroot",$rpath);
# Untaint @ARGV->@args.
my $args="";
# Untaint @ARGV->@args.
my $args="";