4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
21 # Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
25 include ..
/..
/make-rules
/shared-macros.mk
27 COMPONENT_BUGDB
= utility
/ksh93
29 COMPONENT_PROJECT_URL
= http
://www2.research.att.com
/sw
/download
/
31 # These are required if retrieving packages from the AT&T website.
32 ATT_USERNAME
= "I accept www.opensource.org/licenses/cpl"
35 # This flag controls the prep.mk behaviour to patch each archive individually
36 PATCH_EACH_ARCHIVE
= 1
38 COMPONENT_NAME
= ksh93
39 COMPONENT_SRC_NAME
= INIT
40 COMPONENT_VERSION
= 2011-02-08
41 COMPONENT_SRC
= $(COMPONENT_SRC_NAME
).
$(COMPONENT_VERSION
)
42 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).tgz
43 COMPONENT_ARCHIVE_HASH
= \
44 sha256
:d692d476fe4bb933e7b6459c0cc99a2e9f428bfd81a495ed4201ec197e070f57
45 COMPONENT_ARCHIVE_URL
= http
://www2.research.att.com
/~gsf
/download
/tgz
/$(COMPONENT_ARCHIVE
)
48 # Patch only required if building ksh93 only and not ast-base
49 # package-pax-suid.patch
51 # The ksh93 tarballs don't unpack cleanly into their own directories.
52 UNPACK_ARGS
= -r
$(COMPONENT_SRC
)
55 COMPONENT_NAME_1
= ast-base
56 COMPONENT_VERSION_1
= 2011-02-08
57 COMPONENT_SRC_1
= $(COMPONENT_NAME_1
).
$(COMPONENT_VERSION_1
)
58 COMPONENT_ARCHIVE_1
= $(COMPONENT_NAME_1
).
$(COMPONENT_VERSION_1
).tgz
59 COMPONENT_ARCHIVE_HASH_1
= \
60 sha256
:44ae3913e6c0c8992c6c3cba16864fd4c4a18c6da8e7d87c85a23060cea7cd1a
61 COMPONENT_ARCHIVE_URL_1
= http
://www2.research.att.com
/~gsf
/download
/tgz
/$(COMPONENT_ARCHIVE_1
)
62 COMPONENT_PATCHES_1
= compiler.patch path_utmp.patch\
64 CR6919590.patch CR7033181.patch \
65 CR7071431.patch CR7036535.patch \
66 CRXXX_Error_Catalog.patch CR7025778.patch \
67 CR7065478.patch CR7026179.patch \
68 CR7065900.patch CR7110983.patch \
69 CR7105086.patch multi_lang_arith.patch \
70 CR7057565.patch CR7046434.patch \
71 CR7032821.patch CR7009897.patch \
72 CR6964621.patch CR7032068.patch \
73 CR7061011.patch CR6934836.patch \
74 CR7089799.patch CR6917338.patch \
75 CR7019368.patch CR6729252.patch \
76 MAP_TYPE_64_Bits.patch CR7167466.patch \
77 CR7168611.patch CR7178717.patch \
79 CR7186440_ksh93_disable_predictive_editing.patch \
80 CR7128313.patch Bug15794787
,15819673.patch \
83 # Fixup HOSTTYPE to match uname output and bits
84 HOSTTYPE32
=sol11.
$(shell uname
-p
)
85 HOSTTYPE64
=sol11.
$(shell uname
-p
)-64
87 # Make the unpack of the second archive relocate to a sensible place
88 UNPACK_ARGS_1
= -r
$(COMPONENT_SRC_1
)
90 # We override LD_B_DIRECT because -B direct has unfortunate consequences for the
91 # interposition used by the Safe/Fast IO library (i.e. it becomes neither safe
92 # nor fast, and causes the build to deadly embrace).
95 # Disable nmake's probing of runpaths
101 # Fix up the permissions of the compiler wrapper scripts from the patch
102 COMPONENT_PRE_BUILD_ACTION
=($(CHMOD
) +x
$(@D
)/src
/cmd
/INIT
/cc.sol11.
*)
104 # Prevent nmake from taking over the entire machine
107 # Set the built to build all targets, install all of ast-base, and test ksh93.
108 COMPONENT_BUILD_TARGETS
+=
109 COMPONENT_INSTALL_PACKAGES
+= ast-base
110 COMPONENT_TEST_TARGETS
= ksh93
112 # Unpack the ast-base tarball and copy it into the INIT tree,
113 # mark it as un-patched
114 COMPONENT_POST_UNPACK_ACTION_1
= \
115 $(RM
) $(COMPONENT_SRC
)/*patched_1
; \
116 $(CP
) -r
$(COMPONENT_SRC_1
)/* $(COMPONENT_SRC
)
118 # Add the two tarball paths to the paths to be cleaned
119 CLEAN_PATHS
+= build
$(COMPONENT_NAME_1
).
$(COMPONENT_VERSION_1
) \
120 $(COMPONENT_NAME
).
$(COMPONENT_VERSION
)
122 # ksh.kshrc needs to be installed with the ksh package
123 COMPONENT_POST_INSTALL_ACTION
= \
124 @
$(MKDIR
) -p
$(PROTO_DIR
)/etc
/; \
125 $(CP
) ksh.kshrc
$(PROTO_DIR
)/etc
/
127 # Packaging information.
128 # Note how the AT&T "version letter symbol date" code is translated
129 # into the IPS version number:
131 # shell/ksh93@93.<letter representation>.<0 or 1>.<yymmdd>
133 # <letter representation> is the numeric place in the alphabet of the
134 # major version letter.
136 # <0 or 1> is the presence or absence of the "+" symbol in the AT&T
137 # version code. The "+" represents a point/bugfix release and would appear as
138 # "93<version letter>+" in the human readable form.
141 # AT&T Version string: 93u+ 2011-02-08
142 # IPS Version number: 93.21.1.20110208
145 IPS_COMPONENT_VERSION
= 93.21.0.20110208
146 IPS_HUMAN_VERSION
= "93u 2011-02-08"
149 build
: $(BUILD_32_and_64
)
151 install: $(INSTALL_32_and_64
)
153 test: $(TEST_32_and_64
)
155 BUILD_PKG_DEPENDENCIES
= $(BUILD_TOOLS
)
157 PKG_PROTO_DIRS
+= $(COMPONENT_DIR
)/files
159 include ..
/..
/make-rules
/prep.mk
160 include ..
/..
/make-rules
/attpackagemake.mk
161 include ..
/..
/make-rules
/ips.mk
162 include ..
/..
/make-rules
/depend.mk