blob: 477e26d26399960d1b49fcf7b7a62ee391a39377 [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()
28 of.close()
29 os.unlink(ofname)
30 os.chmod(fname,0755)
31 return fname
32
33
34
35archive_util.ARCHIVE_FORMATS["ezip"] = (make_ezipfile,[],'Executable ZIP file')
36
Dirk Loss29146dd2009-10-18 14:36:33 +020037SCRIPTS = ['bin/scapy','bin/UTscapy']
38# On Windows we also need additional batch files to run the above scripts
39if os.name == "nt":
40 SCRIPTS += ['bin/scapy.bat','bin/UTscapy.bat']
Phil1123fed2008-07-29 15:18:17 +020041
42setup(
Phila6b49922008-08-11 17:42:53 +020043 name = 'scapy',
Phil0a4fdb82009-02-09 13:40:35 +010044 version = '2.0.1-dev',
Phil8162a4e2009-10-06 00:22:17 +020045 packages=['scapy','scapy/arch', 'scapy/arch/windows', 'scapy/layers','scapy/asn1','scapy/tools','scapy/modules'],
Dirk Loss29146dd2009-10-18 14:36:33 +020046 scripts = SCRIPTS,
Phild4d86e92008-08-10 18:46:34 +020047 data_files = [('share/man/man1', ["doc/scapy.1.gz"])],
48
Phil1123fed2008-07-29 15:18:17 +020049 # Metadata
50 author = 'Philippe BIONDI',
51 author_email = 'phil(at)secdev.org',
52 description = 'Scapy: interactive packet manipulation tool',
53 license = 'GPLv2',
54 url = 'http://www.secdev.org/projects/scapy'
55 # keywords = '',
56 # url = '',
57)