7030982 hgk is delivered 444, breaks 'hg view'
authorNorm Jacobs <Norm.Jacobs@Oracle.COM>
Fri, 25 Mar 2011 11:26:56 -0700
changeset 151 f9e42a3f7095
parent 150 2e044e9ef7de
child 152 f0ba422362c2
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
README
components/ant/Makefile
components/bzip2/Makefile
components/fastcgi/Makefile
components/gd2/Makefile
components/ilmbase/Makefile
components/libxml2/Makefile
components/libxslt/Makefile
components/lua/Makefile
components/mercurial/mercurial.p5m
components/mercurial/patches/magic.patch
components/nmap/Makefile
components/openexr/Makefile
components/p7zip/Makefile
components/pwgen/Makefile
components/zip/Makefile
doc/packaging.txt
make-rules/configure.mk
make-rules/ips.mk
make-rules/shared-macros.mk
transforms/defaults
transforms/variant-cleanup
--- 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
[email protected]@ -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
[email protected]@ -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
[email protected]@ -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) [email protected]
 
@@ -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) [email protected]
 
--- 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 .*>