src/setup.py
author Yiteng Zhang <yiteng.zhang@oracle.com>
Mon, 09 Sep 2013 10:52:27 -0700
changeset 2942 17aad7c202b0
parent 2928 71a6862183d8
child 2938 1d287dc7a674
child 2991 75e616731cc3
permissions -rwxr-xr-x
17336089 modules/server/repository.py is missing a module import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1514
diff changeset
     1
#!/usr/bin/python2.6
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
#
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
    22
# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
    23
#
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
    24
883
77885b2adc42 5539 SUNWpython-mako should deliver egg info
Danek Duvall <danek.duvall@sun.com>
parents: 849
diff changeset
    25
import errno
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
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
    37
import py_compile
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1514
diff changeset
    38
import hashlib
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
    39
import time
2826
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
    40
import StringIO
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
    41
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
    42
from distutils.errors import DistutilsError, DistutilsFileError
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
    43
from distutils.core import setup
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
    44
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
    45
from distutils.command.install import install as _install
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
    46
from distutils.command.install_data import install_data as _install_data
2561
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
    47
from distutils.command.install_lib import install_lib as _install_lib
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
    48
from distutils.command.build import build as _build
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
    49
from distutils.command.build_ext import build_ext as _build_ext
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
    50
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
    51
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
    52
from distutils.command.clean import clean as _clean
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
    53
from distutils.dist import Distribution
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
    54
from distutils import log
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
    55
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
    56
from distutils.sysconfig import get_python_inc
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
    57
import distutils.dep_util as dep_util
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
    58
import distutils.dir_util as dir_util
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
    59
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
    60
import distutils.util as util
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
    61
import distutils.ccompiler
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
    62
from distutils.unixccompiler import UnixCCompiler
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
    63
1660
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    64
osname = platform.uname()[0].lower()
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    65
ostype = arch = 'unknown'
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    66
if osname == 'sunos':
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    67
        arch = platform.processor()
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    68
        ostype = "posix"
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    69
elif osname == 'linux':
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    70
        arch = "linux_" + platform.machine()
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    71
        ostype = "posix"
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    72
elif osname == 'windows':
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    73
        arch = osname
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    74
        ostype = "windows"
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    75
elif osname == 'darwin':
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    76
        arch = osname
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    77
        ostype = "posix"
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    78
elif osname == 'aix':
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    79
        arch = "aix"
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    80
        ostype = "posix"
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
    81
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
    82
pwd = os.path.normpath(sys.path[0])
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
    83
2828
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
    84
# the version of pylint that we must have in order to run the pylint checks.
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
    85
req_pylint_version = "0.25.2"
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
    86
534
44a901d55161 676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents: 513
diff changeset
    87
#
44a901d55161 676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents: 513
diff changeset
    88
# 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
    89
# 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
    90
#
44a901d55161 676 'make install' fails if GNU install is first in path
Dan Price <dp@eng.sun.com>
parents: 513
diff changeset
    91
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
    92
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
    93
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
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
    95
build_dir = os.path.normpath(os.path.join(pwd, os.pardir, "proto", "build_" + arch))
954
8614b0c63fb3 4771 zone operations fail with package inventory errors when authority changes
Dan Price <dp@eng.sun.com>
parents: 941
diff changeset
    96
if "ROOT" in os.environ and os.environ["ROOT"] != "":
8614b0c63fb3 4771 zone operations fail with package inventory errors when authority changes
Dan Price <dp@eng.sun.com>
parents: 941
diff changeset
    97
        root_dir = os.environ["ROOT"]
8614b0c63fb3 4771 zone operations fail with package inventory errors when authority changes
Dan Price <dp@eng.sun.com>
parents: 941
diff changeset
    98
else:
8614b0c63fb3 4771 zone operations fail with package inventory errors when authority changes
Dan Price <dp@eng.sun.com>
parents: 941
diff changeset
    99
        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
   100
pkgs_dir = os.path.normpath(os.path.join(pwd, os.pardir, "packages", arch))
1099
bd94d4910b8a 8602 tidy top level of source directory
Dan Price <dp@eng.sun.com>
parents: 1024
diff changeset
   101
extern_dir = os.path.normpath(os.path.join(pwd, "extern"))
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
   102
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1514
diff changeset
   103
py_install_dir = 'usr/lib/python2.6/vendor-packages'
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
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
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
   106
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
   107
svc_method_dir = 'lib/svc/method'
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   108
svc_share_dir = 'lib/svc/share'
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
   109
2494
106731ab1e98 18776 man pages need to be in nroff format
Danek Duvall <danek.duvall@oracle.com>
parents: 2490
diff changeset
   110
man1_dir = 'usr/share/man/man1'
106731ab1e98 18776 man pages need to be in nroff format
Danek Duvall <danek.duvall@oracle.com>
parents: 2490
diff changeset
   111
man1m_dir = 'usr/share/man/man1m'
106731ab1e98 18776 man pages need to be in nroff format
Danek Duvall <danek.duvall@oracle.com>
parents: 2490
diff changeset
   112
man5_dir = 'usr/share/man/man5'
2516
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   113
man1_ja_JP_dir = 'usr/share/man/ja_JP.UTF-8/man1'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   114
man1m_ja_JP_dir = 'usr/share/man/ja_JP.UTF-8/man1m'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   115
man5_ja_JP_dir = 'usr/share/man/ja_JP.UTF-8/man5'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   116
man1_zh_CN_dir = 'usr/share/man/zh_CN.UTF-8/man1'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   117
man1m_zh_CN_dir = 'usr/share/man/zh_CN.UTF-8/man1m'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   118
man5_zh_CN_dir = 'usr/share/man/zh_CN.UTF-8/man5'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   119
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
   120
resource_dir = 'usr/share/lib/pkg'
2523
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
   121
transform_dir = 'usr/share/pkg/transforms'
2390
49043c6c5187 18399 ipkg brand doing svcadm enable -s zones-proxyd deadlocks svc:/system/zones
Tim Foster <tim.s.foster@oracle.com>
parents: 2364
diff changeset
   122
smf_app_dir = 'lib/svc/manifest/application/pkg'
1498
1800f38ca303 6133 need to add pkg commands in /etc/security/exec_attr with "Software Installation" profile
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents: 1483
diff changeset
   123
execattrd_dir = 'etc/security/exec_attr.d'
1800f38ca303 6133 need to add pkg commands in /etc/security/exec_attr with "Software Installation" profile
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents: 1483
diff changeset
   124
authattrd_dir = 'etc/security/auth_attr.d'
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   125
userattrd_dir = 'etc/user_attr.d'
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   126
sysrepo_dir = 'etc/pkg/sysrepo'
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   127
sysrepo_logs_dir = 'var/log/pkg/sysrepo'
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   128
sysrepo_cache_dir = 'var/cache/pkg/sysrepo'
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   129
depot_dir = 'etc/pkg/depot'
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   130
depot_conf_dir = 'etc/pkg/depot/conf.d'
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   131
depot_logs_dir = 'var/log/pkg/depot'
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   132
depot_cache_dir = 'var/cache/pkg/depot'
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   133
autostart_dir = 'etc/xdg/autostart'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   134
desktop_dir = 'usr/share/applications'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   135
gconf_dir = 'etc/gconf/schemas'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   136
help_dir = 'usr/share/gnome/help/package-manager'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   137
omf_dir = 'usr/share/omf/package-manager'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   138
startpage_dir = 'usr/share/package-manager/data/startpagebase'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   139
um_lib_dir = 'usr/lib/update-manager'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   140
um_share_dir = 'usr/share/update-manager'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   141
pm_share_dir = 'usr/share/package-manager'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   142
locale_dir = 'usr/share/locale'
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   143
mirror_logs_dir = 'var/log/pkg/mirror'
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   144
mirror_cache_dir = 'var/cache/pkg/mirror'
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   145
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
   146
1674
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   147
# A list of source, destination tuples of modules which should be hardlinked
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   148
# together if the os supports it and otherwise copied.
2262
8d2364b8e9d5 17315 pkgdep test suite should remove python2.5 usage
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2242
diff changeset
   149
hardlink_modules = []
1674
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   150
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   151
scripts_sunos = {
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   152
        scripts_dir: [
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   153
                ['client.py', 'pkg'],
1544
e0ce5081236a 12697 pkgdep throws an exception for $PLATFORM or $ISALIST in runpath
Brock Pytlik <bpytlik@sun.com>
parents: 1516
diff changeset
   154
                ['pkgdep.py', 'pkgdepend'],
1968
c0540b1e4f7e 8722 advanced repository metadata store needed
Shawn Walker <shawn.walker@oracle.com>
parents: 1903
diff changeset
   155
                ['pkgrepo.py', 'pkgrepo'],
1557
d242d38c27d9 12899 Need a nice way of comparing manifests from the command line to aid publication
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1544
diff changeset
   156
                ['util/publish/pkgdiff.py', 'pkgdiff'],
1903
460ef45c8ebd 15939 Need a easy way to format package manifests in a consistent style
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1902
diff changeset
   157
                ['util/publish/pkgfmt.py', 'pkgfmt'],
2046
2522cde7adc2 13536 We need a way to audit one or more packages
Tim Foster <tim.s.foster@oracle.com>
parents: 2041
diff changeset
   158
                ['util/publish/pkglint.py', 'pkglint'],
2240
de59b73f1428 14965 merge should be productized
Shawn Walker <shawn.walker@oracle.com>
parents: 2223
diff changeset
   159
                ['util/publish/pkgmerge.py', 'pkgmerge'],
1506
9c8b3a3184be 12373 Need a programatic way of transforming manifests
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1505
diff changeset
   160
                ['util/publish/pkgmogrify.py', 'pkgmogrify'],
2928
71a6862183d8 16992741 New publication tool, which reverts pkgs in repo if content hasn't changed
Erik Trauschke <Erik.Trauschke@oracle.com>
parents: 2892
diff changeset
   161
                ['util/publish/pkgsurf.py', 'pkgsurf'],
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   162
                ['publish.py', 'pkgsend'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   163
                ['pull.py', 'pkgrecv'],
2026
d1b30615bc99 9196 pkg(5) should have support for cryptographic manifest signatures
Brock Pytlik <bpytlik@sun.com>
parents: 2023
diff changeset
   164
                ['sign.py', 'pkgsign'],
424
a767ef6bf887 2578 integrate packagemanager into ips gate
Danek Duvall <danek.duvall@sun.com>
parents: 422
diff changeset
   165
                ['packagemanager.py', 'packagemanager'],
1024
e83271f2e133 7645 Man page required for Package Manager and Update Manager
Padraig O'Briain <padraig.obriain@sun.com>
parents: 954
diff changeset
   166
                ['updatemanager.py', 'pm-updatemanager'],
395
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
        lib_dir: [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   169
                ['depot.py', 'pkg.depotd'],
2078
a13afe24c79a 17024 pm-updatemanager can't find display when running from cron
John Rice <john.rice@oracle.com>
parents: 2075
diff changeset
   170
                ['checkforupdates.py', 'pm-checkforupdates'],
578
da257532b3f2 3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents: 534
diff changeset
   171
                ['updatemanagernotifier.py', 'updatemanagernotifier'],
1172
fc39dcc70f84 9574 Package Manager should use user's GNOME proxy settings
Padraig O'Briain <padraig.obriain@sun.com>
parents: 1101
diff changeset
   172
                ['launch.py', 'pm-launch'],
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   173
                ['sysrepo.py', 'pkg.sysrepo'],
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   174
                ['depot-config.py', "pkg.depot-config"]
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   175
                ],
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   176
        um_lib_dir: [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   177
                ['um/update-refresh.sh', 'update-refresh.sh'],
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   178
        ],
661
edf14bae4465 2717 pkg.depotd: need smf support for depot mode options
Brock Pytlik <bpytlik@sun.com>
parents: 613
diff changeset
   179
        svc_method_dir: [
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   180
                ['svc/svc-pkg-depot', 'svc-pkg-depot'],
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   181
                ['svc/svc-pkg-mdns', 'svc-pkg-mdns'],
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   182
                ['svc/svc-pkg-mirror', 'svc-pkg-mirror'],
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   183
                ['svc/svc-pkg-repositories-setup',
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   184
                    'svc-pkg-repositories-setup'],
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   185
                ['svc/svc-pkg-server', 'svc-pkg-server'],
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   186
                ['svc/svc-pkg-sysrepo', 'svc-pkg-sysrepo'],
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   187
                ['svc/svc-pkg-update', 'svc-pkg-update'],
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   188
                ],
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   189
        svc_share_dir: [
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   190
                ['svc/pkg5_include.sh', 'pkg5_include.sh'],
661
edf14bae4465 2717 pkg.depotd: need smf support for depot mode options
Brock Pytlik <bpytlik@sun.com>
parents: 613
diff changeset
   191
                ],
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   192
        }
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
   193
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
   194
scripts_windows = {
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   195
        scripts_dir: [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   196
                ['client.py', 'client.py'],
1968
c0540b1e4f7e 8722 advanced repository metadata store needed
Shawn Walker <shawn.walker@oracle.com>
parents: 1903
diff changeset
   197
                ['pkgrepo.py', 'pkgrepo.py'],
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   198
                ['publish.py', 'publish.py'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   199
                ['pull.py', 'pull.py'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   200
                ['scripts/pkg.bat', 'pkg.bat'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   201
                ['scripts/pkgsend.bat', 'pkgsend.bat'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   202
                ['scripts/pkgrecv.bat', 'pkgrecv.bat'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   203
                ],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   204
        lib_dir: [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   205
                ['depot.py', 'depot.py'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   206
                ['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
   207
                ],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   208
        }
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
   209
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   210
scripts_other_unix = {
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   211
        scripts_dir: [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   212
                ['client.py', 'client.py'],
1231
f7b99e8118d2 9290 need a way to find the file dependencies of a package
Brock Pytlik <bpytlik@sun.com>
parents: 1228
diff changeset
   213
                ['pkgdep.py', 'pkgdep'],
1557
d242d38c27d9 12899 Need a nice way of comparing manifests from the command line to aid publication
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1544
diff changeset
   214
                ['util/publish/pkgdiff.py', 'pkgdiff'],
1903
460ef45c8ebd 15939 Need a easy way to format package manifests in a consistent style
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1902
diff changeset
   215
                ['util/publish/pkgfmt.py', 'pkgfmt'],
1557
d242d38c27d9 12899 Need a nice way of comparing manifests from the command line to aid publication
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1544
diff changeset
   216
                ['util/publish/pkgmogrify.py', 'pkgmogrify'],
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   217
                ['pull.py', 'pull.py'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   218
                ['publish.py', 'publish.py'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   219
                ['scripts/pkg.sh', 'pkg'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   220
                ['scripts/pkgsend.sh', 'pkgsend'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   221
                ['scripts/pkgrecv.sh', 'pkgrecv'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   222
                ],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   223
        lib_dir: [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   224
                ['depot.py', 'depot.py'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   225
                ['scripts/pkg.depotd.sh', 'pkg.depotd'],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   226
                ],
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   227
        }
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
   228
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   229
# indexed by 'osname'
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   230
scripts = {
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   231
        "sunos": scripts_sunos,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   232
        "linux": scripts_other_unix,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   233
        "windows": scripts_windows,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   234
        "darwin": scripts_other_unix,
1302
65995c02a467 10042 Port pkg(5) to AIX
Tom Mueller <Tom.Mueller@sun.com>
parents: 1265
diff changeset
   235
        "aix" : scripts_other_unix,
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   236
        "unknown": scripts_sunos,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   237
        }
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
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   239
man1_files = [
1024
e83271f2e133 7645 Man page required for Package Manager and Update Manager
Padraig O'Briain <padraig.obriain@sun.com>
parents: 954
diff changeset
   240
        'man/packagemanager.1',
413
3170bad6ceb7 2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents: 409
diff changeset
   241
        'man/pkg.1',
1544
e0ce5081236a 12697 pkgdep throws an exception for $PLATFORM or $ISALIST in runpath
Brock Pytlik <bpytlik@sun.com>
parents: 1516
diff changeset
   242
        'man/pkgdepend.1',
1557
d242d38c27d9 12899 Need a nice way of comparing manifests from the command line to aid publication
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1544
diff changeset
   243
        'man/pkgdiff.1',
1903
460ef45c8ebd 15939 Need a easy way to format package manifests in a consistent style
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1902
diff changeset
   244
        'man/pkgfmt.1',
2046
2522cde7adc2 13536 We need a way to audit one or more packages
Tim Foster <tim.s.foster@oracle.com>
parents: 2041
diff changeset
   245
        'man/pkglint.1',
2240
de59b73f1428 14965 merge should be productized
Shawn Walker <shawn.walker@oracle.com>
parents: 2223
diff changeset
   246
        'man/pkgmerge.1',
1506
9c8b3a3184be 12373 Need a programatic way of transforming manifests
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1505
diff changeset
   247
        'man/pkgmogrify.1',
413
3170bad6ceb7 2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents: 409
diff changeset
   248
        'man/pkgsend.1',
2026
d1b30615bc99 9196 pkg(5) should have support for cryptographic manifest signatures
Brock Pytlik <bpytlik@sun.com>
parents: 2023
diff changeset
   249
        'man/pkgsign.1',
2928
71a6862183d8 16992741 New publication tool, which reverts pkgs in repo if content hasn't changed
Erik Trauschke <Erik.Trauschke@oracle.com>
parents: 2892
diff changeset
   250
        'man/pkgsurf.1',
413
3170bad6ceb7 2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents: 409
diff changeset
   251
        'man/pkgrecv.1',
1978
69f2ff97bcd8 16567 pkgrepo help and manpage need to be consistent, and manpage needs publishing
Shawn Walker <shawn.walker@oracle.com>
parents: 1968
diff changeset
   252
        'man/pkgrepo.1',
1024
e83271f2e133 7645 Man page required for Package Manager and Update Manager
Padraig O'Briain <padraig.obriain@sun.com>
parents: 954
diff changeset
   253
        'man/pm-updatemanager.1',
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   254
        ]
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   255
man1m_files = [
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   256
        'man/pkg.depotd.1m',
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   257
        'man/pkg.depot-config.1m',
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   258
        'man/pkg.sysrepo.1m'
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   259
        ]
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   260
man5_files = [
413
3170bad6ceb7 2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents: 409
diff changeset
   261
        'man/pkg.5'
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   262
        ]
2516
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   263
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   264
man1_ja_files = [
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   265
        'man/ja_JP/packagemanager.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   266
        'man/ja_JP/pkg.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   267
        'man/ja_JP/pkgdepend.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   268
        'man/ja_JP/pkgdiff.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   269
        'man/ja_JP/pkgfmt.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   270
        'man/ja_JP/pkglint.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   271
        'man/ja_JP/pkgmerge.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   272
        'man/ja_JP/pkgmogrify.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   273
        'man/ja_JP/pkgsend.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   274
        'man/ja_JP/pkgsign.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   275
        'man/ja_JP/pkgrecv.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   276
        'man/ja_JP/pkgrepo.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   277
        'man/ja_JP/pm-updatemanager.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   278
        ]
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   279
man1m_ja_files = [
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   280
        'man/ja_JP/pkg.depotd.1m',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   281
        'man/ja_JP/pkg.sysrepo.1m'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   282
        ]
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   283
man5_ja_files = [
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   284
        'man/ja_JP/pkg.5'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   285
        ]
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   286
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   287
man1_zh_CN_files = [
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   288
        'man/zh_CN/packagemanager.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   289
        'man/zh_CN/pkg.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   290
        'man/zh_CN/pkgdepend.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   291
        'man/zh_CN/pkgdiff.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   292
        'man/zh_CN/pkgfmt.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   293
        'man/zh_CN/pkglint.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   294
        'man/zh_CN/pkgmerge.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   295
        'man/zh_CN/pkgmogrify.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   296
        'man/zh_CN/pkgsend.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   297
        'man/zh_CN/pkgsign.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   298
        'man/zh_CN/pkgrecv.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   299
        'man/zh_CN/pkgrepo.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   300
        'man/zh_CN/pm-updatemanager.1',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   301
        ]
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   302
man1m_zh_CN_files = [
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   303
        'man/zh_CN/pkg.depotd.1m',
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   304
        'man/zh_CN/pkg.sysrepo.1m'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   305
        ]
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   306
man5_zh_CN_files = [
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   307
        'man/zh_CN/pkg.5'
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   308
        ]
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   309
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   310
packages = [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   311
        'pkg',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   312
        'pkg.actions',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   313
        'pkg.bundle',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   314
        'pkg.client',
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   315
        'pkg.client.linkedimage',
1191
a48bee2a4b2e 305 http_proxy value needs more checking for valid url syntax
johansen <johansen@sun.com>
parents: 1172
diff changeset
   316
        'pkg.client.transport',
1452
bd6ffa78fed9 7960 client and depot need different organization of files
Brock Pytlik <bpytlik@sun.com>
parents: 1401
diff changeset
   317
        'pkg.file_layout',
1231
f7b99e8118d2 9290 need a way to find the file dependencies of a package
Brock Pytlik <bpytlik@sun.com>
parents: 1228
diff changeset
   318
        'pkg.flavor',
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   319
        'pkg.gui',
2046
2522cde7adc2 13536 We need a way to audit one or more packages
Tim Foster <tim.s.foster@oracle.com>
parents: 2041
diff changeset
   320
        'pkg.lint',
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   321
        'pkg.portable',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   322
        'pkg.publish',
424
a767ef6bf887 2578 integrate packagemanager into ips gate
Danek Duvall <danek.duvall@sun.com>
parents: 422
diff changeset
   323
        'pkg.server'
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   324
        ]
742
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   325
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   326
pylint_targets = [
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   327
        'pkg.altroot',
2693
cfee571ea6d5 7154388 Progress tracking API and functionality improvements
Dan Price <daniel.price@oracle.com>
parents: 2690
diff changeset
   328
        'pkg.client.__init__',
2690
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2688
diff changeset
   329
        'pkg.client.api',
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   330
        'pkg.client.linkedimage',
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   331
        'pkg.client.pkgdefs',
2690
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2688
diff changeset
   332
        'pkg.client.pkgremote',
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2688
diff changeset
   333
        'pkg.client.plandesc',
2693
cfee571ea6d5 7154388 Progress tracking API and functionality improvements
Dan Price <daniel.price@oracle.com>
parents: 2690
diff changeset
   334
        'pkg.client.printengine',
cfee571ea6d5 7154388 Progress tracking API and functionality improvements
Dan Price <daniel.price@oracle.com>
parents: 2690
diff changeset
   335
        'pkg.client.progress',
2690
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2688
diff changeset
   336
        'pkg.misc',
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2688
diff changeset
   337
        'pkg.pipeutils',
2744
a7f73341a2b3 7185799 pmcheckforupdate could use some code cleanup
Dan Price <daniel.price@oracle.com>
parents: 2698
diff changeset
   338
        'checkforupdates',
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   339
        ]
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   340
742
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   341
web_files = []
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   342
for entry in os.walk("web"):
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   343
        web_dir, dirs, files = entry
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   344
        if not files:
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   345
                continue
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   346
        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
   347
            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
   348
            if f != "Makefile"
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   349
            ]))
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   350
        # install same set of files in "en/" in "__LOCALE__/ as well" 
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   351
        # for localizable file package (regarding themes, install
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   352
        # theme "oracle.com" only)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   353
        if os.path.basename(web_dir) == "en" and \
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   354
            os.path.dirname(web_dir) in ("web", "web/_themes/oracle.com"):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   355
                web_files.append((os.path.join(resource_dir,
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   356
                    os.path.dirname(web_dir), "__LOCALE__"), [
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   357
                        os.path.join(web_dir, f) for f in files
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   358
                        if f != "Makefile"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   359
                    ]))
742
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
   360
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   361
smf_app_files = [
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   362
        'svc/pkg-depot.xml',
1902
59b7214232cb 6957 mDNS support for depot
johansen <johansen@opensolaris.org>
parents: 1815
diff changeset
   363
        'svc/pkg-mdns.xml',
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   364
        'svc/pkg-mirror.xml',
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   365
        'svc/pkg-repositories-setup.xml',
1099
bd94d4910b8a 8602 tidy top level of source directory
Dan Price <dp@eng.sun.com>
parents: 1024
diff changeset
   366
        'svc/pkg-server.xml',
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   367
        'svc/pkg-system-repository.xml',
2390
49043c6c5187 18399 ipkg brand doing svcadm enable -s zones-proxyd deadlocks svc:/system/zones
Tim Foster <tim.s.foster@oracle.com>
parents: 2364
diff changeset
   368
        'svc/pkg-update.xml',
2338
63a4d56416c6 18240 zone proxy needed
johansen <johansen@opensolaris.org>
parents: 2337
diff changeset
   369
        'svc/zoneproxy-client.xml',
63a4d56416c6 18240 zone proxy needed
johansen <johansen@opensolaris.org>
parents: 2337
diff changeset
   370
        'svc/zoneproxyd.xml'
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   371
        ]
2046
2522cde7adc2 13536 We need a way to audit one or more packages
Tim Foster <tim.s.foster@oracle.com>
parents: 2041
diff changeset
   372
resource_files = [
2223
2da8c49e53dc 17735 build should use custom pkglintrc to locate proto version of opensolaris.org.sections
Tim Foster <tim.s.foster@oracle.com>
parents: 2180
diff changeset
   373
        'util/opensolaris.org.sections',
2046
2522cde7adc2 13536 We need a way to audit one or more packages
Tim Foster <tim.s.foster@oracle.com>
parents: 2041
diff changeset
   374
        'util/pkglintrc',
2522cde7adc2 13536 We need a way to audit one or more packages
Tim Foster <tim.s.foster@oracle.com>
parents: 2041
diff changeset
   375
        ]
2523
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
   376
transform_files = [
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
   377
        'util/publish/transforms/developer',
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
   378
        'util/publish/transforms/documentation',
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
   379
        'util/publish/transforms/locale',
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
   380
        'util/publish/transforms/smf-manifests'
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
   381
        ]
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   382
sysrepo_files = [
2677
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
   383
        'util/apache2/sysrepo/sysrepo_p5p.py',
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   384
        'util/apache2/sysrepo/sysrepo_httpd.conf.mako',
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   385
        'util/apache2/sysrepo/sysrepo_publisher_response.mako',
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   386
        ]
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   387
sysrepo_log_stubs = [
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   388
        'util/apache2/sysrepo/logs/access_log',
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   389
        'util/apache2/sysrepo/logs/error_log',
2858
b52bf55b7415 15739395 reduce console noise from sysrepo method script
Tim Foster <tim.s.foster@oracle.com>
parents: 2852
diff changeset
   390
        'util/apache2/sysrepo/logs/rewrite.log',
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   391
        ]
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   392
depot_files = [
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   393
        'util/apache2/depot/depot.conf.mako',
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   394
        'util/apache2/depot/depot_httpd.conf.mako',
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   395
        'util/apache2/depot/depot_index.py',
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   396
        ]
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   397
depot_log_stubs = [
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   398
        'util/apache2/depot/logs/access_log',
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   399
        'util/apache2/depot/logs/error_log',
2858
b52bf55b7415 15739395 reduce console noise from sysrepo method script
Tim Foster <tim.s.foster@oracle.com>
parents: 2852
diff changeset
   400
        'util/apache2/depot/logs/rewrite.log',
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   401
        ]
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   402
# The apache-based depot includes an shtml file we add to the resource dir
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   403
web_files.append((os.path.join(resource_dir, "web"),
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
   404
    ["util/apache2/depot/repos.shtml"]))
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
   405
execattrd_files = [
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
   406
        'util/misc/exec_attr.d/package:pkg',
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
   407
        'util/misc/exec_attr.d/package:pkg:package-manager'
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
   408
]
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
   409
authattrd_files = ['util/misc/auth_attr.d/package:pkg']
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
   410
userattrd_files = ['util/misc/user_attr.d/package:pkg']
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   411
autostart_files = [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   412
        'um/data/updatemanagernotifier.desktop',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   413
]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   414
desktop_files = [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   415
        'gui/data/addmoresoftware.desktop',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   416
        'gui/data/packagemanager.desktop',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   417
        'um/data/updatemanager.desktop',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   418
]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   419
gconf_files = [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   420
        'gui/data/packagemanager-preferences.schemas',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   421
        'um/data/updatemanager-preferences.schemas',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   422
]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   423
intl_files = [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   424
        'gui/data/addmoresoftware.desktop.in',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   425
        'gui/data/packagemanager-info.xml.in',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   426
        'gui/data/packagemanager-preferences.schemas.in',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   427
        'gui/data/packagemanager.desktop.in',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   428
        'um/data/updatemanager-preferences.schemas.in',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   429
        'um/data/updatemanager.desktop.in',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   430
        'um/data/updatemanagernotifier.desktop.in',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   431
]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   432
help_locales = \
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   433
    'C ar ca cs de es fr hu id it ja ko pl pt_BR ru sv zh_CN zh_HK zh_TW'.split()
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   434
help_files = {
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   435
        'C': ['gui/help/C/package-manager.xml'],
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   436
        'C/figures': [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   437
            'gui/help/C/figures/%s.png' % n
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   438
            for n in 'pkgmgr-main startpage_new update_all_new webinstall'.split()
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   439
        ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   440
}
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   441
help_files.update(
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   442
        (locale, ['gui/help/%s/package-manager.xml' % locale])
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   443
        for locale in help_locales[1:]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   444
)
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   445
# add package-manager-__LOCALE__.omf for localizable file package
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   446
omf_files = [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   447
        'gui/help/package-manager-%s.omf' % locale
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   448
        for locale in help_locales + [ "__LOCALE__" ]
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   449
]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   450
startpage_locales = \
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   451
    'C ar ca cs de es fr hu id it ja ko nl pt_BR ru sv zh_CN zh_HK zh_TW'.split()
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   452
startpage_files = {
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   453
        'C': [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   454
            'gui/data/startpagebase/C/%s.png' % n
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   455
            for n in [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   456
                'dialog-information', 'dialog-warning', 'hc_dialog-information',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   457
                'hc_dialog-warning', 'hc_install', 'hc_opensolaris',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   458
                'hci_dialog-information', 'hci_dialog-warning', 'hci_install',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   459
                'hci_opensolaris', 'install', 'opensolaris'
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   460
            ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   461
        ] + ['gui/data/startpagebase/C/startpage.html']
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   462
}
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   463
startpage_files.update(
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   464
        (locale, ['gui/data/startpagebase/%s/startpage.html' % locale])
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   465
        for locale in startpage_locales[1:]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   466
)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   467
pkg_locales = \
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   468
    'ar ca cs de es fr he hu id it ja ko nl pl pt_BR ru sk sv zh_CN zh_HK zh_TW'.split()
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   469
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   470
syscallat_srcs = [
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   471
        'modules/syscallat.c'
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   472
        ]
691
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
   473
pspawn_srcs = [
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
   474
        'modules/pspawn.c'
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
   475
        ]
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   476
elf_srcs = [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   477
        'modules/elf.c',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   478
        'modules/elfextract.c',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   479
        'modules/liblist.c',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   480
        ]
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
   481
arch_srcs = [
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   482
        'modules/arch.c'
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   483
        ]
591
dbe9236b0884 2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents: 578
diff changeset
   484
_actions_srcs = [
dbe9236b0884 2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents: 578
diff changeset
   485
        '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
   486
        ]
2639
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   487
_actcomm_srcs = [
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   488
        'modules/actions/_common.c'
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   489
        ]
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   490
_varcet_srcs = [
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   491
        'modules/_varcet.c'
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   492
        ]
1505
cc598d70bbbe 4425 pkg install should deal w/ complex dependency changes in one install
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1498
diff changeset
   493
solver_srcs = [
2516
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
   494
        'modules/solver/solver.c',
1505
cc598d70bbbe 4425 pkg install should deal w/ complex dependency changes in one install
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1498
diff changeset
   495
        'modules/solver/py_solver.c'
cc598d70bbbe 4425 pkg install should deal w/ complex dependency changes in one install
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 1498
diff changeset
   496
        ]
1632
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
   497
solver_link_args = ["-lm", "-lc"]
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
   498
if osname == 'sunos':
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
   499
        solver_link_args = ["-ztext"] + solver_link_args
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
   500
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   501
# Runs lint on the extension module source code
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   502
class pylint_func(Command):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   503
        description = "Runs pylint tools over IPS python source code"
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   504
        user_options = []
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   505
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   506
        def initialize_options(self):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   507
                pass
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   508
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   509
        def finalize_options(self):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   510
                pass
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   511
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   512
        # Make string shell-friendly
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   513
        @staticmethod
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   514
        def escape(astring):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   515
                return astring.replace(' ', '\\ ')
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   516
2364
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   517
        def run(self, quiet=False):
2828
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   518
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   519
                def supported_pylint_ver(version):
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   520
                        """Compare the installed version against the version
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   521
                        we require to build with, returning False if the version
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   522
                        is too old. It's tempting to use pkg.version.Version
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   523
                        here, but since that's a build artifact, we'll do it
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   524
                        the long way."""
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   525
                        inst_pylint_ver = version.split(".")
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   526
                        req_pylint_ver = req_pylint_version.split(".")
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   527
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   528
                        # if the lists are of different lengths, we just
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   529
                        # compare with the precision we have.
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   530
                        vers_comp = zip(inst_pylint_ver, req_pylint_ver)
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   531
                        for inst, req in vers_comp:
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   532
                                try:
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   533
                                        if int(inst) < int(req):
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   534
                                                return False
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   535
                                except ValueError:
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   536
                                        # if we somehow get non-numeric version
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   537
                                        # components, we ignore them.
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   538
                                        continue
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   539
                        return True
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   540
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   541
                # it's fine to default to the required version - the build will
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   542
                # break if the installed version is incompatible and $PYLINT_VER
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   543
                # didn't get set, somehow.
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   544
                pylint_ver_str = os.environ.get("PYLINT_VER",
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   545
                    req_pylint_version)
2892
ab4b61eb9b57 15824872 SUNBT7206345 pkg update on machine with a NGZ fails
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2867
diff changeset
   546
                if pylint_ver_str == "":
ab4b61eb9b57 15824872 SUNBT7206345 pkg update on machine with a NGZ fails
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2867
diff changeset
   547
                        pylint_ver_str = req_pylint_version
2828
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   548
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   549
                if os.environ.get("PKG_SKIP_PYLINT"):
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   550
                        log.warn("WARNING: skipping pylint checks: "
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   551
                            "$PKG_SKIP_PYLINT was set")
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   552
                        return
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   553
                elif not pylint_ver_str or \
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   554
                    not supported_pylint_ver(pylint_ver_str):
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   555
                        log.warn("WARNING: skipping pylint checks: the "
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   556
                            "installed version %s is older than version %s" %
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   557
                            (pylint_ver_str, req_pylint_version))
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   558
                        return
d1d4d120c4c5 15875724 pylint update broke the build
Tim Foster <tim.s.foster@oracle.com>
parents: 2826
diff changeset
   559
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   560
                proto = os.path.join(root_dir, py_install_dir)
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   561
                sys.path.insert(0, proto)
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   562
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   563
                # Insert tests directory onto sys.path so any custom checkers
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   564
                # can be found.
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   565
                sys.path.insert(0, os.path.join(pwd, 'tests'))
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   566
                # assumes pylint is accessible on the sys.path
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   567
                from pylint import lint
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   568
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   569
                #
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   570
                # For some reason, the load-plugins option, when used in the
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   571
                # rcfile, does not work, so we put it here instead, to load
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   572
                # our custom checkers.
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   573
                #
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   574
                # Unfortunately, pylint seems pretty fragile and will crash if
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   575
                # we try to run it over all the current pkg source.  Hence for
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   576
                # now we only run it over a subset of the source.  As source
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   577
                # files are made pylint clean they should be added to the
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   578
                # pylint_targets list.
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   579
                #
2364
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   580
                args = ['--load-plugins=multiplatform']
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   581
                if quiet:
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   582
                        args += ['--reports=no']
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   583
                args += ['--rcfile', os.path.join(pwd, 'tests', 'pylintrc')]
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   584
                args += pylint_targets
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   585
                lint.Run(args)
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   586
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   587
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   588
class pylint_func_quiet(pylint_func):
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   589
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   590
        def run(self, quiet=False):
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   591
                pylint_func.run(self, quiet=True)
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
   592
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   593
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   594
include_dirs = [ 'modules' ]
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   595
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
   596
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   597
# Runs lint on the extension module source code
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   598
class clint_func(Command):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   599
        description = "Runs lint tools over IPS C extension source code"
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
   600
        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
   601
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   602
        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
   603
                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
   604
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   605
        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
   606
                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
   607
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   608
        # 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
   609
        @staticmethod
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   610
        def escape(astring):
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   611
                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
   612
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   613
        def run(self):
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   614
                if "LINT" in os.environ and os.environ["LINT"] != "":
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   615
                        lint = [os.environ["LINT"]]
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   616
                else:
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   617
                        lint = ['lint']
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
   618
                if osname == 'sunos' or osname == "linux":
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   619
                        archcmd = lint + lint_flags + \
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   620
                            ['-D_FILE_OFFSET_BITS=64'] + \
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   621
                            ["%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
   622
                            ['-I' + self.escape(get_python_inc())] + \
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   623
                            arch_srcs
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   624
                        elfcmd = lint + lint_flags + \
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   625
                            ["%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
   626
                            ['-I' + self.escape(get_python_inc())] + \
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   627
                            ["%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
   628
                            elf_srcs
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   629
                        _actionscmd = lint + lint_flags + \
591
dbe9236b0884 2686 action key/value pairs separated by tabs cause parsing problems
Danek Duvall <danek.duvall@sun.com>
parents: 578
diff changeset
   630
                            ["%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
   631
                            ['-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
   632
                            _actions_srcs
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   633
                        _actcommcmd = lint + lint_flags + \
2639
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   634
                            ["%s%s" % ("-I", k) for k in include_dirs] + \
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   635
                            ['-I' + self.escape(get_python_inc())] + \
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   636
                            _actcomm_srcs
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   637
                        _varcetcmd = lint + lint_flags + \
2639
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   638
                            ["%s%s" % ("-I", k) for k in include_dirs] + \
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   639
                            ['-I' + self.escape(get_python_inc())] + \
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   640
                            _varcet_srcs
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   641
                        pspawncmd = lint + lint_flags + \
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   642
                            ['-D_FILE_OFFSET_BITS=64'] + \
691
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
   643
                            ["%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
   644
                            ['-I' + self.escape(get_python_inc())] + \
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
   645
                            pspawn_srcs
2674
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   646
                        syscallatcmd = lint + lint_flags + \
d342fbfbc2fd 7168702 PUBLISHALL still needs work
david.comay@oracle.com
parents: 2639
diff changeset
   647
                            ['-D_FILE_OFFSET_BITS=64'] + \
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   648
                            ["%s%s" % ("-I", k) for k in include_dirs] + \
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   649
                            ['-I' + self.escape(get_python_inc())] + \
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   650
                            syscallat_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
   651
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   652
                        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
   653
                        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
   654
                        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
   655
                        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
   656
                        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
   657
                        os.system(" ".join(_actionscmd))
2639
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   658
                        print(" ".join(_actcommcmd))
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   659
                        os.system(" ".join(_actcommcmd))
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   660
                        print(" ".join(_varcetcmd))
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
   661
                        os.system(" ".join(_varcetcmd))
691
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
   662
                        print(" ".join(pspawncmd))
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
   663
                        os.system(" ".join(pspawncmd))
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   664
                        print(" ".join(syscallatcmd))
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   665
                        os.system(" ".join(syscallatcmd))
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
   666
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   667
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   668
# Runs both C and Python lint
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   669
class lint_func(Command):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   670
        description = "Runs C and Python lint checkers"
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   671
        user_options = []
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   672
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   673
        def initialize_options(self):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   674
                pass
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
   675
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   676
        def finalize_options(self):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   677
                pass
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
   678
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   679
        # Make string shell-friendly
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   680
        @staticmethod
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   681
        def escape(astring):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   682
                return astring.replace(' ', '\\ ')
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   683
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   684
        def run(self):
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   685
                clint_func(Distribution()).run()
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
   686
                pylint_func(Distribution()).run()
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
   687
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   688
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
   689
        def initialize_options(self):
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   690
                _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
   691
acc9011bd8d4 2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents: 498
diff changeset
   692
                # 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
   693
                # 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
   694
                # installation directory.
acc9011bd8d4 2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents: 498
diff changeset
   695
                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
   696
acc9011bd8d4 2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents: 498
diff changeset
   697
                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
   698
                        self.install_lib = py_install_dir
834
f8b3396500b3 4883 import failure for non-sunos platforms due to missing pspawn
Tom Mueller <Tom.Mueller@sun.com>
parents: 801
diff changeset
   699
                        self.install_data = os.path.sep
506
acc9011bd8d4 2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents: 498
diff changeset
   700
                        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
   701
                else:
acc9011bd8d4 2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents: 498
diff changeset
   702
                        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
   703
                        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
   704
acc9011bd8d4 2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents: 498
diff changeset
   705
                # 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
   706
                # standard distutils variable.
acc9011bd8d4 2754 incorrect paths and source snippets in development stack traces
Danek Duvall <danek.duvall@sun.com>
parents: 498
diff changeset
   707
                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
   708
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
   709
        def run(self):
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   710
                """At the end of the install function, we need to rename some
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   711
                files because distutils provides no way to rename files as they
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   712
                are placed in their install locations.
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   713
                """
413
3170bad6ceb7 2406 man pages are re-installed every time
Danek Duvall <danek.duvall@sun.com>
parents: 409
diff changeset
   714
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   715
                _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
   716
1674
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   717
                for o_src, o_dest in hardlink_modules:
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   718
                        for e in [".py", ".pyc"]:
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   719
                                src = util.change_root(self.root_dir, o_src + e)
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   720
                                dest = util.change_root(
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   721
                                    self.root_dir, o_dest + e)
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   722
                                if ostype == "posix":
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   723
                                        if os.path.exists(dest) and \
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   724
                                            os.stat(src)[stat.ST_INO] != \
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   725
                                            os.stat(dest)[stat.ST_INO]:
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   726
                                                os.remove(dest)
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   727
                                        file_util.copy_file(src, dest,
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   728
                                            link="hard", update=1)
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   729
                                else:
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   730
                                        file_util.copy_file(src, dest, update=1)
faf484754465 13059 pkgdep generate should analyze python modules using the version of python they use
Brock Pytlik <bpytlik@sun.com>
parents: 1660
diff changeset
   731
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   732
                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
   733
                        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
   734
                                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
   735
                                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
   736
                                       os.path.join(d, dstname))
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   737
                                dir_util.mkpath(dst_dir, verbose=True)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   738
                                file_util.copy_file(srcname, dst_path, update=True)
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   739
                                # make scripts executable
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   740
                                os.chmod(dst_path,
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
   741
                                    os.stat(dst_path).st_mode
834
f8b3396500b3 4883 import failure for non-sunos platforms due to missing pspawn
Tom Mueller <Tom.Mueller@sun.com>
parents: 801
diff changeset
   742
                                    | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
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
   743
2561
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   744
class install_lib_func(_install_lib):
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   745
        """Remove the target files prior to the standard install_lib procedure
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   746
        if the build_py module has determined that they've actually changed.
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   747
        This may be needed when a module's timestamp goes backwards in time, if
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   748
        a working-directory change is reverted, or an older changeset is checked
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   749
        out.
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   750
        """
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   751
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   752
        def install(self):
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   753
                build_py = self.get_finalized_command("build_py")
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   754
                prefix_len = len(self.build_dir) + 1
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   755
                for p in build_py.copied:
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   756
                        id_p = os.path.join(self.install_dir, p[prefix_len:])
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   757
                        rm_f(id_p)
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   758
                        if self.compile:
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   759
                                rm_f(id_p + "c")
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   760
                        if self.optimize > 0:
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   761
                                rm_f(id_p + "o")
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   762
                return _install_lib.install(self)
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
   763
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   764
class install_data_func(_install_data):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   765
        """Enhance the standard install_data subcommand to take not only a list
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   766
        of filenames, but a list of source and destination filename tuples, for
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   767
        the cases where a filename needs to be renamed between the two
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   768
        locations."""
1099
bd94d4910b8a 8602 tidy top level of source directory
Dan Price <dp@eng.sun.com>
parents: 1024
diff changeset
   769
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   770
        def run(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   771
                self.mkpath(self.install_dir)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   772
                for f in self.data_files:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   773
                        dir, files = f
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   774
                        dir = util.convert_path(dir)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   775
                        if not os.path.isabs(dir):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   776
                                dir = os.path.join(self.install_dir, dir)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   777
                        elif self.root:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   778
                                dir = change_root(self.root, dir)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   779
                        self.mkpath(dir)
1099
bd94d4910b8a 8602 tidy top level of source directory
Dan Price <dp@eng.sun.com>
parents: 1024
diff changeset
   780
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   781
                        if not files:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   782
                                self.outfiles.append(dir)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   783
                        else:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   784
                                for file in files:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   785
                                        if isinstance(file, basestring):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   786
                                                infile = file
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   787
                                                outfile = os.path.join(dir,
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   788
                                                    os.path.basename(file))
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   789
                                        else:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   790
                                                infile, outfile = file
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   791
                                        infile = util.convert_path(infile)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   792
                                        outfile = util.convert_path(outfile)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   793
                                        if os.path.sep not in outfile:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   794
                                                outfile = os.path.join(dir,
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   795
                                                    outfile)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   796
                                        self.copy_file(infile, outfile)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   797
                                        self.outfiles.append(outfile)
1099
bd94d4910b8a 8602 tidy top level of source directory
Dan Price <dp@eng.sun.com>
parents: 1024
diff changeset
   798
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   799
                # Don't bother making this generic for the one symlink.
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   800
                src = "HighContrastInverse"
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   801
                dst = os.path.join(self.install_dir, pm_share_dir,
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   802
                    "icons/HighContrastLargePrintInverse")
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
   803
                try:
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   804
                        targ = os.readlink(dst)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   805
                except OSError, e:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   806
                        if e.errno in (errno.ENOENT, errno.EINVAL):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   807
                                targ = None
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   808
                        else:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   809
                                raise
1191
a48bee2a4b2e 305 http_proxy value needs more checking for valid url syntax
johansen <johansen@sun.com>
parents: 1172
diff changeset
   810
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   811
                if src != targ:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   812
                        log.info("linking %s -> %s" % (src, dst))
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   813
                        rm_f(dst)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   814
                        os.symlink(src, dst)
1191
a48bee2a4b2e 305 http_proxy value needs more checking for valid url syntax
johansen <johansen@sun.com>
parents: 1172
diff changeset
   815
2826
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   816
def run_cmd(args, swdir, updenv=None, ignerr=False, savestderr=None):
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   817
                if updenv:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   818
                        # use temp environment modified with the given dict
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   819
                        env = os.environ.copy()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   820
                        env.update(updenv)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   821
                else:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   822
                        # just use environment of this (parent) process as is
1660
f99db08aa9db 13799 pycurl could stand to be built with optimization
Tim Foster <tim.foster@sun.com>
parents: 1637
diff changeset
   823
                        env = os.environ
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   824
                if ignerr:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   825
                        # send stderr to devnull
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   826
                        stderr = open(os.devnull)
2826
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   827
                elif savestderr:
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   828
                        stderr = savestderr
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   829
                else:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   830
                        # just use stderr of this (parent) process
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   831
                        stderr = None
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   832
                ret = subprocess.Popen(args, cwd=swdir, env=env,
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   833
                    stderr=stderr).wait()
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
   834
                if ret != 0:
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   835
                        if stderr:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   836
                            stderr.close()
1208
9d8a558cae2d 9901 Patch failure should stop build
johansen <johansen@sun.com>
parents: 1201
diff changeset
   837
                        print >> sys.stderr, \
9d8a558cae2d 9901 Patch failure should stop build
johansen <johansen@sun.com>
parents: 1201
diff changeset
   838
                            "install failed and returned %d." % ret
9d8a558cae2d 9901 Patch failure should stop build
johansen <johansen@sun.com>
parents: 1201
diff changeset
   839
                        print >> sys.stderr, \
9d8a558cae2d 9901 Patch failure should stop build
johansen <johansen@sun.com>
parents: 1201
diff changeset
   840
                            "Command was: %s" % " ".join(args)
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
   841
                        sys.exit(1)
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   842
                if stderr:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   843
                        stderr.close()
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
   844
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   845
def _copy_file_contents(src, dst, buffer_size=16*1024):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   846
        """A clone of distutils.file_util._copy_file_contents() that strips the
2597
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   847
        CDDL text.  For Python files, we replace the CDDL text with an equal
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   848
        number of empty comment lines so that line numbers match between the
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   849
        source and destination files."""
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   850
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   851
        # Match the lines between and including the CDDL header signposts, as
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   852
        # well as empty comment lines before and after, if they exist.
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   853
        cddl_re = re.compile("\n(#\s*\n)?^[^\n]*CDDL HEADER START.+"
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   854
            "CDDL HEADER END[^\n]*$(\n#\s*$)?", re.MULTILINE|re.DOTALL)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   855
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   856
        with file(src, "r") as sfp:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   857
                try:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   858
                        os.unlink(dst)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   859
                except EnvironmentError, e:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   860
                        if e.errno != errno.ENOENT:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   861
                                raise DistutilsFileError("could not delete "
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   862
                                    "'%s': %s" % (dst, e))
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   863
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   864
                with file(dst, "w") as dfp:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   865
                        while True:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   866
                                buf = sfp.read(buffer_size)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   867
                                if not buf:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   868
                                        break
2597
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   869
                                if src.endswith(".py"):
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   870
                                        match = cddl_re.search(buf)
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   871
                                        if match:
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   872
                                                # replace the CDDL expression
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   873
                                                # with the same number of empty
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   874
                                                # comment lines as the cddl_re
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   875
                                                # matched.
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   876
                                                substr = buf[
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   877
                                                    match.start():match.end()]
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   878
                                                count = len(
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   879
                                                    substr.split("\n")) - 2
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   880
                                                blanks = "#\n" * count
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   881
                                                buf = cddl_re.sub("\n" + blanks,
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   882
                                                    buf)
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   883
                                else:
d77be056d7ec 18628 pkglint needs to support mediated links
Tim Foster <tim.s.foster@oracle.com>
parents: 2561
diff changeset
   884
                                         buf = cddl_re.sub("", buf)
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   885
                                dfp.write(buf)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   886
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   887
# Make file_util use our version of _copy_file_contents
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   888
file_util._copy_file_contents = _copy_file_contents
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   889
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   890
def intltool_update_maintain():
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   891
        """Check if scope of localization looks up-to-date or possibly not,
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   892
        by comparing file set described in po/POTFILES.{in,skip} and
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   893
        actual source files (e.g. .py) detected.
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   894
        """
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   895
        rm_f("po/missing")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   896
        rm_f("po/notexist")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   897
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   898
        args = [
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   899
            "/usr/bin/intltool-update", "--maintain"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   900
        ]
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   901
        print " ".join(args)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   902
        podir = os.path.join(os.getcwd(), "po")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   903
        run_cmd(args, podir, updenv={"LC_ALL": "C"}, ignerr=True)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   904
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   905
        if os.path.exists("po/missing"):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   906
            print >> sys.stderr, \
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   907
                "New file(s) with translatable strings detected:"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   908
            missing = open("po/missing", "r")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   909
            print >> sys.stderr, "--------"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   910
            for fn in missing:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   911
                print >> sys.stderr, "%s" % fn.strip()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   912
            print >> sys.stderr, "--------"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   913
            missing.close()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   914
            print >> sys.stderr, \
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   915
"""Please evaluate whether any of the above file(s) needs localization. 
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   916
If so, please add its name to po/POTFILES.in.  If not (e.g., it's not 
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   917
delivered), please add its name to po/POTFILES.skip. 
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   918
Please be sure to maintain alphabetical ordering in both files."""
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   919
            sys.exit(1)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   920
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   921
        if os.path.exists("po/notexist"):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   922
            print >> sys.stderr, \
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   923
"""The following files are listed in po/POTFILES.in, but no longer exist 
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   924
in the workspace:"""
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   925
            notexist = open("po/notexist", "r")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   926
            print >> sys.stderr, "--------"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   927
            for fn in notexist:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   928
                print >> sys.stderr, "%s" % fn.strip()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   929
            print >> sys.stderr, "--------"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   930
            notexist.close()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   931
            print >> sys.stderr, \
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   932
                "Please remove the file names from po/POTFILES.in"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   933
            sys.exit(1)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   934
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   935
def intltool_update_pot():
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   936
        """Generate pkg.pot by extracting localizable strings from source
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   937
        files (e.g. .py)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   938
        """
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   939
        rm_f("po/pkg.pot")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   940
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   941
        args = [
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   942
            "/usr/bin/intltool-update", "--pot"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   943
        ]
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   944
        print " ".join(args)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   945
        podir = os.path.join(os.getcwd(), "po")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   946
        run_cmd(args, podir,
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   947
            updenv={"LC_ALL": "C", "XGETTEXT": "/usr/gnu/bin/xgettext"})
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   948
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   949
        if not os.path.exists("po/pkg.pot"):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   950
            print >> sys.stderr, \
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   951
                "Failed in generating pkg.pot."
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   952
            sys.exit(1)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   953
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   954
def intltool_merge(src, dst):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   955
        if not dep_util.newer(src, dst):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   956
                return
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   957
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   958
        args = [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   959
            "/usr/bin/intltool-merge", "-d", "-u",
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   960
            "-c", "po/.intltool-merge-cache", "po", src, dst
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   961
        ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   962
        print " ".join(args)
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
   963
        run_cmd(args, os.getcwd(), updenv={"LC_ALL": "C"})
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
   964
2826
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   965
def i18n_check():
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   966
        """Checks for common i18n messaging bugs in the source."""
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   967
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   968
        src_files = []
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   969
        # A list of the i18n errors we check for in the code
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   970
        common_i18n_errors = [
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   971
            # This checks that messages with multiple parameters are always
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   972
            # written using "%(name)s" format, rather than just "%s"
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   973
            "format string with unnamed arguments cannot be properly localized"
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   974
        ]
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   975
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   976
        for line in open("po/POTFILES.in", "r").readlines():
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   977
                if line.startswith("["):
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   978
                        continue
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   979
                if line.startswith("#"):
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   980
                        continue
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   981
                src_files.append(line.rstrip())
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   982
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   983
        args = [
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   984
            "/usr/gnu/bin/xgettext", "--from-code=UTF-8", "-o", "/dev/null"]
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   985
        args += src_files
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   986
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   987
        xgettext_output_path = tempfile.mkstemp()[1]
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   988
        xgettext_output = open(xgettext_output_path, "w")
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   989
        run_cmd(args, os.getcwd(), updenv={"LC_ALL": "C"},
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   990
            savestderr=xgettext_output)
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   991
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   992
        found_errs = False
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   993
        i18n_errs = open("po/i18n_errs.txt", "w")
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   994
        for line in open(xgettext_output_path, "r").readlines():
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   995
                for err in common_i18n_errors:
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   996
                        if err in line:
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   997
                                i18n_errs.write(line)
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   998
                                found_errs = True
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
   999
        i18n_errs.close()
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1000
        if found_errs:
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1001
                print >> sys.stderr, \
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1002
"The following i18n errors were detected and should be corrected:\n" \
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1003
"(this list is saved in po/i18n_errs.txt)\n"
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1004
                for line in open("po/i18n_errs.txt", "r"):
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1005
                        print >> sys.stderr, line.rstrip()
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1006
                sys.exit(1)
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1007
        os.remove(xgettext_output_path)
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1008
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1009
def msgfmt(src, dst):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1010
        if not dep_util.newer(src, dst):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1011
                return
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1012
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1013
        args = ["/usr/bin/msgfmt", "-o", dst, src]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1014
        print " ".join(args)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1015
        run_cmd(args, os.getcwd())
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1016
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1017
def localizablexml(src, dst):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1018
        """create XML help for localization, where French part of legalnotice
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1019
        is stripped off
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1020
        """
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1021
        if not dep_util.newer(src, dst):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1022
                return
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1023
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1024
        fsrc = open(src, "r")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1025
        fdst = open(dst, "w")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1026
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1027
        # indicates currently in French part of legalnotice
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1028
        in_fr = False
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1029
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1030
        for l in fsrc:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1031
            if in_fr: # in French part
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1032
                if l.startswith('</legalnotice>'):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1033
                    # reached end of legalnotice
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1034
                    print >> fdst, l,
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1035
                    in_fr = False
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1036
            elif l.startswith('<para lang="fr"/>') or \
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1037
                    l.startswith('<para lang="fr"></para>'):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1038
                in_fr = True
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1039
            else:
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1040
                # not in French part
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1041
                print >> fdst, l,
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1042
        
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1043
        fsrc.close()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1044
        fdst.close()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1045
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1046
def xml2po_gen(src, dst):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1047
        """Input is English XML file. Output is pkg_help.pot, message
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1048
        source for next translation update.
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1049
        """
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1050
        if not dep_util.newer(src, dst):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1051
                return
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1052
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1053
        args = ["/usr/bin/xml2po", "-o", dst, src]
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1054
        print " ".join(args)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1055
        run_cmd(args, os.getcwd())
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1056
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1057
def xml2po_merge(src, dst, mofile):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1058
        """Input is English XML file and <lang>.po file (which contains
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1059
        translations). Output is translated XML file.
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1060
        """
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1061
        msgfmt(mofile[:-3] + ".po", mofile)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1062
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1063
        monewer = dep_util.newer(mofile, dst)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1064
        srcnewer = dep_util.newer(src, dst)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1065
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1066
        if not srcnewer and not monewer:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1067
                return
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1068
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1069
        args = ["/usr/bin/xml2po", "-t", mofile, "-o", dst, src]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1070
        print " ".join(args)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1071
        run_cmd(args, os.getcwd())
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1072
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1073
class installfile(Command):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1074
        user_options = [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1075
            ("file=", "f", "source file to copy"),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1076
            ("dest=", "d", "destination directory"),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1077
            ("mode=", "m", "file mode"),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1078
        ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1079
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1080
        description = "De-CDDLing file copy"
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1081
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1082
        def initialize_options(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1083
                self.file = None
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1084
                self.dest = None
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1085
                self.mode = None
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1086
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1087
        def finalize_options(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1088
                if self.mode is None:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1089
                        self.mode = 0644
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1090
                elif isinstance(self.mode, basestring):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1091
                        try:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1092
                                self.mode = int(self.mode, 8)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1093
                        except ValueError:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1094
                                self.mode = 0644
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1095
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1096
        def run(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1097
                dest_file = os.path.join(self.dest, os.path.basename(self.file))
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1098
                ret = self.copy_file(self.file, dest_file)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1099
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1100
                os.chmod(dest_file, self.mode)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1101
                os.utime(dest_file, None)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1102
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1103
                return ret
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1104
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
  1105
class build_func(_build):
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1106
        sub_commands = _build.sub_commands + [('build_data', None)]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1107
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
  1108
        def initialize_options(self):
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1109
                _build.initialize_options(self)
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1110
                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
  1111
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1112
def get_hg_version():
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1113
        try:
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1114
                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
  1115
                return p.communicate()[0].strip()
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1116
        except OSError:
384
9d4746e5dd3e 115 pkg needs to not have a cow on a SIGPIPE
Shawn Walker <swalker@opensolaris.org>
parents: 383
diff changeset
  1117
                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
  1118
                return "unknown"
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1119
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1120
def syntax_check(filename):
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1121
        """ Run python's compiler over the file, and discard the results.
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1122
            Arrange to generate an exception if the file does not compile.
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1123
            This is needed because distutil's own use of pycompile (in the
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1124
            distutils.utils module) is broken, and doesn't stop on error. """
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1125
        try:
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1126
                py_compile.compile(filename, os.devnull, doraise=True)
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1127
        except py_compile.PyCompileError, e:
2242
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1128
                res = ""
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1129
                for err in e.exc_value:
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1130
                        if isinstance(err, basestring):
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1131
                                res += err + "\n"
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1132
                                continue
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1133
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1134
                        # Assume it's a tuple of (filename, lineno, col, code)
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1135
                        fname, line, col, code = err
2337
acd36bf537d3 18271 setup.py can die if "col" is None
Danek Duvall <danek.duvall@oracle.com>
parents: 2335
diff changeset
  1136
                        res += "line %d, column %s, in %s:\n%s" % (line,
acd36bf537d3 18271 setup.py can die if "col" is None
Danek Duvall <danek.duvall@oracle.com>
parents: 2335
diff changeset
  1137
                            col or "unknown", fname, code)
2242
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1138
1bd3f64cf9de 16627 syntax check would be much more friendly if stringified
Shawn Walker <shawn.walker@oracle.com>
parents: 2240
diff changeset
  1139
                raise DistutilsError(res)
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1140
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1141
# On Solaris, ld inserts the full argument to the -o option into the symbol
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1142
# table.  This means that the resulting object will be different depending on
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1143
# the path at which the workspace lives, and not just on the interesting content
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1144
# of the object.
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1145
#
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1146
# In order to work around that bug (7076871), we create a new compiler class
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1147
# that looks at the argument indicating the output file, chdirs to its
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1148
# directory, and runs the real link with the output file set to just the base
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1149
# name of the file.
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1150
#
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1151
# Unfortunately, distutils isn't too customizable in this regard, so we have to
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1152
# twiddle with a couple of the names in the distutils.ccompiler namespace: we
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1153
# have to add a new entry to the compiler_class dict, and we have to override
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1154
# the new_compiler() function to point to our own.  Luckily, our copy of
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1155
# new_compiler() gets to be very simple, since we always know what we want to
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1156
# return.
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1157
class MyUnixCCompiler(UnixCCompiler):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1158
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1159
        def link(self, *args, **kwargs):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1160
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1161
                output_filename = args[2]
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1162
                output_dir = kwargs.get('output_dir')
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1163
                cwd = os.getcwd()
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1164
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1165
                assert(not output_dir)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1166
                output_dir = os.path.join(cwd, os.path.dirname(output_filename))
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1167
                output_filename = os.path.basename(output_filename)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1168
                nargs = args[:2] + (output_filename,) + args[3:]
2677
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1169
                if not os.path.exists(output_dir):
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1170
                        os.mkdir(output_dir, 0755)
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1171
                os.chdir(output_dir)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1172
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1173
                UnixCCompiler.link(self, *nargs, **kwargs)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1174
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1175
                os.chdir(cwd)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1176
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1177
distutils.ccompiler.compiler_class['myunix'] = (
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1178
    'unixccompiler', 'MyUnixCCompiler',
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1179
    'standard Unix-style compiler with a link stage modified for Solaris'
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1180
)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1181
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1182
def my_new_compiler(plat=None, compiler=None, verbose=0, dry_run=0, force=0):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1183
        return MyUnixCCompiler(None, dry_run, force)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1184
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1185
if osname == 'sunos':
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1186
        distutils.ccompiler.new_compiler = my_new_compiler
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1187
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1188
class build_ext_func(_build_ext):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1189
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1190
        def initialize_options(self):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1191
                _build_ext.initialize_options(self)
2677
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1192
                self.build64 = False
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1193
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1194
                if osname == 'sunos':
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1195
                        self.compiler = 'myunix'
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1196
2677
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1197
        def build_extension(self, ext):
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1198
                # Build 32-bit
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1199
                _build_ext.build_extension(self, ext)
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1200
                if not ext.build_64:
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1201
                        return
2677
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1202
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1203
                # Set up for 64-bit
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1204
                old_build_temp = self.build_temp
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1205
                d, f = os.path.split(self.build_temp)
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1206
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1207
                # store our 64-bit extensions elsewhere
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1208
                self.build_temp = d + "/temp64.%s" % \
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1209
                    os.path.basename(self.build_temp).replace("temp.", "")
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1210
                ext.extra_compile_args += ["-m64"]
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1211
                ext.extra_link_args += ["-m64"]
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1212
                self.build64 = True
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1213
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1214
                # Build 64-bit
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1215
                _build_ext.build_extension(self, ext)
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1216
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1217
                # Reset to 32-bit
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1218
                self.build_temp = old_build_temp
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1219
                ext.extra_compile_args.remove("-m64")
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1220
                ext.extra_link_args.remove("-m64")
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1221
                self.build64 = False
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1222
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1223
        def get_ext_fullpath(self, ext_name):
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1224
                path = _build_ext.get_ext_fullpath(self, ext_name)
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1225
                if not self.build64:
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1226
                        return path
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1227
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1228
                dpath, fpath = os.path.split(path)
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1229
                return os.path.join(dpath, "64", fpath)
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1230
7f1c7dd5254f 7140764 pkg.sysrepo should support p5p files
Tim Foster <tim.s.foster@oracle.com>
parents: 2674
diff changeset
  1231
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1232
class build_py_func(_build_py):
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1233
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1234
        def __init__(self, dist):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1235
                ret = _build_py.__init__(self, dist)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1236
2561
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1237
                self.copied = []
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1238
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1239
                # Gather the timestamps of the .py files in the gate, so we can
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1240
                # force the mtimes of the built and delivered copies to be
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1241
                # consistent across builds, causing their corresponding .pyc
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1242
                # files to be unchanged unless the .py file content changed.
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1243
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1244
                self.timestamps = {}
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1245
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1246
                p = subprocess.Popen(
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1247
                    [sys.executable, os.path.join(pwd, "pydates")],
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1248
                    stdout=subprocess.PIPE)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1249
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1250
                for line in p.stdout:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1251
                        stamp, path = line.split()
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1252
                        stamp = float(stamp)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1253
                        self.timestamps[path] = stamp
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1254
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1255
                if p.wait() != 0:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1256
                        print >> sys.stderr, "ERROR: unable to gather .py " \
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1257
                            "timestamps"
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1258
                        sys.exit(1)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1259
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1260
                return ret
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1261
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1262
        # override the build_module method to do VERSION substitution on
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1263
        # pkg/__init__.py
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1264
        def build_module (self, module, module_file, package):
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1265
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1266
                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
  1267
                        versionre = '(?m)^VERSION[^"]*"([^"]*)"'
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1268
                        # 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
  1269
                        # tree.
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1270
                        try:
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1271
                                ocontent = \
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1272
                                    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
  1273
                                        [package], module)).read()
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1274
                                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
  1275
                        except IOError:
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1276
                                ov = None
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1277
                        v = get_hg_version()
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1278
                        vstr = 'VERSION = "%s"' % v
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1279
                        # 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
  1280
                        # recompile.
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1281
                        if v == ov:
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1282
                                return
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1283
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1284
                        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
  1285
                        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
  1286
                        tmpfd, tmp_file = tempfile.mkstemp()
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1287
                        os.write(tmpfd, mcontent)
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1288
                        os.close(tmpfd)
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1289
                        print "doing version substitution: ", v
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1290
                        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
  1291
                        os.unlink(tmp_file)
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1292
                        return rv
422
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 413
diff changeset
  1293
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1294
                # Will raise a DistutilsError on failure.
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1295
                syntax_check(module_file)
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 836
diff changeset
  1296
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1297
                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
  1298
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1299
        def copy_file(self, infile, outfile, preserve_mode=1, preserve_times=1,
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1300
            link=None, level=1):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1301
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1302
                # If the timestamp on the source file (coming from mercurial if
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1303
                # unchanged, or from the filesystem if changed) doesn't match
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1304
                # the filesystem timestamp on the destination, then force the
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1305
                # copy to make sure the right data is in place.
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1306
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1307
                try:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1308
                        dst_mtime = os.stat(outfile).st_mtime
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1309
                except OSError, e:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1310
                        if e.errno != errno.ENOENT:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1311
                                raise
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1312
                        dst_mtime = time.time()
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1313
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1314
                # The timestamp for __init__.py is the timestamp for the
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1315
                # workspace itself.
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1316
                if outfile.endswith("/pkg/__init__.py"):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1317
                        src_mtime = self.timestamps["."]
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1318
                else:
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1319
                        src_mtime = self.timestamps.get(
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1320
                            os.path.join("src", infile), self.timestamps["."])
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1321
2561
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1322
                # Force a copy of the file if the source timestamp is different
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1323
                # from that of the destination, not just if it's newer.  This
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1324
                # allows timestamps in the working directory to regress (for
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1325
                # instance, following the reversion of a change).
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1326
                if dst_mtime != src_mtime:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1327
                        f = self.force
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1328
                        self.force = True
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1329
                        dst, copied = _build_py.copy_file(self, infile, outfile,
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1330
                            preserve_mode, preserve_times, link, level)
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1331
                        self.force = f
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1332
                else:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1333
                        dst, copied = outfile, 0
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1334
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1335
                # If we copied the file, then we need to go and readjust the
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1336
                # timestamp on the file to match what we have in our database.
2561
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1337
                # Save the filename aside for our version of install_lib.
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1338
                if copied and dst.endswith(".py"):
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1339
                        os.utime(dst, (src_mtime, src_mtime))
2561
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1340
                        self.copied.append(dst)
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1341
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1342
                return dst, copied
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1343
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1344
class build_data_func(Command):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1345
        description = "build data files whose source isn't in deliverable form"
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1346
        user_options = []
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1347
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1348
        # As a subclass of distutils.cmd.Command, these methods are required to
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1349
        # be implemented.
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1350
        def initialize_options(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1351
                pass
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1352
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1353
        def finalize_options(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1354
                pass
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1355
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1356
        def run(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1357
                # Anything that gets created here should get deleted in
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1358
                # clean_func.run() below.
2826
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1359
                i18n_check()
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1360
                for f in intl_files:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1361
                        intltool_merge(f, f[:-3])
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1362
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1363
                for l in help_locales:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1364
                        path = "gui/help/%s/" % l
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1365
                        xml2po_merge(path + "package-manager.xml.in",
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1366
                            path + "package-manager.xml",
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1367
                            path + "%s.mo" % l)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1368
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1369
                # create xml for localization
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1370
                localizablexml("gui/help/C/package-manager.xml",
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1371
                    "gui/help/C/package-manager.localizable.xml")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1372
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1373
                # generate pkg_help.pot for next translation
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1374
                xml2po_gen("gui/help/C/package-manager.localizable.xml",
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1375
                    "gui/help/C/pkg_help.pot")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1376
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1377
                for l in pkg_locales:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1378
                        msgfmt("po/%s.po" % l, "po/%s.mo" % l)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1379
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1380
                # generate pkg.pot for next translation
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1381
                intltool_update_maintain()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1382
                intltool_update_pot()
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1383
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1384
                # create __LOCALE__ -> C symlink for omf file
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1385
                # to make installation with data_files list work
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1386
                locomf="gui/help/package-manager-__LOCALE__.omf"
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1387
                if not os.path.exists(locomf):
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1388
                    os.symlink("package-manager-C.omf", locomf)
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1389
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1390
def rm_f(filepath):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1391
        """Remove a file without caring whether it exists."""
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1392
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1393
        try:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1394
                os.unlink(filepath)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1395
        except OSError, e:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1396
                if e.errno != errno.ENOENT:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1397
                        raise
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1398
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
  1399
class clean_func(_clean):
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
  1400
        def initialize_options(self):
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1401
                _clean.initialize_options(self)
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1402
                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
  1403
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1404
        def run(self):
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1405
                _clean.run(self)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1406
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1407
                rm_f("po/.intltool-merge-cache")
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1408
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1409
                for f in intl_files:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1410
                        rm_f(f[:-3])
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1411
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1412
                for l in pkg_locales:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1413
                        rm_f("po/%s.mo" % l)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1414
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1415
                rm_f("po/pkg.pot")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1416
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1417
                for l in help_locales:
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1418
                        path = "gui/help/%s/" % l
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1419
                        rm_f(path + "package-manager.xml")
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1420
                        rm_f(path + "%s.mo" % l)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1421
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1422
                rm_f("gui/help/C/pkg_help.pot")
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1423
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1424
                rm_f("gui/help/package-manager-__LOCALE__.omf")
2826
cae308eb6426 7185135 i18n messages should use parameterized values
Tim Foster <tim.s.foster@oracle.com>
parents: 2744
diff changeset
  1425
                rm_f("po/i18n_errs.txt")
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1426
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
  1427
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
  1428
        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
  1429
        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
  1430
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
  1431
        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
  1432
                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
  1433
        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
  1434
                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
  1435
        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
  1436
                # nuke everything
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1437
                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
  1438
                shutil.rmtree(dist_dir, True)
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1439
                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
  1440
                shutil.rmtree(build_dir, True)
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1441
                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
  1442
                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
  1443
                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
  1444
                shutil.rmtree(pkgs_dir, True)
1099
bd94d4910b8a 8602 tidy top level of source directory
Dan Price <dp@eng.sun.com>
parents: 1024
diff changeset
  1445
                print("deleting " + extern_dir)
bd94d4910b8a 8602 tidy top level of source directory
Dan Price <dp@eng.sun.com>
parents: 1024
diff changeset
  1446
                shutil.rmtree(extern_dir, True)
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
  1447
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
  1448
class test_func(Command):
1101
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1449
        # NOTE: these options need to be in sync with tests/run.py and the
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1450
        # list of options stored in initialize_options below. The first entry
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1451
        # in each tuple must be the exact name of a member variable.
1513
3ece69a26155 5032 make coverage should only report on the files in our gate
Danek Duvall <danek.duvall@sun.com>
parents: 1508
diff changeset
  1452
        user_options = [
1715
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1453
            ("archivedir=", 'a', "archive failed tests <dir>"),
1513
3ece69a26155 5032 make coverage should only report on the files in our gate
Danek Duvall <danek.duvall@sun.com>
parents: 1508
diff changeset
  1454
            ("baselinefile=", 'b', "baseline file <file>"),
3ece69a26155 5032 make coverage should only report on the files in our gate
Danek Duvall <danek.duvall@sun.com>
parents: 1508
diff changeset
  1455
            ("coverage", "c", "collect code coverage data"),
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1456
            ("genbaseline", 'g', "generate test baseline"),
1513
3ece69a26155 5032 make coverage should only report on the files in our gate
Danek Duvall <danek.duvall@sun.com>
parents: 1508
diff changeset
  1457
            ("only=", "o", "only <regex>"),
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1458
            ("parseable", 'p', "parseable output"),
2272
d81ea073d050 3617 Testsuite should allow choice for base port to use
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2263
diff changeset
  1459
            ("port=", "z", "lowest port to start a depot on"),
1101
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1460
            ("timing", "t", "timing file <file>"),
1513
3ece69a26155 5032 make coverage should only report on the files in our gate
Danek Duvall <danek.duvall@sun.com>
parents: 1508
diff changeset
  1461
            ("verbosemode", 'v', "run tests in verbose mode"),
2340
194a87d123d4 18072 Automated GUI tests broken
Michal Pryc <Michal.Pryc@Oracle.Com>
parents: 2339
diff changeset
  1462
            ("enableguitests", 'u', "enable IPS GUI tests, disabled by default"),
1715
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1463
            ("stoponerr", 'x', "stop when a baseline mismatch occurs"),
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1464
            ("debugoutput", 'd', "emit debugging output"),
1716
10e09e28528a 12257 setup.py doesn't respect run.py options [fix traceback]
Dan Price <dp@eng.sun.com>
parents: 1715
diff changeset
  1465
            ("showonexpectedfail", 'f',
1715
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1466
                "show all failure info, even for expected fails"),
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1467
            ("startattest=", 's', "start at indicated test"),
2499
683824f135a1 18636 a single test suite run should be parallelizable
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2494
diff changeset
  1468
            ("jobs=", 'j', "number of parallel processes to use"),
683824f135a1 18636 a single test suite run should be parallelizable
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2494
diff changeset
  1469
            ("quiet", "q", "use the dots as the output format"),
1513
3ece69a26155 5032 make coverage should only report on the files in our gate
Danek Duvall <danek.duvall@sun.com>
parents: 1508
diff changeset
  1470
        ]
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
  1471
        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
  1472
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
  1473
        def initialize_options(self):
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1474
                self.only = ""
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1475
                self.baselinefile = ""
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
  1476
                self.verbosemode = 0
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1477
                self.parseable = 0
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
  1478
                self.genbaseline = 0
1101
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1479
                self.timing = 0
1513
3ece69a26155 5032 make coverage should only report on the files in our gate
Danek Duvall <danek.duvall@sun.com>
parents: 1508
diff changeset
  1480
                self.coverage = 0
1715
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1481
                self.stoponerr = 0
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1482
                self.debugoutput = 0
1716
10e09e28528a 12257 setup.py doesn't respect run.py options [fix traceback]
Dan Price <dp@eng.sun.com>
parents: 1715
diff changeset
  1483
                self.showonexpectedfail = 0
1715
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1484
                self.startattest = ""
8f305f0a6864 8265 EINVAL on rmdir running "make test"
Dan Price <dp@eng.sun.com>
parents: 1674
diff changeset
  1485
                self.archivedir = ""
2272
d81ea073d050 3617 Testsuite should allow choice for base port to use
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2263
diff changeset
  1486
                self.port = 12001
2499
683824f135a1 18636 a single test suite run should be parallelizable
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2494
diff changeset
  1487
                self.jobs = 1
683824f135a1 18636 a single test suite run should be parallelizable
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2494
diff changeset
  1488
                self.quiet = False
1101
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1489
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
  1490
        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
  1491
                pass
1101
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1492
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
  1493
        def run(self):
1101
35f360e2ee19 5247 Test suite should provide timing info
Brock Pytlik <bpytlik@sun.com>
parents: 1099
diff changeset
  1494
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
  1495
                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
  1496
                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
  1497
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1498
                # 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
  1499
                cmd = [sys.executable, "run.py"]
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1500
                args = ""
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1501
                if "test" in sys.argv:
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1502
                        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
  1503
                        cmd.extend(args)
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
  1504
                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
  1505
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
  1506
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
  1507
        def initialize_options(self):
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
  1508
                _bdist.initialize_options(self)
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1509
                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
  1510
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1511
class Extension(distutils.core.Extension):
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1512
        # This class wraps the distutils Extension class, allowing us to set
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1513
        # build_64 in the object constructor instead of being forced to add it
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1514
        # after the object has been created.
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1515
        def __init__(self, name, sources, build_64=False, **kwargs):
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1516
                distutils.core.Extension.__init__(self, name, sources, **kwargs)
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1517
                self.build_64 = build_64
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1518
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
  1519
# 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
  1520
compile_args = None
1637
0a60d77db8d9 13796 pkg(5) could stand to have its C modules optimized
Danek Duvall <danek.duvall@sun.com>
parents: 1632
diff changeset
  1521
if osname in ("sunos", "linux", "darwin"):
0a60d77db8d9 13796 pkg(5) could stand to have its C modules optimized
Danek Duvall <danek.duvall@sun.com>
parents: 1632
diff changeset
  1522
        compile_args = [ "-O3" ]
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1523
if osname == "sunos":
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1524
        link_args = [ "-zstrip-class=nonalloc" ]
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1525
else:
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1526
        link_args = []
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1527
# We don't support 64-bit yet, but 64-bit _actions.so, _common.so, and
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1528
# _varcet.so are needed for a system repository mod_wsgi application,
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1529
# sysrepo_p5p.py.
613
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1530
ext_modules = [
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1531
        Extension(
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1532
                'actions._actions',
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1533
                _actions_srcs,
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1534
                include_dirs = include_dirs,
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1535
                extra_compile_args = compile_args,
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1536
                extra_link_args = link_args,
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1537
                build_64 = True
613
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1538
                ),
1632
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
  1539
        Extension(
2639
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1540
                'actions._common',
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1541
                _actcomm_srcs,
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1542
                include_dirs = include_dirs,
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1543
                extra_compile_args = compile_args,
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1544
                extra_link_args = link_args,
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1545
                build_64 = True
2639
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1546
                ),
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1547
        Extension(
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1548
                '_varcet',
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1549
                _varcet_srcs,
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1550
                include_dirs = include_dirs,
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1551
                extra_compile_args = compile_args,
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1552
                extra_link_args = link_args,
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1553
                build_64 = True
2639
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1554
                ),
06a370373267 7145683 explore general pkg performance improvements
Shawn Walker <shawn.walker@oracle.com>
parents: 2597
diff changeset
  1555
        Extension(
1632
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
  1556
                'solver',
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
  1557
                solver_srcs,
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
  1558
                include_dirs = include_dirs + ["."],
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
  1559
                extra_compile_args = compile_args,
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1560
                extra_link_args = link_args + solver_link_args,
1632
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
  1561
                define_macros = [('_FILE_OFFSET_BITS', '64')]
082a54aa7b58 13499 port solver to non-sunos platforms
Tom Mueller <Tom.Mueller@sun.com>
parents: 1557
diff changeset
  1562
                ),
613
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1563
        ]
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
  1564
elf_libraries = None
742
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 708
diff changeset
  1565
data_files = web_files
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1566
cmdclasses = {
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1567
        'install': install_func,
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1568
        'install_data': install_data_func,
2561
99ce9d129c70 18815 make install doesn't seem to update proto area any more
Danek Duvall <danek.duvall@oracle.com>
parents: 2535
diff changeset
  1569
        'install_lib': install_lib_func,
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1570
        'build': build_func,
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1571
        'build_data': build_data_func,
2508
619ec4359319 5965 all .pyc files are shipped in every update
Danek Duvall <danek.duvall@oracle.com>
parents: 2499
diff changeset
  1572
        'build_ext': build_ext_func,
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1573
        'build_py': build_py_func,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1574
        'bdist': dist_func,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1575
        'lint': lint_func,
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1576
        'clint': clint_func,
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1577
        'pylint': pylint_func,
2364
7598ee41dcbc 18340 unquoted matching patterns cause spurious test case failures
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2345
diff changeset
  1578
        'pylint_quiet': pylint_func_quiet,
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1579
        'clean': clean_func,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1580
        'clobber': clobber_func,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1581
        'test': test_func,
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1582
        'installfile': installfile,
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1583
        }
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
  1584
383
08762e4dac3c 1068 cleanup pylint errors caused by portable package
Tom Mueller <Tom.Mueller@sun.com>
parents: 365
diff changeset
  1585
# 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
  1586
data_files += [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1587
        (man1_dir, man1_files),
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1588
        (man1m_dir, man1m_files),
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1589
        (man5_dir, man5_files),
2516
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
  1590
        (man1_ja_JP_dir, man1_ja_files),
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
  1591
        (man1m_ja_JP_dir, man1m_ja_files),
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
  1592
        (man5_ja_JP_dir, man5_ja_files),
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
  1593
        (man1_zh_CN_dir, man1_zh_CN_files),
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
  1594
        (man1m_zh_CN_dir, man1m_zh_CN_files),
bcea906ea68d 18837 add translated nroff man pages
Shawn Walker <shawn.walker@oracle.com>
parents: 2508
diff changeset
  1595
        (man5_zh_CN_dir, man5_zh_CN_files),
2046
2522cde7adc2 13536 We need a way to audit one or more packages
Tim Foster <tim.s.foster@oracle.com>
parents: 2041
diff changeset
  1596
        (resource_dir, resource_files),
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1597
        ]
2523
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
  1598
# add transforms
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
  1599
data_files += [
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
  1600
        (transform_dir, transform_files)
408a88a59f16 18805 IPS should include sample pkgmogrify transforms for Solaris
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2516
diff changeset
  1601
        ]
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
  1602
if osname == 'sunos':
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1603
        # Solaris-specific extensions are added here
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1604
        data_files += [
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
  1605
                (smf_app_dir, smf_app_files),
1498
1800f38ca303 6133 need to add pkg commands in /etc/security/exec_attr with "Software Installation" profile
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents: 1483
diff changeset
  1606
                (execattrd_dir, execattrd_files),
1800f38ca303 6133 need to add pkg commands in /etc/security/exec_attr with "Software Installation" profile
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents: 1483
diff changeset
  1607
                (authattrd_dir, authattrd_files),
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
  1608
                (userattrd_dir, userattrd_files),
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
  1609
                (sysrepo_dir, sysrepo_files),
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
  1610
                (sysrepo_logs_dir, sysrepo_log_stubs),
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1611
                (sysrepo_cache_dir, {}),
2852
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
  1612
                (depot_dir, depot_files),
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
  1613
                (depot_conf_dir, {}),
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
  1614
                (depot_logs_dir, depot_log_stubs),
5650587d9468 15807357 need an Apache-based pkg.depotd
Tim Foster <tim.s.foster@oracle.com>
parents: 2828
diff changeset
  1615
                (depot_cache_dir, {}),
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1616
                (autostart_dir, autostart_files),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1617
                (desktop_dir, desktop_files),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1618
                (gconf_dir, gconf_files),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1619
                (omf_dir, omf_files),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1620
                ('usr/share/icons/hicolor/48x48/mimetypes',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1621
                    ['gui/data/gnome-mime-application-vnd.pkg5.info.png']),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1622
                ('usr/share/mime/packages', ['gui/data/packagemanager-info.xml']),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1623
                (pm_share_dir, ['gui/data/packagemanager.ui']),
2867
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
  1624
                (mirror_cache_dir, {}),
793902704e21 16069417 need a service to periodically update a pkg(5) repository
Tim Foster <tim.s.foster@oracle.com>
parents: 2858
diff changeset
  1625
                (mirror_logs_dir, {}),
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1626
                ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1627
        data_files += [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1628
            (os.path.join(startpage_dir, locale), files)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1629
            for locale, files in startpage_files.iteritems()
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1630
        ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1631
        data_files += [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1632
            (os.path.join(help_dir, locale), files)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1633
            for locale, files in help_files.iteritems()
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1634
        ]
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1635
        # install localizable .xml and its .pot file to put into localizable file package
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1636
        data_files += [
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1637
            (os.path.join(help_dir, '__LOCALE__'),
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1638
                [('gui/help/C/package-manager.localizable.xml', 'package-manager.xml'),
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1639
                 ('gui/help/C/pkg_help.pot', 'pkg_help.pot')])
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1640
        ]
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1641
        data_files += [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1642
            (os.path.join(locale_dir, locale, 'LC_MESSAGES'),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1643
                [('po/%s.mo' % locale, 'pkg.mo')])
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1644
            for locale in pkg_locales
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1645
        ]
2688
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1646
        # install English .pot file to put into localizable file package
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1647
        data_files += [
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1648
            (os.path.join(locale_dir, '__LOCALE__', 'LC_MESSAGES'),
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1649
                [('po/pkg.pot', 'pkg.pot')])
5508b2313c70 7157958 generate localizable files and deliver them using internal package(s) in publisher pkg5-localizable
Takeshi Asano <takeshi.asano@oracle.com>
parents: 2677
diff changeset
  1650
        ]
2535
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1651
        for t in 'HighContrast', 'HighContrastInverse', '':
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1652
                for px in '24', '36', '48':
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1653
                        data_files += [(
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1654
                            '%s/icons/%s/%sx%s/actions' % (um_share_dir, t or 'hicolor', px, px),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1655
                            ['um/data/icons/%s/%sx%s/updatemanager.png' % (t, px, px)]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1656
                        )]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1657
                data_files += [(
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1658
                    '%s/icons/%s/16x16/actions' % (pm_share_dir, t or 'hicolor'),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1659
                    [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1660
                        'gui/data/icons/%s/16x16/%s.png' % (t, n)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1661
                        for n in ('filter_all', 'filter_selected', 'progress_checkmark',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1662
                            'selection', 'status_checkmark', 'status_installed',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1663
                            'status_newupdate', 'status_notinstalled')
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1664
                    ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1665
                )]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1666
                data_files += [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1667
                    ('%s/icons/%s/%sx%s/actions' % (pm_share_dir, t or 'hicolor', px, px),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1668
                    [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1669
                        'gui/data/icons/%s/%sx%s/%s.png' % (t, px, px, n)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1670
                        for n in ('pm-install_update', 'pm-refresh',
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1671
                            'pm-remove', 'pm-update_all')
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1672
                    ])
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1673
                    for px in (24, 48)
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1674
                ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1675
                data_files += [(
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1676
                    '%s/icons/%s/48x48/actions' % (pm_share_dir, t or 'hicolor'),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1677
                    ['gui/data/icons/%s/48x48/packagemanager.png' % t]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1678
                )]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1679
                data_files += [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1680
                    ('usr/share/icons/%s/48x48/apps' % (t or 'hicolor'),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1681
                        [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1682
                            'um/data/icons/%s/48x48/updatemanager.png' % t,
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1683
                            'gui/data/icons/%s/48x48/packagemanager.png' % t
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1684
                        ]),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1685
                ]
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1686
                # These two icons don't fit any patterns.
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1687
                data_files += [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1688
                    (os.path.join(pm_share_dir, 'icons/hicolor/16x16/actions'), [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1689
                        'gui/data/icons/16x16/progress_blank.png']),
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1690
                    (os.path.join(pm_share_dir, 'icons/hicolor/24x24/actions'), [
8dca919216c6 18768 need to remove CDDL from installed files
Danek Duvall <danek.duvall@oracle.com>
parents: 2523
diff changeset
  1691
                        'gui/data/icons/24x24/pm-check.png']),
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1692
                ]
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
  1693
6c5c87515614 160 Make IPS cross-platform for use across other supported OS's (missing files)
Tom Mueller <Tom.Mueller@Sun.COM>
parents:
diff changeset
  1694
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
  1695
        # 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
  1696
        # 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
  1697
        elf_libraries = ['elf']
613
886277645061 3956 Windows API test cases fail
Tom Mueller <Tom.Mueller@sun.com>
parents: 591
diff changeset
  1698
        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
  1699
                Extension(
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1700
                        'elf',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1701
                        elf_srcs,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1702
                        include_dirs = include_dirs,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1703
                        libraries = elf_libraries,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1704
                        extra_compile_args = compile_args,
2698
ce1ec4d4d9db 7177567 build has gotten unnecessarily chatty and busy with compiled modules
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2693
diff changeset
  1705
                        extra_link_args = link_args,
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1706
                        ),
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1707
                ]
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
  1708
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1709
        # 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
  1710
        # 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
  1711
        if osname == 'sunos':
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1712
            elf_libraries += [ 'md' ]
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1713
            ext_modules += [
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1714
                    Extension(
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
  1715
                            'arch',
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1716
                            arch_srcs,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1717
                            include_dirs = include_dirs,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1718
                            extra_compile_args = compile_args,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1719
                            extra_link_args = link_args,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1720
                            define_macros = [('_FILE_OFFSET_BITS', '64')]
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1721
                            ),
691
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1722
                    Extension(
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1723
                            'pspawn',
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1724
                            pspawn_srcs,
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1725
                            include_dirs = include_dirs,
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1726
                            extra_compile_args = compile_args,
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1727
                            extra_link_args = link_args,
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1728
                            define_macros = [('_FILE_OFFSET_BITS', '64')]
cd1d9c1e82f3 4612 Alternative to os.fork needed for subprocess
johansen <johansen@sun.com>
parents: 661
diff changeset
  1729
                            ),
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1730
                    Extension(
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1731
                            'syscallat',
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1732
                            syscallat_srcs,
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1733
                            include_dirs = include_dirs,
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1734
                            extra_compile_args = compile_args,
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1735
                            extra_link_args = link_args,
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1736
                            define_macros = [('_FILE_OFFSET_BITS', '64')]
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2338
diff changeset
  1737
                            ),
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1738
                    ]
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1739
        else:
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1740
            elf_libraries += [ 'ssl' ]
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1741
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1742
setup(cmdclass = cmdclasses,
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1514
diff changeset
  1743
    name = 'pkg',
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1514
diff changeset
  1744
    version = '0.1',
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1745
    package_dir = {'pkg':'modules'},
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1746
    packages = packages,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1747
    data_files = data_files,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1748
    ext_package = 'pkg',
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1749
    ext_modules = ext_modules,
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 384
diff changeset
  1750
    )