3 # Setup script for pyplnet
5 # Daniel Hokka Zakrisson <daniel@hozac.com>
6 # Copyright (C) 2008 The Trustees of Princeton University
10 from distutils.core import setup, Extension
11 from distutils.cmd import Command
12 from distutils.command.sdist import sdist
14 extra_dist = ['pyplnet.spec']
16 class my_sdist(sdist):
17 def add_defaults(self):
18 sdist.add_defaults(self)
19 if self.distribution.has_data_files():
20 for data in self.distribution.data_files:
21 self.filelist.extend(data[1])
22 self.filelist.extend(extra_dist)
24 class bdist_rpmspec(Command):
25 user_options = [("rpmdef=", None, "define variables")]
26 def initialize_options(self):
28 def finalize_options(self):
31 saved_dist_files = self.distribution.dist_files[:]
32 sdist = self.reinitialize_command('sdist')
33 sdist.formats = ['gztar']
34 self.run_command('sdist')
35 self.distribution.dist_files = saved_dist_files
36 command = ["rpmbuild", "-tb"]
37 if self.rpmdef is not None:
38 command.extend(["--define", self.rpmdef])
39 command.append(sdist.get_archive_files()[0])
40 print "running '%s'" % "' '".join(command)
42 os.spawnvp(os.P_WAIT, "rpmbuild", command)
52 cmdclass={'sdist': my_sdist, 'bdist_rpmspec': bdist_rpmspec},