7030982 hgk is delivered 444, breaks 'hg view'
7031137 userland should honor architecture tags in actions
7031112 userland should be able to separate gmake args and targets
7030926 userland should not add bittedness to gcc in CC macro
--- a/README Thu Mar 24 15:37:52 2011 -0700
+++ b/README Fri Mar 25 11:26:56 2011 -0700
@@ -37,7 +37,6 @@
community source associated with your cloned workspace, you will need to
execute the following:
- $ export WS_TOP=/scratch/clone
$ cd /scratch/clone/components
$ gmake download
@@ -55,10 +54,6 @@
Building the Bits.
You can build individual components or the contents of the entire gate.
- Regardless of how you build the gate, you must set WS_TOP in the calling
- environment to point to the top of your workspace. Ex:
-
- $ export WS_TOP=/scratch/clone
Component build
@@ -67,7 +62,7 @@
setup the workspace for building components
- $ cd ${WS_TOP}/components ; gmake setup
+ $ cd (your-workspace)/components ; gmake setup
build the individual component
@@ -77,18 +72,17 @@
Complete top down builds are also possible by simply running
- $ cd ${WS_TOP}/components
- $ gmake package-install
+ $ cd (your-workspace)/components
+ $ gmake publish
- The 'package-install' target will build each component, publish it to the
- workspace IPS repo and install it in the running environment. As a result,
- it is strongly recommended that you only perform complete top down builds
- in a zone. Tools to help facilitate build zone creation will be integrated
+ The 'publish' target will build each component and publish it to the
+ workspace IPS repo.
+ Tools to help facilitate build zone creation will be integrated
shortly. If the zone you create to build your workspace in does not have
networking enabled, you can pre-download any community source archives into
your workspace from the global with:
- $ cd ${WS_TOP}/components
+ $ cd (your-workspace)/components
$ gmake download
You can add parallelism to your builds by adding '-j (jobs)' to your gmake
--- a/components/ant/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/ant/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -48,11 +48,12 @@
ANT_DIST_DIRS+=-Ddist.javadocs=$(PROTO_DIR)/usr/share/doc/ant/manual/api
ANT_DIST_DIRS+=-Ddist.lib=$(PROTO_DIR)/usr/share/lib/ant
-COMPONENT_BUILD_TARGETS=build
-COMPONENT_BUILD_ENV+=$(ANT_ENV)
+COMPONENT_BUILD_TARGETS = build
+COMPONENT_BUILD_ENV += $(ANT_ENV)
-COMPONENT_INSTALL_TARGETS=$(ANT_DIST_DIRS) dist
-COMPONENT_INSTALL_ENV+=$(ANT_ENV)
+COMPONENT_INSTALL_ARGS = $(ANT_DIST_DIRS)
+COMPONENT_INSTALL_TARGETS = dist
+COMPONENT_INSTALL_ENV += $(ANT_ENV)
include ../../make-rules/shared-targets.mk
--- a/components/bzip2/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/bzip2/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -45,9 +45,9 @@
CFLAGS += $(CPP_LARGEFILE) $(CC_PIC)
COMPONENT_BUILD_ENV += CC="$(CC)"
-COMPONENT_BUILD_TARGETS += CC="$(CC)"
-COMPONENT_BUILD_TARGETS += CFLAGS="$(CFLAGS)"
-COMPONENT_INSTALL_TARGETS += PREFIX=$(PROTOUSRDIR)
+COMPONENT_BUILD_ARGS += CC="$(CC)"
+COMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ARGS += PREFIX=$(PROTOUSRDIR)
COMPONENT_PRE_BUILD_ACTION= \
(cd $(@D) ; \
--- a/components/fastcgi/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/fastcgi/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -45,7 +45,6 @@
CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
CONFIGURE_OPTIONS += CXXFLAGS="$(CFLAGS)"
-PKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)
PUBLISH_TRANSFORMS += doc-transform
COMPONENT_POST_BUILD_ACTION = \
--- a/components/gd2/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/gd2/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -57,8 +57,6 @@
CONFIGURE_OPTIONS += --with-x
CONFIGURE_OPTIONS += --with-pic
-PKG_PROTO_DIRS += $(COMPONENT_SRC)
-
COMPONENT_PREP_ACTION = (cd $(@D) ; autoconf)
COMPONENT_POST_BUILD_ACTION = \
--- a/components/ilmbase/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/ilmbase/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -65,8 +65,6 @@
CONFIGURE_OPTIONS += --enable-posix-sem
CONFIGURE_OPTIONS += --with-pic
-PKG_PROTO_DIRS += $(COMPONENT_SRC)
-
build: $(BUILD_32_and_64)
include ../../make-rules/shared-targets.mk
--- a/components/libxml2/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/libxml2/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -50,8 +50,6 @@
CONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)"
CONFIGURE_OPTIONS += PYTHON_VENDOR_PACKAGES=$(PYTHON_VENDOR_PACKAGES)
-PKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)
-
COMPONENT_PREP_ACTION += (cd $(@D) ; cp ../mapfile libxml2.syms ; autoconf)
COMPONENT_POST_BUILD_ACTION = \
--- a/components/libxslt/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/libxslt/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -52,8 +52,6 @@
CONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)"
CONFIGURE_OPTIONS += PYTHON_VENDOR_PACKAGES=$(PYTHON_VENDOR_PACKAGES)
-PKG_PROTO_DIRS += $(COMPONENT_DIR)/$(COMPONENT_SRC)
-
COMPONENT_PREP_ACTION = \
(cd $(@D) ; cp ../mapfile.xslt libxslt/libxslt.syms ; \
cp ../mapfile.exslt libexslt/libexslt.syms ; \
--- a/components/lua/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/lua/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -38,10 +38,10 @@
CFLAGS += $(CC_PIC) $(CPP_LARGEFILES)
-COMPONENT_BUILD_TARGETS += CC="$(CC)"
-COMPONENT_BUILD_TARGETS += CFLAGS="$(CFLAGS)"
-COMPONENT_INSTALL_TARGETS += INSTALL=$(INSTALL)
-COMPONENT_INSTALL_TARGETS += INSTALL_TOP=$(PROTOUSRDIR)
+COMPONENT_BUILD_ARGS += CC="$(CC)"
+COMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ARGS += INSTALL=$(INSTALL)
+COMPONENT_INSTALL_ARGS += INSTALL_TOP=$(PROTOUSRDIR)
include ../../make-rules/shared-targets.mk
--- a/components/mercurial/mercurial.p5m Thu Mar 24 15:37:52 2011 -0700
+++ b/components/mercurial/mercurial.p5m Fri Mar 25 11:26:56 2011 -0700
@@ -596,10 +596,10 @@
file path=usr/demo/mercurial/git-viz/git-rev-list
file path=usr/demo/mercurial/git-viz/git-rev-tree
file path=usr/demo/mercurial/git-viz/hg-viz
-file path=usr/demo/mercurial/hg-relink
-file path=usr/demo/mercurial/hg-ssh
-file path=usr/demo/mercurial/hgdiff
-file path=usr/demo/mercurial/hgk
+file path=usr/demo/mercurial/hg-relink mode=0555
+file path=usr/demo/mercurial/hg-ssh mode=0555
+file path=usr/demo/mercurial/hgdiff mode=0555
+file path=usr/demo/mercurial/hgk mode=0555
file path=usr/demo/mercurial/hgsh/hgsh.c
file path=usr/demo/mercurial/hgsh/Makefile
file path=usr/demo/mercurial/hgwebdir.fcgi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mercurial/patches/magic.patch Fri Mar 25 11:26:56 2011 -0700
@@ -0,0 +1,24 @@
+--- mercurial-1.3.1/contrib/hg-relink.orig Thu Mar 24 21:42:58 2011
++++ mercurial-1.3.1/contrib/hg-relink Thu Mar 24 21:44:18 2011
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python2.6
+ #
+ # Copyright (C) 2007 Brendan Cully <[email protected]>
+ #
+--- mercurial-1.3.1/contrib/hgdiff.orig Thu Mar 24 21:43:35 2011
++++ mercurial-1.3.1/contrib/hgdiff Thu Mar 24 21:44:23 2011
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python2.6
+
+ import os, sys, struct, stat
+ import difflib
+--- mercurial-1.3.1/contrib/hg-ssh.orig Thu Mar 24 21:47:46 2011
++++ mercurial-1.3.1/contrib/hg-ssh Thu Mar 24 21:47:58 2011
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python2.6
+ #
+ # Copyright 2005-2007 by Intevation GmbH <[email protected]>
+ #
--- a/components/nmap/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/nmap/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -61,9 +61,6 @@
CONFIGURE_OPTIONS += --with-ndiff
CONFIGURE_OPTIONS += am_cv_python_pythondir=$(PYTHON_LIB)
-PKG_PROTO_DIRS += $(SOURCE_DIR)
-PKG_PROTO_DIRS += $(COMPONENT_DIR)
-
include ../../make-rules/shared-targets.mk
# common targets
--- a/components/openexr/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/openexr/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -65,8 +65,6 @@
CONFIGURE_OPTIONS += --enable-posix-sem
CONFIGURE_OPTIONS += --with-pic
-PKG_PROTO_DIRS += $(COMPONENT_SRC)
-
build: $(BUILD_32_and_64)
MAN1LIST = exrenvmap.1 exrheader.1 exrmakepreview.1 \
--- a/components/p7zip/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/p7zip/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -39,8 +39,6 @@
include ../../make-rules/justmake.mk
include ../../make-rules/ips.mk
-PKG_PROTO_DIRS += $(SOURCE_DIR)
-
COMPONENT_PREP_ACTION = (cd $(@D); cp ../makefile.solaris makefile.machine)
COMPONENT_BUILD_TARGETS = all3
COMPONENT_INSTALL_ARGS += DEST_HOME=/usr DEST_DIR=$(PROTO_DIR)
--- a/components/pwgen/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/pwgen/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -56,7 +56,7 @@
# This is to get rid of gcc specific -Wxxx options in pwgen makefile
#
-COMPONENT_BUILD_TARGETS= WALL_OPTS=
+COMPONENT_BUILD_ARGS = WALL_OPTS=
# common targets
build: $(BUILD_32)
--- a/components/zip/Makefile Thu Mar 24 15:37:52 2011 -0700
+++ b/components/zip/Makefile Fri Mar 25 11:26:56 2011 -0700
@@ -39,13 +39,13 @@
COMPONENT_PREP_ACTION = rm -f $(SOURCE_DIR)/match.S
# The Makefile we want is under unix/Makefile
-COMPONENT_BUILD_TARGETS += -f unix/Makefile generic
-COMPONENT_INSTALL_TARGETS += -f unix/Makefile
+COMPONENT_BUILD_ARGS += -f unix/Makefile
+COMPONENT_BUILD_TARGETS += generic
+COMPONENT_INSTALL_ARGS += -f unix/Makefile
# This doesn't respect DESTDIR, so overload BINDIR and MANDIR when we install.
-COMPONENT_INSTALL_TARGETS += BINDIR=$(PROTOUSRBINDIR)
-COMPONENT_INSTALL_TARGETS += MANDIR=$(PROTOUSRSHAREMAN1DIR)
-COMPONENT_INSTALL_TARGETS += install
+COMPONENT_INSTALL_ARGS += BINDIR=$(PROTOUSRBINDIR)
+COMPONENT_INSTALL_ARGS += MANDIR=$(PROTOUSRSHAREMAN1DIR)
# fix the man pages
INST_MAN1PGS = zip zipcloak zipnote zipsplit
--- a/doc/packaging.txt Thu Mar 24 15:37:52 2011 -0700
+++ b/doc/packaging.txt Fri Mar 25 11:26:56 2011 -0700
@@ -51,19 +51,11 @@
the architecture that applied to the action. Ex:
file path=/usr/lib/$(MACH64)/libx86onlybits.so variant.arch=i386
- Actions that are associated with objects that are architecture dependent
- shoule be tagged with a 'variant.arch' attribute as follows:
- file path=/usr/bin/ls variant.arch=$(ARCH)
-
Actions for editable files must include an appropriate 'preserve' attribute:
- file path=etc/gnu/a2ps.cfg preserve=true
+ file path=etc/gnu/a2ps.cfg preserve=true mode=0644
license actions should be placed in the canonical manifest.
- Actions that can take advantage of macros supplied at pkgmogrify time
- should do so. Ex:
- file path=/usr/bin/$(MACH64)/ztest variant.arch=$(ARCH)
-
Mogrified Manifest
The canonical manifest is combined with a template manifest header at
$(WS_TOP)/transforms/manifest-metadata-template, a set of the transforms
@@ -72,7 +64,6 @@
attributes to the various actions in the canonical manifest(s). More
detail about the attributes can be found in the transform file themselves.
The macros applied at the time of mogrification are as follows:
- $(ARCH)
$(MACH)
$(MACH32)
$(MACH64)
--- a/make-rules/configure.mk Thu Mar 24 15:37:52 2011 -0700
+++ b/make-rules/configure.mk Fri Mar 25 11:26:56 2011 -0700
@@ -57,6 +57,8 @@
CONFIGURE_BINDIR.64 = $(CONFIGURE_PREFIX)/bin/$(MACH64)
CONFIGURE_LIBDIR.32 = $(CONFIGURE_PREFIX)/lib
CONFIGURE_LIBDIR.64 = $(CONFIGURE_PREFIX)/lib/$(MACH64)
+CONFIGURE_SBINDIR.32 = $(CONFIGURE_PREFIX)/sbin
+CONFIGURE_SBINDIR.64 = $(CONFIGURE_PREFIX)/sbin/$(MACH64)
CONFIGURE_MANDIR = $(CONFIGURE_PREFIX)/share/man
CONFIGURE_LOCALEDIR = $(CONFIGURE_PREFIX)/share/locale
# all texinfo documentation seems to go to /usr/share/info no matter what
@@ -71,6 +73,7 @@
CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.$(BITS))
CONFIGURE_OPTIONS += --libdir=$(CONFIGURE_LIBDIR.$(BITS))
+CONFIGURE_OPTIONS += --sbindir=$(CONFIGURE_SBINDIR.$(BITS))
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(BITS))
COMPONENT_INSTALL_ARGS += DESTDIR=$(PROTO_DIR)
@@ -89,11 +92,12 @@
COMPONENT_INSTALL_TARGETS = install
# configure the unpacked source for building 32 and 64 bit version
+CONFIGURE_SCRIPT = $(SOURCE_DIR)/configure
$(BUILD_DIR)/%/.configured: $(SOURCE_DIR)/.prep
($(RM) -rf $(@D) ; $(MKDIR) $(@D))
$(COMPONENT_PRE_CONFIGURE_ACTION)
(cd $(@D) ; $(ENV) $(CONFIGURE_ENV) $(CONFIG_SHELL) \
- $(SOURCE_DIR)/configure $(CONFIGURE_OPTIONS))
+ $(CONFIGURE_SCRIPT) $(CONFIGURE_OPTIONS))
$(COMPONENT_POST_CONFIGURE_ACTION)
$(TOUCH) $@
@@ -101,7 +105,7 @@
$(BUILD_DIR)/%/.built: $(BUILD_DIR)/%/.configured
$(COMPONENT_PRE_BUILD_ACTION)
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
- $(GMAKE) $(COMPONENT_BUILD_TARGETS))
+ $(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
$(COMPONENT_POST_BUILD_ACTION)
$(TOUCH) $@
--- a/make-rules/ips.mk Thu Mar 24 15:37:52 2011 -0700
+++ b/make-rules/ips.mk Fri Mar 25 11:26:56 2011 -0700
@@ -52,6 +52,7 @@
COMPARISON_TRANSFORMS += $(PKGMOGRIFY_TRANSFORMS)
# order is important
+PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/variant-cleanup
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/defaults
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/actuators
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/devel
@@ -61,7 +62,6 @@
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/publish-cleanup
PKG_MACROS += MACH=$(MACH)
-PKG_MACROS += ARCH=$(MACH)
PKG_MACROS += MACH32=$(MACH32)
PKG_MACROS += MACH64=$(MACH64)
PKG_MACROS += PUBLISHER=$(PUBLISHER)
@@ -75,7 +75,7 @@
PKG_OPTIONS += $(PKG_MACROS:%=-D %)
-PKG_PROTO_DIRS += $(PROTO_DIR) $(@D) $(COMPONENT_DIR)
+PKG_PROTO_DIRS += $(PROTO_DIR) $(@D) $(COMPONENT_DIR) $(COMPONENT_SRC)
MANIFEST_BASE = $(BUILD_DIR)/manifest-$(MACH)
--- a/make-rules/shared-macros.mk Thu Mar 24 15:37:52 2011 -0700
+++ b/make-rules/shared-macros.mk Fri Mar 25 11:26:56 2011 -0700
@@ -33,7 +33,6 @@
CONSOLIDATION = userland
PUBLISHER ?= $(CONSOLIDATION)
-IS_GLOBAL_ZONE = $(shell /usr/sbin/zoneadm list | grep -c global)
ROOT = /
# get the most recent build number from the last mercurial tag
@@ -162,11 +161,11 @@
CC.studio.64 = $(SPRO_VROOT)/bin/cc
CCC.studio.64 = $(SPRO_VROOT)/bin/CC
-CC.gcc.32 = $(GCC_ROOT)/bin/gcc -m32
-CCC.gcc.32 = $(GCC_ROOT)/bin/g++ -m32
+CC.gcc.32 = $(GCC_ROOT)/bin/gcc
+CCC.gcc.32 = $(GCC_ROOT)/bin/g++
-CC.gcc.64 = $(GCC_ROOT)/bin/gcc -m64
-CCC.gcc.64 = $(GCC_ROOT)/bin/g++ -m64
+CC.gcc.64 = $(GCC_ROOT)/bin/gcc
+CCC.gcc.64 = $(GCC_ROOT)/bin/g++
CC = $(CC.$(COMPILER).$(BITS))
CCC = $(CCC.$(COMPILER).$(BITS))
--- a/transforms/defaults Thu Mar 24 15:37:52 2011 -0700
+++ b/transforms/defaults Fri Mar 25 11:26:56 2011 -0700
@@ -91,7 +91,7 @@
<transform legacy -> default vendor "OpenSolaris">
<transform legacy -> default hotline \
"Please contact your local service provider">
-<transform legacy -> default arch $(ARCH)>
+<transform legacy -> default arch $(MACH)>
<transform legacy -> default category "system">
# This is set to the final version number delivered as SVR4 format
<transform legacy -> default version "11.11.0,REV=2010.05.25.01.00">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/transforms/variant-cleanup Fri Mar 25 11:26:56 2011 -0700
@@ -0,0 +1,34 @@
+#
+# 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) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# These transforms drop the actions that don't apply to the current architecture
+# and then remove the architecture tag from the action so that pkgdepend doesn't
+# get confused.
+#
+
+# drop actions that don't apply to the architecture we are on
+<transform dir file link hardlink variant.arch=(?!$(MACH)) -> drop>
+
+# delete variant.arch from the manifest
+<transform dir file link hardlink -> delete variant.arch .*>