blob: d43355ef9d44564c6237fa0dc17e4405389e8984 [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',
Phil51374442010-04-10 00:36:38 +020044 version = '2.1.1',
Phil5826cc42009-11-05 11:55:10 +010045 packages=['scapy','scapy/arch', 'scapy/arch/windows', 'scapy/layers','scapy/asn1','scapy/tools','scapy/modules', 'scapy/crypto'],
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)