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
|
# vim:expandtab:autoindent:tabstop=4:shiftwidth=4:filetype=python:textwidth=0:
# License: GPL2 or later see COPYING
# Originally written by Seth Vidal
# Sections taken from Mach by Thomas Vander Stichele
# Major reorganization and adaptation by Michael Brown
# Copyright (C) 2007 Michael E Brown <mebrown@michaels-house.net>
"""define most of the exceptions used."""
# python library imports
#from exceptions import Exception
import os
# our imports
# classes
class Error(Exception):
"base class for our errors."
def __init__(self, msg, status=None):
Exception.__init__(self)
self.msg = msg
self.resultcode = 1
if status is not None:
self.resultcode = status
def __str__(self):
return self.msg
# result/exit codes
# 0 = yay!
# 1 = something happened - it's bad
# 5 = cmdline processing error
# 10 = problem building the package
# 20 = error in the chroot of some kind
# 30 = Yum emitted an error of some sort
# 40 = some error in the pkg we're building
# 50 = tried to fork a subcommand and it errored out
# 60 = buildroot locked
class BuildError(Error):
"rpmbuild failed."
def __init__(self, msg):
Error.__init__(self, msg)
self.msg = msg
self.resultcode = 10
class RootError(Error):
"failed to set up chroot"
def __init__(self, msg):
Error.__init__(self, msg)
self.msg = msg
self.resultcode = 20
class YumError(RootError):
"yum failed."
def __init__(self, msg):
RootError.__init__(self, msg)
self.msg = msg
self.resultcode = 30
class PkgError(Error):
"error with the srpm given to us."
def __init__(self, msg):
Error.__init__(self, msg)
self.msg = msg
self.resultcode = 40
class BuildRootLocked(Error):
"build root in use by another process."
def __init__(self, msg):
Error.__init__(self, msg)
self.msg = msg
self.resultcode = 60
class BadCmdline(Error):
"user gave bad/inconsistent command line."
def __init__(self, msg):
Error.__init__(self, msg)
self.msg = msg
self.resultcode = 05
|