7044076 move sudo from sfw to userland
authorApril Chin <april.chin@oracle.com>
Thu, 02 Jun 2011 09:52:40 -0700
changeset 279 c6af843791cd
parent 278 77b380ba9d84
child 280 c0dae1e3ca2f
7044076 move sudo from sfw to userland 7048938 $(BITS) not being set for .installed targets
components/meta-packages/history/SUNWsudo.p5m
components/sudo/Makefile
components/sudo/patches/Makefile.in.patch
components/sudo/patches/solaris.patch
components/sudo/patches/sudo_man_in.patch
components/sudo/patches/sudoers_man_in.patch
components/sudo/patches/visudo_man_in.patch
components/sudo/sudo.license
components/sudo/sudo.p5m
make-rules/shared-macros.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/meta-packages/history/SUNWsudo.p5m	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,33 @@
+#
+# 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.
+#
+
+#
+# Legacy package information for renamed SUNWsudo package
+#
+
+set name=pkg.fmri value=pkg:/[email protected],5.11-0.133
+set name=pkg.renamed value=true
+
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+depend fmri=security/[email protected] type=require
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/Makefile	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,79 @@
+#
+# 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.
+#
+
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=		sudo
+SRC_VERSION=	1.7.4
+SRC_PATCH_VERSION=	4
+COMPONENT_VERSION=	$(SRC_VERSION).$(SRC_PATCH_VERSION)
+COMPONENT_SRC=		$(COMPONENT_NAME)-$(SRC_VERSION)p$(SRC_PATCH_VERSION)
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH=	sha1:c873f509f80d5722989a912a42a61ad27b71453f
+COMPONENT_ARCHIVE_URL=	http://www.sudo.ws/sudo/dist/$(COMPONENT_ARCHIVE)
+COMPONENT_PROJECT_URL=  http://www.sudo.ws/
+
+include $(WS_TOP)/make-rules/prep.mk
+include $(WS_TOP)/make-rules/configure.mk
+include $(WS_TOP)/make-rules/ips.mk
+
+CONFIGURE_ENV +=	"CC=$(CC)"
+CONFIGURE_ENV +=	"CFLAGS=$(CFLAGS)"
+CONFIGURE_ENV +=	"CXX=$(CXX)"
+CONFIGURE_ENV +=	"MAKE=$(GMAKE)"
+
+CONFIGURE_OPTIONS +=	--with-noexec=/usr/lib/sudo_noexec.so
+CONFIGURE_OPTIONS +=	--with-CC=$(CC)
+CONFIGURE_OPTIONS +=	--with-ldap
+CONFIGURE_OPTIONS +=	--with-project
+CONFIGURE_OPTIONS +=	--with-timedir=/var/run/sudo
+
+COMPONENT_BUILD_ENV +=	CC=$(CC) CXX=$(CXX)
+COMPONENT_BUILD_ENV +=	"CFLAGS=$(CFLAGS)"
+
+# For the 64-bit build, only need the 64-bit shared libraries 
+COMPONENT_BUILD_TARGETS.64 = libsudo_noexec
+COMPONENT_BUILD_TARGETS += $(COMPONENT_BUILD_TARGETS.$(BITS))
+
+# This value is used in the configured Makefile for sudo,
+# via the patch to Makefile.in, to install into the $(MACH64) directory
+COMPONENT_INSTALL_ENV.64 +=	MACH64=$(MACH64)
+
+# 32-bit install uses the usual target
+COMPONENT_INSTALL_TARGETS.32 = install
+# For 64-bit install, only install the 64-bit shared library
+COMPONENT_INSTALL_TARGETS.64 = install-noexec
+COMPONENT_INSTALL_TARGETS = $(COMPONENT_INSTALL_TARGETS.$(BITS))
+
+# common targets
+
+build:		$(BUILD_32_and_64)
+
+install:	$(INSTALL_32_and_64)
+
+test:		$(NO_TESTS)
+
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
+
+include $(WS_TOP)/make-rules/depend.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/patches/Makefile.in.patch	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,95 @@
+--- sudo-1.7.4p4/Makefile.in.orig	Fri Sep  3 14:43:57 2010
++++ sudo-1.7.4p4/Makefile.in	Wed May 25 14:19:46 2011
[email protected]@ -86,6 +86,9 @@
+ mandirsu = $(mandir)/$(mantype)$(mansectsu)
+ mandirform = $(mandir)/$(mantype)$(mansectform)
+ 
++datadir = @[email protected]
++ldifdir = $(datadir)/lib/ldif
++
+ # User and group ids the installed files should be "owned" by
+ install_uid = 0
+ install_gid = 0
[email protected]@ -205,8 +208,10 @@
+ 	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_noexec.c
+ 
+ libsudo_noexec.la: sudo_noexec.lo
+-	$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o [email protected] sudo_noexec.lo -avoid-version -rpath $(noexecdir)
++	$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o [email protected] sudo_noexec.lo -avoid-version -rpath $(noexecdir)
+ 
++libsudo_noexec: libsudo_noexec.la
++
+ # Uncomment the following if you want "make distclean" to clean the parser
+ @[email protected] = gram.h gram.c toke.c def_data.c def_data.h getdate
+ 
[email protected]@ -475,45 +480,52 @@
+ 	    hg log --style=changelog -b default --date '<2010-01-18 00:00:00' >> [email protected]; \
+ 	fi
+ 
+-install: install-dirs install-binaries @[email protected] install-sudoers install-doc
++install: install-dirs install-binaries @[email protected] install-sudoers install-doc install-ldif
+ 
++# only create $(MACH64) directory if $(MACH64) is set to a non-empty string
+ install-dirs:
+ 	$(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(sudodir) \
+-	    $(DESTDIR)$(visudodir) $(DESTDIR)$(noexecdir) \
++	    $(DESTDIR)$(visudodir) $(DESTDIR)$(noexecdir)/$(MACH64) \
+ 	    $(DESTDIR)$(sudoersdir) $(DESTDIR)$(docdir) \
+-	    $(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform)
+-	$(SHELL) $(srcdir)/mkinstalldirs -m 0700 $(DESTDIR)$(timedir)
++	    $(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform) \
++	    $(DESTDIR)$(ldifdir)
+ 
+ install-binaries: install-dirs $(PROGS)
+-	$(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 04111 sudo $(DESTDIR)$(sudodir)/sudo
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 04511 sudo $(DESTDIR)$(sudodir)/sudo
+ 	rm -f $(DESTDIR)$(sudodir)/sudoedit
+ 	ln $(DESTDIR)$(sudodir)/sudo $(DESTDIR)$(sudodir)/sudoedit
+-	if [ -f sudoreplay ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0111 sudoreplay $(DESTDIR)$(sudodir)/sudoreplay; fi
+-	$(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0111 visudo $(DESTDIR)$(visudodir)/visudo
+-	if [ -f sesh ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0111 sesh $(DESTDIR)$(libexecdir)/sesh; fi
++	if [ -f sudoreplay ]; then $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0111 sudoreplay $(DESTDIR)$(sudodir)/sudoreplay; fi
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0511 visudo $(DESTDIR)$(visudodir)/visudo
++	if [ -f sesh ]; then $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0511 sesh $(DESTDIR)$(libexecdir)/sesh; fi
+ 
++	# XXX only installs into $(MACH64) directory if $(MACH64) is non-empty
+ install-noexec: install-dirs libsudo_noexec.la
+-	if [ -f .libs/lib$(noexecfile) ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0755 .libs/lib$(noexecfile) $(DESTDIR)$(noexecdir)/$(noexecfile); fi
++	if [ -f .libs/lib$(noexecfile) ]; then $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0755 .libs/lib$(noexecfile) $(DESTDIR)$(noexecdir)/$(MACH64)/$(noexecfile); fi
+ 
+ install-sudoers: install-dirs
+-	$(INSTALL) -d -O $(sudoers_uid) -G $(sudoers_gid) -M 0750 \
++	$(INSTALL) -d -O $(sudoers_uid) -G $(sudoers_gid) -m 0750 \
+ 	    $(DESTDIR)$(sudoersdir)/sudoers.d
+ 	test -f $(DESTDIR)$(sudoersdir)/sudoers || \
+-	    $(INSTALL) -O $(sudoers_uid) -G $(sudoers_gid) -M $(sudoers_mode) \
++	    $(INSTALL) -O $(sudoers_uid) -G $(sudoers_gid) -m $(sudoers_mode) \
+ 		sudoers $(DESTDIR)$(sudoersdir)/sudoers
+ 
+ install-doc: install-dirs ChangeLog
+-	(cd $(srcdir) && for f in ChangeLog HISTORY LICENSE NEWS README TROUBLESHOOTING UPGRADE sample.*; do $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 $$f $(DESTDIR)$(docdir); done)
+-	@[email protected](cd $(srcdir) && for f in README.LDAP schema.* sudoers2ldif; do $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 $$f $(DESTDIR)$(docdir); done)
+-	$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @[email protected]/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
++	(cd $(srcdir) && for f in ChangeLog HISTORY LICENSE NEWS README TROUBLESHOOTING UPGRADE sample.*; do $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $$f $(DESTDIR)$(docdir); done)
++	@[email protected](cd $(srcdir) && for f in README.LDAP schema.* sudoers2ldif; do $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $$f $(DESTDIR)$(docdir); done)
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @[email protected]/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
+ 	@rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
+ 	ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
+-	@[email protected]$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @[email protected]/sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
+-	$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @[email protected]/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
+-	$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @[email protected]/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
+-	@[email protected]$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @[email protected]/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
++	@[email protected]$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @[email protected]/sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @[email protected]/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @[email protected]/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
++	@[email protected]$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @[email protected]/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
+ @[email protected]
+ 
++install-ldif:
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $(srcdir)/schema.OpenLDAP $(DESTDIR)$(ldifdir)/sudo-schema.OpenLDAP
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $(srcdir)/schema.iPlanet $(DESTDIR)$(ldifdir)/sudo-schema.iPlanet
++	$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $(srcdir)/sudoers2ldif $(DESTDIR)$(ldifdir)/sudoers2ldif
++
+ check:
+ 	@echo nothing to check
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/patches/solaris.patch	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,56 @@
+diff -c -r sudo-1.7.4p4/configure sudo-1.7.4p4.sun/configure
+*** sudo-1.7.4p4/configure	Mon Sep  6 14:03:39 2010
+--- sudo-1.7.4p4.sun/configure	Fri Sep 17 14:22:18 2010
+***************
+*** 18438,18444 ****
+  	fi
+      fi
+      if test X"$with_noexec" != X"no"; then
+! 	PROGS="${PROGS} libsudo_noexec.la"
+  	INSTALL_NOEXEC="install-noexec"
+  
+  	eval noexec_file="$with_noexec"
+--- 18438,18444 ----
+  	fi
+      fi
+      if test X"$with_noexec" != X"no"; then
+! 	PROGS="${PROGS} libsudo_noexec"
+  	INSTALL_NOEXEC="install-noexec"
+  
+  	eval noexec_file="$with_noexec"
+Common subdirectories: sudo-1.7.4p4/emul and sudo-1.7.4p4.sun/emul
+diff -c -r sudo-1.7.4p4/env.c sudo-1.7.4p4.sun/env.c
+*** sudo-1.7.4p4/env.c	Wed Aug 18 21:27:03 2010
+--- sudo-1.7.4p4.sun/env.c	Fri Sep 17 14:32:17 2010
+***************
+*** 792,798 ****
+--- 792,819 ----
+  #  ifdef _AIX
+  	sudo_setenv("LDR_PRELOAD", def_noexec_file, TRUE);
+  #  else
++ #    ifdef __sun
++ 	{
++ 	    char *p = NULL;
++ 	    char path[MAXPATHLEN], path64[MAXPATHLEN];
++ 
++ 	    if (strlcpy(path, def_noexec_file, sizeof (path)) < sizeof (path))
++ 	        p = strrchr(path, '/');
++ 	    if (p != NULL) {
++ 	        /* full pathname specified; set both 32/64 LD_PRELOAD vars */
++ 		*p = '\0';
++ 		if (snprintf(path64, sizeof (path64), "%s/64/%s",
++ 			path, p+1) < sizeof (path64))
++ 		    sudo_setenv("LD_PRELOAD_64", path64, TRUE);
++ 		sudo_setenv("LD_PRELOAD_32", def_noexec_file, TRUE);
++ 	    } else {
++ 	        /* relative pathname specified, ld.so.1 will search */
++ 		sudo_setenv("LD_PRELOAD", def_noexec_file,  TRUE);
++ 	    }
++ 	}
++ #    else
+  	sudo_setenv("LD_PRELOAD", def_noexec_file, TRUE);
++ #    endif /* __sun */
+  #  endif /* _AIX */
+  # endif /* __osf__ || __sgi */
+  #endif /* __darwin__ || __APPLE__ */
+Common subdirectories: sudo-1.7.4p4/m4 and sudo-1.7.4p4.sun/m4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/patches/sudo_man_in.patch	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,19 @@
+--- sudo-1.7.4p4.orig/sudo.man.in	Wed Jun  1 16:45:17 2011
++++ sudo-1.7.4p4/sudo.man.in	Wed Jun  1 16:49:12 2011
[email protected]@ -1,3 +1,7 @@
++'\" t
++.\" Modified for Solaris to to add 
++.\" a note about auditing and source availability
++.\" 
+ .\" Copyright (c) 1994-1996, 1998-2005, 2007-2010
+ .\" 	Todd C. Miller <[email protected]>
+ .\" 
[email protected]@ -800,3 +804,8 @@
+ and fitness for a particular purpose are disclaimed.  See the \s-1LICENSE\s0
+ file distributed with \fBsudo\fR or http://www.sudo.ws/sudo/license.html
+ for complete details.
++.\" Begin Solaris update
++.SH NOTES
++\fBsudo\fR does not create \fBaudit\fR(2) records; for a Role Based administration
++solution that performs auditing of all actions, please refer to \fBrbac\fR(5).
++.\" End Solaris update
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/patches/sudoers_man_in.patch	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,19 @@
+--- sudo-1.7.4p4.orig/sudoers.man.in	Fri Jul 30 08:58:55 2010
++++ sudo-1.7.4p4/sudoers.man.in	Wed Jun  1 16:49:52 2011
[email protected]@ -1,3 +1,7 @@
++'\" t
++.\" Modified for Solaris to to add 
++.\" a note about auditing and source availability
++.\" 
+ .\" Copyright (c) 1994-1996, 1998-2005, 2007-2010
+ .\" 	Todd C. Miller <[email protected]>
+ .\" 
[email protected]@ -1756,3 +1760,8 @@
+ and fitness for a particular purpose are disclaimed.  See the \s-1LICENSE\s0
+ file distributed with \fBsudo\fR or http://www.sudo.ws/sudo/license.html
+ for complete details.
++.\" Begin Solaris update
++.SH NOTES
++\fBsudo\fR does not create \fBaudit\fR(2) records; for a Role Based administration
++solution that performs auditing of all actions, please refer to \fBrbac\fR(5).
++.\" End Solaris update
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/patches/visudo_man_in.patch	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,19 @@
+--- sudo-1.7.4p4.orig/visudo.man.in	Fri Jul 30 08:58:55 2010
++++ sudo-1.7.4p4/visudo.man.in	Wed Jun  1 16:49:43 2011
[email protected]@ -1,3 +1,7 @@
++'\" t
++.\" Modified for Solaris to to add 
++.\" a note about auditing and source availability
++.\" 
+ .\" Copyright (c) 1996,1998-2005, 2007-2010
+ .\" 	Todd C. Miller <[email protected]>
+ .\" 
[email protected]@ -299,3 +303,8 @@
+ and fitness for a particular purpose are disclaimed.  See the \s-1LICENSE\s0
+ file distributed with \fBsudo\fR or http://www.sudo.ws/sudo/license.html
+ for complete details.
++.\" Begin Solaris update
++.SH NOTES
++\fBsudo\fR does not create \fBaudit\fR(2) records; for a Role Based administration
++solution that performs auditing of all actions, please refer to \fBrbac\fR(5).
++.\" End Solaris update
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/sudo.license	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,78 @@
+Sudo is distributed under the following ISC-style license:
+
+   Copyright (c) 1994-1996, 1998-2010
+        Todd C. Miller <[email protected]>
+
+   Permission to use, copy, modify, and distribute this software for any
+   purpose with or without fee is hereby granted, provided that the above
+   copyright notice and this permission notice appear in all copies.
+
+   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+   WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+   MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+   ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+   Sponsored in part by the Defense Advanced Research Projects
+   Agency (DARPA) and Air Force Research Laboratory, Air Force
+   Materiel Command, USAF, under agreement number F39502-99-1-0512.
+
+Additionally, fnmatch.c, fnmatch.h, getcwd.c, glob.c, glob.h and snprintf.c
+bear the following UCB license:
+
+   Copyright (c) 1987, 1989, 1990, 1991, 1992, 1993, 1994
+        The Regents of the University of California.  All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions
+   are met:
+   1. Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+   3. Neither the name of the University nor the names of its contributors
+      may be used to endorse or promote products derived from this software
+      without specific prior written permission.
+
+   THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+   ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+   SUCH DAMAGE.
+
+nonunix.h and vasgroups.c bear the following license:
+
+   Copyright (c) 2006 Quest Software, Inc.  All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are met:
+
+   1. Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+   3. Neither the name of Quest Software, Inc. nor the names of its
+      contributors may be used to endorse or promote products derived from
+      this software without specific prior written permission.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+   POSSIBILITY OF SUCH DAMAGE.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sudo/sudo.p5m	Thu Jun 02 09:52:40 2011 -0700
@@ -0,0 +1,78 @@
+#
+# 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.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
+
+set name=pkg.fmri value=pkg:/security/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="sudo - tool to allow certain tasks to be run as root by ordinary users"
+set name=info.classification \
+	value="org.opensolaris.category.2008:Applications/System Utilities"
+set name=info.upstream_url value=$(COMPONENT_PROJECT_URL)
+set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+set name=opensolaris.arc_url \
+    value=http://arc.opensolaris.org/caselog/PSARC/2009/205
+
+dir path=etc
+dir path=etc/sudoers.d mode=0750 group=root
+dir path=usr
+dir path=usr/bin
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/sbin
+dir path=usr/share
+dir path=usr/share/lib
+dir path=usr/share/lib/ldif group=sys
+dir path=usr/share/man
+dir path=usr/share/man/man1m
+dir path=usr/share/man/man4
+
+file path=etc/sudoers original_name=SUNWsudo:etc/sudoers preserve=true \
+	mode=0440 group=root
+file path=usr/bin/sudo mode=4511
+file path=usr/lib/sudo_noexec.so
+file path=usr/lib/$(MACH64)/sudo_noexec.so
+file path=usr/sbin/visudo mode=0511
+file path=usr/share/lib/ldif/sudo-schema.OpenLDAP
+file path=usr/share/lib/ldif/sudo-schema.iPlanet
+file path=usr/share/lib/ldif/sudoers2ldif
+file path=usr/share/man/man1m/sudo.1m
+file path=usr/share/man/man1m/visudo.1m
+file path=usr/share/man/man4/sudoers.4
+
+hardlink path=usr/share/man/man1m/sudoedit.1m target=sudo.1m
+hardlink path=usr/bin/sudoedit target=sudo
+
+license sudo.license license="ISC-like, BSD"
+
+legacy pkg=SUNWsudo \
+    desc="sudo - Tool to allow certain tasks to be run as root by ordinary users. 1.7.4p4" \
+    name="sudo - Tool to allow certain tasks to be run as root by ordinary users."
+
+# pkgdepend should have picked up the dependency on perl;
+# this explicit depend action can be removed if pkgdepend is fixed later
+depend fmri=__TBD \
+    pkg.debug.depend.file=usr/perl5/$(PERL_VERSION)/bin/perl \
+    pkg.debug.reason=usr/share/lib/ldif/sudoers2ldif \
+    type=require
+
--- a/make-rules/shared-macros.mk	Thu Jun 02 00:54:08 2011 -0700
+++ b/make-rules/shared-macros.mk	Thu Jun 02 09:52:40 2011 -0700
@@ -172,8 +172,8 @@
 INSTALL_32 =		$(BUILD_DIR_32)/.installed
 INSTALL_64 =		$(BUILD_DIR_64)/.installed
 INSTALL_32_and_64 =	$(INSTALL_32) $(INSTALL_64)
-$(BUILD_DIR_32)/.install:       BITS=32
-$(BUILD_DIR_64)/.install:       BITS=64
+$(BUILD_DIR_32)/.installed:       BITS=32
+$(BUILD_DIR_64)/.installed:       BITS=64
 
 # set the default target for installation of the component
 COMPONENT_INSTALL_TARGETS =	install