author | Shawn Walker <Shawn.Walker@Sun.COM> |
Mon, 22 Dec 2008 13:29:56 -0600 | |
changeset 801 | cf03bb9d909e |
parent 742 | 909b912fa942 |
child 834 | f8b3396500b3 |
permissions | -rw-r--r-- |
409
713e20963dc2
2314 shebang lines should use minimum python version
Shawn Walker <swalker@opensolaris.org>
parents:
395
diff
changeset
|
1 |
#!/usr/bin/python2.4 |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
2 |
# |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
3 |
# CDDL HEADER START |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
4 |
# |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
5 |
# The contents of this file are subject to the terms of the |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
6 |
# Common Development and Distribution License (the "License"). |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
7 |
# You may not use this file except in compliance with the License. |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
8 |
# |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
9 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
10 |
# or http://www.opensolaris.org/os/licensing. |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
11 |
# See the License for the specific language governing permissions |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
12 |
# and limitations under the License. |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
13 |
# |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
14 |
# When distributing Covered Code, include this CDDL HEADER in each |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
15 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
16 |
# If applicable, add the following below this CDDL HEADER, with the |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
17 |
# fields enclosed by brackets "[]" replaced with your own identifying |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
18 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
19 |
# |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
20 |
# CDDL HEADER END |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
21 |
# |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
22 |
# Copyright 2008 Sun Microsystems, Inc. All rights reserved. |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
23 |
# Use is subject to license terms. |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
24 |
# |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
25 |
|
454
c27abbc11c8c
2811 clobber doesn't clobber all versions of dependencies
Shawn Walker <shawn.walker@sun.com>
parents:
452
diff
changeset
|
26 |
import fnmatch |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
27 |
import os |
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
28 |
import platform |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
29 |
import stat |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
30 |
import sys |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
31 |
import shutil |
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
32 |
import re |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
33 |
import subprocess |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
34 |
import tarfile |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
35 |
import tempfile |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
36 |
import urllib |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
37 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
38 |
from distutils.core import setup, Extension |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
39 |
from distutils.cmd import Command |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
40 |
from distutils.command.install import install as _install |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
41 |
from distutils.command.build import build as _build |
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
42 |
from distutils.command.build_py import build_py as _build_py |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
43 |
from distutils.command.bdist import bdist as _bdist |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
44 |
from distutils.command.clean import clean as _clean |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
45 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
46 |
from distutils.sysconfig import get_python_inc |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
47 |
import distutils.file_util as file_util |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
48 |
import distutils.dir_util as dir_util |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
49 |
import distutils.util as util |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
50 |
|
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
51 |
# 3rd party software required for the build |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
52 |
CP = 'CherryPy' |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
53 |
CPIDIR = 'cherrypy' |
801
cf03bb9d909e
5333 upgrade to cherrypy 3.1.1
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
742
diff
changeset
|
54 |
CPVER = '3.1.1' |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
55 |
CPARC = '%s-%s.tar.gz' % (CP, CPVER) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
56 |
CPDIR = '%s-%s' % (CP, CPVER) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
57 |
CPURL = 'http://download.cherrypy.org/cherrypy/%s/%s' % (CPVER, CPARC) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
58 |
|
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
59 |
PO = 'pyOpenSSL' |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
60 |
POIDIR = 'OpenSSL' |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
61 |
POVER = '0.7' |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
62 |
POARC = '%s-%s.tar.gz' % (PO, POVER) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
63 |
PODIR = '%s-%s' % (PO, POVER) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
64 |
POURL = 'http://downloads.sourceforge.net/pyopenssl/%s' % (POARC) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
65 |
|
708
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
66 |
FL = 'figleaf' |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
67 |
FLIDIR = 'figleaf' |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
68 |
FLVER = 'latest' |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
69 |
FLARC = '%s-%s.tar.gz' % (FL, FLVER) |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
70 |
FLDIR = '%s-%s' % (FL, FLVER) |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
71 |
FLURL = 'http://darcs.idyll.org/~t/projects/%s' % FLARC |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
72 |
|
742
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
73 |
MAKO = 'Mako' |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
74 |
MAKOIDIR = 'mako' |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
75 |
MAKOVER = '0.2.2' |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
76 |
MAKOARC = '%s-%s.tar.gz' % (MAKO, MAKOVER) |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
77 |
MAKODIR = '%s-%s' % (MAKO, MAKOVER) |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
78 |
MAKOURL = 'http://www.makotemplates.org/downloads/%s' % (MAKOARC) |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
79 |
|
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
80 |
osname = platform.uname()[0].lower() |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
81 |
ostype = arch = 'unknown' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
82 |
if osname == 'sunos': |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
83 |
arch = platform.processor() |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
84 |
ostype = "posix" |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
85 |
elif osname == 'linux': |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
86 |
arch = "linux_" + platform.machine() |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
87 |
ostype = "posix" |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
88 |
elif osname == 'windows': |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
89 |
arch = osname |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
90 |
ostype = "windows" |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
91 |
elif osname == 'darwin': |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
92 |
arch = osname |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
93 |
ostype = "posix" |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
94 |
|
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
95 |
pwd = os.path.normpath(sys.path[0]) |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
96 |
|
534
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
97 |
# |
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
98 |
# Unbuffer stdout and stderr. This helps to ensure that subprocess output |
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
99 |
# is properly interleaved with output from this program. |
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
100 |
# |
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
101 |
sys.stdout = os.fdopen(sys.stdout.fileno(), "w", 0) |
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
102 |
sys.stderr = os.fdopen(sys.stderr.fileno(), "w", 0) |
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
103 |
|
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
104 |
dist_dir = os.path.normpath(os.path.join(pwd, os.pardir, "proto", "dist_" + arch)) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
105 |
build_dir = os.path.normpath(os.path.join(pwd, os.pardir, "proto", "build_" + arch)) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
106 |
root_dir = os.path.normpath(os.path.join(pwd, os.pardir, "proto", "root_" + arch)) |
534
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
107 |
pkgs_dir = os.path.normpath(os.path.join(pwd, os.pardir, "packages", arch)) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
108 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
109 |
py_install_dir = 'usr/lib/python2.4/vendor-packages' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
110 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
111 |
scripts_dir = 'usr/bin' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
112 |
lib_dir = 'usr/lib' |
661
edf14bae4465
2717 pkg.depotd: need smf support for depot mode options
Brock Pytlik <bpytlik@sun.com>
parents:
613
diff
changeset
|
113 |
svc_method_dir = 'lib/svc/method' |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
114 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
115 |
man1_dir = 'usr/share/man/cat1' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
116 |
man1m_dir = 'usr/share/man/cat1m' |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
117 |
man5_dir = 'usr/share/man/cat5' |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
118 |
resource_dir = 'usr/share/lib/pkg' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
119 |
smf_dir = 'var/svc/manifest/application' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
120 |
zones_dir = 'etc/zones' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
121 |
brand_dir = 'usr/lib/brand/ipkg' |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
122 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
123 |
scripts_sunos = { |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
124 |
scripts_dir: [ |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
125 |
['client.py', 'pkg'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
126 |
['publish.py', 'pkgsend'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
127 |
['pull.py', 'pkgrecv'], |
424
a767ef6bf887
2578 integrate packagemanager into ips gate
Danek Duvall <danek.duvall@sun.com>
parents:
422
diff
changeset
|
128 |
['packagemanager.py', 'packagemanager'], |
578
da257532b3f2
3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents:
534
diff
changeset
|
129 |
['updatemanager.py', 'updatemanager'], |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
130 |
], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
131 |
lib_dir: [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
132 |
['depot.py', 'pkg.depotd'], |
578
da257532b3f2
3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents:
534
diff
changeset
|
133 |
['updatemanagernotifier.py', 'updatemanagernotifier'], |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
134 |
], |
661
edf14bae4465
2717 pkg.depotd: need smf support for depot mode options
Brock Pytlik <bpytlik@sun.com>
parents:
613
diff
changeset
|
135 |
svc_method_dir: [ |
edf14bae4465
2717 pkg.depotd: need smf support for depot mode options
Brock Pytlik <bpytlik@sun.com>
parents:
613
diff
changeset
|
136 |
['svc-pkg-depot', 'svc-pkg-depot'], |
edf14bae4465
2717 pkg.depotd: need smf support for depot mode options
Brock Pytlik <bpytlik@sun.com>
parents:
613
diff
changeset
|
137 |
], |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
138 |
} |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
139 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
140 |
scripts_windows = { |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
141 |
scripts_dir: [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
142 |
['client.py', 'client.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
143 |
['publish.py', 'publish.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
144 |
['pull.py', 'pull.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
145 |
['scripts/pkg.bat', 'pkg.bat'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
146 |
['scripts/pkgsend.bat', 'pkgsend.bat'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
147 |
['scripts/pkgrecv.bat', 'pkgrecv.bat'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
148 |
], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
149 |
lib_dir: [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
150 |
['depot.py', 'depot.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
151 |
['scripts/pkg.depotd.bat', 'pkg.depotd.bat'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
152 |
], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
153 |
} |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
154 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
155 |
scripts_other_unix = { |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
156 |
scripts_dir: [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
157 |
['client.py', 'client.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
158 |
['pull.py', 'pull.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
159 |
['publish.py', 'publish.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
160 |
['scripts/pkg.sh', 'pkg'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
161 |
['scripts/pkgsend.sh', 'pkgsend'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
162 |
['scripts/pkgrecv.sh', 'pkgrecv'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
163 |
], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
164 |
lib_dir: [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
165 |
['depot.py', 'depot.py'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
166 |
['scripts/pkg.depotd.sh', 'pkg.depotd'], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
167 |
], |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
168 |
} |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
169 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
170 |
# indexed by 'osname' |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
171 |
scripts = { |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
172 |
"sunos": scripts_sunos, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
173 |
"linux": scripts_other_unix, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
174 |
"windows": scripts_windows, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
175 |
"darwin": scripts_other_unix, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
176 |
"unknown": scripts_sunos, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
177 |
} |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
178 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
179 |
man1_files = [ |
413
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
180 |
'man/pkg.1', |
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
181 |
'man/pkgsend.1', |
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
182 |
'man/pkgrecv.1', |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
183 |
] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
184 |
man1m_files = [ |
413
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
185 |
'man/pkg.depotd.1m' |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
186 |
] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
187 |
man5_files = [ |
413
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
188 |
'man/pkg.5' |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
189 |
] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
190 |
packages = [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
191 |
'pkg', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
192 |
'pkg.actions', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
193 |
'pkg.bundle', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
194 |
'pkg.client', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
195 |
'pkg.portable', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
196 |
'pkg.publish', |
424
a767ef6bf887
2578 integrate packagemanager into ips gate
Danek Duvall <danek.duvall@sun.com>
parents:
422
diff
changeset
|
197 |
'pkg.server' |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
198 |
] |
742
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
199 |
|
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
200 |
web_files = [] |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
201 |
for entry in os.walk("web"): |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
202 |
web_dir, dirs, files = entry |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
203 |
if not files: |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
204 |
continue |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
205 |
web_files.append((os.path.join(resource_dir, web_dir), [ |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
206 |
os.path.join(web_dir, f) for f in files |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
207 |
if f != "Makefile" |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
208 |
])) |
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
209 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
210 |
zones_files = [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
211 |
'brand/SUNWipkg.xml', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
212 |
] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
213 |
brand_files = [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
214 |
'brand/config.xml', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
215 |
'brand/platform.xml', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
216 |
'brand/pkgcreatezone', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
217 |
] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
218 |
smf_files = [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
219 |
'pkg-server.xml', |
578
da257532b3f2
3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents:
534
diff
changeset
|
220 |
'pkg-update.xml', |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
221 |
] |
691
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
222 |
pspawn_srcs = [ |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
223 |
'modules/pspawn.c' |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
224 |
] |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
225 |
elf_srcs = [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
226 |
'modules/elf.c', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
227 |
'modules/elfextract.c', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
228 |
'modules/liblist.c', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
229 |
] |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
230 |
arch_srcs = [ |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
231 |
'modules/arch.c' |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
232 |
] |
591
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
233 |
_actions_srcs = [ |
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
234 |
'modules/actions/_actions.c' |
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
235 |
] |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
236 |
include_dirs = [ 'modules' ] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
237 |
lint_flags = [ '-u', '-axms', '-erroff=E_NAME_DEF_NOT_USED2' ] |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
238 |
|
708
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
239 |
# Runs the test suite with the code coverage suite (figleaf) turned on, and |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
240 |
# outputs a coverage report. |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
241 |
# TODO: Make the cov report format an option (html, ast, cov, etc) |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
242 |
class cov_func(Command): |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
243 |
description = "Runs figleaf code coverage suite" |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
244 |
user_options = [] |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
245 |
def initialize_options(self): |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
246 |
pass |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
247 |
def finalize_options(self): |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
248 |
pass |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
249 |
def run(self): |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
250 |
if not os.path.isdir(FLDIR): |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
251 |
install_sw(FL, FLVER, FLARC, FLDIR, FLURL, FLIDIR) |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
252 |
# Run the test suite with coverage enabled |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
253 |
os.putenv('PYEXE', sys.executable) |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
254 |
os.chdir(os.path.join(pwd, "tests")) |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
255 |
# Reconstruct the cmdline and send that to run.py |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
256 |
os.environ["PKGCOVERAGE"] = "1" |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
257 |
cmd = [sys.executable, "run.py"] |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
258 |
subprocess.call(cmd) |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
259 |
print "Generating coverage report in directory: '%s/cov_report'" % \ |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
260 |
pwd |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
261 |
os.system("figleaf2html -d cov_report .figleaf") |
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
262 |
|
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
263 |
# Runs lint on the extension module source code |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
264 |
class lint_func(Command): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
265 |
description = "Runs various lint tools over IPS extension source code" |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
266 |
user_options = [] |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
267 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
268 |
def initialize_options(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
269 |
pass |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
270 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
271 |
def finalize_options(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
272 |
pass |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
273 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
274 |
# Make string shell-friendly |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
275 |
@staticmethod |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
276 |
def escape(astring): |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
277 |
return astring.replace(' ', '\\ ') |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
278 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
279 |
def run(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
280 |
# assumes lint is on the $PATH |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
281 |
if osname == 'sunos' or osname == "linux": |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
282 |
archcmd = ['lint'] + lint_flags + ['-D_FILE_OFFSET_BITS=64'] + \ |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
283 |
["%s%s" % ("-I", k) for k in include_dirs] + \ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
284 |
['-I' + self.escape(get_python_inc())] + \ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
285 |
arch_srcs |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
286 |
elfcmd = ['lint'] + lint_flags + \ |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
287 |
["%s%s" % ("-I", k) for k in include_dirs] + \ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
288 |
['-I' + self.escape(get_python_inc())] + \ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
289 |
["%s%s" % ("-l", k) for k in elf_libraries] + \ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
290 |
elf_srcs |
591
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
291 |
_actionscmd = ['lint'] + lint_flags + \ |
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
292 |
["%s%s" % ("-I", k) for k in include_dirs] + \ |
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
293 |
['-I' + self.escape(get_python_inc())] + \ |
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
294 |
_actions_srcs |
691
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
295 |
pspawncmd = ['lint'] + lint_flags + ['-D_FILE_OFFSET_BITS=64'] + \ |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
296 |
["%s%s" % ("-I", k) for k in include_dirs] + \ |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
297 |
['-I' + self.escape(get_python_inc())] + \ |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
298 |
pspawn_srcs |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
299 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
300 |
print(" ".join(archcmd)) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
301 |
os.system(" ".join(archcmd)) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
302 |
print(" ".join(elfcmd)) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
303 |
os.system(" ".join(elfcmd)) |
591
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
304 |
print(" ".join(_actionscmd)) |
dbe9236b0884
2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents:
578
diff
changeset
|
305 |
os.system(" ".join(_actionscmd)) |
691
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
306 |
print(" ".join(pspawncmd)) |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
307 |
os.system(" ".join(pspawncmd)) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
308 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
309 |
proto = os.path.join(root_dir, py_install_dir) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
310 |
sys.path.insert(0, proto) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
311 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
312 |
# Insert tests directory onto sys.path so any custom checkers |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
313 |
# can be found. |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
314 |
sys.path.insert(0, os.path.join(pwd, 'tests')) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
315 |
print(sys.path) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
316 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
317 |
# assumes pylint is accessible on the sys.path |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
318 |
from pylint import lint |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
319 |
scriptlist = [ 'setup.py' ] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
320 |
for d, m in scripts_sunos.items(): |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
321 |
for a in m: |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
322 |
# specify the filenames of the scripts, in addition |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
323 |
# to the package names themselves |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
324 |
scriptlist.append(os.path.join(root_dir, d, a[1])) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
325 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
326 |
# For some reason, the load-plugins option, when used in the |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
327 |
# rcfile, does not work, so we put it here instead, to load |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
328 |
# our custom checkers. |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
329 |
lint.Run(['--load-plugins=multiplatform', '--rcfile', |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
330 |
os.path.join(pwd, 'tests', 'pylintrc')] + |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
331 |
scriptlist + packages) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
332 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
333 |
class install_func(_install): |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
334 |
def initialize_options(self): |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
335 |
_install.initialize_options(self) |
506
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
336 |
|
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
337 |
# PRIVATE_BUILD set in the environment tells us to put the build |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
338 |
# directory into the .pyc files, rather than the final |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
339 |
# installation directory. |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
340 |
private_build = os.getenv("PRIVATE_BUILD", None) |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
341 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
342 |
# It's OK to have /'s here, python figures it out when writing files |
506
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
343 |
if private_build is None: |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
344 |
self.install_lib = py_install_dir |
513
4ddcb572f5d9
3330 smf manifest file in wrong location
Danek Duvall <danek.duvall@sun.com>
parents:
506
diff
changeset
|
345 |
self.install_data = "/" |
506
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
346 |
self.root = root_dir |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
347 |
else: |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
348 |
self.install_lib = os.path.join(root_dir, py_install_dir) |
513
4ddcb572f5d9
3330 smf manifest file in wrong location
Danek Duvall <danek.duvall@sun.com>
parents:
506
diff
changeset
|
349 |
self.install_data = root_dir |
506
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
350 |
|
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
351 |
# This is used when installing scripts, below, but it isn't a |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
352 |
# standard distutils variable. |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
353 |
self.root_dir = root_dir |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
354 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
355 |
def run(self): |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
356 |
""" |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
357 |
At the end of the install function, we need to rename some files |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
358 |
because distutils provides no way to rename files as they are |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
359 |
placed in their install locations. |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
360 |
Also, make sure that cherrypy is installed. |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
361 |
""" |
413
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
362 |
for f in man1_files + man1m_files + man5_files: |
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
363 |
file_util.copy_file(f + ".txt", f, update=1) |
3170bad6ceb7
2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents:
409
diff
changeset
|
364 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
365 |
_install.run(self) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
366 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
367 |
for d, files in scripts[osname].iteritems(): |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
368 |
for (srcname, dstname) in files: |
506
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
369 |
dst_dir = util.change_root(self.root_dir, d) |
acc9011bd8d4
2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents:
498
diff
changeset
|
370 |
dst_path = util.change_root(self.root_dir, |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
371 |
os.path.join(d, dstname)) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
372 |
dir_util.mkpath(dst_dir, verbose = True) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
373 |
file_util.copy_file(srcname, dst_path, update = True) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
374 |
# make scripts executable |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
375 |
os.chmod(dst_path, |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
376 |
os.stat(dst_path).st_mode | stat.S_IEXEC) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
377 |
|
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
378 |
install_sw(CP, CPVER, CPARC, CPDIR, CPURL, CPIDIR) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
379 |
install_sw(PO, POVER, POARC, PODIR, POURL, POIDIR) |
742
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
380 |
install_sw(MAKO, MAKOVER, MAKOARC, MAKODIR, MAKOURL, MAKOIDIR) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
381 |
|
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
382 |
def install_sw(swname, swver, swarc, swdir, swurl, swidir): |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
383 |
if not os.path.exists(swarc): |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
384 |
print "downloading %s" % swname |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
385 |
try: |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
386 |
fname, hdr = urllib.urlretrieve(swurl, swarc) |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
387 |
except IOError: |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
388 |
pass |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
389 |
if not os.path.exists(swarc) or \ |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
390 |
(hdr.gettype() != "application/x-gzip" and |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
391 |
hdr.gettype() != "application/x-tar"): |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
392 |
print "Unable to retrieve %s.\nPlease retrieve the file " \ |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
393 |
"and place it at: %s\n" % (swurl, swarc) |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
394 |
# remove a partial download or error message from proxy |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
395 |
remove_sw(swname) |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
396 |
sys.exit(1) |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
397 |
if not os.path.exists(swdir): |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
398 |
print "unpacking %s" % swname |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
399 |
tar = tarfile.open(swarc) |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
400 |
# extractall doesn't exist until python 2.5 |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
401 |
for m in tar.getmembers(): |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
402 |
tar.extract(m) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
403 |
tar.close() |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
404 |
swinst_dir = os.path.join(root_dir, py_install_dir, swidir) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
405 |
if not os.path.exists(swinst_dir): |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
406 |
print "installing %s" % swname |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
407 |
subprocess.Popen(['python', 'setup.py', 'install', |
498
e1c077b81de6
3135 SUNWpython-cherrypy delivers pyc files with embedded gate path
Danek Duvall <danek.duvall@sun.com>
parents:
465
diff
changeset
|
408 |
'--root=%s' % root_dir, |
e1c077b81de6
3135 SUNWpython-cherrypy delivers pyc files with embedded gate path
Danek Duvall <danek.duvall@sun.com>
parents:
465
diff
changeset
|
409 |
'--install-lib=%s' % py_install_dir, |
e1c077b81de6
3135 SUNWpython-cherrypy delivers pyc files with embedded gate path
Danek Duvall <danek.duvall@sun.com>
parents:
465
diff
changeset
|
410 |
'--install-data=%s' % py_install_dir], |
e1c077b81de6
3135 SUNWpython-cherrypy delivers pyc files with embedded gate path
Danek Duvall <danek.duvall@sun.com>
parents:
465
diff
changeset
|
411 |
cwd = swdir).wait() |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
412 |
|
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
413 |
|
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
414 |
def remove_sw(swname): |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
415 |
print("deleting %s" % swname) |
454
c27abbc11c8c
2811 clobber doesn't clobber all versions of dependencies
Shawn Walker <shawn.walker@sun.com>
parents:
452
diff
changeset
|
416 |
for file in os.listdir("."): |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
417 |
if fnmatch.fnmatch(file, "%s*" % swname): |
454
c27abbc11c8c
2811 clobber doesn't clobber all versions of dependencies
Shawn Walker <shawn.walker@sun.com>
parents:
452
diff
changeset
|
418 |
if os.path.isfile(file): |
c27abbc11c8c
2811 clobber doesn't clobber all versions of dependencies
Shawn Walker <shawn.walker@sun.com>
parents:
452
diff
changeset
|
419 |
os.unlink(file) |
c27abbc11c8c
2811 clobber doesn't clobber all versions of dependencies
Shawn Walker <shawn.walker@sun.com>
parents:
452
diff
changeset
|
420 |
else: |
c27abbc11c8c
2811 clobber doesn't clobber all versions of dependencies
Shawn Walker <shawn.walker@sun.com>
parents:
452
diff
changeset
|
421 |
shutil.rmtree(file, True) |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
422 |
|
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
423 |
class build_func(_build): |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
424 |
def initialize_options(self): |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
425 |
_build.initialize_options(self) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
426 |
self.build_base = build_dir |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
427 |
|
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
428 |
def get_hg_version(): |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
429 |
try: |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
430 |
p = subprocess.Popen(['hg', 'id', '-i'], stdout = subprocess.PIPE) |
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
431 |
return p.communicate()[0].strip() |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
432 |
except OSError: |
384
9d4746e5dd3e
115 pkg needs to not have a cow on a SIGPIPE
Shawn Walker <swalker@opensolaris.org>
parents:
383
diff
changeset
|
433 |
print >> sys.stderr, "ERROR: unable to obtain mercurial version" |
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
434 |
return "unknown" |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
435 |
|
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
436 |
class build_py_func(_build_py): |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
437 |
# override the build_module method to do VERSION substitution on pkg/__init__.py |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
438 |
def build_module (self, module, module_file, package): |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
439 |
if module == "__init__" and package == "pkg": |
422
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
440 |
versionre = '(?m)^VERSION[^"]*"([^"]*)"' |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
441 |
# Grab the previously-built version out of the build |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
442 |
# tree. |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
443 |
try: |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
444 |
ocontent = \ |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
445 |
file(self.get_module_outfile(self.build_lib, |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
446 |
[package], module)).read() |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
447 |
ov = re.search(versionre, ocontent).group(1) |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
448 |
except IOError: |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
449 |
ov = None |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
450 |
v = get_hg_version() |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
451 |
vstr = 'VERSION = "%s"' % v |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
452 |
# If the versions haven't changed, there's no need to |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
453 |
# recompile. |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
454 |
if v == ov: |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
455 |
return |
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
456 |
|
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
457 |
mcontent = file(module_file).read() |
422
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
458 |
mcontent = re.sub(versionre, vstr, mcontent) |
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
459 |
tmpfd, tmp_file = tempfile.mkstemp() |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
460 |
os.write(tmpfd, mcontent) |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
461 |
os.close(tmpfd) |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
462 |
print "doing version substitution: ", v |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
463 |
rv = _build_py.build_module(self, module, tmp_file, package) |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
464 |
os.unlink(tmp_file) |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
465 |
return rv |
422
c69607a5bdce
2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents:
413
diff
changeset
|
466 |
|
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
467 |
return _build_py.build_module(self, module, module_file, package) |
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
468 |
|
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
469 |
class clean_func(_clean): |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
470 |
def initialize_options(self): |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
471 |
_clean.initialize_options(self) |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
472 |
self.build_base = build_dir |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
473 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
474 |
class clobber_func(Command): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
475 |
user_options = [] |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
476 |
description = "Deletes any and all files created by setup" |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
477 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
478 |
def initialize_options(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
479 |
pass |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
480 |
def finalize_options(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
481 |
pass |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
482 |
def run(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
483 |
# nuke everything |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
484 |
print("deleting " + dist_dir) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
485 |
shutil.rmtree(dist_dir, True) |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
486 |
print("deleting " + build_dir) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
487 |
shutil.rmtree(build_dir, True) |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
488 |
print("deleting " + root_dir) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
489 |
shutil.rmtree(root_dir, True) |
534
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
490 |
print("deleting " + pkgs_dir) |
44a901d55161
676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents:
513
diff
changeset
|
491 |
shutil.rmtree(pkgs_dir, True) |
465
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
492 |
remove_sw(CP) |
44fddb622fe4
2818 We should include pyOpenSSL in the gate
Brad Hall <bhall@eng.sun.com>
parents:
454
diff
changeset
|
493 |
remove_sw(PO) |
742
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
494 |
remove_sw(MAKO) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
495 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
496 |
class test_func(Command): |
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
497 |
# NOTE: these options need to be in sync with tests/run.py |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
498 |
user_options = [("verbosemode", 'v', "run tests in verbose mode"), |
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
499 |
("genbaseline", 'g', "generate test baseline"), |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
500 |
("parseable", 'p', "parseable output"), |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
501 |
("baselinefile=", 'b', "baseline file <file>"), |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
502 |
("only=", "o", "only <regex>")] |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
503 |
description = "Runs unit and functional tests" |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
504 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
505 |
def initialize_options(self): |
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
506 |
self.only = "" |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
507 |
self.baselinefile = "" |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
508 |
self.verbosemode = 0 |
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
509 |
self.parseable = 0 |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
510 |
self.genbaseline = 0 |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
511 |
def finalize_options(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
512 |
pass |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
513 |
def run(self): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
514 |
os.putenv('PYEXE', sys.executable) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
515 |
os.chdir(os.path.join(pwd, "tests")) |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
516 |
|
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
517 |
# Reconstruct the cmdline and send that to run.py |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
518 |
cmd = [sys.executable, "run.py"] |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
519 |
args = "" |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
520 |
if "test" in sys.argv: |
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
521 |
args = sys.argv[sys.argv.index("test")+1:] |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
522 |
cmd.extend(args) |
448
bcfa99ac18b0
2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents:
430
diff
changeset
|
523 |
subprocess.call(cmd) |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
524 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
525 |
class dist_func(_bdist): |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
526 |
def initialize_options(self): |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
527 |
_bdist.initialize_options(self) |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
528 |
self.dist_dir = dist_dir |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
529 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
530 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
531 |
# These are set to real values based on the platform, down below |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
532 |
compile_args = None |
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
533 |
link_args = None |
613
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
534 |
ext_modules = [ |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
535 |
Extension( |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
536 |
'actions._actions', |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
537 |
_actions_srcs, |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
538 |
include_dirs = include_dirs, |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
539 |
extra_compile_args = compile_args, |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
540 |
extra_link_args = link_args |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
541 |
), |
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
542 |
] |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
543 |
elf_libraries = None |
742
909b912fa942
3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
708
diff
changeset
|
544 |
data_files = web_files |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
545 |
cmdclasses = { |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
546 |
'install': install_func, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
547 |
'build': build_func, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
548 |
'build_py': build_py_func, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
549 |
'bdist': dist_func, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
550 |
'lint': lint_func, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
551 |
'clean': clean_func, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
552 |
'clobber': clobber_func, |
708
ef2162b85fab
4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents:
691
diff
changeset
|
553 |
'coverage': cov_func, |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
554 |
'test': test_func, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
555 |
} |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
556 |
|
383
08762e4dac3c
1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents:
365
diff
changeset
|
557 |
# all builds of IPS should have manpages |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
558 |
data_files += [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
559 |
(man1_dir, man1_files), |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
560 |
(man1m_dir, man1m_files), |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
561 |
(man5_dir, man5_files), |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
562 |
] |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
563 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
564 |
if osname == 'sunos': |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
565 |
# Solaris-specific extensions are added here |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
566 |
data_files += [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
567 |
(zones_dir, zones_files), |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
568 |
(brand_dir, brand_files), |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
569 |
(smf_dir, smf_files), |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
570 |
] |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
571 |
|
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
572 |
if osname == 'sunos' or osname == "linux": |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
573 |
# Unix platforms which the elf extension has been ported to |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
574 |
# are specified here, so they are built automatically |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
575 |
elf_libraries = ['elf'] |
613
886277645061
3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents:
591
diff
changeset
|
576 |
ext_modules += [ |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
577 |
Extension( |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
578 |
'elf', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
579 |
elf_srcs, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
580 |
include_dirs = include_dirs, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
581 |
libraries = elf_libraries, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
582 |
extra_compile_args = compile_args, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
583 |
extra_link_args = link_args |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
584 |
), |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
585 |
] |
290
6c5c87515614
160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff
changeset
|
586 |
|
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
587 |
# Solaris has built-in md library and Solaris-specific arch extension |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
588 |
# All others use OpenSSL and cross-platform arch module |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
589 |
if osname == 'sunos': |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
590 |
elf_libraries += [ 'md' ] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
591 |
ext_modules += [ |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
592 |
Extension( |
430
3fb945d3bff3
2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents:
424
diff
changeset
|
593 |
'arch', |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
594 |
arch_srcs, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
595 |
include_dirs = include_dirs, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
596 |
extra_compile_args = compile_args, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
597 |
extra_link_args = link_args, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
598 |
define_macros = [('_FILE_OFFSET_BITS', '64')] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
599 |
), |
691
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
600 |
Extension( |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
601 |
'pspawn', |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
602 |
pspawn_srcs, |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
603 |
include_dirs = include_dirs, |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
604 |
extra_compile_args = compile_args, |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
605 |
extra_link_args = link_args, |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
606 |
define_macros = [('_FILE_OFFSET_BITS', '64')] |
cd1d9c1e82f3
4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents:
661
diff
changeset
|
607 |
), |
395
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
608 |
] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
609 |
else: |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
610 |
elf_libraries += [ 'ssl' ] |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
611 |
|
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
612 |
setup(cmdclass = cmdclasses, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
613 |
name = 'ips', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
614 |
version = '1.0', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
615 |
package_dir = {'pkg':'modules'}, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
616 |
packages = packages, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
617 |
data_files = data_files, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
618 |
ext_package = 'pkg', |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
619 |
ext_modules = ext_modules, |
0ae5e72ba7ee
1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents:
384
diff
changeset
|
620 |
) |