author | Ivo Raisr <ivo.raisr@oracle.com> |
Tue, 15 Nov 2016 05:20:35 -0800 | |
branch | s11u3-sru |
changeset 7355 | 6c86f22e0d0e |
parent 7036 | 9bdfcd8747ba |
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 |
# |
|
7036
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
21 |
# Copyright (c) 2010, 2016, 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. |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
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 |
|
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
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. |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
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 |
|
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
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 |
|
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
51 |
# |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
52 |
# Walk through all of the components echoing the REQUIRED_PACKAGES for each one. |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
53 |
# Pass all output through sed to drop lines with whitespace between words, |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
54 |
# remove whitespace from lines, drop empty lines, and REQUIRED_PACKAGES += |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
55 |
# to the lines. Pass that through sort -u |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
56 |
# |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
57 |
$(WS_MACH)/requires.mk: $(WS_MACH) |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
58 |
@echo "Generating list of required packages to build consolidation..." |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
59 |
@$(GMAKE) component-hook \ |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
60 |
COMPONENT_HOOK='@echo $$(REQUIRED_PACKAGES:%="%\\n")' | \ |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
61 |
$(GSED) -e '/\S\s\S/d' -e 's/^ //g' -e '/^\s*$$/d' \ |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
62 |
-e 's/^/REQUIRED_PACKAGES += /' | \ |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
63 |
sort -u >$(@) |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
64 |
|
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
65 |
system-check:: $(WS_MACH)/requires.mk |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
66 |
@$(GMAKE) -f $(WS_MAKE_RULES)/environment.mk -f $< component-environment-check |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
67 |
|
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
68 |
system-prep:: $(WS_MACH)/requires.mk |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
69 |
@echo "Installing any missing packages..." |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
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 |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
73 |
prep: TARGET = prep |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
74 |
build: TARGET = build |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
75 |
install: TARGET = install |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
76 |
publish: TARGET = publish |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
77 |
clean: TARGET = clean |
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
78 |
clobber: TARGET = clobber |
83
9ab0deb97868
7017671 move patch to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
70
diff
changeset
|
79 |
test: TARGET = test |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
80 |
zone-build: TARGET = component-zone-build |
2434
6c9bb5cf5610
15930486 - Auto-generation of Userland gate list for the Solaris 11 Update Release
Rich Burridge <rich.burridge@oracle.com>
parents:
827
diff
changeset
|
81 |
component-hook: TARGET = component-hook |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
82 |
zone-build prep build install publish test: LOG = >$(WS_LOGS)/$(@F).$(TARGET).log 2>&1 |
2 | 83 |
|
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
84 |
# 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
|
85 |
ifeq ($(strip $(PKGLINT_COMPONENT)),) |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
86 |
publish: MAKEFLAGS += PKGLINT=/bin/true |
623
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
87 |
endif |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
88 |
|
2710
3c5579720afc
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2434
diff
changeset
|
89 |
# In order to work around an IPS simultaneous publication issue and to improve |
3c5579720afc
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2434
diff
changeset
|
90 |
# top level build performance, we postpone catalog and index updates until the |
3c5579720afc
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2434
diff
changeset
|
91 |
# end of the build. Individual component builds postpone the updates until |
3c5579720afc
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2434
diff
changeset
|
92 |
# they have published all of their packages. |
3c5579720afc
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2434
diff
changeset
|
93 |
publish: MAKEFLAGS += DISABLE_IPS_CATALOG_AND_INDEX_UPDATES=yes |
3c5579720afc
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2434
diff
changeset
|
94 |
|
3c5579720afc
17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2434
diff
changeset
|
95 |
|
2 | 96 |
.DEFAULT: publish |
97 |
||
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
98 |
zone-build build install publish test: $(COMPONENT_DIRS) |
2 | 99 |
|
34
d20b10eba317
prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
32
diff
changeset
|
100 |
COMPONENT_DIRS.nosetup = $(COMPONENT_DIRS:%=%.nosetup) |
2 | 101 |
|
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
102 |
download:: $(COMPONENT_DIRS.nosetup) |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
103 |
prep: $(COMPONENT_DIRS.nosetup) |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
104 |
component-environment-check:: $(COMPONENT_DIRS.nosetup) |
2434
6c9bb5cf5610
15930486 - Auto-generation of Userland gate list for the Solaris 11 Update Release
Rich Burridge <rich.burridge@oracle.com>
parents:
827
diff
changeset
|
105 |
component-hook: $(COMPONENT_DIRS.nosetup) |
6c9bb5cf5610
15930486 - Auto-generation of Userland gate list for the Solaris 11 Update Release
Rich Burridge <rich.burridge@oracle.com>
parents:
827
diff
changeset
|
106 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
107 |
clean: $(COMPONENT_DIRS.nosetup) |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
108 |
$(RM) $(WS_MACH)/components.mk $(WS_MACH)/depends.mk \ |
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
109 |
$(WS_MACH)/requires.mk $(WS_MACH)/*.p5m |
2 | 110 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
111 |
clobber: $(COMPONENT_DIRS.nosetup) clean |
774
d0cbca26a17c
7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
623
diff
changeset
|
112 |
@cd ../tools ; echo "clobbering tools..." ; $(GMAKE) clobber |
3988
46ba69f31aed
20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents:
3476
diff
changeset
|
113 |
$(RM) -r $(WS_REPO) $(WS_LOGS) $(WS_LINT_CACHE) \ |
46ba69f31aed
20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents:
3476
diff
changeset
|
114 |
$(shell find . -name 'manifest-*.published') |
34
d20b10eba317
prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
32
diff
changeset
|
115 |
|
774
d0cbca26a17c
7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
623
diff
changeset
|
116 |
|
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
117 |
setup: $(WS_MACH) $(WS_LOGS) $(WS_REPO) tools $(WS_LINT_CACHE) |
2 | 118 |
|
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
119 |
$(WS_MACH) $(WS_LOGS): |
2 | 120 |
$(MKDIR) $@ |
121 |
||
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
122 |
$(WS_REPO): |
105
da9e87a40aec
7021891 repo created by build should be v4, not v3
Danek Duvall <danek.duvall@oracle.com>
parents:
99
diff
changeset
|
123 |
$(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
|
124 |
$(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
|
125 |
$(PKGREPO) add-publisher -s $(PKG_REPO) $(PUBLISHER_LOCALIZABLE) |
2 | 126 |
|
623
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
127 |
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
|
128 |
DUMMYPKG += "set pkg.summary=dummy\n" |
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
129 |
DUMMYPKG += "set org.opensolaris.consolidation=userland\n" |
15f87c23a86e
7109831 userland pkglint should audit runpaths
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
528
diff
changeset
|
130 |
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
|
131 |
|
2855
576d5a7857b7
16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
2710
diff
changeset
|
132 |
$(WS_LINT_CACHE): $(WS_LOGS) tools |
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
133 |
ifdef CANONICAL_REPO |
2888
adc592c67ee4
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
2855
diff
changeset
|
134 |
@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
|
135 |
@(echo $(DUMMYPKG) | $(PKGLINT) \ |
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
136 |
-c $(WS_LINT_CACHE) -r $(CANONICAL_REPO) /dev/fd/0 \ |
2888
adc592c67ee4
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
2855
diff
changeset
|
137 |
>$(WS_LOGS)/naughty-canonical-repo-actions 2>&1 || \ |
adc592c67ee4
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
2855
diff
changeset
|
138 |
( echo "pkglint(1) failed, please see $(WS_LOGS)/naughty-canonical-repo-actions"; \ |
adc592c67ee4
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
2855
diff
changeset
|
139 |
exit 1 ) \ |
adc592c67ee4
17747240 gmake setup is masking pkglint failures
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
2855
diff
changeset
|
140 |
) |
70
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
141 |
else |
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
142 |
$(MKDIR) $(WS_LINT_CACHE) |
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
143 |
endif |
c610cf9d3d5d
7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
58
diff
changeset
|
144 |
|
6
20f80c019d73
add compiler date/time chatter reduction tools
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2
diff
changeset
|
145 |
tools: |
774
d0cbca26a17c
7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
623
diff
changeset
|
146 |
@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
|
147 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
148 |
$(COMPONENT_DIRS): $(WS_LOGS) setup FORCE |
38
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
149 |
@cd $@ && echo "$(TARGET) $@" && \ |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
150 |
$(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
|
151 |
|
3476
c35c8f1a6df1
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2994
diff
changeset
|
152 |
# Turn userland-incorporator warnings into build failures |
c35c8f1a6df1
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2994
diff
changeset
|
153 |
INCORPORATE_WERROR ?= --Werror |
c35c8f1a6df1
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2994
diff
changeset
|
154 |
|
2855
576d5a7857b7
16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
2710
diff
changeset
|
155 |
incorporation: |
7036
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
156 |
$(WS_TOOLS)/userland-incorporator \ |
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
157 |
--repository $(PKG_REPO) \ |
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
158 |
--version 0.$(OS_VERSION),$(BUILD_VERSION) \ |
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
159 |
--publisher $(PUBLISHER) \ |
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
160 |
--consolidation $(CONSOLIDATION) \ |
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
161 |
--destdir $(WS_MACH) \ |
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
162 |
--static-content-file $(WS_COMPONENTS)/meta-packages/incorporation-cache \ |
9bdfcd8747ba
22839226 Migrate Desktop meta-packages to Userland gate
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4563
diff
changeset
|
163 |
$(INCORPORATE_WERROR) |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
164 |
for incorporation in $(WS_MACH)/*.p5m ; do \ |
3476
c35c8f1a6df1
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2994
diff
changeset
|
165 |
$(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest \ |
c35c8f1a6df1
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2994
diff
changeset
|
166 |
$${incorporation} ; \ |
c35c8f1a6df1
18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
2994
diff
changeset
|
167 |
done |
2855
576d5a7857b7
16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
2710
diff
changeset
|
168 |
|
576d5a7857b7
16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
2710
diff
changeset
|
169 |
publish: |
4563
5d3e1ffc1ae1
21344772 updates for evaluation packages
John Beck <John.Beck@Oracle.COM>
parents:
3996
diff
changeset
|
170 |
ifneq ($(BUILD_TYPE), evaluation) |
5d3e1ffc1ae1
21344772 updates for evaluation packages
John Beck <John.Beck@Oracle.COM>
parents:
3996
diff
changeset
|
171 |
# evaluation packages don't need to be incorporated |
2855
576d5a7857b7
16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
2710
diff
changeset
|
172 |
$(MAKE) incorporation |
4563
5d3e1ffc1ae1
21344772 updates for evaluation packages
John Beck <John.Beck@Oracle.COM>
parents:
3996
diff
changeset
|
173 |
endif |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
174 |
# 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
|
175 |
ifdef CANONICAL_REPO |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
176 |
@echo 'pkglinting all package manifests...' |
2994
3705b92dce6a
17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories
April Chin <april.chin@oracle.com>
parents:
2888
diff
changeset
|
177 |
@$(ENV) PYTHONPATH=$(WS_TOOLS)/python \ |
3705b92dce6a
17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories
April Chin <april.chin@oracle.com>
parents:
2888
diff
changeset
|
178 |
SOLARIS_VERSION=$(SOLARIS_VERSION) \ |
3705b92dce6a
17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories
April Chin <april.chin@oracle.com>
parents:
2888
diff
changeset
|
179 |
$(PKGLINT) \ |
92
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
180 |
-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
|
181 |
$(shell find . -name 'manifest-*.published') |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
182 |
endif |
b4be50cb7106
7020081 userland parallel builds break in pkglint
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
83
diff
changeset
|
183 |
|
313
e30cc0dc4e8b
7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
225
diff
changeset
|
184 |
$(COMPONENT_DIRS.nosetup): $(WS_LOGS) FORCE |
38
cd00ea74156e
package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
34
diff
changeset
|
185 |
@cd $(@:%.nosetup=%) && echo "$(TARGET) $(@:%.nosetup=%)" && \ |
3996
20c0f21bbe1e
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
3988
diff
changeset
|
186 |
$(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
|
187 |
|
2 | 188 |
FORCE: |