def gen_db()
hash = DBUtils.dsn_parser @db_dsn
case hash[:database]
- when "SQLite3" then puts "SQLite3 DB#{@db_dsn.split(':')[1]} generating"
when "Mysql" then
File.open("create_db.txt","w") do |f|
begin
if @db_dsn.nil? then
return false
- elsif @db_dsn =~ /^SQLite3:/ then
- @sqlite3_db_mutex.lock
- @db = DBI.connect("DBI:#{@db_dsn}", @db_user, @db_passwd)
else
if @db.nil? or not @db.connected? then
@db = DBI.connect("DBI:#{@db_dsn}", @db_user, @db_passwd)
rescue => e
@log.error e.errstr if not @log.nil?
@log.error e.backtrace.inspect if not @log.nil?
- ensure
- if @db_dsn =~ /^SQLite3:/ then
- @db.disconnect if @db
- @db = nil
- @sqlite3_db_mutex.unlock
- end
end
return false
server = get_server(id)
# if dsn is nil, use default dsn
if dsn.nil? then
- dsn = "SQLite3:#{BuildServer::CONFIG_ROOT}/#{id}/server.db"
- end
+ raise RuntimeError, 'you must set db_dsn'
+ end
server.db_dsn = dsn
server.db_user = user if not user.nil?
server.db_passwd = passwd if not passwd.nil?
when "CHANGELOG_CHECK"
server.changelog_check = value
when "DB_DSN"
- case value
- when /^SQLite3:(.*)/i then
- if $1.strip.empty? then db_dsn = "SQLite3:#{BuildServer::CONFIG_ROOT}/#{id}/server.db"
- else db_dsn = "SQLite3:#{$1.strip}"
- end
- when /^Mysql:(.*)/i then
- db_dsn = "Mysql:#{$1}"
- else
- db_dsn = "SQLite3:#{BuildServer::CONFIG_ROOT}/#{id}/server.db"
- end
- server.db_dsn = db_dsn
+ server.db_dsn = db_dsn if not value.empty?
when "DB_USER"
server.db_user = value if not value.empty?
when "DB_PASSWORD"
if not server.ftp_addr.nil? then
f.puts "FTP_URL=ftp://#{server.ftp_username}:#{server.ftp_passwd}@#{server.ftp_addr}:#{server.ftp_port}"
end
- f.puts "#only supports \"Mysql\" and \"SQLite3\""
+ f.puts "#only supports \"Mysql\""
f.puts "DB_DSN=#{server.db_dsn}"
f.puts "DB_USER=#{server.db_user}"
f.puts "DB_PASSWORD=#{server.db_passwd}"
ftp_username = ftp_result[2]
ftp_passwd = ftp_result[3]
elsif l.start_with?("DB_DSN=")
- case l[idx,length].strip
- when /^SQLite3:(.*)/i then
- if $1.strip.empty? then db_dsn = "SQLite3:#{BuildServer::CONFIG_ROOT}/#{id}/server.db"
- else db_dsn = "SQLite3:#{$1.strip}"
- end
- when /^Mysql:(.*)/i then
- db_dsn = "Mysql:#{$1}"
- else
- db_dsn = nil
- end
+ db_dsn = l[idx,length].strip if not l[idx,length].strip.empty?
elsif l.start_with?("DB_USER=")
db_user = l[idx,length].strip if not l[idx,length].strip.empty?
elsif l.start_with?("DB_PASSWORD=")
dist_id = row['id']
db.do "INSERT INTO projects (distribution_id,name,ptype,status)
VALUES (#{dist_id},'#{@name}','#{@type}','#{@status}')"
- case @server.db_dsn
- when /^SQLite3:/ then @prj_id = db.select_one("select last_insert_rowid()")[0]
- when /^Mysql:/ then @prj_id = db.func(:insert_id)
- else @prj_id = db.select_one("select last_insert_rowid()")[0]
- end
+ @prj_id = db.func(:insert_id)
@os_list.each do |os|
row = db.select_one("SELECT * FROM supported_os WHERE name='#{os}'")
os_id = row['id']
mkdir buildsvr01
#EXEC
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@172.21.111.124
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
#POST-EXEC
../../build-svr remove -n testserver3
rm -rf buildsvr01
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
cd buildsvr01; ../../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
#EXEC
../../build-svr add-svr -n testserver3 -d 127.0.0.1:2223
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://dibsftp:coreps2@172.21.111.132
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
#EXEC
echo "TEST_TIME=3" >> ~/.build_tools/build_server/testserver3/server.cfg
../../build-svr start -n testserver3 -p 2223
mkdir buildsvr01
rm -rf ~/.build_tools/build_server/testserver3
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
cd buildsvr01; ../../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
../../build-svr start -n testserver3 -p 2223 &
#EXEC
#PRE-EXEC
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
#EXEC
../../build-svr stop -n testserver3
#POST-EXEC
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
cd buildsvr01; ../../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
../../build-svr add-os -n testserver3 -o ubuntu-32
#EXEC
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
cd buildsvr01; ../../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
#EXEC
../../build-svr add-prj -n testserver3 -N testa -g test_git -b test_branch -w 1111
rm -rf ~/.build_tools/build_server/testserver3
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://ftpuser:ftpuser@127.0.0.1
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
cd buildsvr01; ../../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
../../build-svr add-os -n testserver3 -o ubuntu-32
#EXEC
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://dibsftp:coreps2@172.21.111.132
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
#EXEC
../../build-svr register -n testserver3 -P bin/bin_0.0.0_ubuntu-32.zip
#POST-EXEC
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://dibsftp:coreps2@172.21.111.132
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
../../build-svr register -n testserver3 -P bin/bin_0.0.0_ubuntu-32.zip
#EXEC
../../build-svr register -n testserver3 -P bin/bin_0.0.0_ubuntu-32.zip
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
cd buildsvr01; ../../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
#EXEC
../../build-svr add-os -n testserver3 -o ubuntu-32
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
#EXEC
../../build-svr add-os -n testserver3 -o ubuntu-32
../../build-svr add-os -n testserver3 -o ubuntu-32
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://dibsftp:coreps2@172.21.111.132
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
../../build-svr add-os -n testserver3 -o ubuntu-32
../../build-svr add-os -n testserver3 -o windows-32
#EXEC
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://ftpuser:ftpuser@172.21.111.124
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
cd buildsvr01; ../../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
../../build-svr add-os -n testserver3 -o ubuntu-32
../../build-svr add-prj -n testserver3 -N bin -P bin -o ubuntu-32
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@172.21.111.124
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
#EXEC
../../build-svr set-attr -n testserver3 -A MAX_WORKING_JOBS -V 3
../../build-svr get-attr -n testserver3 -A MAX_WORKING_JOBS
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@172.21.111.124
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
#EXEC
../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
../../build-svr remove-dist -n testserver3 -D BASE
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@172.21.111.124
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
#EXEC
../../build-svr set-attr -n testserver3 -A MAX_WORKING_JOBS -V 3
../../build-svr get-attr -n testserver3 -A MAX_WORKING_JOBS
rm -rf buildsvr01
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@172.21.111.124
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
#EXEC
../../build-svr get-attr -n testserver3 -A MAX_JOBS
../../build-svr set-attr -n testserver3 -A MAX_JOBS -V 3
rm -rf ~/.build_tools/build_server/testserver3
mkdir buildsvr01
cd buildsvr01;../../../build-svr create -n testserver3 -t ftp://ftpuser:ftpuser@127.0.0.1
-cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn SQLite3:`pwd`/server.db
+echo "DROP DATABASE testserver3;" > a
+mysql -u root -p --password=$DB_PASSWD -h localhost < a
+cd buildsvr01; ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword $DB_PASSWD
../../build-svr add-os -n testserver3 -o ubuntu-32
../../build-svr add-os -n testserver3 -o ubuntu-64
#EXEC