author | John Beck <John.Beck@Oracle.COM> |
Tue, 04 Apr 2017 16:12:22 -0700 | |
changeset 7829 | 2de4f4ace09c |
parent 5571 | bd6c9b9b753f |
child 7834 | 4c899d201870 |
permissions | -rw-r--r-- |
2 | 1 |
# |
2 |
# CDDL HEADER START |
|
3 |
# |
|
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. |
|
7 |
# |
|
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. |
|
12 |
# |
|
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] |
|
18 |
# |
|
19 |
# CDDL HEADER END |
|
20 |
# |
|
7829
2de4f4ace09c
25766761 prepare Userland for 11.4
John Beck <John.Beck@Oracle.COM>
parents:
5571
diff
changeset
|
21 |
# Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. |
2 | 22 |
# |
23 |
||
24 |
include ../make-rules/shared-macros.mk |
|
25 |
||
23
e7ed56b7c498
autogenerate components to build
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
21
diff
changeset
|
26 |
# for now, the assumption is we build any directory with a Makefile. This may |
e7ed56b7c498
autogenerate components to build
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
21
diff
changeset
|
27 |
# not always be the case. If we build a new make-like tool to drive the upper |
e7ed56b7c498
autogenerate components to build
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
21
diff
changeset
|
28 |
# level build, it may make different decisions and will need to include |
e7ed56b7c498
autogenerate components to build
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
21
diff
changeset
|
29 |
# appropriate dependency information. |
e7ed56b7c498
autogenerate components to build
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
21
diff
changeset
|
30 |
|
32
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
31 |
# components.mk is auto-generated by the build tools. It populates the |
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
32 |
# COMPONENT_DIRS macro with a list of all directories in the workspace that |
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
33 |
# contain a component. |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
34 |
$(WS_MACH)/components.mk: $(WS_MACH) # Makefile # $(WS_TOP)/components |
32
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
35 |
@echo "Generating component list..." |
34
d20b10eba317
prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
32
diff
changeset
|
36 |
@$(BASS_O_MATIC) --workspace=$(WS_TOP) --components=paths \ |
32
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
37 |
| sed -e 's;^$(shell pwd)/;COMPONENT_DIRS += ;g' >$@ |
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
38 |
|
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
39 |
-include $(WS_MACH)/components.mk |
32
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
40 |
|
225
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
41 |
# depends.mk is auto-generated by concatenating 'depend.mk' files in each |
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
42 |
# component directory. |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
43 |
$(WS_MACH)/depends.mk: $(WS_MACH)/components.mk |
225
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
44 |
@echo "Generating component dependencies..." |
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
45 |
@cat $(shell $(BASS_O_MATIC) --workspace=$(WS_TOP) --components=paths \ |
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
46 |
| sed -e 's;^$(shell pwd)/;;g' -e 's;$$;/depend.mk;g') >$@ \ |
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
47 |
2>/dev/null |
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
48 |
|
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
49 |
-include $(WS_MACH)/depends.mk |
225
2f3e03a69313
7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
145
diff
changeset
|
50 |
|
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
51 |
# |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
52 |
# Walk through all of the components echoing the REQUIRED_PACKAGES for each one. |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
53 |
# Pass all output through sed to drop lines with whitespace between words, |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
54 |
# remove whitespace from lines, drop empty lines, and REQUIRED_PACKAGES += |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
55 |
# to the lines. Pass that through sort -u |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
56 |
# |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
57 |
$(WS_MACH)/requires.mk: $(WS_MACH) |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
58 |
@echo "Generating list of required packages to build consolidation..." |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
59 |
@$(GMAKE) component-hook \ |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
60 |
COMPONENT_HOOK='@echo $$(REQUIRED_PACKAGES:%="%\\n")' | \ |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
61 |
$(GSED) -e '/\S\s\S/d' -e 's/^ //g' -e '/^\s*$$/d' \ |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
62 |
-e 's/^/REQUIRED_PACKAGES += /' | \ |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
63 |
sort -u >$(@) |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
64 |
|
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
65 |
system-check:: $(WS_MACH)/requires.mk |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
66 |
@$(GMAKE) -f $(WS_MAKE_RULES)/environment.mk -f $< component-environment-check |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
67 |
|
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
68 |
system-prep:: $(WS_MACH)/requires.mk |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
69 |
@echo "Installing any missing packages..." |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
70 |
@$(GMAKE) -f $(WS_MAKE_RULES)/environment.mk -f $< component-environment-prep |
2 | 71 |
|
38
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
72 |
download: TARGET = download |
4196
d697072a92f5
19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3953
diff
changeset
|
73 |
unpack: TARGET = unpack |
d697072a92f5
19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3953
diff
changeset
|
74 |
patch: TARGET = patch |
38
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
75 |
prep: TARGET = prep |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
76 |
build: TARGET = build |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
77 |
install: TARGET = install |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
78 |
publish: TARGET = publish |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
79 |
clean: TARGET = clean |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
80 |
clobber: TARGET = clobber |
83
9ab0deb97868
7017671 move patch to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
70
diff
changeset
|
81 |
test: TARGET = test |
4339
6501cf9c29f9
21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents:
4196
diff
changeset
|
82 |
system-test: TARGET = system-test |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
83 |
zone-build: TARGET = component-zone-build |
1038
3b4d8f56a1bf
15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
827
diff
changeset
|
84 |
component-hook: TARGET = component-hook |
4339
6501cf9c29f9
21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents:
4196
diff
changeset
|
85 |
zone-build prep build install publish test system-test: LOG = >$(WS_LOGS)/$(@F).$(TARGET).log 2>&1 |
2 | 86 |
|
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
87 |
# turn off pkglint for the individual component builds. |
623
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
88 |
ifeq ($(strip $(PKGLINT_COMPONENT)),) |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
89 |
publish: MAKEFLAGS += PKGLINT=/bin/true |
623
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
90 |
endif |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
91 |
|
1416
a87a9e85090e
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1188
diff
changeset
|
92 |
# In order to work around an IPS simultaneous publication issue and to improve |
a87a9e85090e
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1188
diff
changeset
|
93 |
# top level build performance, we postpone catalog and index updates until the |
a87a9e85090e
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1188
diff
changeset
|
94 |
# end of the build. Individual component builds postpone the updates until |
a87a9e85090e
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1188
diff
changeset
|
95 |
# they have published all of their packages. |
a87a9e85090e
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1188
diff
changeset
|
96 |
publish: MAKEFLAGS += DISABLE_IPS_CATALOG_AND_INDEX_UPDATES=yes |
a87a9e85090e
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1188
diff
changeset
|
97 |
|
3701
2c4a1656e035
20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents:
2142
diff
changeset
|
98 |
# For cases in which a component test should be skipped at at the top level |
2c4a1656e035
20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents:
2142
diff
changeset
|
99 |
test: MAKEFLAGS += TOP_LEVEL_TEST=yes |
4339
6501cf9c29f9
21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents:
4196
diff
changeset
|
100 |
system-test: MAKEFLAGS += TOP_LEVEL_TEST=yes |
1416
a87a9e85090e
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1188
diff
changeset
|
101 |
|
2 | 102 |
.DEFAULT: publish |
103 |
||
4339
6501cf9c29f9
21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents:
4196
diff
changeset
|
104 |
zone-build build install publish test system-test: $(COMPONENT_DIRS) |
2 | 105 |
|
34
d20b10eba317
prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
32
diff
changeset
|
106 |
COMPONENT_DIRS.nosetup = $(COMPONENT_DIRS:%=%.nosetup) |
2 | 107 |
|
4196
d697072a92f5
19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3953
diff
changeset
|
108 |
download unpack patch:: $(COMPONENT_DIRS.nosetup) |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
109 |
prep: $(COMPONENT_DIRS.nosetup) |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
110 |
component-environment-check:: $(COMPONENT_DIRS.nosetup) |
1038
3b4d8f56a1bf
15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
827
diff
changeset
|
111 |
component-hook: $(COMPONENT_DIRS.nosetup) |
3b4d8f56a1bf
15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
827
diff
changeset
|
112 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
113 |
clean: $(COMPONENT_DIRS.nosetup) |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
114 |
$(RM) $(WS_MACH)/components.mk $(WS_MACH)/depends.mk \ |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
115 |
$(WS_MACH)/requires.mk $(WS_MACH)/*.p5m |
2 | 116 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
117 |
clobber: $(COMPONENT_DIRS.nosetup) clean |
774
d0cbca26a17c
7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
623
diff
changeset
|
118 |
@cd ../tools ; echo "clobbering tools..." ; $(GMAKE) clobber |
3953
7a1f9588575b
20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents:
3817
diff
changeset
|
119 |
$(RM) -r $(WS_REPO) $(WS_LOGS) $(WS_LINT_CACHE) \ |
7a1f9588575b
20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents:
3817
diff
changeset
|
120 |
$(shell find . -name 'manifest-*.published') |
34
d20b10eba317
prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
32
diff
changeset
|
121 |
|
774
d0cbca26a17c
7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
623
diff
changeset
|
122 |
|
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
123 |
setup: $(WS_MACH) $(WS_LOGS) $(WS_REPO) tools $(WS_LINT_CACHE) |
2 | 124 |
|
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
125 |
$(WS_MACH) $(WS_LOGS): |
2 | 126 |
$(MKDIR) $@ |
127 |
||
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
128 |
$(WS_REPO): |
105
da9e87a40aec
7021891 repo created by build should be v4, not v3
Danek Duvall <danek.duvall@oracle.com>
parents:
99
diff
changeset
|
129 |
$(PKGREPO) create $(PKG_REPO) |
da9e87a40aec
7021891 repo created by build should be v4, not v3
Danek Duvall <danek.duvall@oracle.com>
parents:
99
diff
changeset
|
130 |
$(PKGREPO) add-publisher -s $(PKG_REPO) $(PUBLISHER) |
827
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
774
diff
changeset
|
131 |
$(PKGREPO) add-publisher -s $(PKG_REPO) $(PUBLISHER_LOCALIZABLE) |
2 | 132 |
|
623
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
133 |
DUMMYPKG = "set name=fmri value=pkg:/dummy@0,$(BUILD_VERSION)\n" |
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
134 |
DUMMYPKG += "set pkg.summary=dummy\n" |
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
135 |
DUMMYPKG += "set org.opensolaris.consolidation=userland\n" |
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
136 |
DUMMYPKG += "set info.classification=org.opensolaris.category.2008:System/Core" |
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
137 |
|
1188
d563dccb5adb
16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
1038
diff
changeset
|
138 |
$(WS_LINT_CACHE): $(WS_LOGS) tools |
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
139 |
ifdef CANONICAL_REPO |
1558
6cdada0dd56a
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
1416
diff
changeset
|
140 |
@echo "Generating pkglint(1) cache from CANONICAL_REPO $(CANONICAL_REPO)..." |
623
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
141 |
@(echo $(DUMMYPKG) | $(PKGLINT) \ |
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
142 |
-c $(WS_LINT_CACHE) -r $(CANONICAL_REPO) /dev/fd/0 \ |
1558
6cdada0dd56a
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
1416
diff
changeset
|
143 |
>$(WS_LOGS)/naughty-canonical-repo-actions 2>&1 || \ |
6cdada0dd56a
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
1416
diff
changeset
|
144 |
( echo "pkglint(1) failed, please see $(WS_LOGS)/naughty-canonical-repo-actions"; \ |
6cdada0dd56a
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
1416
diff
changeset
|
145 |
exit 1 ) \ |
6cdada0dd56a
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
1416
diff
changeset
|
146 |
) |
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
147 |
else |
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
148 |
$(MKDIR) $(WS_LINT_CACHE) |
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
149 |
endif |
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
150 |
|
6
20f80c019d73
add compiler date/time chatter reduction tools
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2
diff
changeset
|
151 |
tools: |
774
d0cbca26a17c
7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
623
diff
changeset
|
152 |
@cd ../tools ; echo "building tools..." ; $(GMAKE) clean setup |
6
20f80c019d73
add compiler date/time chatter reduction tools
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2
diff
changeset
|
153 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
154 |
$(COMPONENT_DIRS): $(WS_LOGS) setup FORCE |
38
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
155 |
@cd $@ && echo "$(TARGET) $@" && \ |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
156 |
$(BASS_O_MATIC) $(@:%=--component %) --make $(TARGET) $(LOG) |
34
d20b10eba317
prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
32
diff
changeset
|
157 |
|
2142
813e4817e573
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1757
diff
changeset
|
158 |
# Turn userland-incorporator warnings into build failures |
813e4817e573
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1757
diff
changeset
|
159 |
INCORPORATE_WERROR ?= --Werror |
813e4817e573
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1757
diff
changeset
|
160 |
|
1591
24aca88f3e99
17852021 userland-incorporator should detect duplicate packages
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
1558
diff
changeset
|
161 |
incorporation: |
5571
bd6c9b9b753f
22839226 Migrate Desktop meta-packages to Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5198
diff
changeset
|
162 |
$(WS_TOOLS)/userland-incorporator \ |
bd6c9b9b753f
22839226 Migrate Desktop meta-packages to Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5198
diff
changeset
|
163 |
--repository $(PKG_REPO) \ |
7829
2de4f4ace09c
25766761 prepare Userland for 11.4
John Beck <John.Beck@Oracle.COM>
parents:
5571
diff
changeset
|
164 |
--version $(OS_RELEASE),$(BUILD_VERSION) \ |
5571
bd6c9b9b753f
22839226 Migrate Desktop meta-packages to Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5198
diff
changeset
|
165 |
--publisher $(PUBLISHER) \ |
bd6c9b9b753f
22839226 Migrate Desktop meta-packages to Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5198
diff
changeset
|
166 |
--consolidation $(CONSOLIDATION) \ |
bd6c9b9b753f
22839226 Migrate Desktop meta-packages to Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5198
diff
changeset
|
167 |
--destdir $(WS_MACH) \ |
bd6c9b9b753f
22839226 Migrate Desktop meta-packages to Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5198
diff
changeset
|
168 |
--static-content-file $(WS_COMPONENTS)/meta-packages/incorporation-cache \ |
bd6c9b9b753f
22839226 Migrate Desktop meta-packages to Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
5198
diff
changeset
|
169 |
$(INCORPORATE_WERROR) |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
170 |
for incorporation in $(WS_MACH)/*.p5m ; do \ |
2142
813e4817e573
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1757
diff
changeset
|
171 |
$(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest \ |
813e4817e573
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1757
diff
changeset
|
172 |
$${incorporation} ; \ |
813e4817e573
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1757
diff
changeset
|
173 |
done |
1591
24aca88f3e99
17852021 userland-incorporator should detect duplicate packages
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
1558
diff
changeset
|
174 |
|
24aca88f3e99
17852021 userland-incorporator should detect duplicate packages
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
1558
diff
changeset
|
175 |
publish: |
5089
8d5767cc3ddc
22166085 more tweaks needed for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents:
4765
diff
changeset
|
176 |
$(PKGREPO) refresh -s $(PKG_REPO) |
7829
2de4f4ace09c
25766761 prepare Userland for 11.4
John Beck <John.Beck@Oracle.COM>
parents:
5571
diff
changeset
|
177 |
# The package below is obsolete in S12/11.4, but cannot yet be removed from |
2de4f4ace09c
25766761 prepare Userland for 11.4
John Beck <John.Beck@Oracle.COM>
parents:
5571
diff
changeset
|
178 |
# S11.3 because runtime/python-26 has an optional dependency on it. |
5198
01f1f0bd6548
22249785 Need to drop tkinter-26 from FOSS evaluation repo
John Beck <John.Beck@Oracle.COM>
parents:
5089
diff
changeset
|
179 |
ifeq ($(BUILD_TYPE),evaluation) |
7829
2de4f4ace09c
25766761 prepare Userland for 11.4
John Beck <John.Beck@Oracle.COM>
parents:
5571
diff
changeset
|
180 |
ifeq ($(OS_VERSION),11.3) |
5198
01f1f0bd6548
22249785 Need to drop tkinter-26 from FOSS evaluation repo
John Beck <John.Beck@Oracle.COM>
parents:
5089
diff
changeset
|
181 |
-$(PKGREPO) remove -s $(PKG_REPO) \ |
01f1f0bd6548
22249785 Need to drop tkinter-26 from FOSS evaluation repo
John Beck <John.Beck@Oracle.COM>
parents:
5089
diff
changeset
|
182 |
library/python/tkinter-26 |
01f1f0bd6548
22249785 Need to drop tkinter-26 from FOSS evaluation repo
John Beck <John.Beck@Oracle.COM>
parents:
5089
diff
changeset
|
183 |
$(PKGREPO) refresh -s $(PKG_REPO) |
01f1f0bd6548
22249785 Need to drop tkinter-26 from FOSS evaluation repo
John Beck <John.Beck@Oracle.COM>
parents:
5089
diff
changeset
|
184 |
endif |
01f1f0bd6548
22249785 Need to drop tkinter-26 from FOSS evaluation repo
John Beck <John.Beck@Oracle.COM>
parents:
5089
diff
changeset
|
185 |
endif |
4765
fb36ce218f70
21510685 evaluation comment should become a real comment not a command to run
John Beck <John.Beck@Oracle.COM>
parents:
4749
diff
changeset
|
186 |
# evaluation packages don't need to be incorporated |
4749
a34fb58473e0
21344772 updates for evaluation packages
John Beck <John.Beck@Oracle.COM>
parents:
4339
diff
changeset
|
187 |
ifneq ($(BUILD_TYPE), evaluation) |
1591
24aca88f3e99
17852021 userland-incorporator should detect duplicate packages
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
1558
diff
changeset
|
188 |
$(MAKE) incorporation |
4749
a34fb58473e0
21344772 updates for evaluation packages
John Beck <John.Beck@Oracle.COM>
parents:
4339
diff
changeset
|
189 |
endif |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
190 |
# pkglint all of the published manifests in one batch. |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
191 |
ifdef CANONICAL_REPO |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
192 |
@echo 'pkglinting all package manifests...' |
1757
c16b57481a8a
17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories (fix pkglint)
April Chin <april.chin@oracle.com>
parents:
1591
diff
changeset
|
193 |
@$(ENV) PYTHONPATH=$(WS_TOOLS)/python \ |
c16b57481a8a
17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories (fix pkglint)
April Chin <april.chin@oracle.com>
parents:
1591
diff
changeset
|
194 |
SOLARIS_VERSION=$(SOLARIS_VERSION) \ |
c16b57481a8a
17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories (fix pkglint)
April Chin <april.chin@oracle.com>
parents:
1591
diff
changeset
|
195 |
$(PKGLINT) \ |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
196 |
-c $(WS_LINT_CACHE) -f $(WS_TOOLS)/pkglintrc \ |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
197 |
$(shell find . -name 'manifest-*.published') |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
198 |
endif |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
199 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
200 |
$(COMPONENT_DIRS.nosetup): $(WS_LOGS) FORCE |
38
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
201 |
@cd $(@:%.nosetup=%) && echo "$(TARGET) $(@:%.nosetup=%)" && \ |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
3701
diff
changeset
|
202 |
$(BASS_O_MATIC) $(@:%.nosetup=--component %) --make $(TARGET) $(LOG) |
32
280a7444e782
automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
23
diff
changeset
|
203 |
|
2 | 204 |
FORCE: |