diff options
author | David Lawrence <dkl@mozilla.com> | 2016-12-08 00:41:25 +0100 |
---|---|---|
committer | David Lawrence <dkl@mozilla.com> | 2016-12-08 00:41:25 +0100 |
commit | 4cd1371510e88a392d00e9d5c315abb9ff622e42 (patch) | |
tree | ae90d71c74f8894f34a1a5480ef4bcfd5d84b465 | |
parent | d68cd60c3825c6220a65e2e2888ce0d1e97e58e6 (diff) | |
download | bugzilla-4cd1371510e88a392d00e9d5c315abb9ff622e42.tar.gz bugzilla-4cd1371510e88a392d00e9d5c315abb9ff622e42.tar.xz |
Bug 1318502 - Add help utilities to scripts/ dir to aid in setting localconfig and data/params to custom values.
-rwxr-xr-x | scripts/update_localconfig.pl | 45 | ||||
-rwxr-xr-x | scripts/update_params.pl | 33 |
2 files changed, 78 insertions, 0 deletions
diff --git a/scripts/update_localconfig.pl b/scripts/update_localconfig.pl new file mode 100755 index 000000000..ca3329022 --- /dev/null +++ b/scripts/update_localconfig.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +use 5.10.1; +use strict; +use warnings; + +use lib qw(. lib local/lib/perl5); + +use Bugzilla; +use Bugzilla::Config qw( :admin ); +use Bugzilla::Constants; +use Bugzilla::Install::Localconfig; + +use File::Slurp; + +Bugzilla->usage_mode(USAGE_MODE_CMDLINE); + +my $localconfig = Bugzilla::Install::Localconfig::read_localconfig(); + +my ($param_name, $param_value) = @ARGV; +die "Syntax: $0 param_name param_value\n" unless defined($param_value); +die "Invalid param name: $param_name\n" unless exists $localconfig->{$param_name}; + +if ($localconfig->{$param_name} ne $param_value) { + my @file = read_file('localconfig'); + my $updated = 0; + foreach my $line (@file) { + next unless $line =~ /^\s*\$([\w_]+)\s*=\s*'([^']*)'/; + my ($name, $value) = ($1, $2); + if ($name eq $param_name && $value ne $param_value) { + print "setting '$name' to '$param_value'\n"; + $line = "\$$name = '$param_value';\n"; + $updated = 1; + } + } + write_file('localconfig', @file) if $updated; +} else { + print "'$param_name' is already '$param_value'\n"; +} diff --git a/scripts/update_params.pl b/scripts/update_params.pl new file mode 100755 index 000000000..f1a069d61 --- /dev/null +++ b/scripts/update_params.pl @@ -0,0 +1,33 @@ +#!/usr/bin/perl +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +use 5.10.1; +use strict; +use warnings; + +use lib qw(. lib local/lib/perl5); + +use Bugzilla; +use Bugzilla::Config qw( :admin ); +use Bugzilla::Constants; + +Bugzilla->usage_mode(USAGE_MODE_CMDLINE); + +my $params = Bugzilla->params; + +my ($param_name, $param_value) = @ARGV; +die "Syntax: $0 param_name param_value\n" unless defined($param_value); +die "Invalid param name: $param_name\n" unless exists $params->{$param_name}; + +if ($params->{$param_name} ne $param_value) { + SetParam($param_name, $param_value); + write_params(); + say "'$param_name' set to '$param_value'"; +} else { + say "'$param_name' is already '$param_value'"; +} |