make tags ; no svn-keywords
[pyplnet.git] / setup.py
1 #!/usr/bin/python
2 #
3 # Setup script for pyplnet
4 #
5 # Daniel Hokka Zakrisson <daniel@hozac.com>
6 # Copyright (C) 2008 The Trustees of Princeton University
7 #
8
9 import os
10 from distutils.core import setup, Extension
11 from distutils.cmd import Command
12 from distutils.command.sdist import sdist
13
14 extra_dist = ['pyplnet.spec']
15
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)
23
24 class bdist_rpmspec(Command):
25     user_options = [("rpmdef=", None, "define variables")]
26     def initialize_options(self):
27         self.rpmdef = None
28     def finalize_options(self):
29         pass
30     def run(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)
41         if not self.dry_run:
42             os.spawnvp(os.P_WAIT, "rpmbuild", command)
43
44 setup(
45     name='pyplnet',
46     version='4.3',
47     py_modules=[
48     'plnet',
49     'modprobe',
50     'sioc',
51     ],
52     cmdclass={'sdist': my_sdist, 'bdist_rpmspec': bdist_rpmspec},
53     )