git.annexia.org
/
libguestfs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
11be7d8
)
virt-sysprep: Add prepend_line utility function.
author
Richard W.M. Jones
<rjones@redhat.com>
Thu, 13 Oct 2011 13:30:35 +0000
(14:30 +0100)
committer
Richard W.M. Jones
<rjones@redhat.com>
Thu, 13 Oct 2011 14:25:13 +0000
(15:25 +0100)
clone/virt-sysprep.in
patch
|
blob
|
history
diff --git
a/clone/virt-sysprep.in
b/clone/virt-sysprep.in
index
792282c
..
b98e4b0
100644
(file)
--- a/
clone/virt-sysprep.in
+++ b/
clone/virt-sysprep.in
@@
-222,6
+222,18
@@
erase_line ()
$gf upload "$tmpdir/file.1" "$1"
}
$gf upload "$tmpdir/file.1" "$1"
}
+# prepend_line filename line
+#
+# Prepend a line to a file (this is better than appending, because it
+# works even when the original file isn't terminated with a newline).
+prepend_line ()
+{
+ $gf download "$1" "$tmpdir/file"
+ echo "$2" > "$tmpdir/file.1"
+ cat "$tmpdir/file.1" "$tmpdir/file" >> "$tmpdir/file.2"
+ $gf upload "$tmpdir/file.2" "$1"
+}
+
# rm_files wildcard
#
# Remove files. Doesn't fail if no files exist. Note the wildcard
# rm_files wildcard
#
# Remove files. Doesn't fail if no files exist. Note the wildcard
@@
-253,12
+265,12
@@
rm_file ()
if [ "$hostname" = "yes" ]; then
case "$type/$distro" in
linux/fedora)
if [ "$hostname" = "yes" ]; then
case "$type/$distro" in
linux/fedora)
- $gf download /etc/sysconfig/network "$tmpdir/network"
- echo "HOSTNAME=$hostname_param" > "$tmpdir/network.1"
- sed '/^HOSTNAME=/d' < "$tmpdir/network" >> "$tmpdir/network.1"
- $gf upload "$tmpdir/network.1" /etc/sysconfig/network ;;
+ erase_line /etc/sysconfig/network "^HOSTNAME="
+ prepend_line /etc/sysconfig/network "HOSTNAME=$hostname_param"
+ ;;
linux/debian|linux/ubuntu)
$gf write /etc/hostname "$hostname_param"
linux/debian|linux/ubuntu)
$gf write /etc/hostname "$hostname_param"
+ ;;
esac
fi
esac
fi
@@
-270,6
+282,7
@@
if [ "$net_hwaddr" = "yes" ]; then
for f in $files; do
erase_line "$f" "^HWADDR="
done
for f in $files; do
erase_line "$f" "^HWADDR="
done
+ ;;
esac
fi
esac
fi