fpm 0.4.12 → 0.4.13
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.
- data/CHANGELIST +5 -0
 - data/lib/fpm/package.rb +30 -10
 - metadata +2 -2
 
    
        data/CHANGELIST
    CHANGED
    
    | 
         @@ -1,3 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            0.4.13 (August 14, 2012)
         
     | 
| 
      
 2 
     | 
    
         
            +
              - Make --exclude accept path prefixes as well. If you have a files in
         
     | 
| 
      
 3 
     | 
    
         
            +
                'usr/share/man' in your package, you can now exclude all of a subdir
         
     | 
| 
      
 4 
     | 
    
         
            +
                by doing '--exclude usr/share/man'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       1 
6 
     | 
    
         
             
            0.4.12 (August 10, 2012)
         
     | 
| 
       2 
7 
     | 
    
         
             
              - Fix a major bug introduced in 0.4.11 that caused all deb packages to
         
     | 
| 
       3 
8 
     | 
    
         
             
                contain empty maintainer scripts if not otherwise specified, which made
         
     | 
    
        data/lib/fpm/package.rb
    CHANGED
    
    | 
         @@ -343,23 +343,43 @@ class FPM::Package 
     | 
|
| 
       343 
343 
     | 
    
         
             
                  installdir = staging_path
         
     | 
| 
       344 
344 
     | 
    
         
             
                end
         
     | 
| 
       345 
345 
     | 
    
         | 
| 
      
 346 
     | 
    
         
            +
                exclude_path = proc do |file|
         
     | 
| 
      
 347 
     | 
    
         
            +
                  FileUtils.remove_entry_secure(staging_path(file))
         
     | 
| 
      
 348 
     | 
    
         
            +
                  Pathname.new(staging_path(file)).parent.ascend do |d|
         
     | 
| 
      
 349 
     | 
    
         
            +
                    if (::Dir.entries(d) - %w[ . .. ]).empty?
         
     | 
| 
      
 350 
     | 
    
         
            +
                      ::Dir.rmdir(d)
         
     | 
| 
      
 351 
     | 
    
         
            +
                      @logger.info("Deleting empty directory left by removing exluded file", :path => d)
         
     | 
| 
      
 352 
     | 
    
         
            +
                    else
         
     | 
| 
      
 353 
     | 
    
         
            +
                      break
         
     | 
| 
      
 354 
     | 
    
         
            +
                    end
         
     | 
| 
      
 355 
     | 
    
         
            +
                  end
         
     | 
| 
      
 356 
     | 
    
         
            +
                end # exclude_path
         
     | 
| 
      
 357 
     | 
    
         
            +
             
     | 
| 
       346 
358 
     | 
    
         
             
                attributes[:excludes].each do |wildcard|
         
     | 
| 
       347 
359 
     | 
    
         
             
                  @logger.debug("Checking for things to exclude", :wildcard => wildcard)
         
     | 
| 
       348 
360 
     | 
    
         
             
                  files.each do |file|
         
     | 
| 
      
 361 
     | 
    
         
            +
                    @logger.debug("Checking path against wildcard", :path => file, :wildcard => wildcard)
         
     | 
| 
       349 
362 
     | 
    
         
             
                    if File.fnmatch(wildcard, file)
         
     | 
| 
       350 
363 
     | 
    
         
             
                      @logger.info("Removing excluded file", :path => file, :matches => wildcard)
         
     | 
| 
       351 
     | 
    
         
            -
                       
     | 
| 
       352 
     | 
    
         
            -
                       
     | 
| 
       353 
     | 
    
         
            -
             
     | 
| 
       354 
     | 
    
         
            -
             
     | 
| 
       355 
     | 
    
         
            -
             
     | 
| 
       356 
     | 
    
         
            -
             
     | 
| 
       357 
     | 
    
         
            -
             
     | 
| 
       358 
     | 
    
         
            -
             
     | 
| 
      
 364 
     | 
    
         
            +
                      exclude_path.call(file)
         
     | 
| 
      
 365 
     | 
    
         
            +
                      next
         
     | 
| 
      
 366 
     | 
    
         
            +
                    end
         
     | 
| 
      
 367 
     | 
    
         
            +
             
     | 
| 
      
 368 
     | 
    
         
            +
                    @logger.debug("Checking if path is a child of an excluded directory",
         
     | 
| 
      
 369 
     | 
    
         
            +
                                  :path => file, :wildcard => wildcard,
         
     | 
| 
      
 370 
     | 
    
         
            +
                                  :directory? => File.directory?(staging_path(wildcard)))
         
     | 
| 
      
 371 
     | 
    
         
            +
                    if File.directory?(staging_path(wildcard))
         
     | 
| 
      
 372 
     | 
    
         
            +
                      # issue #248, if the excludes entry is a directory, ignore that
         
     | 
| 
      
 373 
     | 
    
         
            +
                      # directory and anything inside it.
         
     | 
| 
      
 374 
     | 
    
         
            +
                      exclude_re = Regexp.new("^#{Regexp.escape(wildcard)}($|/)")
         
     | 
| 
      
 375 
     | 
    
         
            +
                      if exclude_re.match(file)
         
     | 
| 
      
 376 
     | 
    
         
            +
                        @logger.info("Removing excluded file which has a parent excluded directory",
         
     | 
| 
      
 377 
     | 
    
         
            +
                                     :path => file, :excluded => wildcard)
         
     | 
| 
      
 378 
     | 
    
         
            +
                        exclude_path.call(file)
         
     | 
| 
       359 
379 
     | 
    
         
             
                      end
         
     | 
| 
       360 
380 
     | 
    
         
             
                    end
         
     | 
| 
       361 
     | 
    
         
            -
                  end
         
     | 
| 
       362 
     | 
    
         
            -
                end
         
     | 
| 
      
 381 
     | 
    
         
            +
                  end 
         
     | 
| 
      
 382 
     | 
    
         
            +
                end # files.each
         
     | 
| 
       363 
383 
     | 
    
         
             
              end # def exclude
         
     | 
| 
       364 
384 
     | 
    
         | 
| 
       365 
385 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: fpm
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.4. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.4.13
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2012-08- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2012-08-14 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: json
         
     |