fpm 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELIST CHANGED
@@ -1,3 +1,7 @@
1
+ 0.4.3 (March 21, 2012)
2
+ - Fix bug in python packaging when invoked with a relative path to a setup.py
3
+ (Reported by Thomas Meson, https://github.com/jordansissel/fpm/pull/180)
4
+
1
5
  0.4.2 (March 21, 2012)
2
6
  - Set default temporary directory to /tmp
3
7
  (https://github.com/jordansissel/fpm/issues/174)
@@ -13,3 +13,4 @@ Pieter Loubser
13
13
  Aleix Conchillo Flaqué (github: aconchillo)
14
14
  Luke Macken (github: lmacken)
15
15
  Matt Blair (github: mblair)
16
+ Thomas Meson (github: zllak)
@@ -77,14 +77,11 @@ class get_metadata(Command):
77
77
  groups = m.groups()
78
78
  name, cond, version = groups[0:3]
79
79
  if groups[3] is not None:
80
- final_deps.append("%s %s %s" % (groups[0],
81
- self._replace_deprecated(groups[3]),
82
- groups[4]))
80
+ final_deps.append("%s %s %s" % (groups[0], groups[3], groups[4]))
81
+ # end if
83
82
  # end if
84
83
 
85
- final_deps.append("%s %s %s" % (name,
86
- self._replace_deprecated(cond),
87
- version))
84
+ final_deps.append("%s %s %s" % (name, cond, version))
88
85
  # end for i in dependencies
89
86
 
90
87
  data["dependencies"] = final_deps
@@ -95,11 +92,5 @@ class get_metadata(Command):
95
92
  except AttributeError, e:
96
93
  # For Python 2.5 and Debian's python-json
97
94
  print json.write(data)
98
-
99
95
  # def run
100
-
101
- def _replace_deprecated(self, sign):
102
- """Replace deprecated operators"""
103
- return {'<': '<<', '>': '>>'}.get(sign, sign)
104
-
105
96
  # class list_dependencies
@@ -117,8 +117,17 @@ class FPM::Package::Python < FPM::Package
117
117
 
118
118
  # Add ./pyfpm/ to the python library path
119
119
  pylib = File.expand_path(File.dirname(__FILE__))
120
- setup_cmd = "env PYTHONPATH=#{pylib} #{attributes[:python_bin]} #{setup_py} --command-packages=pyfpm get_metadata"
121
- output = ::Dir.chdir(File.dirname(setup_py)) { `#{setup_cmd}` }
120
+
121
+ # chdir to the directory holding setup.py because some python setup.py's assume that you are
122
+ # in the same directory.
123
+ output = ::Dir.chdir(File.dirname(setup_py)) do
124
+ setup_cmd = "env PYTHONPATH=#{pylib} #{attributes[:python_bin]} " \
125
+ "setup.py --command-packages=pyfpm get_metadata"
126
+ # Capture the output, which will be JSON metadata describing this python
127
+ # package. See fpm/lib/fpm/package/pyfpm/get_metadata.py for more
128
+ # details.
129
+ `#{setup_cmd}`
130
+ end
122
131
  @logger.warn("json output from setup.py", :data => output)
123
132
  metadata = JSON.parse(output[/\{.*\}/msx])
124
133
 
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.2
4
+ version: 0.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: