]> git.rkrishnan.org Git - tahoe-lafs/zfec.git/blob - zfec/setuptools-0.6c15dev.egg/setuptools/command/bdist_rpm.py
8c48da35591037462d40d15adb96bdeb4351d30f
[tahoe-lafs/zfec.git] / zfec / setuptools-0.6c15dev.egg / setuptools / command / bdist_rpm.py
1 # This is just a kludge so that bdist_rpm doesn't guess wrong about the
2 # distribution name and version, if the egg_info command is going to alter
3 # them, another kludge to allow you to build old-style non-egg RPMs, and
4 # finally, a kludge to track .rpm files for uploading when run on Python <2.5.
5
6 from distutils.command.bdist_rpm import bdist_rpm as _bdist_rpm
7 import sys, os
8
9 class bdist_rpm(_bdist_rpm):
10
11     def initialize_options(self):
12         _bdist_rpm.initialize_options(self)
13         self.no_egg = None
14
15     if sys.version<"2.5":
16         # Track for uploading any .rpm file(s) moved to self.dist_dir
17         def move_file(self, src, dst, level=1):
18             _bdist_rpm.move_file(self, src, dst, level)
19             if dst==self.dist_dir and src.endswith('.rpm'):
20                 getattr(self.distribution,'dist_files',[]).append(
21                     ('bdist_rpm',
22                     src.endswith('.src.rpm') and 'any' or sys.version[:3],
23                      os.path.join(dst, os.path.basename(src)))
24                 )
25
26     def run(self):
27         self.run_command('egg_info')    # ensure distro name is up-to-date
28         _bdist_rpm.run(self)
29
30
31
32
33
34
35
36
37
38
39
40
41
42     def _make_spec_file(self):
43         version = self.distribution.get_version()
44         rpmversion = version.replace('-','_')
45         spec = _bdist_rpm._make_spec_file(self)
46         line23 = '%define version '+version
47         line24 = '%define version '+rpmversion
48         spec  = [
49             line.replace(
50                 "Source0: %{name}-%{version}.tar",
51                 "Source0: %{name}-%{unmangled_version}.tar"
52             ).replace(
53                 "setup.py install ",
54                 "setup.py install --single-version-externally-managed "
55             ).replace(
56                 "%setup",
57                 "%setup -n %{name}-%{unmangled_version}"
58             ).replace(line23,line24)
59             for line in spec
60         ]
61         spec.insert(spec.index(line24)+1, "%define unmangled_version "+version)
62         return spec
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82