Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
858d9cc9
Commit
858d9cc9
authored
Dec 23, 2005
by
mkanat%kerio.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Back out bug 311047 because it breaks Pg.
parent
92980fb7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
77 deletions
+49
-77
checksetup.pl
checksetup.pl
+49
-77
No files found.
checksetup.pl
View file @
858d9cc9
...
...
@@ -773,6 +773,22 @@ my $my_db_name = ${*{$main::{'db_name'}}{SCALAR}};
my
$my_index_html
=
$
{
*
{
$
main::
{
'index_html'
}}{
SCALAR
}};
my
$my_create_htaccess
=
$
{
*
{
$
main::
{
'create_htaccess'
}}{
SCALAR
}};
my
$my_webservergroup
=
$
{
*
{
$
main::
{
'webservergroup'
}}{
SCALAR
}};
# mkanat@bugzilla.org - bug 17453
# The following values have been removed from localconfig.
# However, if we are upgrading from a Bugzilla with enums to a
# Bugzilla without enums, we use these values one more time so
# that we correctly populate the tables.
my
@my_severities
;
@my_severities
=
@
{
*
{
$
main::
{
'severities'
}}{
ARRAY
}}
if
exists
(
$
main::
{
'severities'
});
my
@my_priorities
;
@my_priorities
=
@
{
*
{
$
main::
{
'priorities'
}}{
ARRAY
}}
if
exists
(
$
main::
{
'priorities'
});
my
@my_platforms
;
@my_platforms
=
@
{
*
{
$
main::
{
'platforms'
}}{
ARRAY
}}
if
exists
(
$
main::
{
'platforms'
});
my
@my_opsys
;
@my_opsys
=
@
{
*
{
$
main::
{
'opsys'
}}{
ARRAY
}}
if
exists
(
$
main::
{
'opsys'
});
if
(
$my_webservergroup
&&
!
$silent
)
{
if
(
$^O
!~
/MSWin32/i
)
{
...
...
@@ -1793,50 +1809,9 @@ AddFDef($new_field_name, $field_description, 0);
# Detect changed local settings
###########################################################################
# Nick Barnes nb+bz@ravenbrook.com 2005-10-05
#
# GetEnumsValues(\%hash): takes a hash from column names to listrefs
# of values. If any of the columns are enum columns in the 'bugs'
# table, the listrefs are replaced with listrefs of the allowed enum
# values. This is all done in one function because DBD::MySQL
# provides no mechanism for getting type information for a single
# column.
#
# Possibly something like this belongs in Bugzilla/DB/Schema/Mysql.pm.
sub
GetEnumsValues
{
my
(
$hashref
)
=
@_
;
# Get a complete description of the 'bugs' table; with DBD::MySQL
# there isn't a column-by-column way of doing this. Could use
# $dbh->column_info, but it would go slower and we would have to
# use the undocumented mysql_type_name accessor to get the type
# of each row.
my
$sth
=
$dbh
->
prepare
(
"DESCRIBE bugs"
);
$sth
->
execute
();
# Look for the particular columns we are interested in.
while
(
my
(
$thiscol
,
$thistype
)
=
(
$sth
->
fetchrow_array
()))
{
if
(
defined
(
$$hashref
{
$thiscol
}))
{
# this is a column of interest.
my
@value_list
=
();
if
(
$thistype
&&
(
$thistype
=~
/^enum\(/
))
{
# it has an enum type; get the set of values.
while
(
$thistype
=~
/'([^']*)'(.*)/
)
{
push
(
@value_list
,
$1
);
$thistype
=
$2
;
}
}
if
(
@value_list
)
{
# record the enum values found.
$$hashref
{
$thiscol
}
=
\
@value_list
;
}
}
}
}
# PopulateEnumTable($table, @values): if the table $table has no
# entries, fill it with the entries in the list @values, in the same
# order as that list.
# mkanat@bugzilla.org - bug 17453
# Create the values for the tables that hold what used to be enum types.
# Don't populate the tables if the table isn't empty.
sub
PopulateEnumTable
{
my
(
$table
,
@valuelist
)
=
@_
;
...
...
@@ -1865,40 +1840,37 @@ sub PopulateEnumTable {
}
}
# Set default values for what used to be the enum types. These values
# are no longer stored in localconfig. If we are upgrading from a
# Bugzilla with enums to a Bugzilla without enums, we use the
# enum values.
#
# mkanat@bugzilla.org - bug 17453
# Set default values for what used to be the enum types.
# These values are no longer stored in localconfig.
# However, if we are upgrading from a Bugzilla with enums to a
# Bugzilla without enums, we use the localconfig values one more time.
# The values that you see here are ONLY DEFAULTS. They are only used
# the FIRST time you run checksetup, IF you are NOT upgrading from a
# Bugzilla with enums. After that, they are either controlled through
# the Bugzilla UI or through the DB.
my
%
enum_values
=
(
bug_severity
=>
[
'blocker'
,
'critical'
,
'major'
,
'normal'
,
'minor'
,
'trivial'
,
'enhancement'
],
priority
=>
[
"P1"
,
"P2"
,
"P3"
,
"P4"
,
"P5"
],
op_sys
=>
[
"All"
,
"Windows"
,
"Mac OS"
,
"Linux"
,
"Other"
],
rep_platform
=>
[
"All"
,
"PC"
,
"Macintosh"
,
"Other"
],
bug_status
=>
[
"UNCONFIRMED"
,
"NEW"
,
"ASSIGNED"
,
"REOPENED"
,
"RESOLVED"
,
"VERIFIED"
,
"CLOSED"
],
resolution
=>
[
""
,
"FIXED"
,
"INVALID"
,
"WONTFIX"
,
"LATER"
,
"REMIND"
,
"DUPLICATE"
,
"WORKSFORME"
,
"MOVED"
]);
# Get all the enum column values for the existing database, or the
# defaults if the columns are not enums.
GetEnumsValues
(
\%
enum_values
);
# Populate the enum tables.
while
(
my
(
$table
,
$values
)
=
each
%
enum_values
)
{
PopulateEnumTable
(
$table
,
@$values
);
}
# the FIRST time you run checksetup. After that, they are either
# controlled through the Bugzilla UI or through the DB.
@my_severities
=
(
'blocker'
,
'critical'
,
'major'
,
'normal'
,
'minor'
,
'trivial'
,
'enhancement'
)
if
!
@my_severities
;
@my_priorities
=
(
"P1"
,
"P2"
,
"P3"
,
"P4"
,
"P5"
)
if
!
@my_priorities
;
@my_opsys
=
(
"All"
,
"Windows"
,
"Mac OS"
,
"Linux"
,
"Other"
)
if
!
@my_opsys
;
@my_platforms
=
(
"All"
,
"PC"
,
"Macintosh"
,
"Other"
)
if
!
@my_platforms
;
PopulateEnumTable
(
'bug_severity'
,
@my_severities
);
PopulateEnumTable
(
'priority'
,
@my_priorities
);
PopulateEnumTable
(
'op_sys'
,
@my_opsys
);
PopulateEnumTable
(
'rep_platform'
,
@my_platforms
);
# The resolution and bug_status lists are absolute. On an upgrade from
# a Bugzilla with enums, whatever is in the enum will be replaced with
# this. This is because Bugzilla depends on the exact names of these
# resolutions in order to function properly.
my
@states
=
(
"UNCONFIRMED"
,
"NEW"
,
"ASSIGNED"
,
"REOPENED"
,
"RESOLVED"
,
"VERIFIED"
,
"CLOSED"
);
my
@resolutions
=
(
""
,
"FIXED"
,
"INVALID"
,
"WONTFIX"
,
"LATER"
,
"REMIND"
,
"DUPLICATE"
,
"WORKSFORME"
,
"MOVED"
);
PopulateEnumTable
(
'bug_status'
,
@states
);
PopulateEnumTable
(
'resolution'
,
@resolutions
);
###########################################################################
# Create initial test product if there are no products present.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment