pkgforge 0.4.10 → 0.4.11
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/lib/pkgforge/components/run.rb +0 -7
- data/lib/pkgforge/components/test.rb +31 -11
- data/lib/pkgforge/version.rb +1 -1
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 264ddfb22fbba6afa5197ff26f426c1b332e6bab
         | 
| 4 | 
            +
              data.tar.gz: d04e8005705d2dc35d0bcc07f39bc412f338422e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f2703469eee712f3b1ae7efb22e48328fd11298c381e711e8c335d599c5d63530a9a602d48da8fa522d5a3a892d78bb67db4d29c4c1a04b5083a907798f16025
         | 
| 7 | 
            +
              data.tar.gz: 73b61050f817f3f258dd63588add88d53ea949edee0c78df9d8fb5b55a4ef7063c9cfed774b448aabf74078b5932e8e27f8fa36da59bb5c9cac328ac79a511a1
         | 
| @@ -10,13 +10,6 @@ module PkgForge | |
| 10 10 | 
             
                  nil
         | 
| 11 11 | 
             
                end
         | 
| 12 12 |  | 
| 13 | 
            -
                Contract Or[String, Array], Or[HashOf[String => String], {}, nil] => nil
         | 
| 14 | 
            -
                def test_run(cmd, env = {})
         | 
| 15 | 
            -
                  Dir.chdir(tmpdir(:release)) do
         | 
| 16 | 
            -
                    run_local(cmd, env)
         | 
| 17 | 
            -
                  end
         | 
| 18 | 
            -
                end
         | 
| 19 | 
            -
             | 
| 20 13 | 
             
                private
         | 
| 21 14 |  | 
| 22 15 | 
             
                Contract Or[String, Array], Or[HashOf[String => String], {}, nil] => nil
         | 
| @@ -16,6 +16,37 @@ module PkgForge | |
| 16 16 | 
             
                  tester = PkgForge::DSL::Test.new(self)
         | 
| 17 17 | 
             
                  tester.instance_eval(&test_block)
         | 
| 18 18 | 
             
                end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                Contract Or[String, Array], Or[HashOf[String => String], {}, nil] => nil
         | 
| 21 | 
            +
                def test_run(cmd, env = {})
         | 
| 22 | 
            +
                  cmd.unshift('/usr/bin/env') if cmd.is_a? Array
         | 
| 23 | 
            +
                  cmd.prepend('/usr/bin/env ') if cmd.is_a? String
         | 
| 24 | 
            +
                  env['PATH'] ||= './usr/bin'
         | 
| 25 | 
            +
                  lib_override do
         | 
| 26 | 
            +
                    Dir.chdir(tmpdir(:release)) do
         | 
| 27 | 
            +
                      run_local(cmd, env)
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
                end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                private
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                Contract Func[None => nil] => nil
         | 
| 35 | 
            +
                def lib_override
         | 
| 36 | 
            +
                  lib_path_file = '/etc/ld-musl-x86_64.path'
         | 
| 37 | 
            +
                  old_lib_paths = File.read(lib_path_file)
         | 
| 38 | 
            +
                  puts "Setting library path: #{ld_library_path}"
         | 
| 39 | 
            +
                  File.open(lib_path_file, 'w') { |fh| fh << ld_library_path }
         | 
| 40 | 
            +
                  yield
         | 
| 41 | 
            +
                ensure
         | 
| 42 | 
            +
                  File.open(lib_path_file, 'w') { |fh| fh << old_lib_paths }
         | 
| 43 | 
            +
                  nil
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                Contract None => String
         | 
| 47 | 
            +
                def ld_library_path
         | 
| 48 | 
            +
                  deps.keys.map { |x| "#{dep(x)}/usr/lib" }.join(':')
         | 
| 49 | 
            +
                end
         | 
| 19 50 | 
             
              end
         | 
| 20 51 |  | 
| 21 52 | 
             
              module DSL
         | 
| @@ -34,19 +65,8 @@ module PkgForge | |
| 34 65 | 
             
                class Test
         | 
| 35 66 | 
             
                  Contract Or[String, Array], Or[HashOf[String => String], {}, nil] => nil
         | 
| 36 67 | 
             
                  def run(cmd, env = {})
         | 
| 37 | 
            -
                    cmd.unshift('/usr/bin/env') if cmd.is_a? Array
         | 
| 38 | 
            -
                    cmd << ';' if cmd.is_a? String
         | 
| 39 | 
            -
                    env['PATH'] ||= './usr/bin'
         | 
| 40 | 
            -
                    env['LD_LIBRARY_PATH'] ||= ld_library_path
         | 
| 41 68 | 
             
                    @forge.test_run(cmd, env)
         | 
| 42 69 | 
             
                  end
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                  private
         | 
| 45 | 
            -
             | 
| 46 | 
            -
                  Contract None => String
         | 
| 47 | 
            -
                  def ld_library_path
         | 
| 48 | 
            -
                    @forge.deps.keys.map { |x| "#{@forge.dep(x)}/usr/lib" }.join(':')
         | 
| 49 | 
            -
                  end
         | 
| 50 70 | 
             
                end
         | 
| 51 71 | 
             
              end
         | 
| 52 72 | 
             
            end
         | 
    
        data/lib/pkgforge/version.rb
    CHANGED