1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
From: Robert S. Edmonds <edmonds@debian.org>
Subject: remove pypcap setup code
diff -urNad python-pcs-0.5+debian~/setup.py python-pcs-0.5+debian/setup.py
--- python-pcs-0.5+debian~/setup.py 2007-08-08 23:47:57.000000000 -0400
+++ python-pcs-0.5+debian/setup.py 2007-08-14 22:09:46.000000000 -0400
@@ -37,96 +37,7 @@
# Description: The setup script for all of the Packet Construction Set
#
-from distutils.core import setup, Extension
-from distutils.command import config, clean
-from Pyrex.Distutils import build_ext
-import cPickle, glob, os, sys
-
-pcap_config = {}
-pcap_cache = 'pcs/pcap/config.pkl'
-
-class config_pcap(config.config):
- description = 'configure pcap paths'
- user_options = [ ('with-pcap=', None,
- 'path to pcap build or installation directory') ]
-
- def initialize_options(self):
- config.config.initialize_options(self)
- self.dump_source = 0
- #self.noisy = 0
- self.with_pcap = None
-
- def _write_config_h(self, cfg):
- # XXX - write out config.h for pcap_ex.c
- d = {}
- if os.path.exists(os.path.join(cfg['include_dirs'][0], 'pcap-int.h')):
- d['HAVE_PCAP_INT_H'] = 1
- buf = open(os.path.join(cfg['include_dirs'][0], 'pcap.h')).read()
- if buf.find('pcap_file(') != -1:
- d['HAVE_PCAP_FILE'] = 1
- if buf.find('pcap_compile_nopcap(') != -1:
- d['HAVE_PCAP_COMPILE_NOPCAP'] = 1
- if buf.find('pcap_setnonblock(') != -1:
- d['HAVE_PCAP_SETNONBLOCK'] = 1
- f = open('pcs/pcap/config.h', 'w')
- for k, v in d.iteritems():
- f.write('#define %s %s\n' % (k, v))
-
- def _pcap_config(self, dirs=[ None ]):
- cfg = {}
- if not dirs[0]:
- dirs = [ '/usr', sys.prefix ] + glob.glob('/opt/libpcap*') + \
- glob.glob('../libpcap*') + glob.glob('../wpdpack*')
- for d in dirs:
- for sd in ('include', 'include/pcap', ''):
- incdirs = [ os.path.join(d, sd) ]
- if os.path.exists(os.path.join(d, sd, 'pcap.h')):
- cfg['include_dirs'] = [ os.path.join(d, sd) ]
- for sd in ('lib', ''):
- for lib in (('pcap', 'libpcap.a'),
- ('pcap', 'libpcap.dylib'),
- ('wpcap', 'wpcap.lib')):
- if os.path.exists(os.path.join(d, sd, lib[1])):
- cfg['library_dirs'] = [ os.path.join(d, sd) ]
- cfg['libraries'] = [ lib[0] ]
- if lib[0] == 'wpcap':
- cfg['libraries'].append('iphlpapi')
- cfg['extra_compile_args'] = \
- [ '-DWIN32', '-DWPCAP' ]
- print 'found', cfg
- self._write_config_h(cfg)
- return cfg
- raise "couldn't find pcap build or installation directory"
-
- def run(self):
- #config.log.set_verbosity(0)
- cPickle.dump(self._pcap_config([ self.with_pcap ]),
- open(pcap_cache, 'wb'))
- self.temp_files.append(pcap_cache)
-
-class clean_pcap(clean.clean):
- def run(self):
- clean.clean.run(self)
- if self.all and os.path.exists(pcap_cache):
- print "removing '%s'" % pcap_cache
- os.unlink(pcap_cache)
-
-if len(sys.argv) > 1 and sys.argv[1] == 'build':
- try:
- pcap_config = cPickle.load(open(pcap_cache))
- except IOError:
- print >>sys.stderr, 'run "%s config" first!' % sys.argv[0]
- sys.exit(1)
-
-pcap = Extension(name='pcs.pcap',
- sources=[ 'pcs/pcap/pcap.pyx', 'pcs/pcap/pcap_ex.c' ],
- include_dirs=pcap_config.get('include_dirs', ''),
- library_dirs=pcap_config.get('library_dirs', ''),
- libraries=pcap_config.get('libraries', ''),
- extra_compile_args=pcap_config.get('extra_compile_args', '')
- )
-
-pcap_cmds = { 'config':config_pcap, 'clean':clean_pcap, 'build_ext':build_ext }
+from distutils.core import setup
setup(name='pcs',
version='0.5',
@@ -135,6 +46,4 @@
author_email='gnn@neville-neil.com',
url='http://pcs.sf.net',
packages = ['pcs', 'pcs.packets'],
- cmdclass=pcap_cmds,
- ext_modules = [ pcap ],
)
|