fpm 0.2.28 → 0.2.29

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.
Files changed (4) hide show
  1. data/CHANGELIST +6 -0
  2. data/lib/fpm.rb +1 -0
  3. data/lib/fpm/source/tar.rb +46 -0
  4. metadata +4 -17
data/CHANGELIST CHANGED
@@ -1,3 +1,9 @@
1
+ 0.2.29 (May 20, 2011)
2
+ - Add 'tar' source support. Useful for binary releases to repackage as rpms
3
+ and debs. Example:
4
+ fpm -s tar -t rpm -n firefox -v 4.0.1 \
5
+ --prefix /opt/firefox/4.0.1 firefox-4.0.1.tar.bz2
6
+
1
7
  0.2.28 (May 18, 2011)
2
8
  - Use --replaces as "Obsoletes" in rpms.
3
9
 
data/lib/fpm.rb CHANGED
@@ -10,3 +10,4 @@ require "fpm/source/dir"
10
10
  require "fpm/source/gem"
11
11
  require "fpm/source/python"
12
12
  require "fpm/source/rpm"
13
+ require "fpm/source/tar"
@@ -0,0 +1,46 @@
1
+ require "fpm/source"
2
+ require "fileutils"
3
+ require "fpm/rubyfixes"
4
+
5
+ class FPM::Source::Tar < FPM::Source
6
+ def get_metadata
7
+ self[:name] = @paths.first.split(".").first
8
+ end # def get_metadata
9
+
10
+ def make_tarball!(tar_path, builddir)
11
+ input_tarball = @paths.first
12
+
13
+ if input_tarball =~ /\.tar\.bz2$/
14
+ compression = :bipz2
15
+ elsif input_tarball =~ /\.tar\.gz$/
16
+ compression = :gzip
17
+ else
18
+ compression = :none
19
+ end
20
+
21
+ # Unpack the tar file
22
+ installdir = "#{builddir}/tarbuild/#{self[:prefix]}"
23
+ FileUtils.mkdir_p(installdir)
24
+ flags = "-xf #{input_tarball} -C #{installdir}"
25
+ case compression
26
+ when :bzip2; flags += " -j"
27
+ when :gzip; flags += " -z"
28
+ end
29
+ #puts("tar #{flags}")
30
+ #sleep 5
31
+ system("tar #{flags}")
32
+
33
+ if self[:prefix]
34
+ @paths = [self[:prefix]]
35
+ else
36
+ @paths = ["."]
37
+ end
38
+
39
+ ::Dir.chdir("#{builddir}/tarbuild") do
40
+ tar(tar_path, ".")
41
+ end
42
+
43
+ # TODO(sissel): Make a helper method.
44
+ system(*["gzip", "-f", tar_path])
45
+ end # def make_tarball!
46
+ end # class FPM::Source::Dir
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fpm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 47
5
4
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 28
10
- version: 0.2.28
5
+ version: 0.2.29
11
6
  platform: ruby
12
7
  authors:
13
8
  - Jordan Sissel
@@ -15,7 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2011-05-18 00:00:00 -07:00
13
+ date: 2011-05-20 00:00:00 -07:00
19
14
  default_executable:
20
15
  dependencies:
21
16
  - !ruby/object:Gem::Dependency
@@ -26,9 +21,6 @@ dependencies:
26
21
  requirements:
27
22
  - - ">="
28
23
  - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
24
  version: "0"
33
25
  type: :runtime
34
26
  version_requirements: *id001
@@ -60,6 +52,7 @@ files:
60
52
  - lib/fpm/source/pyfpm/get_metadata.pyc
61
53
  - lib/fpm/source/pyfpm/get_metadata.py
62
54
  - lib/fpm/source/pyfpm/__init__.py
55
+ - lib/fpm/source/tar.rb
63
56
  - lib/fpm/source/gem.rb
64
57
  - lib/fpm/target/deb.rb
65
58
  - lib/fpm/target/rpm.rb
@@ -88,23 +81,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
88
81
  requirements:
89
82
  - - ">="
90
83
  - !ruby/object:Gem::Version
91
- hash: 3
92
- segments:
93
- - 0
94
84
  version: "0"
95
85
  required_rubygems_version: !ruby/object:Gem::Requirement
96
86
  none: false
97
87
  requirements:
98
88
  - - ">="
99
89
  - !ruby/object:Gem::Version
100
- hash: 3
101
- segments:
102
- - 0
103
90
  version: "0"
104
91
  requirements: []
105
92
 
106
93
  rubyforge_project:
107
- rubygems_version: 1.5.1
94
+ rubygems_version: 1.6.0
108
95
  signing_key:
109
96
  specification_version: 3
110
97
  summary: fpm - package building and mangling