diff --git a/scripts/integrate-distro.sh b/scripts/integrate-distro.sh index a0d7c602..331b687c 100644 --- a/scripts/integrate-distro.sh +++ b/scripts/integrate-distro.sh @@ -80,6 +80,18 @@ case $suse_version in usbutils " + special_pkgs=" + jux-run + jux-client-run + feedfsd-run + feedfs-local-run + feedfs-net-run + netscan-run + snmp-manager-run + ftp-server-run + bprof-run + " + kernel_version=3.9.9-jng20-1.1$kernel_flavour rpm_kernel_version=3.9.9~jng20-1.1 @@ -434,7 +446,7 @@ assert_not_mounted() setup_bind_mounts() { local fs - for fs in /dev /sys /proc; do + for fs in /dev /sys /proc /srv/ftp; do check_mount $fs || { run -e mkdir -p -m 755 $root$fs run -e mount -o bind $fs $root$fs @@ -464,7 +476,7 @@ mount_devices() unmount_devices() { - local devices="$ssh_auth_sock /proc /sys /dev /boot /" + local devices="$ssh_auth_sock /srv/ftp /proc /sys /dev /boot /" [ "$1" ] && devices="$@" local d for d in $devices; do @@ -501,6 +513,7 @@ zypper_repos_special() { _cat << EOT | grep -v "^ *#" |jengelh ftp://ftp/pub/mirror/gwdg/pub/linux/misc/suser-jengelh/openSUSE_$suse_version + |videolan ftp://ftp/pub/mirror/videolan/pub/videolan/vlc/SuSE/$suse_version EOT } @@ -515,7 +528,7 @@ zypper_repos() setup_zypper_repos() { zypper_repos $@ | while read name uri; do - chroot $root zypper $zypper_global_opts ar $uri $name + run_chroot zypper $zypper_global_opts ar $uri $name done } @@ -846,7 +859,7 @@ setup_root_directory() fi set +e - unmount_devices /proc /sys /dev + unmount_devices grep -q $root /proc/mounts && { echo "====== there are filesystems mounted below $root: >" grep $root /proc/mounts @@ -915,18 +928,10 @@ cmd_install() #undo_rpmnew use_host_files /etc/hosts /etc/resolv.conf /etc/sysconfig/security /etc/nsswitch.conf \ - /etc/passwd /etc/group + /etc/passwd /etc/group /etc/certs /etc/opt/bprof/bprof.secret - mkdir -p -m 755 $root/etc - for c in \ - /etc/certs \ - /etc/opt/bprof/bprof.secret \ - ; do - install -d -m 755 `dirname $root$c` - cp -rp $c $root$c || die "failed to copy $c to $root $c" - done - install -d -m 755 $root/etc/dhcpd.conf.d + run_chroot install -d -m 755 /etc/dhcpd.conf.d #make_etc_resolv_conf > $root/etc/resolv.conf #make_etc_fstab > $root/etc/fstab @@ -934,24 +939,24 @@ cmd_install() run setup_zypper_repos base update payload echo "=== refreshing >" - chroot $root zypper $zypper_global_opts refresh + run_chroot zypper $zypper_global_opts refresh echo "=== refreshing <" echo "=== installing payload packages >" - chroot $root zypper $zypper_global_opts install --auto-agree-with-licenses $payload_pkgs + run_chroot zypper $zypper_global_opts install --auto-agree-with-licenses $payload_pkgs echo "=== installing payload packages <" run setup_zypper_repos special - run chroot $root zypper $zypper_global_opts install --auto-agree-with-licenses $special_pkgs + run_chroot zypper $zypper_global_opts install --auto-agree-with-licenses $special_pkgs - # chroot $root zypper $zypper_global_opts -t srcpackage --download-only $payload_pkgs + # run_chroot zypper $zypper_global_opts -t srcpackage --download-only $payload_pkgs #kernel_version=`readlink -f $root/boot/vmlinuz 2>/dev/null | xargs basename | sed 's/vmlinuz-//'` make_etc_jcs_jcs_conf > $root/etc/jcs/jcs.conf - mkdir -p -m 700 $root/root/.ssh + run_chroot mkdir -p -m 700 /root/.ssh make_home_ssh_conf > $root/root/.ssh/config - chmod 600 $root/root/.ssh/config + run_chroot chmod 600 /root/.ssh/config run_hook pkg-installed @@ -961,7 +966,7 @@ cmd_install() run_chroot jcs fetch reset_host_files echo "=== running jcs setup" - chroot $root jcs setup + run_chroot jcs setup # seed the ldap database # FIXME: this does not work off a netboot distro @@ -969,7 +974,7 @@ cmd_install() [ "$install_dev" ] && setup_boot_loader_local setup_boot_loader_net - (cd $root/boot; ln -sf vmlinuz-$kernel_version vmlinuz) + run_chroot ln -sf vmlinuz-$kernel_version /boot/vmlinuz insserv_all @@ -978,16 +983,16 @@ cmd_install() case $suse_version in 11.4) - chroot $root /sbin/SuSEconfig + run_chroot /sbin/SuSEconfig ;; *) ;; esac - chroot $root /opt/jux/bin/jux-init-namespace.sh - chroot $root /sbin/ldconfig - install -m 755 -d $root/srv/nfs/var - install -m 777 -d $root/srv/nfs/var/cores - install -m 777 -d $root/var/cores + run_chroot /opt/jux/bin/jux-init-namespace.sh + run_chroot /sbin/ldconfig + run_chroot install -m 755 -d /srv/nfs/var + run_chroot install -m 777 -d /srv/nfs/var/cores + run_chroot install -m 777 -d /var/cores unmount_devices [ -w "$install_dev" ] || {