orchestra team mailing list archive
-
orchestra team
-
Mailing list archive
-
Message #00379
[Merge] lp:~jtv/orchestra/odev-without-apt-get-update into lp:~orchestra/orchestra/odev
Jeroen T. Vermeulen has proposed merging lp:~jtv/orchestra/odev-without-apt-get-update into lp:~orchestra/orchestra/odev.
Requested reviews:
orchestra (orchestra)
For more details, see:
https://code.launchpad.net/~jtv/orchestra/odev-without-apt-get-update/+merge/96515
Installing the required packages was agonizingly slow and error-prone for Julian (who is no longer very close to the data centre). This should speed it up.
The trick I use to check of missing packages works on Lucid and Precise, which are the only systems I tried it on.
--
https://code.launchpad.net/~jtv/orchestra/odev-without-apt-get-update/+merge/96515
Your team orchestra is requested to review the proposed merge of lp:~jtv/orchestra/odev-without-apt-get-update into lp:~orchestra/orchestra/odev.
=== modified file 'bin/system-setup'
--- bin/system-setup 2012-03-01 17:00:18 +0000
+++ bin/system-setup 2012-03-08 07:06:19 +0000
@@ -10,25 +10,30 @@
pkgs="$pkgs python-cheetah" # for setup.py
pkgs="$pkgs qemu-utils qemu-kvm" # needed generally
-new_pkgs=""
-for pkg in ${pkgs}; do
- dpkg-query --show "$pkg" >/dev/null ||
- new_pkgs="${new_pkgs:+${new_pkgs} }${pkg}"
-done
-
-if [ -n "$new_pkgs" ]; then
- sudo apt-get update -qq || /bin/true
+
+need_packages_installed() {
+ # Do any of the packages in $pkgs need installing?
+ # (Show all installed versions for $pkgs, one per line, and grep for
+ # blank lines in the output.)
+ dpkg-query -f '${Version}\n' --show $pkgs | grep -q '^$'
+}
+
+
+if need_packages_installed
+then
sudo apt-get install -y $pkgs </dev/null
fi
new_groups=""
-for group in libvirtd kvm; do
+for group in libvirtd kvm
+do
groups $USER | grep -q $group && continue
sudo adduser $USER $group
new_groups="${new_groups:+${new_groups} }${group}"
done
-if [ -n "$new_groups" ]; then
+if [ -n "$new_groups" ]
+then
cat <<EOF
Done.
@@ -39,6 +44,7 @@
EOF
# The user may need to log out at this point.
- echo "Ctrl-C if you want to log out now. Otherwise, press <enter>."
+ echo "Abort with ctrl-C if you need to log out first."
+ echo "Otherwise, press <enter>."
read
fi
Follow ups