diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-10-23 17:17:41 +0000 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-10-24 17:04:20 +0000 |
commit | 26d5fbb15a91c6439bd83c8e99fd23b5c0173566 (patch) | |
tree | 20c16f10ca1e1c7d6b15afc906081db5ea485eb3 /morphlib | |
parent | 53e83cc89dce3434b7b62505ae5a1e359b124267 (diff) | |
download | morph-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')
-rwxr-xr-x | morphlib/exts/fstab.configure | 40 |
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) |