summaryrefslogtreecommitdiff
path: root/morphlib/exts/fstab.configure
diff options
context:
space:
mode:
Diffstat (limited to 'morphlib/exts/fstab.configure')
-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..a1287ea4
--- /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 = asciibetical(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)