X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=clone%2Fvirt-sysprep.in;h=91508724692c1adb939d836ffdb61198abced308;hb=6011b1f803ba7308c6a94b9bf6b7212cfccb9f42;hp=12c55bc0a4573d119b8e21f12f24c67aa9cf132b;hpb=05c26a9c099fe7616c95daaa3d473ee23f93e1b1;p=libguestfs.git diff --git a/clone/virt-sysprep.in b/clone/virt-sysprep.in index 12c55bc..9150872 100644 --- a/clone/virt-sysprep.in +++ b/clone/virt-sysprep.in @@ -131,43 +131,52 @@ done # enable all of these, although some of them are only done on certain # guest types (see details below). if [ -z "$enable" ]; then + cron_spool=yes dhcp_client_state=yes dhcp_server_state=yes hostname=yes logfiles=yes + mail_spool=yes net_hwaddr=yes random_seed=yes rhn_systemid=yes smolt_uuid=yes ssh_hostkeys=yes udev_persistent_net=yes + utmp=yes yum_uuid=yes elif [ "$enable" = "list" ]; then + echo "cron-spool" echo "dhcp-client-state" echo "dhcp-server-state" echo "hostname" echo "logfiles" + echo "mail-spool" echo "net-hwaddr" echo "random-seed" echo "rhn-systemid" echo "smolt-uuid" echo "ssh-hostkeys" echo "udev-persistent-net" + echo "utmp" echo "yum-uuid" exit 0 else for opt in $(echo "$enable" | sed 's/,/ /g'); do case "$opt" in + cron-spool) cron_spool=yes ;; dhcp-client-state) dhcp_client_state=yes ;; dhcp-server-state) dhcp_server_state=yes ;; hostname) hostname=yes ;; logfiles) logfiles=yes ;; + mail-spool) mail_spool=yes ;; net-hwaddr) net_hwaddr=yes ;; random-seed) random_seed=yes ;; rhn-systemid) rhn_systemid=yes ;; smolt-uuid) smolt_uuid=yes ;; ssh-hostkeys) ssh_hostkeys=yes ;; udev-persistent-net) udev_persistent_net=yes ;; + utmp) utmp=yes ;; yum-uuid) yum_uuid=yes ;; *) echo "error: unknown --enable feature: $opt" @@ -213,18 +222,18 @@ trap cleanup EXIT ERR # Run virt-inspector and grab inspection information about this guest. virt-inspector "${params[@]}" > $tmpdir/xml -xmlstarlet sel -t -c \ +virt-inspector --xpath \ "string(/operatingsystems/operatingsystem[position()=1]/name)" \ - $tmpdir/xml > $tmpdir/type -xmlstarlet sel -t -c \ + < $tmpdir/xml > $tmpdir/type +virt-inspector --xpath \ "string(/operatingsystems/operatingsystem[position()=1]/distro)" \ - $tmpdir/xml > $tmpdir/distro ||: -xmlstarlet sel -t -c \ + < $tmpdir/xml > $tmpdir/distro ||: +virt-inspector --xpath \ "string(/operatingsystems/operatingsystem[position()=1]/package_format)" \ - $tmpdir/xml > $tmpdir/package_format ||: -xmlstarlet sel -t -c \ + < $tmpdir/xml > $tmpdir/package_format ||: +virt-inspector --xpath \ "string(/operatingsystems/operatingsystem[position()=1]/package_management)" \ - $tmpdir/xml > $tmpdir/package_management ||: + < $tmpdir/xml > $tmpdir/package_management ||: type="$(cat $tmpdir/type)" distro="$(cat $tmpdir/distro)" @@ -240,6 +249,10 @@ mnt="$tmpdir/mnt" #---------------------------------------------------------------------- # The sysprep operations. +if [ "$cron_spool" = "yes" ]; then + rm -rf $mnt/var/spool/cron/* +fi + if [ "$dhcp_client_state" = "yes" ]; then case "$type" in linux) @@ -293,6 +306,11 @@ if [ "$logfiles" = "yes" ]; then esac fi +if [ "$mail_spool" = "yes" ]; then + rm -rf $mnt/var/spool/mail/* + rm -rf $mnt/var/mail/* +fi + if [ "$net_hwaddr" = "yes" ]; then case "$type/$distro" in linux/fedora) @@ -344,6 +362,10 @@ if [ "$udev_persistent_net" = "yes" -a "$type" = "linux" ]; then rm -f $mnt/etc/udev/rules.d/70-persistent-net.rules fi +if [ "$utmp" = "yes" -a "$type" != "windows" ]; then + rm -f $mnt/var/run/utmp +fi + if [ "$yum_uuid" = "yes" -a "$package_management" = "yum" ]; then rm -f $mnt/var/lib/yum/uuid fi