summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2015-01-01 00:25:54 +0000
committerTiago Gomes <tiago.gomes@codethink.co.uk>2015-01-02 13:47:16 +0000
commit6a49bc67b3fc5073612195510d556129bfdd28bb (patch)
tree1fc81e1df2df8c12dbbde3310ff680689a41bc1b
parent2687037bcd34dfec1d55251a0cc0a71860316161 (diff)
downloaddefinitions-6a49bc67b3fc5073612195510d556129bfdd28bb.tar.gz
Add some checks to the sysroot deployment extension
Ensure that a) the deployment directory must not exist b) the extension can not be used to upgrade a system
-rwxr-xr-xsysroot.check30
-rwxr-xr-xsysroot.write4
2 files changed, 31 insertions, 3 deletions
diff --git a/sysroot.check b/sysroot.check
new file mode 100755
index 00000000..bfacd3fc
--- /dev/null
+++ b/sysroot.check
@@ -0,0 +1,30 @@
+#!/bin/sh
+# Copyright (C) 2015 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+# Preparatory checks for Morph 'sysroot' write extension
+
+set -eu
+
+location="$1"
+if [ -d "$location" ]; then
+ echo >&2 "ERROR: Deployment directory already exists: $location"
+ exit 1
+fi
+
+if [ "$UPGRADE" == "yes" ]; then
+ echo >&2 "ERROR: Cannot upgrade a sysroot deployment"
+ exit 1
+fi
diff --git a/sysroot.write b/sysroot.write
index 1ae4864f..be315365 100755
--- a/sysroot.write
+++ b/sysroot.write
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2014 Codethink Limited
+# Copyright (C) 2014,2015 Codethink Limited
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,9 +18,7 @@
set -eu
-# Ensure the target is an empty directory
mkdir -p "$2"
-find "$2" -mindepth 1 -delete
# Move the contents of our source directory to our target
# Previously we would (cd "$1" && find -print0 | cpio -0pumd "$absolute_path")