integrate-distro.sh: Some beautification

This commit is contained in:
Jan Lindemann 2011-06-22 21:52:57 +00:00 committed by Jan Lindemann
commit 6950429fd6

View file

@ -5,7 +5,7 @@
arch=`uname -m` arch=`uname -m`
o_name=suse-11.4 o_name=suse-11.4
cmd=install cmd=install
initrd_modules="aufs via e1000 e1000e myri10ge forcedeth" initrd_modules="aufs via-rhine e1000 e1000e myri10ge forcedeth uhci_hcd"
kernel_version=2.6.37.4 kernel_version=2.6.37.4
umask 0022 umask 0022
@ -18,6 +18,12 @@ unused_pkgs="
# -- pciutils # -- pciutils
# used by jux, should be done by grepping /proc-files # used by jux, should be done by grepping /proc-files
special_pkgs="
aufs
aufs-kmp-default
rpm
"
# -- sysvinit # -- sysvinit
# systemd-sysvinit boots, but doesn't work cleanly as of now # systemd-sysvinit boots, but doesn't work cleanly as of now
@ -100,6 +106,7 @@ payload_pkgs="
wget lukemftp wget lukemftp
openssh openssh
bprof-run
tar zip unzip tar zip unzip
rsync cpio rsync cpio
@ -333,17 +340,14 @@ EOT
zypper_repos_update() zypper_repos_update()
{ {
zypper_repos_base
_cat << EOT | grep -v "^ *#" _cat << EOT | grep -v "^ *#"
|distro-non-oss ftp://ftp/pub/mirror/suse/distribution/11.4/repo/non-oss |distro-non-oss ftp://ftp/pub/mirror/suse/distribution/11.4/repo/non-oss
|update ftp://ftp/pub/mirror/suse/update/11.4 |update ftp://ftp/pub/mirror/suse/update/11.4
|#jengelh ftp://ftp/pub/mirror/gwdg/pub/linux/misc/suser-jengelh/openSUSE_11.4
EOT EOT
} }
zypper_repos() zypper_repos_payload()
{ {
zypper_repos_update
_cat << EOT | grep -v "^ *#" _cat << EOT | grep -v "^ *#"
|#ftp.jannet.de ftp://dspadm:dspasswd@ftp.jannet.de/pub/packages/linux/suse/11.4/inst-source |#ftp.jannet.de ftp://dspadm:dspasswd@ftp.jannet.de/pub/packages/linux/suse/11.4/inst-source
|ftp.jannet.de ftp://dspadm:dspasswd@ftp/pub/mirror/jannet/ftp/pub/packages/linux/suse/11.4/inst-source |ftp.jannet.de ftp://dspadm:dspasswd@ftp/pub/mirror/jannet/ftp/pub/packages/linux/suse/11.4/inst-source
@ -351,18 +355,33 @@ zypper_repos()
EOT EOT
} }
zypper_repos_special()
{
_cat << EOT | grep -v "^ *#"
|jengelh ftp://ftp/pub/mirror/gwdg/pub/linux/misc/suser-jengelh/openSUSE_11.4
EOT
}
zypper_repos()
{
local repo
for repo in $@; do
zypper_repos_$repo
done
}
setup_zypper_repos() setup_zypper_repos()
{ {
zypper_repos | while read name uri; do zypper_repos $@ | while read name uri; do
chroot $root zypper $zypper_global_opts ar $uri $name chroot $root zypper $zypper_global_opts ar $uri $name
done done
} }
host_zypper() host_zypper()
{ {
local repos=$1 local repos="$1"
shift shift
local distros=`zypper_repos_$repos | awk '{print "--plus-repo " $2 }'` local distros=`zypper_repos $repos | awk '{print "--plus-repo " $2 }'`
zypper $zypper_global_opts --root $root $distros $@ zypper $zypper_global_opts --root $root $distros $@
} }
@ -643,6 +662,10 @@ cmd_install()
set -e set -e
[ -r "$root_password_file" ] || {
die "root password file doesn't exist, do echo -n my-secret > $root_password_file"
}
setup_root_directory setup_root_directory
setup_bind_mounts setup_bind_mounts
@ -678,16 +701,20 @@ cmd_install()
make_etc_hosts > $root/etc/hosts make_etc_hosts > $root/etc/hosts
make_etc_fstab > $root/etc/fstab make_etc_fstab > $root/etc/fstab
host_zypper base install --auto-agree-with-licenses coreutils host_zypper "base" install --auto-agree-with-licenses coreutils
host_zypper update install --auto-agree-with-licenses zypper host_zypper "base update" install --auto-agree-with-licenses zypper
#undo_rpmnew #undo_rpmnew
setup_zypper_repos setup_zypper_repos base update payload
chroot $root zypper $zypper_global_opts refresh chroot $root zypper $zypper_global_opts refresh
chroot $root zypper $zypper_global_opts install --auto-agree-with-licenses $payload_pkgs chroot $root zypper $zypper_global_opts install --auto-agree-with-licenses $payload_pkgs
# chroot $root zypper $zypper_global_opts -t srcpackage --download-only $payload_pkgs
fi # test fi # test
setup_zypper_repos special
chroot $root zypper $zypper_global_opts install --auto-agree-with-licenses $special_pkgs
# chroot $root 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-//'` #kernel_version=`readlink -f $root/boot/vmlinuz 2>/dev/null | xargs basename | sed 's/vmlinuz-//'`
[ "$install_dev" ] && setup_boot_loader_local [ "$install_dev" ] && setup_boot_loader_local