From 2e03338600eb78550504da3ce4546478a46d50ca Mon Sep 17 00:00:00 2001 From: Hyoun Jiil Date: Thu, 21 Aug 2014 15:04:57 +0900 Subject: [PATCH] snapshot name check when multiple package server sync - avoid snapshot name 'sync_sync_xxxx' Change-Id: I3f7cbc9a267f024bceec4b393adf21e50eb5e8e5 --- package/changelog | 4 ++++ package/pkginfo.manifest | 2 +- src/pkg_server/client.rb | 30 --------------------------- src/pkg_server/packageServer.rb | 36 +++++++++++---------------------- 4 files changed, 17 insertions(+), 55 deletions(-) diff --git a/package/changelog b/package/changelog index 4238007..b7c6ca6 100644 --- a/package/changelog +++ b/package/changelog @@ -1,3 +1,7 @@ +* 2.2.4 +- snapshot name check when multiple package server sync +-- avoid snapshot name 'sync_sync_xxxx' +== hyoun jiil 2014-08-21 * 2.2.3 - multiple package server sync is no good design -- Now package server can sync only one depth diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest index 2247994..03ae025 100644 --- a/package/pkginfo.manifest +++ b/package/pkginfo.manifest @@ -1,5 +1,5 @@ Source : dibs -Version :2.2.3 +Version :2.2.4 Maintainer : taejun ha, jiil hyoun , donghyuk yang , donghee yang , sungmin kim Package : tizen-dibs-test diff --git a/src/pkg_server/client.rb b/src/pkg_server/client.rb index 7a61e97..b6ca1b7 100644 --- a/src/pkg_server/client.rb +++ b/src/pkg_server/client.rb @@ -1612,36 +1612,6 @@ class Client return pkg_all_list.sort end - public - # check_syncable_server? - # from_server : if true, update from server - def check_syncable_server?() - ssinfo_file = "snapshot.info" - file_url = File.join(@server_addr, ssinfo_file) - if @is_server_remote then - if not FileDownLoader.download(file_url, @config_dist_path, @log) then - @log.error "Server does not have \"#{ssinfo_file}\" file." - return false - end - else - if File.exist? file_url then - FileUtils.cp(file_url, @config_dist_path) - else - @log.error "Server does not have \"#{ssinfo_file}\" file." - return false - end - end - - file_path = File.join(@config_dist_path, ssinfo_file) - if not File.exist? file_path then return false end - - contents = File.open(file_path, "r").read - - _list = contents.split("\n\n") - snapshot_list = _list.map {|x| x.split("\n").first.split(":")[1].strip } - - return (snapshot_list.index{|x| /sync_.*/ =~ x}.nil?) - end private def get_build_dependency_arr(pkg_name, os, n) diff --git a/src/pkg_server/packageServer.rb b/src/pkg_server/packageServer.rb index 487597a..ea8f7b5 100644 --- a/src/pkg_server/packageServer.rb +++ b/src/pkg_server/packageServer.rb @@ -130,18 +130,6 @@ class PackageServer create_distribution_struct( dist_name, server_url ) Utils.file_unlock(lock_file) - # remote server check - if (not server_url.empty?) then - client = Client.create(server_url.strip, "#{@location}/binary", @log); - if client.nil? or not client.check_syncable_server? then - # remove configs - FileUtils.rm_rf @location - FileUtils.rm_rf @config_dir - @log.error( "#{server_url} is invalid or not synchronizable package server",Log::LV_USER) - return nil - end - end - @log.output( "package server [#{@id}] created successfully", Log::LV_USER ) @log.output( " - server location : #{@location}", Log::LV_USER ) @log.output( " - server configure file : #{@config_file_path}", Log::LV_USER ) @@ -326,20 +314,20 @@ class PackageServer return end - client = Client.create(distribution.server_url, "#{@location}/binary", @log); - if client.nil? or not client.check_syncable_server? then - @log.error( "#{distribution.server_url} is invalid or not synchronizable package server", Log::LV_USER) - else - begin - update, snapshot = distribution.sync(mode, snapshot) - if update then - distribution.generate_snapshot("sync_#{snapshot}", "", false, distribution.last_sync_changes) + begin + update, snapshot = distribution.sync(mode, snapshot) + if update then + snapshotName = nil; + if snapshot =~ /sync_.*/ then + snapshotName = snapshot + else + snapshotName = "sync_#{snapshot}" end - - @log.output( "package server [#{@id}]'s distribution [#{dist_name}] has been synchronized.", Log::LV_USER ) - rescue => e - @log.error( e.message, Log::LV_USER) + distribution.generate_snapshot(snapshotName, "", false, distribution.last_sync_changes) end + @log.output( "package server [#{@id}]'s distribution [#{dist_name}] has been synchronized.", Log::LV_USER ) + rescue => e + @log.error( e.message, Log::LV_USER) end end -- 2.34.1