userpw = pwd.getpwnam(name)
# schroot configuration
- with open("/etc/schroot/chroot.d/user-"+name, "w") as f:
- print >>f, """[user-{0}]
+ with open("/etc/schroot/chroot.d/schsh-"+name, "w") as f:
+ print >>f, """[schsh-{0}]
type=directory
directory={1}
users={0}
-profile=user
-setup.fstab=user/user-{0}.fstab
+profile=schsh
+setup.fstab=schsh/{0}.fstab
""".format(name, chroot)
- with open("/etc/schroot/user/user-"+name+".fstab", "w") as f:
- print >>f, """# <file system> <mount point> <type> <options> <dump> <pass>
-/bin \t/bin \tnone \trw,bind \t0 \t0
-/lib \t/lib \tnone \trw,bind \t0 \t0
-/usr/bin \t/usr/bin \tnone \trw,bind \t0 \t0
-/usr/lib \t/usr/lib \tnone \trw,bind \t0 \t0
-/home/{0}/data\t/data \tnone \trw,bind \t0 \t0
-""".replace(' ', '').format(name) # need to remove spaces so schroot does not complain
+ with open("/etc/schroot/schsh/"+name+".fstab", "w") as f:
+ # no spaces, schroot does not like them
+ print >>f, "# <file system> <mount point> <type> <options> <dump> <pass>"
+ # system folders
+ for folder in ("/bin", "/lib", "/lib64", "/usr/bin", "/usr/lib", "/usr/lib64"):
+ if os.path.exists(folder):
+ print >>f, "{0}\t{0}\tnone\trw,bind\t0\t0".format(folder)
+ # user folder
+ print >>f, "/home/{0}/data\t/data\tnone\trw,bind\t0\t0".format(name)
# setup the schroot directory
os.mkdir(chroot)