luban 0.3.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +11 -0
 - data/lib/luban/deployment/cli/application/repository.rb +11 -2
 - data/lib/luban/deployment/cli/package/base.rb +2 -2
 - data/lib/luban/deployment/cli/package/installer/core.rb +0 -7
 - data/lib/luban/deployment/cli/package/installer/install.rb +37 -21
 - data/lib/luban/deployment/cli/package/installer/paths.rb +4 -0
 - data/lib/luban/deployment/helpers/utils.rb +1 -1
 - data/lib/luban/deployment/packages/bundler.rb +1 -0
 - data/lib/luban/deployment/packages/openssl.rb +1 -2
 - data/lib/luban/deployment/packages/ruby.rb +1 -1
 - data/lib/luban/deployment/version.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 0849b76c82b53782709b36c5e7a9fa7d6e150489
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: dd9f9ef9b8dc3872a38b3fba9b4b10bd730cb248
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 3ea498ab032c5cf463d7cb2f3719ba2a96d0921474977ffbaf9889ccb9fae3cfe3402c5e67dcfa3127674204478a2812bb9b6c32a572fcaabddf5eb96ad435b4
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a8606aa61c94693410e1a7d2f5a8c646732c532d29efa43580d02fc87604df0b48516fe6ab9526a0770c37d5be80379bc4620cc4b7812fc63806cecf359403ae
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,16 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Change log
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ## Version 0.4.0 (May 11, 2016)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Minor enhancements:
         
     | 
| 
      
 6 
     | 
    
         
            +
              * Upgraded Bundler for Ruby to version 1.12.3
         
     | 
| 
      
 7 
     | 
    
         
            +
              * Used OpenSSL ftp site to download its source code package
         
     | 
| 
      
 8 
     | 
    
         
            +
              * Optimized md5 signature generation for both source code package as well as gems downloaded
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            Bug fixes:
         
     | 
| 
      
 11 
     | 
    
         
            +
              * Fixed a bug in md5 calculation for a given file
         
     | 
| 
      
 12 
     | 
    
         
            +
              * Fixed broken installer for Bundler
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
       3 
14 
     | 
    
         
             
            ## Version 0.3.6 (May 09, 2016)
         
     | 
| 
       4 
15 
     | 
    
         | 
| 
       5 
16 
     | 
    
         
             
            Minor enhancements:
         
     | 
| 
         @@ -158,9 +158,18 @@ module Luban 
     | 
|
| 
       158 
158 
     | 
    
         
             
                            info "Package gems bundled in Gemfile"
         
     | 
| 
       159 
159 
     | 
    
         
             
                            execute(:bundle, :package, "--all --quiet")
         
     | 
| 
       160 
160 
     | 
    
         
             
                          end
         
     | 
| 
       161 
     | 
    
         
            -
                          gem_files = capture(:ls, '-xt', gems_cache).split
         
     | 
| 
      
 161 
     | 
    
         
            +
                          gem_files = capture(:ls, '-xt', gems_cache.join('*.gem')).split
         
     | 
| 
       162 
162 
     | 
    
         
             
                          gem_files.each do |gem_file|
         
     | 
| 
       163 
     | 
    
         
            -
                             
     | 
| 
      
 163 
     | 
    
         
            +
                            gem_name = File.basename(gem_file)
         
     | 
| 
      
 164 
     | 
    
         
            +
                            md5_file = "#{gem_file}.md5"
         
     | 
| 
      
 165 
     | 
    
         
            +
                            gems[gem_name] =
         
     | 
| 
      
 166 
     | 
    
         
            +
                              if file?(md5_file)
         
     | 
| 
      
 167 
     | 
    
         
            +
                                gems[gem_name] = capture(:cat, md5_file)
         
     | 
| 
      
 168 
     | 
    
         
            +
                              else
         
     | 
| 
      
 169 
     | 
    
         
            +
                                md5_for_file(gem_file).tap { |md5|
         
     | 
| 
      
 170 
     | 
    
         
            +
                                  execute(:echo, "#{md5} > #{md5_file}")
         
     | 
| 
      
 171 
     | 
    
         
            +
                                }
         
     | 
| 
      
 172 
     | 
    
         
            +
                              end
         
     | 
| 
       164 
173 
     | 
    
         
             
                          end
         
     | 
| 
       165 
174 
     | 
    
         
             
                        end
         
     | 
| 
       166 
175 
     | 
    
         
             
                        bundled_gems[:gems_cache] = workspace_path.join(gems_cache)
         
     | 
| 
         @@ -99,8 +99,8 @@ module Luban 
     | 
|
| 
       99 
99 
     | 
    
         
             
                    end
         
     | 
| 
       100 
100 
     | 
    
         | 
| 
       101 
101 
     | 
    
         
             
                    def install(args:, opts:)
         
     | 
| 
       102 
     | 
    
         
            -
                       
     | 
| 
       103 
     | 
    
         
            -
                      install_package(args: args, opts: opts 
     | 
| 
      
 102 
     | 
    
         
            +
                      download_package(args: args, opts: opts)
         
     | 
| 
      
 103 
     | 
    
         
            +
                      install_package(args: args, opts: opts)
         
     | 
| 
       104 
104 
     | 
    
         
             
                    end
         
     | 
| 
       105 
105 
     | 
    
         | 
| 
       106 
106 
     | 
    
         
             
                    def install_all(args:, opts:)
         
     | 
| 
         @@ -67,13 +67,6 @@ module Luban 
     | 
|
| 
       67 
67 
     | 
    
         
             
                      end
         
     | 
| 
       68 
68 
     | 
    
         
             
                    end
         
     | 
| 
       69 
69 
     | 
    
         | 
| 
       70 
     | 
    
         
            -
                    def compose_build_env_variables
         
     | 
| 
       71 
     | 
    
         
            -
                      build_env_vars.inject({}) do |vars, (k, v)|
         
     | 
| 
       72 
     | 
    
         
            -
                        vars[k] = "'#{v.join(' ').strip}'" unless v.all?(&:empty?)
         
     | 
| 
       73 
     | 
    
         
            -
                        vars
         
     | 
| 
       74 
     | 
    
         
            -
                      end
         
     | 
| 
       75 
     | 
    
         
            -
                    end
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
70 
     | 
    
         
             
                    def configure_build_options
         
     | 
| 
       78 
71 
     | 
    
         
             
                      @configure_opts = default_configure_opts | (task.opts.__remaining__ || [])
         
     | 
| 
       79 
72 
     | 
    
         
             
                      @configure_opts.unshift(install_prefix)
         
     | 
| 
         @@ -4,7 +4,9 @@ module Luban 
     | 
|
| 
       4 
4 
     | 
    
         
             
                  class Installer
         
     | 
| 
       5 
5 
     | 
    
         
             
                    class InstallFailure < Luban::Deployment::Error; end
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
                    def src_file_md5 
     | 
| 
      
 7 
     | 
    
         
            +
                    def src_file_md5
         
     | 
| 
      
 8 
     | 
    
         
            +
                      @src_file_md5 ||= capture(:cat, src_md5_file_path)
         
     | 
| 
      
 9 
     | 
    
         
            +
                    end
         
     | 
| 
       8 
10 
     | 
    
         | 
| 
       9 
11 
     | 
    
         
             
                    def required_packages
         
     | 
| 
       10 
12 
     | 
    
         
             
                      @required_packages ||= 
         
     | 
| 
         @@ -36,13 +38,13 @@ module Luban 
     | 
|
| 
       36 
38 
     | 
    
         
             
                    def download
         
     | 
| 
       37 
39 
     | 
    
         
             
                      info "Downloading #{package_full_name}"
         
     | 
| 
       38 
40 
     | 
    
         
             
                      if downloaded?
         
     | 
| 
       39 
     | 
    
         
            -
                         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 41 
     | 
    
         
            +
                        create_src_md5_file unless file?(src_md5_file_path)
         
     | 
| 
      
 42 
     | 
    
         
            +
                        update_result "Skipped! #{package_full_name} has been downloaded ALREADY."
         
     | 
| 
       41 
43 
     | 
    
         
             
                      else
         
     | 
| 
       42 
44 
     | 
    
         
             
                        download_package!
         
     | 
| 
       43 
45 
     | 
    
         
             
                        if downloaded?
         
     | 
| 
       44 
     | 
    
         
            -
                           
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
      
 46 
     | 
    
         
            +
                          create_src_md5_file unless file?(src_md5_file_path)
         
     | 
| 
      
 47 
     | 
    
         
            +
                          update_result "Successfully downloaded #{package_full_name}."
         
     | 
| 
       46 
48 
     | 
    
         
             
                        else
         
     | 
| 
       47 
49 
     | 
    
         
             
                          update_result "Failed to download #{package_full_name}. " + 
         
     | 
| 
       48 
50 
     | 
    
         
             
                                        "Please check install log for details: #{install_log_file_path}",
         
     | 
| 
         @@ -178,6 +180,25 @@ module Luban 
     | 
|
| 
       178 
180 
     | 
    
         
             
                        bootstrap_download
         
     | 
| 
       179 
181 
     | 
    
         
             
                        validate_download_url
         
     | 
| 
       180 
182 
     | 
    
         
             
                      end
         
     | 
| 
      
 183 
     | 
    
         
            +
                      download_required_packages(:before_install)
         
     | 
| 
      
 184 
     | 
    
         
            +
                    end
         
     | 
| 
      
 185 
     | 
    
         
            +
             
     | 
| 
      
 186 
     | 
    
         
            +
                    def after_download
         
     | 
| 
      
 187 
     | 
    
         
            +
                      download_required_packages(:after_install)
         
     | 
| 
      
 188 
     | 
    
         
            +
                    end
         
     | 
| 
      
 189 
     | 
    
         
            +
             
     | 
| 
      
 190 
     | 
    
         
            +
                    def download_required_packages(type)
         
     | 
| 
      
 191 
     | 
    
         
            +
                      manage_required_packages(type, :download)
         
     | 
| 
      
 192 
     | 
    
         
            +
                    end
         
     | 
| 
      
 193 
     | 
    
         
            +
             
     | 
| 
      
 194 
     | 
    
         
            +
                    def manage_required_packages(type, cmd)
         
     | 
| 
      
 195 
     | 
    
         
            +
                      required_packages[type].each do |d|
         
     | 
| 
      
 196 
     | 
    
         
            +
                        self.class.worker_class(:installer, package: d.name).new(
         
     | 
| 
      
 197 
     | 
    
         
            +
                          config: config, backend: backend,
         
     | 
| 
      
 198 
     | 
    
         
            +
                          cmd: cmd, args: {},
         
     | 
| 
      
 199 
     | 
    
         
            +
                          opts: d.options.merge(name: d.name, version: d.version, current: true, parent: self)
         
     | 
| 
      
 200 
     | 
    
         
            +
                        ).run
         
     | 
| 
      
 201 
     | 
    
         
            +
                      end
         
     | 
| 
       181 
202 
     | 
    
         
             
                    end
         
     | 
| 
       182 
203 
     | 
    
         | 
| 
       183 
204 
     | 
    
         
             
                    def before_install
         
     | 
| 
         @@ -191,13 +212,7 @@ module Luban 
     | 
|
| 
       191 
212 
     | 
    
         
             
                    end
         
     | 
| 
       192 
213 
     | 
    
         | 
| 
       193 
214 
     | 
    
         
             
                    def install_required_packages(type)
         
     | 
| 
       194 
     | 
    
         
            -
                       
     | 
| 
       195 
     | 
    
         
            -
                        self.class.worker_class(:installer, package: d.name).new(
         
     | 
| 
       196 
     | 
    
         
            -
                          config: config, backend: backend, 
         
     | 
| 
       197 
     | 
    
         
            -
                          cmd: :install, args: {}, 
         
     | 
| 
       198 
     | 
    
         
            -
                          opts: d.options.merge(name: d.name, version: d.version, current: true, parent: self)
         
     | 
| 
       199 
     | 
    
         
            -
                        ).run
         
     | 
| 
       200 
     | 
    
         
            -
                      end
         
     | 
| 
      
 215 
     | 
    
         
            +
                      manage_required_packages(type, :install)
         
     | 
| 
       201 
216 
     | 
    
         
             
                    end
         
     | 
| 
       202 
217 
     | 
    
         | 
| 
       203 
218 
     | 
    
         
             
                    def validate_download_url!
         
     | 
| 
         @@ -210,12 +225,7 @@ module Luban 
     | 
|
| 
       210 
225 
     | 
    
         
             
                    def install!
         
     | 
| 
       211 
226 
     | 
    
         
             
                      upload_package
         
     | 
| 
       212 
227 
     | 
    
         
             
                      uncompress_package
         
     | 
| 
       213 
     | 
    
         
            -
                       
     | 
| 
       214 
     | 
    
         
            -
                        #with compose_build_env_variables do
         
     | 
| 
       215 
     | 
    
         
            -
                        #  build_package
         
     | 
| 
       216 
     | 
    
         
            -
                        #end
         
     | 
| 
       217 
     | 
    
         
            -
                        build_package
         
     | 
| 
       218 
     | 
    
         
            -
                      end
         
     | 
| 
      
 228 
     | 
    
         
            +
                      build_package
         
     | 
| 
       219 
229 
     | 
    
         
             
                      cleanup_build!
         
     | 
| 
       220 
230 
     | 
    
         
             
                    end
         
     | 
| 
       221 
231 
     | 
    
         | 
| 
         @@ -299,6 +309,10 @@ module Luban 
     | 
|
| 
       299 
309 
     | 
    
         
             
                      end
         
     | 
| 
       300 
310 
     | 
    
         
             
                    end
         
     | 
| 
       301 
311 
     | 
    
         | 
| 
      
 312 
     | 
    
         
            +
                    def create_src_md5_file
         
     | 
| 
      
 313 
     | 
    
         
            +
                      execute(:echo, "#{md5_for_file(src_file_path)} > #{src_md5_file_path}")
         
     | 
| 
      
 314 
     | 
    
         
            +
                    end
         
     | 
| 
      
 315 
     | 
    
         
            +
             
     | 
| 
       302 
316 
     | 
    
         
             
                    def upload_package
         
     | 
| 
       303 
317 
     | 
    
         
             
                      info "Uploading #{package_full_name} source package"
         
     | 
| 
       304 
318 
     | 
    
         
             
                      if cached?
         
     | 
| 
         @@ -328,9 +342,11 @@ module Luban 
     | 
|
| 
       328 
342 
     | 
    
         
             
                    end
         
     | 
| 
       329 
343 
     | 
    
         | 
| 
       330 
344 
     | 
    
         
             
                    def build_package
         
     | 
| 
       331 
     | 
    
         
            -
                       
     | 
| 
       332 
     | 
    
         
            -
             
     | 
| 
       333 
     | 
    
         
            -
             
     | 
| 
      
 345 
     | 
    
         
            +
                      within build_path do
         
     | 
| 
      
 346 
     | 
    
         
            +
                        configure_package
         
     | 
| 
      
 347 
     | 
    
         
            +
                        make_package
         
     | 
| 
      
 348 
     | 
    
         
            +
                        install_package
         
     | 
| 
      
 349 
     | 
    
         
            +
                      end
         
     | 
| 
       334 
350 
     | 
    
         
             
                    end
         
     | 
| 
       335 
351 
     | 
    
         | 
| 
       336 
352 
     | 
    
         
             
                    def configure_package
         
     | 
| 
         @@ -20,6 +20,10 @@ module Luban 
     | 
|
| 
       20 
20 
     | 
    
         
             
                      @src_file_path ||= package_downloads_path.join(src_file_name)
         
     | 
| 
       21 
21 
     | 
    
         
             
                    end
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
      
 23 
     | 
    
         
            +
                    def src_md5_file_path
         
     | 
| 
      
 24 
     | 
    
         
            +
                      @src_md5_file_path ||= package_downloads_path.join("#{src_file_name}.md5")
         
     | 
| 
      
 25 
     | 
    
         
            +
                    end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       23 
27 
     | 
    
         
             
                    def source_repo
         
     | 
| 
       24 
28 
     | 
    
         
             
                      raise NotImplementedError, "#{self.class.name}#source_repo is an abstract method."
         
     | 
| 
       25 
29 
     | 
    
         
             
                    end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: luban
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.4.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Rubyist Lei
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016-05- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-05-10 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: luban-cli
         
     |