# HG changeset patch # User Norm Jacobs # Date 1290804374 21600 # Node ID 13d31a6d756e3612b989493c9a769fcacf852702 # Parent 1bb7f3eccdd61409ed712b0a9065f9321f228e3c improve parallel build add incorporation generation diff -r 1bb7f3eccdd6 -r 13d31a6d756e Makefile --- a/Makefile Wed Nov 10 11:52:54 2010 -0600 +++ b/Makefile Fri Nov 26 14:46:14 2010 -0600 @@ -23,7 +23,7 @@ include make-rules/shared-macros.mk -SUBDIRS += components +SUBDIRS += components incorporations download: TARGET = download prep: TARGET = prep @@ -40,6 +40,8 @@ download setup prep build install publish validate clean clobber: $(SUBDIRS) $(SUBDIRS): FORCE - cd $@ ; echo "$(TARGET) \c" ; pwd ; $(GMAKE) $(TARGET) + +echo "$(TARGET) $@" ; $(GMAKE) -C $@ $(TARGET) + +incorporations: components FORCE: diff -r 1bb7f3eccdd6 -r 13d31a6d756e components/a2ps/a2ps.p5m --- a/components/a2ps/a2ps.p5m Wed Nov 10 11:52:54 2010 -0600 +++ b/components/a2ps/a2ps.p5m Fri Nov 26 14:46:14 2010 -0600 @@ -393,3 +393,5 @@ hotline="Please contact your local service provider" \ pkg=SUNWa2psu variant.arch=$(ARCH) vendor="Oracle Corporation" \ version=11.11.0,REV=2010.09.30.04.23 + +set name=variant.opensolaris.zone value=global value=nonglobal diff -r 1bb7f3eccdd6 -r 13d31a6d756e incorporations/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/incorporations/Makefile Fri Nov 26 14:46:14 2010 -0600 @@ -0,0 +1,42 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2010, Oracle and/or it's affiliates. All rights reserved. +# + +include ../make-rules/shared-macros.mk + +SUBDIRS = userland + +publish: TARGET = publish-incorporation +clean: TARGET = clean +clobber: TARGET = clobber + +# No action: +download prep build install install-packages validate: + +.DEFAULT: publish + +publish clean clobber: $(SUBDIRS) + +$(SUBDIRS): FORCE + gmake -C $@ $(TARGET) + +FORCE: diff -r 1bb7f3eccdd6 -r 13d31a6d756e incorporations/userland/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/incorporations/userland/Makefile Fri Nov 26 14:46:14 2010 -0600 @@ -0,0 +1,45 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2010, Oracle and/or it's affiliates. All rights reserved. +# + +include $(WS_TOP)/make-rules/shared-macros.mk +include $(WS_TOP)/make-rules/ips.mk + +FRAGMENTS= $(wildcard *.fragment) + +userland.mogrified: userland.p5m + $(PKGMOGRIFY) $(PKG_OPTIONS) $< $(PUBLISH_TRANSFORMS) | \ + sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@ + +userland.published: userland.mogrified $(FRAGMENTS) + cat userland.mogrified $(FRAGMENTS) >$@ + $(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest -d . $@ + +install: + +publish-incorporation: userland.published + +clean:: + $(RM) userland.mogrified userland.published + +clobber:: clean + $(RM) $(FRAGMENTS) diff -r 1bb7f3eccdd6 -r 13d31a6d756e incorporations/userland/userland.p5m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/incorporations/userland/userland.p5m Fri Nov 26 14:46:14 2010 -0600 @@ -0,0 +1,29 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2010, Oracle and/or it's affiliates. All rights reserved. +# + +set name=pkg.fmri value=pkg:/consolidation/userland/userland-incorporation@0.$(OS_VERSION),$(BUILD_VERSION) +set name=pkg.summary value="userland consolidation incorporation " +set name=pkg.description value="This incorporation constrains packages from the userland consolidation. " +set name=org.opensolaris.consolidation value=$(CONSOLIDATION) +set variant.arch=$(ARCH) +set name=variant.opensolaris.zone value=global value=nonglobal diff -r 1bb7f3eccdd6 -r 13d31a6d756e make-rules/ips.mk --- a/make-rules/ips.mk Wed Nov 10 11:52:54 2010 -0600 +++ b/make-rules/ips.mk Fri Nov 26 14:46:14 2010 -0600 @@ -136,6 +136,7 @@ $(PKGMOGRIFY) $(@:%.resolved=%.mogrified) \ $(WS_TOP)/transforms/drop-unresolved-dependencies | \ sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@ + echo "depend fmri=consolidation/$(CONSOLIDATION)/$(CONSOLIDATION)-incorporation type=require">>$@ $(PKGDEPEND) resolve -o $< | sed -e '1d' >>$@ # lint the manifest before we publish with it. @@ -149,6 +150,9 @@ $(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest \ -d $(PROTO_DIR) -d $(@D) -d . $< $(PKGFMT) <$< >$@ + $(PKGMOGRIFY) $(PKG_OPTIONS) $@ \ + $(WS_TOP)/transforms/print-consolidation-depend | \ + sed -e '/^$$/d' -e '/^#.*$$/d' | sort -u > $(WS_INCORPORATIONS)/userland/$(@:$(MANIFEST_BASE)-%.published=%.fragment) $(COMPONENT_SRC)/.published: $(PUBLISHED) $(TOUCH) $@ diff -r 1bb7f3eccdd6 -r 13d31a6d756e make-rules/shared-macros.mk --- a/make-rules/shared-macros.mk Wed Nov 10 11:52:54 2010 -0600 +++ b/make-rules/shared-macros.mk Fri Nov 26 14:46:14 2010 -0600 @@ -49,6 +49,7 @@ WS_TOOLS = $(WS_TOP)/tools WS_MAKE_RULES = $(WS_TOP)/make-rules WS_COMPONENTS = $(WS_TOP)/components +WS_INCORPORATIONS = $(WS_TOP)/incorporations BASS_O_MATIC = $(WS_TOOLS)/bass-o-matic diff -r 1bb7f3eccdd6 -r 13d31a6d756e transforms/print-consolidation-depend --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/transforms/print-consolidation-depend Fri Nov 26 14:46:14 2010 -0600 @@ -0,0 +1,29 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# + +# +# These transforms print only the package name from the manifest. +# + + print depend fmri=%<1> type=require > + drop>