From 584206b8ae356face0e9d4fcc1674e882e77b5fa Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Fri, 2 Apr 2010 00:35:48 +0200 Subject: [PATCH 01/10] [feature/dbal-tests] Fix mysql (not mysqli) dbal test. Correctly determine MySQL version from the database. --- tests/test_framework/phpbb_database_test_case.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test_framework/phpbb_database_test_case.php b/tests/test_framework/phpbb_database_test_case.php index a80f03b749..d2ebe4c30e 100644 --- a/tests/test_framework/phpbb_database_test_case.php +++ b/tests/test_framework/phpbb_database_test_case.php @@ -126,8 +126,9 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test if ($database_config['dbms'] == 'mysql') { - $pdo->exec('SELECT VERSION() AS version'); + $sth = $pdo->query('SELECT VERSION() AS version'); $row = $sth->fetch(PDO::FETCH_ASSOC); + if (version_compare($row['version'], '4.1.3', '>=')) { $dbms_data['SCHEMA'] .= '_41'; @@ -136,7 +137,8 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test { $dbms_data['SCHEMA'] .= '_40'; } - unset($row); + + unset($row, $sth); } $sql_query = $this->split_sql_file(file_get_contents("../phpBB/install/schemas/{$dbms_data['SCHEMA']}_schema.sql"), $dbms_data['DELIM']); From eaa591046f0016763105d9025db9a36255b3d4bd Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Fri, 2 Apr 2010 00:40:49 +0200 Subject: [PATCH 02/10] [feature/dbal-tests] Remove hardcoded 'mysql' from PDO DSN in DBAL test. --- tests/test_framework/phpbb_database_test_case.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_framework/phpbb_database_test_case.php b/tests/test_framework/phpbb_database_test_case.php index d2ebe4c30e..d558874c6f 100644 --- a/tests/test_framework/phpbb_database_test_case.php +++ b/tests/test_framework/phpbb_database_test_case.php @@ -122,7 +122,7 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test $pdo->exec('CREATE DATABASE ' . $database_config['dbname']); - $pdo = new PDO('mysql:host=' . $database_config['dbhost'] . ';dbname=' . $database_config['dbname'], $database_config['dbuser'], $database_config['dbpasswd']); + $pdo = new PDO($dbms_data['PDO'] . ':host=' . $database_config['dbhost'] . ';dbname=' . $database_config['dbname'], $database_config['dbuser'], $database_config['dbpasswd']); if ($database_config['dbms'] == 'mysql') { From 02aed4b66f736ae0b78ba5971aa9f392749488e9 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Thu, 8 Apr 2010 14:55:51 +0200 Subject: [PATCH 03/10] [feature/webpi] Package files for Microsoft Web Platform Installer --- build/webpi/install/mssql.sql | 39 ++++++ build/webpi/install/mysql.sql | Bin 0 -> 732 bytes build/webpi/manifest.xml | 13 ++ build/webpi/parameters.xml | 226 ++++++++++++++++++++++++++++++++++ 4 files changed, 278 insertions(+) create mode 100644 build/webpi/install/mssql.sql create mode 100644 build/webpi/install/mysql.sql create mode 100644 build/webpi/manifest.xml create mode 100644 build/webpi/parameters.xml diff --git a/build/webpi/install/mssql.sql b/build/webpi/install/mssql.sql new file mode 100644 index 0000000000..390b4ffc02 --- /dev/null +++ b/build/webpi/install/mssql.sql @@ -0,0 +1,39 @@ +/**********************************************************************/ +/* Install.SQL */ +/* Creates a login and makes the user a member of db roles */ +/* */ +/**********************************************************************/ + +-- Declare variables for database name, username and password +DECLARE @dbName sysname, + @dbUser sysname, + @dbPwd nvarchar(max); + +-- Set variables for database name, username and password +SET @dbName = 'PlaceHolderForDb'; +SET @dbUser = 'PlaceHolderForUser'; +SET @dbPwd = 'PlaceHolderForPassword'; + +DECLARE @cmd nvarchar(max) + +-- Create login +IF( SUSER_SID(@dbUser) is null ) +BEGIN + print '-- Creating login ' + SET @cmd = N'CREATE LOGIN ' + quotename(@dbUser) + N' WITH PASSWORD ='''+ replace(@dbPwd, '''', '''''') + N'''' + EXEC(@cmd) +END + +-- Create database user and map to login +-- and add user to the datareader, datawriter, ddladmin and securityadmin roles +-- +SET @cmd = N'USE ' + quotename(@DBName) + N'; +IF( NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = ''' + replace(@dbUser, '''', '''''') + N''')) +BEGIN + print ''-- Creating user''; + CREATE USER ' + quotename(@dbUser) + N' FOR LOGIN ' + quotename(@dbUser) + N'; + print ''-- Adding user''; + EXEC sp_addrolemember ''db_owner'', ''' + replace(@dbUser, '''', '''''') + N'''; +END' +EXEC(@cmd) +GO diff --git a/build/webpi/install/mysql.sql b/build/webpi/install/mysql.sql new file mode 100644 index 0000000000000000000000000000000000000000..ca9d1b2f839525829b8dd7338e6f6536c499a0b4 GIT binary patch literal 732 zcmb`FOH0F05QWcL@ITyz5Oq-$+_`B?ng@ioG>Pa+)VLFbw(7rEzqvQ4wWZm}Fv%p$ zIdkUm`O&J@L{4)(>t2s~QlS^(j%cZjc&StmI>HWh;62qsGZ2QdD1jkWOKeOfC`WWd zRI9-q%pG>8SFJp++u%z)GA1`D+2;Ick!CRuoe9vvy7B?^9KQHSG^owa? literal 0 HcmV?d00001 diff --git a/build/webpi/manifest.xml b/build/webpi/manifest.xml new file mode 100644 index 0000000000..1ecae7bae6 --- /dev/null +++ b/build/webpi/manifest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/webpi/parameters.xml b/build/webpi/parameters.xml new file mode 100644 index 0000000000..03d269f3eb --- /dev/null +++ b/build/webpi/parameters.xml @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 839f464b787e35e64480e598b16beab9b0ab37e8 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Thu, 8 Apr 2010 16:59:15 +0200 Subject: [PATCH 04/10] [feature/webpi] Add WebPI support to the build script. --- build/package.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build/package.php b/build/package.php index 7cb30bd493..a0da6404c6 100755 --- a/build/package.php +++ b/build/package.php @@ -518,6 +518,14 @@ foreach ($compress_programs as $extension => $compress_command) $package->run_command('md5sum ./release_files/' . $package->get('release_filename') . '.' . $extension . ' > ./release_files/' . $package->get('release_filename') . '.' . $extension . '.md5'); } +// Microsoft Web PI packaging +$package->begin_status('Packaging phpBB for Microsoft WebPI'); +$file = './release_files/' . $package->get('release_filename') . '.webpi.zip'; +$package->run_command("rm -v $file"); +$package->run_command('cp -p ./release_files/' . $package->get('release_filename') . ".zip $file"); +$package->run_command('cd ./../webpi && ' . $compress_programs['zip'] . " ./../new_version/$file *"); +$package->run_command("md5sum $file > $file.md5"); + // verify results chdir($package->locations['root']); $package->begin_status('********** Verifying packages **********'); From f9946de5b3ab09f395578e2a468adddb7e0e26dc Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Thu, 8 Apr 2010 16:56:24 +0100 Subject: [PATCH 05/10] [feature/webpi] Fix messed up line endings --- build/webpi/install/mysql.sql | Bin 732 -> 350 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/build/webpi/install/mysql.sql b/build/webpi/install/mysql.sql index ca9d1b2f839525829b8dd7338e6f6536c499a0b4..8efdd053ff54eb12eb6d22e8ed36a7f0bd15c2ca 100644 GIT binary patch literal 350 zcma)&&2GXl5QLw=?=T0X6b=X^Zn~AiG2p8E-+s*5 zj&fy~piJ`^5ZxXHH$szzEG^cn%?6VOWJJnx%Z&%uI;N?;(v*`!XPa+)VLFbw(7rEzqvQ4wWZm}Fv%p$ zIdkUm`O&J@L{4)(>t2s~QlS^(j%cZjc&StmI>HWh;62qsGZ2QdD1jkWOKeOfC`WWd zRI9-q%pG>8SFJp++u%z)GA1`D+2;Ick!CRuoe9vvy7B?^9KQHSG^owa? From a2fe71a6d3b999b30103876d9756d5415c428d7f Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Thu, 8 Apr 2010 17:01:10 +0100 Subject: [PATCH 06/10] [feature/webpi] Hopefully finally fix this --- build/webpi/install/mysql.sql | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/build/webpi/install/mysql.sql b/build/webpi/install/mysql.sql index 8efdd053ff..8c1ae2e550 100644 --- a/build/webpi/install/mysql.sql +++ b/build/webpi/install/mysql.sql @@ -1 +1,15 @@ -USE PlaceHolderForDb$$ DROP PROCEDURE IF EXISTS add_user $$ CREATE PROCEDURE add_user() BEGIN DECLARE EXIT HANDLER FOR 1044 BEGIN END; GRANT ALL PRIVILEGES ON PlaceHolderForDb.* to 'PlaceHolderForUser'@'PlaceHolderForServer' IDENTIFIED BY 'PlaceHolderForPassword'; FLUSH PRIVILEGES; END $$ CALL add_user() $$ DROP PROCEDURE IF EXISTS add_user $$ \ No newline at end of file +USE PlaceHolderForDb$$ + +DROP PROCEDURE IF EXISTS add_user $$ + +CREATE PROCEDURE add_user() +BEGIN +DECLARE EXIT HANDLER FOR 1044 BEGIN END; +GRANT ALL PRIVILEGES ON PlaceHolderForDb.* to 'PlaceHolderForUser'@'PlaceHolderForServer' IDENTIFIED BY 'PlaceHolderForPassword'; +FLUSH PRIVILEGES; +END +$$ + +CALL add_user() $$ + +DROP PROCEDURE IF EXISTS add_user $$ From cc127d8217559a744ce4f6837d6fae4332db6fb1 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Thu, 8 Apr 2010 17:23:15 +0100 Subject: [PATCH 07/10] [feature/webpi] Web PI supports UNIX line endings so we'll remove them --- build/webpi/install/mssql.sql | 78 +++--- build/webpi/install/mysql.sql | 30 +-- build/webpi/manifest.xml | 26 +- build/webpi/parameters.xml | 452 +++++++++++++++++----------------- 4 files changed, 293 insertions(+), 293 deletions(-) diff --git a/build/webpi/install/mssql.sql b/build/webpi/install/mssql.sql index 390b4ffc02..9c0b46678a 100644 --- a/build/webpi/install/mssql.sql +++ b/build/webpi/install/mssql.sql @@ -1,39 +1,39 @@ -/**********************************************************************/ -/* Install.SQL */ -/* Creates a login and makes the user a member of db roles */ -/* */ -/**********************************************************************/ - --- Declare variables for database name, username and password -DECLARE @dbName sysname, - @dbUser sysname, - @dbPwd nvarchar(max); - --- Set variables for database name, username and password -SET @dbName = 'PlaceHolderForDb'; -SET @dbUser = 'PlaceHolderForUser'; -SET @dbPwd = 'PlaceHolderForPassword'; - -DECLARE @cmd nvarchar(max) - --- Create login -IF( SUSER_SID(@dbUser) is null ) -BEGIN - print '-- Creating login ' - SET @cmd = N'CREATE LOGIN ' + quotename(@dbUser) + N' WITH PASSWORD ='''+ replace(@dbPwd, '''', '''''') + N'''' - EXEC(@cmd) -END - --- Create database user and map to login --- and add user to the datareader, datawriter, ddladmin and securityadmin roles --- -SET @cmd = N'USE ' + quotename(@DBName) + N'; -IF( NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = ''' + replace(@dbUser, '''', '''''') + N''')) -BEGIN - print ''-- Creating user''; - CREATE USER ' + quotename(@dbUser) + N' FOR LOGIN ' + quotename(@dbUser) + N'; - print ''-- Adding user''; - EXEC sp_addrolemember ''db_owner'', ''' + replace(@dbUser, '''', '''''') + N'''; -END' -EXEC(@cmd) -GO +/**********************************************************************/ +/* Install.SQL */ +/* Creates a login and makes the user a member of db roles */ +/* */ +/**********************************************************************/ + +-- Declare variables for database name, username and password +DECLARE @dbName sysname, + @dbUser sysname, + @dbPwd nvarchar(max); + +-- Set variables for database name, username and password +SET @dbName = 'PlaceHolderForDb'; +SET @dbUser = 'PlaceHolderForUser'; +SET @dbPwd = 'PlaceHolderForPassword'; + +DECLARE @cmd nvarchar(max) + +-- Create login +IF( SUSER_SID(@dbUser) is null ) +BEGIN + print '-- Creating login ' + SET @cmd = N'CREATE LOGIN ' + quotename(@dbUser) + N' WITH PASSWORD ='''+ replace(@dbPwd, '''', '''''') + N'''' + EXEC(@cmd) +END + +-- Create database user and map to login +-- and add user to the datareader, datawriter, ddladmin and securityadmin roles +-- +SET @cmd = N'USE ' + quotename(@DBName) + N'; +IF( NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = ''' + replace(@dbUser, '''', '''''') + N''')) +BEGIN + print ''-- Creating user''; + CREATE USER ' + quotename(@dbUser) + N' FOR LOGIN ' + quotename(@dbUser) + N'; + print ''-- Adding user''; + EXEC sp_addrolemember ''db_owner'', ''' + replace(@dbUser, '''', '''''') + N'''; +END' +EXEC(@cmd) +GO diff --git a/build/webpi/install/mysql.sql b/build/webpi/install/mysql.sql index 8c1ae2e550..5c9d8cd922 100644 --- a/build/webpi/install/mysql.sql +++ b/build/webpi/install/mysql.sql @@ -1,15 +1,15 @@ -USE PlaceHolderForDb$$ - -DROP PROCEDURE IF EXISTS add_user $$ - -CREATE PROCEDURE add_user() -BEGIN -DECLARE EXIT HANDLER FOR 1044 BEGIN END; -GRANT ALL PRIVILEGES ON PlaceHolderForDb.* to 'PlaceHolderForUser'@'PlaceHolderForServer' IDENTIFIED BY 'PlaceHolderForPassword'; -FLUSH PRIVILEGES; -END -$$ - -CALL add_user() $$ - -DROP PROCEDURE IF EXISTS add_user $$ +USE PlaceHolderForDb$$ + +DROP PROCEDURE IF EXISTS add_user $$ + +CREATE PROCEDURE add_user() +BEGIN +DECLARE EXIT HANDLER FOR 1044 BEGIN END; +GRANT ALL PRIVILEGES ON PlaceHolderForDb.* to 'PlaceHolderForUser'@'PlaceHolderForServer' IDENTIFIED BY 'PlaceHolderForPassword'; +FLUSH PRIVILEGES; +END +$$ + +CALL add_user() $$ + +DROP PROCEDURE IF EXISTS add_user $$ diff --git a/build/webpi/manifest.xml b/build/webpi/manifest.xml index 1ecae7bae6..947377893b 100644 --- a/build/webpi/manifest.xml +++ b/build/webpi/manifest.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + diff --git a/build/webpi/parameters.xml b/build/webpi/parameters.xml index 03d269f3eb..770cabf95b 100644 --- a/build/webpi/parameters.xml +++ b/build/webpi/parameters.xml @@ -1,226 +1,226 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 5a3ec9901d7384d99e77c8db1b9f6b4498a79273 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Fri, 9 Apr 2010 10:30:35 -0400 Subject: [PATCH 08/10] [git-tools] Changed pre-commit hook to use sh instead of bash --- git-tools/hooks/pre-commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-tools/hooks/pre-commit b/git-tools/hooks/pre-commit index 23ab8d6cdb..5f75381155 100755 --- a/git-tools/hooks/pre-commit +++ b/git-tools/hooks/pre-commit @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh # # A hook to disallow php syntax errors to be committed # by running php -l (lint) on them. It requires php-cli From 9afe2c9b6e9b414889f8642e719308afa434bc40 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Fri, 9 Apr 2010 10:43:54 -0400 Subject: [PATCH 09/10] [git-tools] Adjusted pre-commit hook to run under freebsd /bin/sh. --- git-tools/hooks/pre-commit | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git-tools/hooks/pre-commit b/git-tools/hooks/pre-commit index 5f75381155..835b28aec3 100755 --- a/git-tools/hooks/pre-commit +++ b/git-tools/hooks/pre-commit @@ -27,7 +27,10 @@ fi error=0 errors="" -IFS=$'\n' +# dash does not support $'\n': +# http://forum.soft32.com/linux2/Bug-409179-DASH-Settings-IFS-work-properly-ftopict70039.html +IFS=' +' # get a list of staged files for line in $(git diff-index --cached --full-index $against) do @@ -59,7 +62,7 @@ do then error=1 # Swap back in correct filenames - errors+=${result//in - on/"$filename"} + errors=$(echo "$errors"; echo "$result" |sed -e "s:in - on:in $filename on:g") fi done unset IFS From 9674214b2ffd3fc98e707ffa8f9b8b9eaef054da Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sat, 10 Apr 2010 05:43:26 -0400 Subject: [PATCH 10/10] [git-tools] Use @ instead of : in sed command in pre-commit hook for wider compatibility. --- git-tools/hooks/pre-commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-tools/hooks/pre-commit b/git-tools/hooks/pre-commit index 835b28aec3..9719b91746 100755 --- a/git-tools/hooks/pre-commit +++ b/git-tools/hooks/pre-commit @@ -62,7 +62,7 @@ do then error=1 # Swap back in correct filenames - errors=$(echo "$errors"; echo "$result" |sed -e "s:in - on:in $filename on:g") + errors=$(echo "$errors"; echo "$result" |sed -e "s@in - on@in $filename on@g") fi done unset IFS