blob: 779c4b7aff7edc0bb922fae34dbf1fc3bc7b6019 [file] [log] [blame]
Phil1123fed2008-07-29 15:18:17 +02001#! /usr/bin/env python
2
3
4from distutils import archive_util
5from distutils import sysconfig
6from distutils.core import setup
7from distutils.command.sdist import sdist
8import os
9
10
11EZIP_HEADER="""#! /bin/sh
Phil71ad2b62009-04-14 01:16:00 +020012PYTHONPATH=$0/%s exec python -m scapy.__init__
Phil1123fed2008-07-29 15:18:17 +020013"""
14
15def make_ezipfile(base_name, base_dir, verbose=0, dry_run=0):
16 fname = archive_util.make_zipfile(base_name, base_dir, verbose, dry_run)
17 ofname = fname+".old"
18 os.rename(fname,ofname)
19 of=open(ofname)
20 f=open(fname,"w")
21 f.write(EZIP_HEADER % base_dir)
22 while True:
23 data = of.read(8192)
24 if not data:
25 break
26 f.write(data)
27 f.close()
Phile31a8512010-08-06 11:53:22 +020028 os.system("zip -A '%s'" % fname)
Phil1123fed2008-07-29 15:18:17 +020029 of.close()
30 os.unlink(ofname)
31 os.chmod(fname,0755)
32 return fname
33
34
35
36archive_util.ARCHIVE_FORMATS["ezip"] = (make_ezipfile,[],'Executable ZIP file')
37
Dirk Loss29146dd2009-10-18 14:36:33 +020038SCRIPTS = ['bin/scapy','bin/UTscapy']
39# On Windows we also need additional batch files to run the above scripts
40if os.name == "nt":
41 SCRIPTS += ['bin/scapy.bat','bin/UTscapy.bat']
Phil1123fed2008-07-29 15:18:17 +020042
43setup(
Phila6b49922008-08-11 17:42:53 +020044 name = 'scapy',
Phil8d048ba2010-04-10 00:37:44 +020045 version = '2.1.1-dev',
Phil5826cc42009-11-05 11:55:10 +010046 packages=['scapy','scapy/arch', 'scapy/arch/windows', 'scapy/layers','scapy/asn1','scapy/tools','scapy/modules', 'scapy/crypto'],
Dirk Loss29146dd2009-10-18 14:36:33 +020047 scripts = SCRIPTS,
Phild4d86e92008-08-10 18:46:34 +020048 data_files = [('share/man/man1', ["doc/scapy.1.gz"])],
49
Phil1123fed2008-07-29 15:18:17 +020050 # Metadata
51 author = 'Philippe BIONDI',
52 author_email = 'phil(at)secdev.org',
53 description = 'Scapy: interactive packet manipulation tool',
54 license = 'GPLv2',
55 url = 'http://www.secdev.org/projects/scapy'
56 # keywords = '',
57 # url = '',
58)