cd $HDIR
-cgm create all $TUSER
-cgm chown all $TUSER $(id -u $TUSER) $(id -g $TUSER)
-cgm movepid all $TUSER $$
+if which cgm >/dev/null 2>&1; then
+ cgm create all $TUSER
+ cgm chown all $TUSER $(id -u $TUSER) $(id -g $TUSER)
+ cgm movepid all $TUSER $$
+elif [ -e /sys/fs/cgroup/cgmanager/sock ]; then
+ for d in $(cut -d : -f 2 /proc/self/cgroup); do
+ dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
+ --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \
+ string:$d string:$TUSER >/dev/null
+
+ dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
+ --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Chown \
+ string:$d string:$TUSER int32:$(id -u $TUSER) int32:$(id -g $TUSER) >/dev/null
+
+ dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
+ --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.MovePid \
+ string:$d string:$TUSER int32:$$ >/dev/null
+ done
+else
+ for d in /sys/fs/cgroup/*; do
+ [ ! -d $d/lxctest ] && mkdir $d/lxctest
+ chown -R $TUSER: $d/lxctest
+ echo $$ > $d/lxctest/tasks
+ done
+fi
+
run_cmd mkdir -p $HDIR/.cache/lxc
[ -d /var/cache/lxc/download ] && \
cd $HDIR
-if [ -e /sys/fs/cgroup/cgmanager/sock ]; then
+if which cgm >/dev/null 2>&1; then
+ cgm create all $TUSER
+ cgm chown all $TUSER $(id -u $TUSER) $(id -g $TUSER)
+ cgm movepid all $TUSER $$
+elif [ -e /sys/fs/cgroup/cgmanager/sock ]; then
for d in $(cut -d : -f 2 /proc/self/cgroup); do
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \
lxc.id_map = g 0 910000 10000
EOF
-if [ -e /sys/fs/cgroup/cgmanager/sock ]; then
+if which cgm >/dev/null 2>&1; then
+ cgm create all $TUSER
+ cgm chown all $TUSER $(id -u $TUSER) $(id -g $TUSER)
+ cgm movepid all $TUSER $$
+elif [ -e /sys/fs/cgroup/cgmanager/sock ]; then
for d in $(cut -d : -f 2 /proc/self/cgroup); do
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \