~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to setup/build.py

Replaced Python config files (conf.py) with new config files system, using
    configobj (INI-file style config files).

setup.py config now produces ./etc/ivle.conf, a new-style config file.
ivle/conf/conf.py is now part of the IVLE source code. It reads the new config
file and provides the same legacy interface, so all of IVLE still functions,
including setup.py config.

Added /etc to the source tree (config files will be stored here).
Added configobj as a dependency in doc/setup/install_proc.txt.

setup.py install copies ./etc/ivle.conf into /etc/ivle/ivle.conf.

Removed boilerplate code generation from setup/configure.py (that code is now
part of ivle/conf/conf.py which is now in the source tree).

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
    parser.add_option("--no-compile",
44
44
        action="store_true", dest="nocompile",
45
45
        help="Don't byte-compile .py files.")
46
 
    parser.add_option("-t", "--trampoline-uids",
47
 
        action="store", dest="tuids", default="33",
48
 
        help="Comma-separated list of UIDs allowed to use trampoline. "
49
 
             "(default: 33)")
50
46
    (options, args) = parser.parse_args(args)
51
47
 
52
48
    # Call the real function
53
 
    return __build(options.dry, options.nocompile, options.tuids)
 
49
    return __build(options.dry, options.nocompile)
54
50
 
55
 
def __build(dry=False, no_compile=None, tuids=None):
 
51
def __build(dry=False, no_compile=None):
 
52
    # We need to import the one in the working copy, not in the system path.
 
53
    confmodule = __import__("ivle/conf/conf")
56
54
    install_list = util.InstallList()
57
55
 
58
56
    if dry:
59
57
        print "Dry run (no actions will be executed)\n"
60
58
 
61
 
    # Create trampoline configuration.
62
 
    conf_hfile = os.path.join(os.getcwd(), "bin/trampoline/conf.h")
63
 
    conf_h = open(conf_hfile, "w")
64
 
 
65
 
    conf_h.write("""/* IVLE Configuration File
66
 
 * conf.h
67
 
 * Administrator settings required by trampoline.
68
 
 * Note: trampoline will have to be rebuilt in order for changes to this file
69
 
 * to take effect.
70
 
 */
71
 
 
72
 
#define IVLE_AUFS_JAILS
73
 
 
74
 
/* Which user IDs are allowed to run the trampoline.
75
 
 * This list should be limited to the web server user.
76
 
 * (Note that root is an implicit member of this list).
77
 
 */
78
 
static const int allowed_uids[] = { %s };
79
 
""" % tuids)
80
 
    conf_h.close()
81
 
 
82
59
    # Compile the trampoline
83
60
    curdir = os.getcwd()
84
61
    os.chdir('bin/trampoline')
93
70
 
94
71
    # Compile .py files into .pyc or .pyo files
95
72
    if not no_compile:
 
73
        compileall.compile_dir('www', quiet=True)
96
74
        compileall.compile_dir('ivle', quiet=True)
97
75
        compileall.compile_dir('services', quiet=True)
98
76