$sys_news_group $sys_dbhost $sys_dbname $sys_dbuser $sys_dbpasswd
$sys_ldap_base_dn $sys_ldap_host $admin_login $admin_password
$server_admin $domain_name $newsadmin_groupid $statsadmin_groupid
- $skill_list/ ;
+ $skill_list $libdir $sqldir/ ;
require ("/etc/gforge/local.pl") ;
-require ("/usr/lib/gforge/lib/sqlparser.pm") ; # Our magic SQL parser
-require ("/usr/lib/gforge/lib/sqlhelper.pm") ; # Our SQL functions
+$libdir="/usr/share/gforge/lib";
+$sqldir="/usr/share/gforge/db";
+require ("$libdir/sqlparser.pm") ; # Our magic SQL parser
+require ("$libdir/sqlhelper.pm") ; # Our SQL functions
+require ("$libdir/include.pl"); # Some other functions
&debug ("You'll see some debugging info during this installation.") ;
&debug ("Do not worry unless told otherwise.") ;
-if ( "$sys_dbname" ne "gforge" || "$sys_dbuser" ne "gforge" ) {
-$dbh ||= DBI->connect("DBI:Pg:dbname=$sys_dbname","$sys_dbuser","$sys_dbpasswd");
-} else {
-$dbh ||= DBI->connect("DBI:Pg:dbname=$sys_dbname");
-}
-die "Cannot connect to database: $!" if ( ! $dbh );
-
-# debug "Connected to the database OK." ;
+&db_connect ;
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
$version = &get_db_version ;
$target = "2.5.9999.1+global+data+done" ;
if (&is_lesser ($version, $target)) {
- my @filelist = qw{ /usr/lib/gforge/db/sf-2.6-complete.sql } ;
+ my @filelist = qw{ sf-2.6-complete.sql } ;
# TODO: user_rating.sql
foreach my $file (@filelist) {
&debug ("Processing $file") ;
- @reqlist = @{ &parse_sql_file ($file) } ;
+ @reqlist = @{ &parse_sql_file ($sqldir."/".$file) } ;
foreach my $s (@reqlist) {
$query = $s ;
- # debug $query ;
+ # &debug ($query) ;
$sth = $dbh->prepare ($query) ;
$sth->execute () ;
$sth->finish () ;
if (&is_lesser ($version, $target)) {
&debug ("Inserting skills.") ;
- foreach my $skill (split /;/, $skill_list) {
+ foreach my $skill (split m/;/, $skill_list) {
push @reqlist, "INSERT INTO people_skill (name) VALUES ('$skill')" ;
}
$sth->finish () ;
}
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/sf2.5-to-sf2.6.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/sf2.5-to-sf2.6.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20021125.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20021125.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20021125.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20021212.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20021212.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20021212.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
$version = &get_db_version ;
$target = "2.6-0+checkpoint+14" ;
if (&is_lesser ($version, $target)) {
- &debug ("Upgrading with 20021213.sql") ;
+ &debug ("Upgrading with 20021213-1.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20021213.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20021213-1.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20021214.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20021214.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20021214.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20021215.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20021215.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20021215.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20021216.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20021216.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20021216.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
$version = &get_db_version ;
$target = "2.6-0+checkpoint+19" ;
if (&is_lesser ($version, $target)) {
- &debug ("Upgrading with 20021223.sql") ;
+ &debug ("Upgrading with 20021223-2.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20021223.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20021223-2.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
$version = &get_db_version ;
$target = "2.6-0+checkpoint+20" ;
if (&is_lesser ($version, $target)) {
- &debug ("Upgrading with 20030102.sql") ;
+ &debug ("Upgrading with 20030102-2.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030102.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030102-2.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030105.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030105.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030105.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030107.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030107.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030107.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030109.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030109.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030109.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
&debug ("Upgrading with 20030112.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030112.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030112.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
$version = &get_db_version ;
$target = "2.6-0+checkpoint+25" ;
if (&is_lesser ($version, $target)) {
- &debug ("Upgrading with 20030113.sql") ;
+ &debug ("Upgrading with 20030113-2.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030113.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030113-2.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030131.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030131.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030131.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030209.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030209.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030209.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030312.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030312.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030312.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030513.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030513.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030513.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20030822.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030822.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20030822.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20031105.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20031105.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20031105.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
&debug ("Upgrading with 20031124.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20031124.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20031124.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20031129.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20031129.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20031129.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
# They are independent anyway.
&debug ("Upgrading with 20031126.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20031126.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20031126.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20031205.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20031205.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20031205.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040130.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040130.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040130.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040204.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040204.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040204.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040315.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040315.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040315.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 200403251.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/200403251.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/200403251.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 200403252.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/200403252.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/200403252.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040507.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040507.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040507.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040722.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040722.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040722.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040804.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040804.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040804.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040826.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040826.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040826.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040914.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040914.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040914.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041001.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041001.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041001.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041005.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041005.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041005.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041006.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041006.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041006.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041014.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041014.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041014.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041020.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041020.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041020.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20040729.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20040729.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20040729.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041031.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041031.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041031.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041104.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041104.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041104.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041108.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041108.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041108.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20041124.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041124.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20041124.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
# if (&is_lesser ($version, $target)) {
# &debug ("Upgrading with 20041222-debian.sql") ;
#
-# @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20041222-debian.sql") } ;
+# @reqlist = @{ &parse_sql_file ("$sqldir/20041222-debian.sql") } ;
# foreach my $s (@reqlist) {
# $query = $s ;
# # debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050115.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050115.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050115.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
#
# We got this at upgrade
#
-#DBD::Pg::st execute failed: ERREUR: la relation avec l'OID 387345 n'existe pas at /usr/lib/gforge/bin/db-upgrade.pl line 1970.
-#Transaction aborted because DBD::Pg::st execute failed: ERREUR: la relation avec l'OID 387345 n'existe pas at /usr/lib/gforge/bin/db-upgrade.pl line 1970.
-#Transaction aborted because DBD::Pg::st execute failed: ERREUR: la relation avec l'OID 387345 n'existe pas at /usr/lib/gforge/bin/db-upgrade.pl line 1970.
+#DBD::Pg::st execute failed: ERREUR: la relation avec l'OID 387345 n'existe pas at /usr/share/gforge/bin/db-upgrade.pl line 1970.
+#Transaction aborted because DBD::Pg::st execute failed: ERREUR: la relation avec l'OID 387345 n'existe pas at /usr/share/gforge/bin/db-upgrade.pl line 1970.
+#Transaction aborted because DBD::Pg::st execute failed: ERREUR: la relation avec l'OID 387345 n'existe pas at /usr/share/gforge/bin/db-upgrade.pl line 1970.
#Last SQL query was:
#update project_task SET last_modified_date=EXTRACT(EPOCH FROM now())::integer;
#(end of query)
#
# This is a hack to disconnect and reconnect the DB and solve the problem
#
-$dbh->rollback ;
-$dbh->disconnect ;
-
-$dbh=();
-
-if ( "$sys_dbname" ne "gforge" || "$sys_dbuser" ne "gforge" ) {
-$dbh ||= DBI->connect("DBI:Pg:dbname=$sys_dbname","$sys_dbuser","$sys_dbpasswd");
-} else {
-$dbh ||= DBI->connect("DBI:Pg:dbname=$sys_dbname");
-}
-die "Cannot connect to database: $!" if ( ! $dbh );
+ $dbh->rollback ;
+ &db_disconnect ;
+ &db_connect ;
-# debug "Connected to the database OK." ;
-$dbh->{AutoCommit} = 0;
-$dbh->{RaiseError} = 1;
+ $dbh->{AutoCommit} = 0;
+ $dbh->{RaiseError} = 1;
$version = &get_db_version ;
$target = "4.0.2-0+5" ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050130.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050130.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050130.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050212.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050212.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050212.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050214-nss.sql valantine") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050214-nss.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050214-nss.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
$version = &get_db_version ;
$target = "4.1-0" ;
if (&is_lesser ($version, $target)) {
- &debug ("Upgrading with 20050224.sql") ;
+ &debug ("Upgrading with 20050224-2.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050224.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050224-2.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050225-nsssetup.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050225-nsssetup.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050225-nsssetup.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050311.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050311.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050311.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050315.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050315.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050315.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
$version = &get_db_version ;
$target = "4.1-4" ;
if (&is_lesser ($version, $target)) {
- &debug ("Upgrading with 20050325-1.sql") ;
+ &debug ("Upgrading with 20050325-2.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050325-1.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050325-2.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
$sth3->finish () ;
$query3 = "UPDATE artifact_history SET old_value=?,field_name='Category'
- WHERE old_value=$cat_id AND field_name='category_id'" ;
+ WHERE old_value='$cat_id' AND field_name='category_id'" ;
# &debug ($query3) ;
$sth3 =$dbh->prepare ($query3) ;
$sth3->execute ($catname) ;
$sth3->finish () ;
$query3 = "UPDATE artifact_history SET old_value=?,field_name='Group'
- WHERE old_value=$grp_id AND field_name='artifact_group_id'" ;
+ WHERE old_value='$grp_id' AND field_name='artifact_group_id'" ;
# &debug ($query3) ;
$sth3 =$dbh->prepare ($query3) ;
$sth3->execute ($grpname) ;
$sth3->finish () ;
$query3 = "UPDATE artifact_history SET old_value=?,field_name='Resolution'
- WHERE old_value=$res_id AND field_name='resolution_id'" ;
+ WHERE old_value='$res_id' AND field_name='resolution_id'" ;
# &debug ($query3) ;
$sth3 =$dbh->prepare ($query3) ;
$sth3->execute ($resname) ;
$version = &get_db_version ;
$target = "4.1-6" ;
if (&is_lesser ($version, $target)) {
- &debug ("Upgrading with 20050325-3.sql") ;
+ &debug ("Upgrading with 20050325-5.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050325-3.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050325-5.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050605.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050605.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050605.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050628.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050628.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050628.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with 20050711.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20050711.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/20050711.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
&drop_table_if_exists ($dbh, "rep_group_act_monthly") ;
&drop_index_if_exists ($dbh, "repgroupactmonthly_monthly") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/timetracking-init.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/timetracking-init.sql") } ;
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
# If the view doesn't exists apply
if (! &view_exists ($dbh, 'activity_vw')) {
&update_with_sql("20050812","4.5.15-10merge");
- &update_with_sql("20050822","4.5.15-11merge");
+ &update_with_sql("20050822-2","4.5.15-11merge");
&update_with_sql("20050823","4.5.15-12merge");
&update_with_sql("20050824","4.5.15-13merge");
&update_with_sql("20050831","4.5.15-14merge");
&update_with_sql("20060113","4.5.15-15");
&update_with_sql("20060214","4.5.15-16");
- &update_with_sql("20060216-nocommit","4.5.15-17");
+ &update_with_sql("20060216-2-debian-nocommit","4.5.15-17");
}
$version = &get_db_version ;
&update_with_sql("20051103_transiciel_motscle_document","4.6-1");
+ &update_with_sql("20070924-forum-perm","4.6.99-1");
+ &update_with_sql("20070924-project-perm","4.6.99-2");
+ &update_with_sql("20070924-artifact-perm","4.6.99-3");
+ $version = &get_db_version ;
+ $target = "4.6.99-4" ;
+ if (&is_lesser ($version, $target)) {
+ &debug ("Dropping old translations table") ;
+
+ &drop_table_if_exists ($dbh, "tmp_lang") ;
+
+ &update_db_version ($target) ;
+ &debug ("Committing.") ;
+ $dbh->commit () ;
+ }
+
+ $version = &get_db_version ;
+ $target = "4.6.99-5" ;
+ if (&is_lesser ($version, $target)) {
+ &debug ("Updating available themes") ;
+
+ my @obsolete_themes = qw/ classic debian savannah
+ savannah_codex savannah_forest
+ savannah_reverse savannah_sad
+ savannah_savannah savannah_slashd
+ savannah_startrek
+ savannah_transparent savannah_water
+ savannah_www.gnu.org
+ savannah_darkslate forged kde
+ darkaqua / ;
+
+ my $otids = join (',', map { "'$_'" } @obsolete_themes) ;
+
+ $query = "UPDATE users SET theme_id=1 WHERE theme_id IN
+ (SELECT theme_id FROM themes WHERE dirname IN ($otids))" ;
+ push @reqlist, $query;
+
+ $query = "DELETE FROM themes WHERE dirname IN ($otids)" ;
+ push @reqlist, $query;
+
+ my %new_themes = (
+ 'gforge-classic' => 'GForge classic',
+ 'gforge-simple-theme' => 'GForge simple',
+ 'lite' => 'GForge lite'
+ ) ;
+
+ foreach my $dir (sort keys %new_themes) {
+ $query = "INSERT INTO themes (dirname, fullname) VALUES ('$dir', '$new_themes{$dir}')" ;
+ push @reqlist, $query;
+ }
+
+ foreach my $s (@reqlist) {
+ $query = $s ;
+ # &debug ($query) ;
+ $sth = $dbh->prepare ($query) ;
+ $sth->execute () ;
+ $sth->finish () ;
+ }
+ @reqlist = () ;
+
+ &update_db_version ($target) ;
+ &debug ("Committing.") ;
+ $dbh->commit () ;
+ }
+
+ $version = &get_db_version ;
+ $target = "4.6.99-6" ;
+ if (&is_lesser ($version, $target)) {
+ &debug ("DROP UNIQUE INDEX never UNIQUE") ;
+ &drop_index_if_exists ($dbh, "statsaggsitebygrp_oid") ;
+ &drop_index_if_exists ($dbh, "statsprojectmetric_oid") ;
+ &drop_index_if_exists ($dbh, "statsagglogobygrp_oid") ;
+ &drop_index_if_exists ($dbh, "statsprojectdevelop_oid") ;
+ &drop_index_if_exists ($dbh, "statssubdpages_oid") ;
+ &drop_index_if_exists ($dbh, "statscvsgrp_oid") ;
+ &drop_index_if_exists ($dbh, "statsproject_oid") ;
+ &drop_index_if_exists ($dbh, "statssite_oid") ;
+ &drop_index_if_exists ($dbh, "statssitepgsbyday_oid") ;
+ &update_db_version ($target) ;
+ &debug ("Committing.") ;
+ $dbh->commit () ;
+ }
+
+ &update_with_sql("20090327_create_table_project_tags","4.6.99-7");
+ &update_with_sql("20090402-add-projecttags-constraints","4.7.99-1");
+ &update_with_sql("20090402-forum-attachment-types","4.7.99-2");
+
+ &update_with_sql("20090507-add_artifact_workflow","4.8.99-1");
+ &update_with_sql("20090507-add_element_pos","4.8.99-2");
+ &update_with_sql("20090507-add_project_query","4.8.99-3");
+ &update_with_sql("20090507-browse_list","4.8.99-4");
+
+ $version = &get_db_version ;
+ $target = "4.8.99-5" ;
+ if (&is_lesser ($version, $target)) {
+ &debug ("Initialising tracker workflows") ;
+
+
+ $query = "SELECT group_id, artifact_group_list.group_artifact_id, element_id, artifact_extra_field_elements.extra_field_id
+ FROM artifact_extra_field_list, artifact_extra_field_elements, artifact_group_list
+ WHERE artifact_extra_field_list.extra_field_id=artifact_extra_field_elements.extra_field_id
+ AND artifact_group_list.group_artifact_id = artifact_extra_field_list.group_artifact_id
+ AND field_type=7" ;
+ # &debug ($query) ;
+ $sth = $dbh->prepare ($query) ;
+ $sth->execute () ;
+ while (@array = $sth->fetchrow_array) {
+ my $gid = $array[0];
+ my $gaid = $array[1];
+ my $eid = $array[2];
+
+ my $query2 = "SELECT extra_field_id
+ FROM artifact_extra_field_list
+ WHERE group_artifact_id=$gaid
+ AND field_type = 7
+ ORDER BY field_type ASC" ;
+ my $sth2 = $dbh->prepare ($query2) ;
+ $sth2->execute () ;
+
+ if (my @array2 = $sth2->fetchrow_array) {
+ my $efid = $array2[0];
+ $sth2->finish () ;
+
+ $query2 = "SELECT element_id,element_name,status_id
+ FROM artifact_extra_field_elements
+ WHERE extra_field_id = $efid
+ ORDER BY element_pos ASC, element_id ASC" ;
+ # debug $query2;
+ $sth2 = $dbh->prepare ($query2) ;
+ $sth2->execute () ;
+ while (@array2 = $sth2->fetchrow_array) {
+ my $eid2 = $array2[0];
+ if ($eid2 != $eid) {
+ my $query3 = "INSERT INTO artifact_workflow_event
+ (group_artifact_id, field_id, from_value_id, to_value_id)
+ VALUES ($gaid, $efid, $eid, $eid2)";
+ # debug $query3;
+ my $sth3 = $dbh->prepare ($query3) ;
+ $sth3->execute () ;
+ $sth3->finish () ;
+ $query3 = "INSERT INTO artifact_workflow_event
+ (group_artifact_id, field_id, from_value_id, to_value_id)
+ VALUES ($gaid, $efid, $eid2, $eid)";
+ # debug $query3;
+ $sth3 = $dbh->prepare ($query3) ;
+ $sth3->execute () ;
+ $sth3->finish () ;
+ }
+ }
+ $sth2->finish () ;
+ my $query3 = "INSERT INTO artifact_workflow_event
+ (group_artifact_id, field_id, from_value_id, to_value_id)
+ VALUES ($gaid, $efid, 100, $eid)";
+ # debug $query3;
+ my $sth3 = $dbh->prepare ($query3) ;
+ $sth3->execute () ;
+ $sth3->finish () ;
+ }
+ }
+ $sth->finish () ;
+
+ @reqlist = () ;
+ &update_db_version ($target) ;
+ &debug ("Committing.") ;
+ $dbh->commit () ;
+ }
+
+
########################### INSERT HERE #################################
&debug ("It seems your database $action went well and smoothly. That's cool.") ;
- &debug ("Please enjoy using GForge.") ;
+ &debug ("Please enjoy using FusionForge.") ;
# There should be a commit at the end of every block above.
# If there is not, then it might be symptomatic of a problem.
}
$dbh->rollback ;
-$dbh->disconnect ;
+&db_disconnect ;
sub get_pg_version () {
my $command;
if (&is_lesser ($version, $target)) {
&debug ("Upgrading with $sqldate.sql") ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/$sqldate.sql") } ;
+ @reqlist = @{ &parse_sql_file ("$sqldir/$sqldate.sql") } ;
foreach my $s (@reqlist) {
my $query = $s ;
# debug $query ;
$dbh->commit () ;
}
}
-