From b275d5e7b06bfa60b4526608cb1de50def64a394 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Mon, 8 Apr 2013 14:41:45 +0000 Subject: [PATCH] integrate-distro.sh: Ongoing improvements - Parameterized kernel flavour - Add use_host_files() and reset_host_files() Signed-off-by: Jan Lindemann --- scripts/integrate-distro.sh | 43 +++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/scripts/integrate-distro.sh b/scripts/integrate-distro.sh index 090030bb..7e3cf7bf 100644 --- a/scripts/integrate-distro.sh +++ b/scripts/integrate-distro.sh @@ -99,7 +99,7 @@ case $suse_version in payload_pkgs=" unscd " - kernel_version=3.7.8-jng11-default + kernel_version=3.7.8-jng11$kernel_flavour rpm_kernel_version=3.7.8~jng11-1 ;; 12.3) @@ -112,7 +112,7 @@ case $suse_version in usbutils " - kernel_version=3.7.10-jng12-default + kernel_version=3.7.10-jng12$kernel_flavour rpm_kernel_version=3.7.10~jng12-1 ;; esac @@ -142,7 +142,7 @@ update_pkgs=" special_pkgs=" $special_pkgs aufs - aufs-kmp-default + aufs-kmp$kernel_flavour kernel$kernel_flavour-$rpm_kernel_version rpm " @@ -686,6 +686,36 @@ make_home_ssh_conf() EOT } +use_host_files() +{ + local f + for f in $@; do + echo "== using host file $f" + [ -e $root/$f ] && { + mv $root/$f $root/$f.$myname + } + mkdir -p -m 755 `dirname $root/$f` + cp -rp $f $root/$f + host_files="$host_files $f" + done +} + +reset_host_files() +{ + local f e h + for f in $host_files; do + for e in $myname rpmnew; do + h="$root/$f.$e" + [ -e "$h" ] && { + echo "== resetting host file from $f.$e" + mv $h $root/$f + break + } + done + done + host_files="" +} + setup_boot_loader_local() { check_var_set grub_boot_partition_num grub_slash_boot_partition_num || \ @@ -851,6 +881,7 @@ cmd_install() setup_root_directory setup_bind_mounts + use_host_files /etc/hosts /etc/resolv.conf /etc/sysconfig/security /etc/nsswitch.conf mkdir -p -m 755 $root/etc for c in \ @@ -901,12 +932,15 @@ cmd_install() chroot $root /opt/ytools/bin/jcs init # TODO: remove this } - echo "=== running jcs setup" export CVSROOT=:ext:$scm_user@cvs.jannet.de:/home/jannet/arc/cvs if [ "$SSH_AUTH_SOCK" ]; then mkdir -m 700 -p `dirname $root/$SSH_AUTH_SOCK` ln $SSH_AUTH_SOCK $root/$SSH_AUTH_SOCK fi + echo "=== running jcs fetch" + chroot $root jcs fetch + reset_host_files + echo "=== running jcs setup" chroot $root jcs setup # seed the ldap database @@ -954,6 +988,7 @@ cmd_install() myname=`basename $0` zypper_global_opts="--non-interactive --gpg-auto-import-keys --no-gpg-checks" date=`date` +host_files="" get_opts "$@"