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