diff options
author | Javier Jardón <jjardon@gnome.org> | 2015-04-13 18:29:36 +0100 |
---|---|---|
committer | Baserock Gerrit <gerrit@baserock.org> | 2015-04-28 16:05:16 +0000 |
commit | ed423dc974a61f1c033491819c9554716b8f59b3 (patch) | |
tree | 9031ff741cedf603af03599af93d75df689a47e1 /morphlib/exts | |
parent | 93dd98f8cb5e70a1e230e96678bf69c648cf32bd (diff) | |
download | morph-ed423dc974a61f1c033491819c9554716b8f59b3.tar.gz |
Add install-essential-files configuration extension
This is meant to add essential system files like
/etc/profile, /etc/os-release ...
Change-Id: I3d67b3a452b32205c5d3c7303d128bda80ce75de
Diffstat (limited to 'morphlib/exts')
-rwxr-xr-x | morphlib/exts/install-essential-files.configure | 42 | ||||
-rw-r--r-- | morphlib/exts/install-essential-files.configure.help | 20 |
2 files changed, 62 insertions, 0 deletions
diff --git a/morphlib/exts/install-essential-files.configure b/morphlib/exts/install-essential-files.configure new file mode 100755 index 00000000..2779b0d4 --- /dev/null +++ b/morphlib/exts/install-essential-files.configure @@ -0,0 +1,42 @@ +#!/usr/bin/env python2 +# 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, see <http://www.gnu.org/licenses/>. + + +''' A Morph configuration extension for adding essential files to a system + +It will read the manifest files located in essential-files/manifest, +then use the contens of those files to determine which files +to install into the target system. + +''' + +import subprocess +import os + +import cliapp + +class InstallEssentialFilesConfigureExtension(cliapp.Application): + + def process_args(self, args): + target_root = args[0] + os.environ["INSTALL_FILES"] = "essential-files/manifest" + self.install_essential_files(target_root) + + def install_essential_files(self, target_root): + command = os.path.join(os.path.dirname(__file__), + "install-files.configure") + subprocess.check_call([command, target_root]) + +InstallEssentialFilesConfigureExtension().run() diff --git a/morphlib/exts/install-essential-files.configure.help b/morphlib/exts/install-essential-files.configure.help new file mode 100644 index 00000000..1d123839 --- /dev/null +++ b/morphlib/exts/install-essential-files.configure.help @@ -0,0 +1,20 @@ +# 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, see <http://www.gnu.org/licenses/>. + +help: | + This installs files from the essential-files/ folder in your definitions.git + repo, according to essential-files/manifest. + + It wraps the install-files.configure extension. Take a look to that + extension help to know more about the format of the manifest file. |