/usr/bin/skel is in libadios-bin 1.7.0-4.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | #! /usr/bin/python
from __future__ import absolute_import, division, print_function, unicode_literals
import sys
import os.path
# Make sure that the skel modules are available
os.path.dirname(sys.argv[1])
# For the installed skel
sys.path.insert (0, os.path.dirname(sys.argv[0]) + '/../lib/python')
# For the skel in the utils dir of the adios source
sys.path.insert (0, os.path.dirname(sys.argv[0]) + '/../lib')
import argparse
import adios
import skelconf
import skel_settings
import skel_install
import skel_makefile
import skel_params
import skel_replay
import skel_source
import skel_submit
import skel_suite
import skel_template
import skel_xml
def get_parser():
parser = argparse.ArgumentParser (
formatter_class=argparse.RawDescriptionHelpFormatter,
prog='skel',
add_help=False,
description='''\
Skel: Create, run and analyze skeletal I/O applications
-------------------------------------------------------
Available subcommands include:
skel help
skel makefile
skel params
skel replay
skel source
skel submit
skel xml
Use skel help <subcommand> to see detailed options for each subcommand.''')
parser.add_argument ('subcommand', metavar='subcommand', help='Skel command to execute')
#parser.add_argument ('project', metavar='project', help='Name of the skel project')
#parser.add_argument ('-g', '--group', help='adios group (only valid for skel params)')
return parser
def main(argv=None):
skel_settings.create_settings_dir_if_needed()
parser = get_parser()
# install does not require a project, so let's just check for it directly
if sys.argv[1] == 'install':
return 0
# Also look for skel help, and print the list of subcommands...
if sys.argv[1] == 'help' and len(sys.argv) == 2:
print parser.description
return 0
if sys.argv[1] == 'help':
if sys.argv[2] == 'makefile':
sys.argv = ["skel", "makefile", "junk", "-h"]
skel_makefile.generate_makefiles_with_args (None, parser)
elif sys.argv[2] == 'params':
sys.argv = ["skel", "params", "junk", "-h"]
skel_params.generate_param_file_with_args (None, parser)
elif sys.argv[2] == 'replay':
sys.argv = ["skel", "replay", "junk", "-h"]
elif sys.argv[2] == 'source':
sys.argv = ["skel", "source", "junk", "-h"]
skel_source.create_sources_with_args (None, parser)
elif sys.argv[2] == 'submit':
sys.argv = ["skel", "submit", "junk", "-h"]
skel_submit.generate_submit_scripts_with_args (parser)
elif sys.argv[2] == 'xml':
sys.argv = ["skel", "xml", "junk", "-h"]
else:
print "Unknown help topic"
exit(1)
#args = parse_command_line()
args, unknown = parser.parse_known_args()
# ignore .xml suffix if used (tab completion)
#if args.project and args.project.endswith (".xml"):
# args.project = args.project[:-4]
if args.subcommand == 'install':
return 0
if args.subcommand == 'template':
skel_template.fill_template (parser)
return 0
if args.subcommand == 'xml':
skel_xml.create_skel_xml (parser)
return 0
if args.subcommand == 'replay':
skel_replay.do_replay_with_args (parser)
return 0
if args.subcommand == 'suite':
skel_suite.gen_suite_with_args (parser)
return 0
# Decided to push this further down rather than deal with increasingly
# complicated landscape of which subcommands do or don't require
# a project or an xml file.
#try:
# config = adios.adiosConfig (args.project + '_skel.xml')
#except (IOError):
# print "XXError reading " + args.project + "_skel.xml. Try running skel xml " + args.project + " first."
# return 1
if args.subcommand == 'params':
#outfilename = args.project + '_params.xml'
# Only proceed if outfilename does not already exist.
#if os.path.exists (outfilename):
#print "%s exists, aborting. Delete the file or use -f to overwrite." % outfilename
#return 999
#skel_params.generate_param_file (args.project, outfilename, config, args.group)
skel_params.generate_param_file_with_args (parser)
return 0
if args.subcommand == 'source':
#skel_source.create_sources (params, config, args.project)
skel_source.create_sources_with_args (parser)
return 0
if args.subcommand == 'makefile':
#skel_makefile.generate_makefiles (params, config)
skel_makefile.generate_makefiles_with_args (parser)
return 0
if args.subcommand == 'submit':
#skel_submit.generate_submit_scripts (params)
skel_submit.generate_submit_scripts_with_args (parser)
return 0
print('Unknown subcommand, exiting.')
if __name__ == "__main__":
main()
|