summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-11-27 14:37:28 -0200
committerSilvio Rhatto <rhatto@riseup.net>2014-11-27 14:37:28 -0200
commit42d9c308ee0f5e44a88cd66335eb3a8d73bd314b (patch)
treed8572795a3664372e10a88f58103ec69c9311e1b
parent03330f63d35d231b355f8dab259291845f2c3204 (diff)
downloadhydra-42d9c308ee0f5e44a88cd66335eb3a8d73bd314b.tar.gz
hydra-42d9c308ee0f5e44a88cd66335eb3a8d73bd314b.tar.bz2
Adding hydractl pbuilder-upgrade
-rw-r--r--TODO.md1
-rwxr-xr-xshare/hydractl/pbuilder-upgrade39
-rwxr-xr-xshare/hydractl/upgrade3
3 files changed, 42 insertions, 1 deletions
diff --git a/TODO.md b/TODO.md
index fa46fb4..c6667e4 100644
--- a/TODO.md
+++ b/TODO.md
@@ -27,7 +27,6 @@ Hydractl
- change default cryptsetup options.
- support for cswap with passphrase.
- upgrade:
- - run pbuilder/cowbuilder update for all chroots.
- run vbox upgrade (from vbox repo) if available on all available instances.
- run docker upgrade on all available images.
- deploy: PREFIX support.
diff --git a/share/hydractl/pbuilder-upgrade b/share/hydractl/pbuilder-upgrade
new file mode 100755
index 0000000..54886f4
--- /dev/null
+++ b/share/hydractl/pbuilder-upgrade
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# Pbuilder mass upgrader.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+
+# Basic parameters
+BASE="/var/cache/pbuilder/"
+
+# Set sudo config
+if [ "`whoami`" != 'root' ]; then
+ sudo="sudo"
+fi
+
+# Check base
+if [ ! -d "$BASE" ]; then
+ exit
+fi
+
+# Upgrade all pbuilder chroots
+for chroot in `ls $BASE`; do
+ folder="$BASE/$chroot"
+ if [ -f "$folder/base.cow/etc/debian_version" ]; then
+ echo "Upgrading $folder..."
+ $sudo cowbuilder --update --basepath "$folder/base.cow"
+ fi
+done
diff --git a/share/hydractl/upgrade b/share/hydractl/upgrade
index 92bf0c4..e3c1141 100755
--- a/share/hydractl/upgrade
+++ b/share/hydractl/upgrade
@@ -35,6 +35,9 @@ fi
# Upgrade all chroots
hydractl chroot-upgrade
+# Upgrade all pbuilder chroots
+hydractl pbuilder-upgrade
+
# Cleanup
if [ "$CLEAN" == "clean" ]; then
$sudo aptitude clean