Conversation

Jarkko Sakkinen

Edited 9 days ago

container hack for build: unshare + chroot. unshare guarantees unmounts, given a ephemeral file system namespace :-)

#!/bin/sh

set -eu

rootfs_dir=$1
adm_user=$2

if [ "$#" -eq 3 ]; then
  proxy_address=""
  cmdline=$3
else
  proxy_address=$3
  cmdline=$4
fi

sudo unshare --mount --pid --fork sh -c "
  mount --bind /sys '$rootfs_dir/sys'
  mount --bind /dev '$rootfs_dir/dev'
  mount -t proc proc '$rootfs_dir/proc'
  mount -t devpts devpts '$rootfs_dir/dev/pts'
  chroot '$rootfs_dir' su - '$adm_user' -c 'export PUAVO_CACHE_PROXY=\"$proxy_address\"; $cmdline'
"
0
1
1