summaryrefslogtreecommitdiff
path: root/morphlib/exts
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-10-23 17:17:41 +0000
committerLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-10-24 17:04:20 +0000
commit26d5fbb15a91c6439bd83c8e99fd23b5c0173566 (patch)
tree20c16f10ca1e1c7d6b15afc906081db5ea485eb3 /morphlib/exts
parent53e83cc89dce3434b7b62505ae5a1e359b124267 (diff)
downloadmorph-26d5fbb15a91c6439bd83c8e99fd23b5c0173566.tar.gz
Add fstab.configure
This will allow the user to append text to /etc/fstab during a deployment, without having to write custom configuration extensions.
Diffstat (limited to 'morphlib/exts')
-rwxr-xr-xmorphlib/exts/fstab.configure40
1 files changed, 40 insertions, 0 deletions
diff --git a/morphlib/exts/fstab.configure b/morphlib/exts/fstab.configure
new file mode 100755
index 00000000..0100dacb
--- /dev/null
+++ b/morphlib/exts/fstab.configure
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+# Copyright (C) 2013 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.
+#
+# =*= License: GPL-2 =*=
+
+
+import os
+import sys
+
+
+def asciibetical(strings):
+
+ def key(s):
+ return [ord(c) for c in s]
+
+ return sorted(strings, key=key)
+
+
+fstab_filename = os.path.join(sys.argv[1], 'etc', 'fstab')
+
+fstab_vars = sorted(x for x in os.environ if x.startswith('FSTAB_'))
+with open(fstab_filename, 'a') as f:
+ for var in fstab_vars:
+ f.write('%s\n' % os.environ[var])
+
+os.chown(fstab_filename, 0, 0)
+os.chmod(fstab_filename, 0644)