]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1318502 - Add help utilities to scripts/ dir to aid in setting localconfig and...
authorDavid Lawrence <dkl@mozilla.com>
Wed, 7 Dec 2016 23:41:25 +0000 (23:41 +0000)
committerDavid Lawrence <dkl@mozilla.com>
Wed, 7 Dec 2016 23:41:25 +0000 (23:41 +0000)
scripts/update_localconfig.pl [new file with mode: 0755]
scripts/update_params.pl [new file with mode: 0755]

diff --git a/scripts/update_localconfig.pl b/scripts/update_localconfig.pl
new file mode 100755 (executable)
index 0000000..ca33290
--- /dev/null
@@ -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 (executable)
index 0000000..f1a069d
--- /dev/null
@@ -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'";
+}