#!/bin/bash

#sanify check

if [ $# -lt 1 ] ; then
	echo "usage $0 ROOTDIR"
	exit 1
fi

rootdir=$1
VZPKGENVDIR="/vz/pkgenv/rpmzypp49x64"
TEMPLATEDIR="/vz/template/suse/42.1/x86_64"

if [ -z "$rootdir" ]; then
	echo "ROOTDIR is not set."
	exit 1
fi
		
# Check root directory
if [ ! -d $rootdir ]; then
	echo "$rootdir: should be a directory."
	exit 1
fi

pushd $rootdir > /dev/null

# Bootstrap a minimal chroot tree for the rest installation
mkdir -p var/lib/rpm
mkdir -p var/lock/rpm
mkdir -p var/tmp
mkdir -p dev
mkdir -p etc/sysconfig
mkdir -p var/run/dhcpv6

# Create the default lang file
echo "RC_LANG=\"\"
RC_LC_ALL=\"\"
RC_LC_MESSAGES=\"\"
RC_LC_CTYPE=\"\"
RC_LC_COLLATE=\"\"
RC_LC_TIME=\"\"
RC_LC_NUMERIC=\"\"
RC_LC_MONETARY=\"\"
RC_LC_PAPER=\"\"
ROOT_USES_LANG=\"ctype\"
AUTO_DETECT_UTF8=\"no\"
INSTALLED_LANGUAGES=\"\"" > etc/sysconfig/language

# Create the empty rpmdb and import the keys from every repository
cp $VZPKGENVDIR/var/lib/rpm/* var/lib/rpm
for i in $TEMPLATEDIR/pm/raw/*; do
	VIRT_OSRELEASE=`cat $VZPKGENVDIR/osrelease 2>/dev/null` \
		/usr/libexec/run_from_chroot $VZPKGENVDIR /bin/rpm \
		--import --root $rootdir $i/repodata/*.key > /dev/null 2>&1
done

# mount /dev/pts and proc
echo "proc  /proc       proc    defaults    0       0" >> etc/fstab
echo "none  /dev/pts    devpts  rw          0       0" >> etc/fstab

# add some groups and users, provides by aaa_base
# some rpms (filesystem,..) use it before aaa_base installation
echo "at:!:25:
audio:x:17:pulse
avahi:!:107:
bin:x:1:daemon
cdrom:x:20:
console:x:21:
daemon:x:2:
dialout:x:16:
disk:x:6:
floppy:x:19:
ftp:x:49:
games:x:40:
kmem:x:9:
lock:x:54:
lp:x:7:
mail:x:12:
maildrop:!:59:
man:x:62:
messagebus:!:103:
modem:x:43:
mysql:!:106:
news:x:13:
nobody:x:65533:
nogroup:x:65534:nobody
ntadmin:!:71:
ntp:!:104:
postfix:!:51:
public:x:32:
pulse:!:109:
pulse-access:!:110:
root:x:0:
rtkit:!:105:
shadow:x:15:
smolt:!:108:
sshd:!:102:
sys:x:3:
tape:!:101:
trusted:x:42:
tty:x:5:
utmp:x:22:
uucp:x:14:
video:x:33:
wheel:x:10:
www:x:8:
xok:x:41:
users:x:100:" > etc/group


echo "root:x:0:0:root:/root:/bin/bash
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash" > etc/passwd

mknod dev/zero c 1 5
chmod 666 dev/zero

popd > /dev/null
