changeset 5507:86ad308795bc

LIBRESTRICT: allow /proc/self. Needed in etch debootstrap.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 20 Aug 2009 21:59:44 +0200
parents 7eea529f3f81
children bb68967b1be4
files gub/build.py gub/loggedos.py gub/settings.py gub/specs/mingw-runtime.py gub/specs/w32api-in-usr-lib.py librestrict/restrict.c
diffstat 6 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/gub/build.py	Thu Aug 20 21:18:10 2009 +0200
+++ b/gub/build.py	Thu Aug 20 21:59:44 2009 +0200
@@ -679,7 +679,7 @@
     def install (self):
         self.system ('mkdir -p %(install_root)s')
         _v = '' #self.os_interface.verbose_flag ()
-        self.system ('tar -C %(srcdir)s -cf- . | tar -C %(install_root)s%(_v)s -p -xf-', env=locals ())
+        self.system ('cd %(srcdir)s && tar -C %(srcdir)s -cf- . | tar -C %(install_root)s%(_v)s -p -xf-', env=locals ())
         self.libtool_installed_la_fixups ()
     def get_subpackage_names (self):
         # FIXME: splitting makes that cygwin's gettext + -devel subpackage
--- a/gub/loggedos.py	Thu Aug 20 21:18:10 2009 +0200
+++ b/gub/loggedos.py	Thu Aug 20 21:59:44 2009 +0200
@@ -12,7 +12,8 @@
     tools_bin_dir = os.path.join (os.getcwd (), 'target/tools/root/usr/bin')
     if not tools_bin_dir in env.get ('PATH', ''):
         env['PATH'] = tools_bin_dir + misc.append_path (env.get ('PATH', ''))
-        logger.write_log ('COMMAND defies PATH:' + cmd + '\n', 'warning')
+        env['SHELLOPTS'] = 'physical'
+        logger.write_log ('COMMAND defies PATH: ' + cmd + '\n', 'command')
 
     logger.write_log ('invoking %(cmd)s\n' % locals (), 'command')
     proc = subprocess.Popen (cmd, bufsize=0, shell=True, env=env,
--- a/gub/settings.py	Thu Aug 20 21:18:10 2009 +0200
+++ b/gub/settings.py	Thu Aug 20 21:59:44 2009 +0200
@@ -253,7 +253,7 @@
 
         # Without physical, bash [X]STATs /every/single/dir when doing
         # cd /x/y/z.  This terribly breaks stat restriction.
-        os.environ['SHELLOPTS'] = 'nohistory:physical'
+        os.environ['SHELLOPTS'] = 'physical'
 
         if not '%(tools_prefix)s/bin' in os.environ['PATH']:
             os.environ['PATH'] = '%(tools_prefix)s/bin:' + os.environ['PATH']
--- a/gub/specs/mingw-runtime.py	Thu Aug 20 21:18:10 2009 +0200
+++ b/gub/specs/mingw-runtime.py	Thu Aug 20 21:59:44 2009 +0200
@@ -5,6 +5,6 @@
     def install (self):
         self.system ('''
 mkdir -p %(install_prefix)s/share
-tar -C %(srcdir)s/ -cf - . | tar -C %(install_prefix)s -xf -
+cd %(srcdir)s && tar -C %(srcdir)s/ -cf - . | tar -C %(install_prefix)s -xf -
 mv %(install_prefix)s/doc %(install_root)s/share
 ''', locals ())
--- a/gub/specs/w32api-in-usr-lib.py	Thu Aug 20 21:18:10 2009 +0200
+++ b/gub/specs/w32api-in-usr-lib.py	Thu Aug 20 21:59:44 2009 +0200
@@ -7,6 +7,6 @@
     def install (self):
         self.system ('mkdir -p %(install_prefix)s/lib')
         self.system ('''
-tar -C %(system_prefix)s/lib/w32api -cf- . | tar -C %(install_prefix)s/lib -xf-
+cd %(system_prefix)s && tar -C %(system_prefix)s/lib/w32api -cf- . | tar -C %(install_prefix)s/lib -xf-
 ''')
 
--- a/librestrict/restrict.c	Thu Aug 20 21:18:10 2009 +0200
+++ b/librestrict/restrict.c	Thu Aug 20 21:59:44 2009 +0200
@@ -211,7 +211,7 @@
         add_allowed_path (allow);
       add_allowed_file ("/tmp");
       add_allowed_file ("/dev/null");
-      add_allowed_file ("/proc/self/fd");
+      add_allowed_file ("/proc/self");
     }
 }