[Title] update package server sync using snapshot
authorhataejun <taejun.ha@samsung.com>
Thu, 11 Oct 2012 01:50:11 +0000 (10:50 +0900)
committerhataejun <taejun.ha@samsung.com>
Thu, 11 Oct 2012 01:50:11 +0000 (10:50 +0900)
[Type]
[Module]
[Priority]
[Jira#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

pkg-svr
src/pkg_server/distribution.rb
src/pkg_server/packageServer.rb
src/pkg_server/serverOptParser.rb

diff --git a/pkg-svr b/pkg-svr
index 3e3d597183ec93de3fd0de2ac25abab9683e64db..405b1850a7cb0d29093efbe603ae325f1b225628 100755 (executable)
--- a/pkg-svr
+++ b/pkg-svr
@@ -67,7 +67,7 @@ begin
        when "gen-snapshot"
                server.generate_snapshot( option[:snaps][0], option[:dist], option[:bsnap] ) 
        when "sync"
-               server.sync( option[:dist], option[:force] )
+               server.sync( option[:dist], option[:force], option[:snaps][0] )
        when "add-dist"
                server.add_distribution( option[:dist], option[:url], option[:clone] )
        when "add-os"
index 0e6d2449fa5f66ba45d4e4374eca28484b057409..182e8080121a59f2021e5b37c48e8a731746717d 100644 (file)
@@ -189,7 +189,7 @@ class Distribution
                return name
        end  
 
-       def sync(force) 
+       def sync(force, snapshot = ""
                pkg_list_update_flag = false
                archive_update_flag = false
                distribution_update_flag = false
@@ -205,7 +205,12 @@ class Distribution
                end
 
                # generate client class
-               client = Client.new( @server_url, "#{@location}/binary", @log )
+               if snapshot.nil? or snapshot.empty? then
+                       server_url = @server_url
+               else
+                       server_url = "#{@server_url}/snapshots/#{snapshot}"
+               end
+               client = Client.new( server_url, "#{@location}/binary", @log )
 
                # update os list
                add_os_list = client.support_os_list - @support_os_list
index 146b35f8df3a5db8b94dce834dde9b22d67f0676..f4433157d70e20461d3dda6470b0d9a9c621fd41 100644 (file)
@@ -279,7 +279,7 @@ class PackageServer
                return snapshot_name
        end
 
-       def sync( dist_name, mode )
+       def sync( dist_name, mode, snapshot = "" )
                @log.info "sync from server"
                distribution = get_distribution( dist_name ) 
        
@@ -288,7 +288,7 @@ class PackageServer
                        return
                end
 
-               ret = distribution.sync(mode)
+               ret = distribution.sync(mode, snapshot)
                if ret then
                        distribution.generate_snapshot("", "", false, distribution.last_sync_changes)
                end
index fed7ace2c35f0e16d5a831c0868e7a21898ee18f..8c86fc34af58882344ec8a71ceaf49e7f288648c 100644 (file)
@@ -132,7 +132,7 @@ def option_parse
         + "\t" + "pkg-svr remove-pkg -n <server name> -d <distribution> -P <package name list> [-o <os>] " + "\n" \
         + "\t" + "pkg-svr remove-snapshot -n <server name> -d <distribution> -s <snapshot list>" + "\n" \
         + "\t" + "pkg-svr gen-snapshot -n <server name> -d <distribution> -s <snapshot name> [-b <base snapshot name>] " + "\n"  \
-        + "\t" + "pkg-svr sync -n <server name> -d <distribution> [--force] " + "\n"  \
+        + "\t" + "pkg-svr sync -n <server name> -d <distribution> -s <snapshot_name> [--force] " + "\n"  \
         + "\t" + "pkg-svr clean -n <server name> -d <distribution> [-s <snapshot list>] " + "\n" \
         + "\t" + "pkg-svr start -n <server name> -p <port> [-w <password>]" + "\n" \
         + "\t" + "pkg-svr stop -n <server name> -p <port> [-w <password>]" + "\n" \