-def list_dir(directory):
- # list the files in this directory
- try:
- files = os.listdir(directory)
- add_directory_path = lambda path: directory + os.sep + path
- # add absolute path to files
- files = map(add_directory_path, files)
- # separate files from directories
- files_only = lambda path: os.path.isfile(path)
- directories_only = lambda path: os.path.isdir(path)
- directories = filter(directories_only, files)
- files = filter(files_only, files)
- for d in directories:
- try:
- (fs, ds) = list_dir(d)
- files.extend(fs)
- except:
- print "Error listing", d
- return (files, directories)
- except:
- return ([], [])
-
-
-if sys.argv[1] in ['uninstall', 'remove', 'delete']:
+package_dirs = [ 'sfa',
+ 'sfa/client',
+ 'sfa/methods',
+ 'sfa/plc',
+ 'sfa/server',
+ 'sfa/trust',
+ 'sfa/util',
+ 'sfa/managers',
+ 'sfa/rspecs',
+ 'sfa/rspecs/aggregates',
+ 'sfa/rspecs/aggregates/vini',
+ 'sfatables',
+ 'sfatables/commands',
+ 'sfatables/processors',
+ ]
+
+
+data_files = [('/etc/sfa/', [ 'config/aggregates.xml',
+ 'config/registries.xml',
+ 'config/sfa_config',
+ 'config/sfi_config']),
+ ('/etc/sfatables/matches/', glob('sfatables/matches/*.xml')),
+ ('/etc/sfatables/targets/', glob('sfatables/targets/*.xml')),
+ ('/etc/init.d/', ['sfa/init.d/sfa'])]
+
+# add sfatables processors as data_files
+processor_files = [f for f in glob('sfatables/processors/*') if os.path.isfile(f)]
+data_files.append(('/etc/sfatables/processors/', processor_files))
+processor_subdirs = [d for d in glob('sfatables/processors/*') if os.path.isdir(d)]
+for d in processor_subdirs:
+ etc_dir = os.path.join("/etc/sfatables/processors", os.path.basename(d))
+ d_files = [f for f in glob(d + '/*') if os.path.isfile(f)]
+ data_files.append((etc_dir, processor_files))
+
+initscripts = [ '/etc/init.d/sfa' ]
+
+if sys.argv[1] in ['uninstall', 'remove', 'delete', 'clean']: