Make the plnet module a script that uses plcsh to get info for a node.
[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 # $Id$
9 #
10
11 import os
12 from distutils.core import setup, Extension
13 from distutils.cmd import Command
14 from distutils.command.sdist import sdist
15
16 extra_dist = ['pyplnet.spec']
17
18 class my_sdist(sdist):
19     def add_defaults(self):
20         sdist.add_defaults(self)
21         if self.distribution.has_data_files():
22             for data in self.distribution.data_files:
23                 self.filelist.extend(data[1])
24         self.filelist.extend(extra_dist)
25
26 class bdist_rpmspec(Command):
27     user_options = [("rpmdef=", None, "define variables")]
28     def initialize_options(self):
29         self.rpmdef = None
30     def finalize_options(self):
31         pass
32     def run(self):
33         saved_dist_files = self.distribution.dist_files[:]
34         sdist = self.reinitialize_command('sdist')
35         sdist.formats = ['gztar']
36         self.run_command('sdist')
37         self.distribution.dist_files = saved_dist_files
38         command = ["rpmbuild", "-tb"]
39         if self.rpmdef is not None:
40             command.extend(["--define", self.rpmdef])
41         command.append(sdist.get_archive_files()[0])
42         print "running '%s'" % "' '".join(command)
43         if not self.dry_run:
44             os.spawnvp(os.P_WAIT, "rpmbuild", command)
45
46 setup(
47     name='pyplnet',
48     version='4.3',
49     ext_modules=[
50     Extension('sioc', ['sioc.c']),
51     ],
52     py_modules=[
53     'plnet',
54     'modprobe',
55     ],
56     cmdclass={'sdist': my_sdist, 'bdist_rpmspec': bdist_rpmspec},
57     )