88
# TODO: Check if key exists before setting it.
90
return $self->{$key} = $value;
93
sub parse_options (\%) {
96
59
return GetOptions ("h|help" => sub { help_text("1", "sbuild"); },
97
60
"V|version" => sub {version_text("sbuild"); },
98
"arch=s" => \$self->{'User Arch'},
62
$self->set_conf('ARCH', $_[1]);
99
64
"A|arch-all" => sub {
100
$self->set('Build Arch All', 1);
65
$self->set_conf('BUILD_ARCH_ALL', 1);
102
67
"auto-give-back=s" => sub {
103
$self->set('Auto Giveback', 1);
68
$self->set_conf('AUTO_GIVEBACK', 1);
105
70
my @parts = split( '@', $_[1] );
106
$self->set('Auto Giveback Socket',
71
$self->set_conf('AUTO_GIVEBACK_SOCKET',
107
72
$parts[$#parts-3])
109
$self->set('Auto Giveback WannaBuild User',
74
$self->set_conf('AUTO_GIVEBACK_WANNABUILD_USER',
110
75
$parts[$#parts-2])
112
$self->set('Auto Giveback User',
77
$self->set_conf('AUTO_GIVEBACK_USER',
113
78
$parts[$#parts-1])
115
$self->set('Auto Giveback Host',
80
$self->set_conf('AUTO_GIVEBACK_HOST',
119
84
"f|force-depends=s" => sub {
120
push( @{$self->get('Manual Srcdeps')}, "f".$_[1] );
85
push(@{$self->get_conf('MANUAL_SRCDEPS')},
122
88
"a|add-depends=s" => sub {
123
push( @{$self->get('Manual Srcdeps')}, "a".$_[1] );
89
push(@{$self->get_conf('MANUAL_SRCDEPS')},
125
92
"check-depends-algorithm=s" => sub {
126
die "Bad build dependency check algorithm\n"
127
if( ! ($_[1] eq "first-only"
128
|| $_[1] eq "alternatives") );
129
$Sbuild::Conf::check_depends_algorithm = $_[1];
93
$self->set_conf('CHECK_DEPENDS_ALGORITHM', $_[1]);
131
95
"b|batch" => sub {
132
$self->set('Batch Mode', 1);
96
$self->set_conf('BATCH_MODE', 1);
134
98
"make-binNMU=s" => sub {
135
$self->set('binNMU', $_[1]);
136
$self->set('binNMU Version',
137
$self->get('binNMU Version') || 1);
99
$self->set_conf('BIN_NMU', $_[1]);
100
$self->set_conf('BIN_NMU_VERSION', 1)
101
if (!defined $self->get_conf('BIN_NMU_VERSION'));
139
103
"binNMU=i" => sub {
140
$self->set('binNMU Version', $_[1]);
104
$self->set_conf('BIN_NMU_VERSION', $_[1]);
142
106
"c|chroot=s" => sub {
143
$self->set('Chroot', $_[1]);
107
$self->set_conf('CHROOT', $_[1]);
145
109
"database=s" => sub {
146
$self->set('WannaBuild Database', $_[1]);
148
"D|debug+" => \$Sbuild::Conf::debug,
149
"apt-update" => \$Sbuild::Conf::apt_update,
110
$self->set_conf('WANNABUILD_DATABASE', $_[1]);
113
$self->set_conf('DEBUG',
114
$self->get_conf('DEBUG') + 1);
116
"apt-update" => sub {
117
$self->set_conf('APT_UPDATE', $_[1]);
150
119
"d|dist=s" => sub {
151
$self->set('Distribution', $_[1]);
152
$self->set('Distribution', "oldstable")
153
if $self->{'Distribution'} eq "o";
154
$self->set('Distribution', "stable")
155
if $self->{'Distribution'} eq "s";
156
$self->set('Distribution', "testing")
157
if $self->{'Distribution'} eq "t";
158
$self->set('Distribution', "unstable")
159
if $self->{'Distribution'} eq "u";
160
$self->set('Distribution', "experimental")
161
if $self->{'Distribution'} eq "e";
162
$self->set('Override Distribution', 1);
164
"force-orig-source" => \$Sbuild::Conf::force_orig_source,
165
"m|maintainer=s" => \$Sbuild::Conf::maintainer_name,
166
"k|keyid=s" => \$Sbuild::Conf::key_id,
167
"e|uploader=s" => \$Sbuild::Conf::uploader_name,
168
"n|nolog" => \$Sbuild::Conf::nolog,
170
$Sbuild::Conf::purge_build_directory = $_[1];
171
die "Bad purge mode\n"
172
if !isin($Sbuild::Conf::purge_build_directory,
173
qw(always successful never));
120
$self->set_conf('DISTRIBUTION', $_[1]);
121
$self->set_conf('DISTRIBUTION', "oldstable")
122
if $self->get_conf('DISTRIBUTION') eq "o";
123
$self->set_conf('DISTRIBUTION', "stable")
124
if $self->get_conf('DISTRIBUTION') eq "s";
125
$self->set_conf('DISTRIBUTION', "testing")
126
if $self->get_conf('DISTRIBUTION') eq "t";
127
$self->set_conf('DISTRIBUTION', "unstable")
128
if $self->get_conf('DISTRIBUTION') eq "u";
129
$self->set_conf('DISTRIBUTION', "experimental")
130
if $self->get_conf('DISTRIBUTION') eq "e";
131
$self->set_conf('OVERRIDE_DISTRIBUTION', 1);
133
"force-orig-source" => sub {
134
$self->set_conf('FORCE_ORIG_SOURCE', 1);
136
"m|maintainer=s" => sub {
137
$self->set_conf('MAINTAINER_NAME', $_[1]);
140
$self->set_conf('KEY_ID', $_[1]);
142
"e|uploader=s" => sub {
143
$self->set_conf('UPLOADER_NAME', $_[1]);
146
$self->set('NOLOG', 1);
149
$self->set_conf('PURGE_BUILD_DIRECTORY', $_[1]);
175
151
"s|source" => sub {
176
$self->set('Build Source', 1);
178
"stats-dir=s" => \$Sbuild::Conf::stats_dir,
179
"setup-cmd=s" => \$Sbuild::Conf::setup_cmd,
152
$self->set_conf('BUILD_SOURCE', 1);
155
$self->set_conf('ARCHIVE', $_[1]);
157
"stats-dir=s" => sub {
158
$self->set_conf('STATS_DIR', $_[1]);
160
"setup-hook=s" => sub {
161
$self->set_conf('SETUP_HOOK', $_[1]);
180
163
"use-snapshot" => sub {
181
$self->set('GCC Snapshot', 1);
182
$self->set('LD_LIBRARY_PATH',
183
"/usr/lib/gcc-snapshot/lib");
184
$Sbuild::Conf::path =
185
"/usr/lib/gcc-snapshot/bin:$Sbuild::Conf::path";
187
"v|verbose+" => \$Sbuild::Sbuild::Conf::verbose,
164
$self->set_conf('GCC_SNAPSHOT', 1);
165
$self->set_conf('LD_LIBRARY_PATH',
166
'/usr/lib/gcc-snapshot/lib' .
167
$self->get_conf('LD_LIBRARY_PATH') ne '' ? ':' . $self->get_conf('LD_LIBRARY_PATH') : '');
168
$self->set_conf('PATH',
169
'/usr/lib/gcc-snapshot/bin' .
170
$self->get_conf('PATH') ne '' ? ':' . $self->get_conf('PATH') : '');
173
$self->set_conf('VERBOSE',
174
$self->get_conf('VERBOSE') + 1);
188
176
"q|quiet" => sub {
189
$Sbuild::Sbuild::Conf::verbose-- if $Sbuild::Conf::verbose;
177
$self->set_conf('VERBOSE',
178
$self->get_conf('VERBOSE') - 1)
179
if $self->get_conf('VERBOSE');