fpm 0.2.28 → 0.2.29

Sign up to get free protection for your applications and to get access to all the features.
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