# add new target OS.
# If already exist, return false , otherwise true
def add_supported_os( os_name )
+ os_category = Utils.get_os_category( os_name )
+ if os_category.nil? then return false end
+
get_db_connection() do |db|
row = db.select_one("SELECT * FROM supported_os WHERE name='#{os_name}'")
if not row.nil? then return false end
- db.do "INSERT INTO supported_os VALUES ('#{os_name}')"
+ db.do "INSERT INTO supported_os(os_category_id, name) SELECT os_category.id, '#{os_name}' FROM os_category WHERE os_category.name='#{os_category}'"
end
return true
db.do "INSERT INTO server_configs (db_version,max_working_job,send_mail,job_keep_time,pkg_sync_period,changelog_check,job_log_url)
VALUES('#{@db_version}','#{@jobmgr.max_working_jobs}','#{@send_mail}','#{@keep_time}','#{@pkg_sync_period}','#{@changelog_check.to_s.upcase}','#{@job_log_url}')"
db.do "CREATE TABLE os_category ( id INTEGER PRIMARY KEY #{inc}, name VARCHAR(32) NOT NULL UNIQUE ) #{post_fix}"
+ db.do "INSERT INTO os_category (name) VALUES ( 'linux' )"
+ db.do "INSERT INTO os_category (name) VALUES ( 'windows' )"
+ db.do "INSERT INTO os_category (name) VALUES ( 'macos' )"
+
db.do "CREATE TABLE distributions(name VARCHAR(32) PRIMARY KEY, pkgsvr_url VARCHAR(256), pkgsvr_addr VARCHAR(64), status VARCHAR(32) DEFAULT 'OPEN')"
db.do "CREATE TABLE remote_build_servers ( id INTEGER PRIMARY KEY #{inc}, svr_addr VARCHAR(64) NOT NULL UNIQUE, description VARCHAR(256) )#{post_fix}"
db.do "CREATE TABLE sync_pkg_servers(id INTEGER PRIMARY KEY #{inc}, pkgsvr_url VARCHAR(256), period INTEGER, dist_name VARCHAR(32))"
- db.do "CREATE TABLE supported_os(name VARCHAR(32) PRIMARY KEY)"
+ db.do "CREATE TABLE supported_os ( id INTEGER PRIMARY KEY #{inc}, os_category_id INTEGER NOT NULL, name VARCHAR(32) NOT NULL UNIQUE,
+ CONSTRAINT fk_supported_os_os_category1 FOREIGN KEY ( os_category_id ) REFERENCES os_category ( id ) ) #{post_fix}"
# USERS/GROUPS
# users
../../build-svr remove -n testserver3
rm -rf buildsvr01
#EXPECT
+generating
Server is not running!
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://dibsftp:coreps2@172.21.111.132
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 linux
+../../build-svr add-os -n testserver3 -o ubuntu-32
#EXEC
../../build-svr add-prj -n testserver3 -N testa -g test_git -b test_branch
#POST-EXEC
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://ftpuser:ftpuser@127.0.0.1
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 linux
+../../build-svr add-os -n testserver3 -o ubuntu-32
#EXEC
-../../build-svr add-prj -n testserver3 -N testx -g test_git -b test_branch -o linux
+../../build-svr add-prj -n testserver3 -N testx -g test_git -b test_branch -o ubuntu-32
#POST-EXEC
../../build-svr remove -n testserver3
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
#EXEC
-../../build-svr register -n testserver3 -P bin/bin_0.0.0_linux.zip
+../../build-svr register -n testserver3 -P bin/bin_0.0.0_ubuntu-32.zip
#POST-EXEC
../../build-svr remove -n testserver3
rm -rf buildsvr01
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
-../../build-svr register -n testserver3 -P bin/bin_0.0.0_linux.zip
+../../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_linux.zip
+../../build-svr register -n testserver3 -P bin/bin_0.0.0_ubuntu-32.zip
#POST-EXEC
../../build-svr remove -n testserver3
rm -rf buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://dibsftp:coreps2@172.21.111.132
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 linux
+../../build-svr add-os -n testserver3 -o ubuntu-32
../../build-svr query -n testserver3
#POST-EXEC
../../build-svr remove -n testserver3
* REMOTE SERVER(S) *
* SUPPORTED OS *
-* linux
+* ubuntu-32
* DISTRIBUTION(S) *
* BASE
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
#EXEC
-../../build-svr add-os -n testserver3 -o linux
-../../build-svr add-os -n testserver3 -o linux
+../../build-svr add-os -n testserver3 -o ubuntu-32
+../../build-svr add-os -n testserver3 -o ubuntu-32
#POST-EXEC
../../build-svr remove -n testserver3
rm -rf buildsvr01
#EXPECT
+generating
Target OS is added successfully!
Target OS already exists in list!
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
-../../build-svr add-os -n testserver3 -o linux
-../../build-svr add-os -n testserver3 -o windows
+../../build-svr add-os -n testserver3 -o ubuntu-32
+../../build-svr add-os -n testserver3 -o windows-32
#EXEC
../../build-svr add-prj -n testserver3 -N new_project -g new_git -b new_branch -o wrong_os_name
#POST-EXEC
#EXPECT
Unsupported OS name "wrong_os_name" is used!
Check the following supported OS list:
- * linux
- * windows
+ * ubuntu-32
+ * windows-32
mkdir buildsvr01
cd buildsvr01; ../../../build-svr create -n testserver3 -t ftp://ftpuser:ftpuser@172.21.111.124
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 linux
+../../build-svr add-os -n testserver3 -o ubuntu-32
mkdir -p bin
-cp ../bin/bin_0.0.0_linux.zip bin/bin_0.0.0_wrongosname.zip
+cp ../bin/bin_0.0.0_ubuntu-32.zip bin/bin_0.0.0_wrongosname.zip
../../build-svr start -n testserver3 -p 2223 &
#EXEC
sleep 1