@@ -34,14 +34,26 @@ from cloudinit import util
3434# this is a translation of the 'requires'
3535# file pypi package name to a redhat/fedora package name.
3636PKG_MP = {
37- 'argparse' : 'python-argparse' ,
38- 'boto' : 'python-boto' ,
39- 'cheetah' : 'python-cheetah' ,
40- 'configobj' : 'python-configobj' ,
41- 'oauth' : 'python-oauth' ,
42- 'prettytable' : 'python-prettytable' ,
43- 'pyyaml' : 'PyYAML' ,
44- 'requests' : 'python-requests' ,
37+ 'redhat' : {
38+ 'argparse' : 'python-argparse' ,
39+ 'boto' : 'python-boto' ,
40+ 'cheetah' : 'python-cheetah' ,
41+ 'configobj' : 'python-configobj' ,
42+ 'oauth' : 'python-oauth' ,
43+ 'prettytable' : 'python-prettytable' ,
44+ 'pyyaml' : 'PyYAML' ,
45+ 'requests' : 'python-requests' ,
46+ },
47+ 'suse' : {
48+ 'argparse' : 'python-argparse' ,
49+ 'boto' : 'python-boto' ,
50+ 'cheetah' : 'python-cheetah' ,
51+ 'configobj' : 'python-configobj' ,
52+ 'oauth' : 'python-oauth' ,
53+ 'prettytable' : 'python-prettytable' ,
54+ 'pyyaml' : 'python-yaml' ,
55+ 'requests' : 'python-requests' ,
56+ }
4557}
4658
4759# Subdirectories of the ~/rpmbuild dir
@@ -120,7 +132,7 @@ def generate_spec_contents(args, tmpl_fn, top_dir, arc_fn):
120132 # Map to known packages
121133 requires = []
122134 for p in pkgs :
123- tgt_pkg = PKG_MP .get (p )
135+ tgt_pkg = PKG_MP [ args . distro ] .get (p )
124136 if not tgt_pkg :
125137 raise RuntimeError (("Do not know how to translate pypi dependency"
126138 " %r to a known package" ) % (p ))
@@ -142,10 +154,11 @@ def generate_spec_contents(args, tmpl_fn, top_dir, arc_fn):
142154 missing_versions += 1
143155 if missing_versions == 1 :
144156 # Must be using a new 'dev'/'trunk' release
145- changelog_lines .append (format_change_line (datetime .now (), '??' ))
157+ changelog_lines .append (format_change_line (datetime .now (),
158+ '??' ))
146159 else :
147- sys .stderr .write (("Changelog version line %s "
148- "does not have a corresponding tag!\n " ) % (line ))
160+ sys .stderr .write (("Changelog version line %s does not "
161+ "have a corresponding tag!\n " ) % (line ))
149162 else :
150163 changelog_lines .append (header )
151164 else :
@@ -171,6 +184,10 @@ def generate_spec_contents(args, tmpl_fn, top_dir, arc_fn):
171184def main ():
172185
173186 parser = argparse .ArgumentParser ()
187+ parser .add_argument ("-d" , "--distro" , dest = "distro" ,
188+ help = "select distro (default: %(default)s)" ,
189+ metavar = "DISTRO" , default = 'redhat' ,
190+ choices = ('redhat' , 'suse' ))
174191 parser .add_argument ("-b" , "--boot" , dest = "boot" ,
175192 help = "select boot type (default: %(default)s)" ,
176193 metavar = "TYPE" , default = 'sysvinit' ,
@@ -218,7 +235,7 @@ def main():
218235
219236 # Form the spec file to be used
220237 tmpl_fn = util .abs_join (find_root (), 'packages' ,
221- 'redhat' , 'cloud-init.spec.in' )
238+ args . distro , 'cloud-init.spec.in' )
222239 contents = generate_spec_contents (args , tmpl_fn , root_dir ,
223240 os .path .basename (archive_fn ))
224241 spec_fn = util .abs_join (root_dir , 'cloud-init.spec' )
@@ -236,14 +253,16 @@ def main():
236253 globs = []
237254 globs .extend (glob .glob ("%s/*.rpm" %
238255 (util .abs_join (root_dir , 'RPMS' , 'noarch' ))))
256+ globs .extend (glob .glob ("%s/*.rpm" %
257+ (util .abs_join (root_dir , 'RPMS' , 'x86_64' ))))
239258 globs .extend (glob .glob ("%s/*.rpm" %
240259 (util .abs_join (root_dir , 'RPMS' ))))
241260 globs .extend (glob .glob ("%s/*.rpm" %
242261 (util .abs_join (root_dir , 'SRPMS' ))))
243262 for rpm_fn in globs :
244263 tgt_fn = util .abs_join (os .getcwd (), os .path .basename (rpm_fn ))
245264 shutil .move (rpm_fn , tgt_fn )
246- print ("Wrote out redhat package %r" % (tgt_fn ))
265+ print ("Wrote out %s package %r" % (args . distro , tgt_fn ))
247266
248267 return 0
249268
0 commit comments