1 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
14 'kern': syslog.LOG_KERN,
15 'user': syslog.LOG_USER,
16 'mail': syslog.LOG_MAIL,
17 'daemon': syslog.LOG_DAEMON,
18 'auth': syslog.LOG_AUTH,
19 'lpr': syslog.LOG_LPR,
20 'news': syslog.LOG_NEWS,
21 'uucp': syslog.LOG_UUCP,
22 'cron': syslog.LOG_CRON,
23 'local0': syslog.LOG_LOCAL0,
24 'local1': syslog.LOG_LOCAL1,
25 'local2': syslog.LOG_LOCAL2,
26 'local3': syslog.LOG_LOCAL3,
27 'local4': syslog.LOG_LOCAL4,
28 'local5': syslog.LOG_LOCAL5,
29 'local6': syslog.LOG_LOCAL6,
30 'local7': syslog.LOG_LOCAL7
38 def read(self, builder):
39 p = ConfigParser.ConfigParser()
41 if p.has_option(builder, o):
42 return string.strip(p.get(builder, o))
43 elif p.has_option("all", o):
44 return string.strip(p.get("all", o))
48 log.panic("cannot find %s::%s" % (builder, o))
50 p.readfp(open(path.builder_conf))
52 if p.has_option("all", "syslog"):
53 f = p.get("all", "syslog")
55 if syslog_facilities.has_key(f):
56 log.open_syslog("builder", syslog_facilities[f])
58 log.panic("no such syslog facility: %s" % f)
61 builder = get("src_builder", builder)
62 self.builder = builder
64 self.binary_builders = string.split(get("binary_builders"))
65 self.src_builder = string.strip(get("src_builder", ""))
66 self.tag_prefixes = string.split(get("tag_prefixes", ""))
67 self.max_keep_time = int(get("max_keep_time", 168))*60*60
68 self.bot_email = get("bot_email", "")
69 self.control_url = get("control_url")
70 self.admin_email = get("admin_email")
71 self.builder_list = get("builder_list", "")
72 self.gen_upinfo = get("gen_upinfo", "yes")
73 if self.gen_upinfo == 'no':
74 self.gen_upinfo = False
76 self.gen_upinfo = True
77 status.admin = self.admin_email
78 status.builder_list = self.builder_list
79 self.email = self.admin_email
84 if builder not in p.sections():
85 log.panic("builder %s not in config file" % builder)
86 self.arch = get("arch")
87 self.chroot = get("chroot")
88 self.email = get("email")
89 self.buildlogs_url = get("buildlogs_url", "/dev/null")
90 self.ftp_url = get("ftp_url")
91 self.notify_url = get("notify_url")
92 self.test_ftp_url = get("test_ftp_url", "/dev/null")
93 self.rpmqa_url = get("rpmqa_url", "/dev/null")
94 self.rpmqa_filename = get("rpmqa_filename")
95 self.job_slots = int(get("job_slots"))
96 self.max_load = float(get("max_load"))
97 self.control_url = get("control_url")
98 self.rpm_cache_dir = get("rpm_cache_dir", "/spools/ready")
99 self.builder_user = get("builder_user", "builder")
100 self.sudo_chroot_wrapper = get("sudo_chroot_wrapper", "")
101 self.nice = get("nice", "0")
103 f = get("syslog", "")
105 if syslog_facilities.has_key(f):
106 log.open_syslog(self.builder, syslog_facilities[f])
108 log.panic("no such syslog facility: %s" % f)
112 config = Builder_Conf()
114 def init_conf(builder=None):
115 os.environ['LC_ALL'] = "C"
116 status.push("reading builder config")
117 log.builder = builder
121 log.builder = config.builder