--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sg3_utils/Makefile Fri Aug 24 11:46:52 2012 -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) 2012, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME= sg3_utils
+COMPONENT_VERSION= 1.28
+COMPONENT_PROJECT_URL= http://sg.danny.cz/sg/sg3_utils.html
+COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE= $(COMPONENT_SRC).tgz
+COMPONENT_ARCHIVE_HASH= \
+ sha256:da8bd627a6246b709e2a0321fa9d5ca09a33354a1ae40c74cd37efb69b9f8118
+COMPONENT_ARCHIVE_URL= http://sg.danny.cz/sg/p/$(COMPONENT_ARCHIVE)
+
+COMPONENT_ARCHIVE_1 = rescan-scsi-bus.sh-1.35
+COMPONENT_ARCHIVE_HASH_1 = \
+ sha256:324630d65ef85480f3fc57e8c1648dba2c79fa1927e26e6dfd1b64c7b8aba0b1
+COMPONENT_ARCHIVE_URL_1 = http://www.garloff.de/kurt/linux/rescan-scsi-bus.sh-1.35
+
+COMPONENT_POST_UNPACK_ACTION = \
+ $(CP) $(COMPONENT_DIR)/rescan-scsi-bus.sh-1.35 \
+ $(COMPONENT_SRC)/rescan-scsi-bus.sh
+
+include ../../make-rules/prep.mk
+include ../../make-rules/configure.mk
+include ../../make-rules/ips.mk
+
+CPPFLAGS += -I$(COMPONENT_DIR)/$(COMPONENT_SRC)/include
+
+CONFIGURE_OPTIONS += --disable-static
+CONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)"
+
+# Don't use rpath!
+COMPONENT_POST_CONFIGURE_ACTION = \
+ (cd $(BUILD_DIR_32) ; \
+ $(GSED) -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool ; \
+ $(GSED) -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool)
+
+# Move the section 8 man pages into section 1m.
+COMPONENT_POST_INSTALL_ACTION = \
+ for f in $(PROTOUSRSHAREMANDIR)/man8/*; do \
+ mv $$f $${f%.8}.1m; \
+ done ; \
+ $(MV) $(PROTOUSRSHAREMANDIR)/man8 $(PROTOUSRSHAREMANDIR)/man1m
+
+PKG_PROTO_DIRS += $(COMPONENT_DIR)/files
+
+# common targets
+build: $(BUILD_32)
+
+install: $(INSTALL_32)
+
+test: $(TEST_32)
+
+BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
+
+include ../../make-rules/depend.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sg3_utils/files/sg3_utils-exec_attr Fri Aug 24 11:46:52 2012 -0700
@@ -0,0 +1,41 @@
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_format:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_get_config:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_get_lba_status:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_ident:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_inq:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_logs:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_luns:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_modes:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_opcodes:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_read_block_limits:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_read_buffer:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_read_long:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_readcap:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_reassign:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_requests:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_rmsn:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_rtpg:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_safte:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_sat_identify:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_sat_phy_event:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Info:solaris:cmd:::/usr/sbin/sg_vpd:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_sync:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_persist:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_prevent:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_raw:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_rdac:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_reassign:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_sat_set_features:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_senddiag:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_ses:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_start:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_stpg:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_sync:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_turs:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_verify:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_wr_mode:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_write_buffer:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_write_long:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_write_same:euid=0;privs=file_dac_read,file_dac_write,sys_devices
+SCSI Device Management:solaris:cmd:::/usr/sbin/sg_unmap:euid=0;privs=file_dac_read,file_dac_write,sys_devices
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sg3_utils/files/sg3_utils-prof_attr Fri Aug 24 11:46:52 2012 -0700
@@ -0,0 +1,2 @@
+SCSI Device Info:::Inquiry, read device information
+SCSI Device Management:::Manage, modify device status or data:profiles=SCSI Device Info
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sg3_utils/patches/rescan-scsi-bus-fixes.patch Fri Aug 24 11:46:52 2012 -0700
@@ -0,0 +1,259 @@
+From 38842b5eafcd85bc91d96e2b2d0b99ea8864d907 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <[email protected]>
+Date: Thu, 14 Jan 2010 12:50:05 +0100
+Subject: [PATCH 1/5] netapp - fixes in doreportlun
+
+---
+ rescan-scsi-bus.sh | 64 ++++++++++++++++++++++++++++++++++------------------
+ 1 files changed, 42 insertions(+), 22 deletions(-)
+
+diff --git a/rescan-scsi-bus.sh b/rescan-scsi-bus.sh
+index af1f843..8d52e39 100644
+--- a/rescan-scsi-bus.sh
++++ b/rescan-scsi-bus.sh
+@@ -371,38 +371,58 @@ dolunscan()
+ # Perform report lun scan
+ doreportlun()
+ {
+- lun=0
++ lun=
+ SCSISTR=
+- devnr="$host $channel $id $lun"
+- echo "Scanning for device $devnr ..."
+- #printf "${yellow}OLD: $norm"
+- testexist -q
+- if test -z "$SCSISTR"; then
+- # Device does not exist, try to add
+- #printf "\r${green}NEW: $norm"
+- if test -e /sys/class/scsi_host/host${host}/scan; then
+- echo "$channel $id $lun" > /sys/class/scsi_host/host${host}/scan 2> /dev/null
+- else
+- echo "scsi add-single-device $devnr" > /proc/scsi/scsi
+- fi
++ for dev in /sys/class/scsi_device/${host}:${channel}:${id}:*; do
++ if [ -d "$dev" ]; then
++ lun=${dev##*:}
++ break
++ else
++ continue
++ fi
++ done
++ #If not a single LUN is present then assign lun=0
++ if [ -z $lun ]; then
++ lun=0
++ devnr="$host $channel $id $lun"
++ echo "Scanning for device $devnr ..."
++ printf "${yellow}OLD: $norm"
+ testexist -1
+ if test -z "$SCSISTR"; then
+- # Device not present
+- printf "\r\x1b[A";
+- lunsearch=
+- return
++ # Device does not exist, try to add
++ printf "\r${green}NEW: $norm"
++ if test -e /sys/class/scsi_host/host${host}/scan; then
++ echo "$channel $id $lun" > /sys/class/scsi_host/host${host}/scan 2> /dev/null
++ else
++ echo "scsi add-single-device $devnr" > /proc/scsi/scsi
++ fi
++ testexist
++ if test -z "$SCSISTR"; then
++ # Device not present
++ printf "\r\x1b[A";
++ lunsearch=
++ return
++ fi
+ fi
+ #testonline
+ fi
+- lunsearch=`getluns`
++ flag=0
++ lun_search="`getluns`"
++ # Set flag=1 if all the LUNs are removed
++ if [ "${#lun_search}" = "1" ]; then
++ flag=1
++ fi
+ lunremove=
+ # Check existing luns
+ for dev in /sys/class/scsi_device/${host}:${channel}:${id}:*; do
+ [ -d "$dev" ] || continue
+ lun=${dev##*:}
++ if [ "$flag" = "1" ]; then
++ lunremove="$lunremove $lun"
++ fi
+ newsearch=
+- oldsearch="$lunsearch"
+- for tmplun in $lunsearch; do
++ oldsearch="$lun_search"
++ for tmplun in $lun_search; do
+ if test $tmplun -eq $lun ; then
+ dolunscan
+ else
+@@ -413,10 +433,10 @@ doreportlun()
+ # Stale lun
+ lunremove="$lunremove $lun"
+ fi
+- lunsearch="$newsearch"
++ lun_search="$newsearch"
+ done
+ # Add new ones and check stale ones
+- for lun in $lunsearch $lunremove; do
++ for lun in $lun_search $lunremove; do
+ dolunscan
+ done
+ }
+--
+1.6.6.1
+
+
+From 0e94e0c27d575f18a57938b9d98dfe02d8c11eb9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <[email protected]>
+Date: Thu, 14 Jan 2010 12:50:59 +0100
+Subject: [PATCH 2/5] netapp - LIP is not required to do a scan on FC
+
+---
+ rescan-scsi-bus.sh | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+diff --git a/rescan-scsi-bus.sh b/rescan-scsi-bus.sh
+index 8d52e39..13e9283 100644
+--- a/rescan-scsi-bus.sh
++++ b/rescan-scsi-bus.sh
+@@ -587,11 +587,10 @@ declare -i rmvd=0
+ for host in $hosts; do
+ echo -n "Scanning host $host "
+ if test -e /sys/class/fc_host/host$host ; then
+- # It's pointless to do a target scan on FC
+ if test -n "$lipreset" ; then
+ echo 1 > /sys/class/fc_host/host$host/issue_lip 2> /dev/null;
+- echo "- - -" > /sys/class/scsi_host/host$host/scan 2> /dev/null;
+ fi
++ echo "- - -" > /sys/class/scsi_host/host$host/scan 2> /dev/null;
+ channelsearch=""
+ idsearch=""
+ fi
+--
+1.6.6.1
+
+
+From c3b67a28289bb010d141e172a184982c40e2fff2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <[email protected]>
+Date: Thu, 14 Jan 2010 12:51:31 +0100
+Subject: [PATCH 3/5] space before getluns call is required
+
+---
+ rescan-scsi-bus.sh | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/rescan-scsi-bus.sh b/rescan-scsi-bus.sh
+index 13e9283..26a9853 100644
+--- a/rescan-scsi-bus.sh
++++ b/rescan-scsi-bus.sh
+@@ -407,7 +407,7 @@ doreportlun()
+ #testonline
+ fi
+ flag=0
+- lun_search="`getluns`"
++ lun_search=" `getluns`"
+ # Set flag=1 if all the LUNs are removed
+ if [ "${#lun_search}" = "1" ]; then
+ flag=1
+--
+1.6.6.1
+
+
+From 5c10b085e2e83f371eddee16937157b0e7f63d5b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <[email protected]>
+Date: Thu, 14 Jan 2010 15:15:34 +0100
+Subject: [PATCH 4/5] wait for device
+
+When a device reports "unit attention" state after calling sg_turs, then wait until the device comes online or a timeout is reached.
+---
+ rescan-scsi-bus.sh | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/rescan-scsi-bus.sh b/rescan-scsi-bus.sh
+index 26a9853..23fba7d 100644
+--- a/rescan-scsi-bus.sh
++++ b/rescan-scsi-bus.sh
+@@ -195,8 +195,12 @@ testonline ()
+ if test ! -x /usr/bin/sg_turs; then return 0; fi
+ sgdevice
+ if test -z "$SGDEV"; then return 0; fi
+- sg_turs /dev/$SGDEV >/dev/null 2>&1
+- RC=$?
++ for t in 1 2 3 4 5; do
++ sg_turs /dev/$SGDEV >/dev/null 2>&1
++ RC=$?
++ [ $RC -ne 6 ] && break
++ sleep $t
++ done
+ # echo -e "\e[A\e[A\e[A${yellow}Test existence of $SGDEV = $RC ${norm} \n\n\n"
+ if test $RC = 1; then return $RC; fi
+ # OK, device online, compare INQUIRY string
+--
+1.6.6.1
+
+
+From ab78298b801aa1afdbaa7091a9e4aecdf8d89d2c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <[email protected]>
+Date: Fri, 25 Jun 2010 11:23:28 +0200
+Subject: [PATCH 5/5] accept user specified channel list when scanning FC host
+
+Allow the user to specify channels to scan on FC host when trying to find
+a first LUN. Option --forcerescan is used for that and when it's not given
+it defaults to the old behaviour when it gets available channels from
+/sys/class/scsi_device
+---
+ rescan-scsi-bus.sh | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/rescan-scsi-bus.sh b/rescan-scsi-bus.sh
+index 23fba7d..a7fd1f3 100644
+--- a/rescan-scsi-bus.sh
++++ b/rescan-scsi-bus.sh
+@@ -595,7 +595,7 @@ for host in $hosts; do
+ echo 1 > /sys/class/fc_host/host$host/issue_lip 2> /dev/null;
+ fi
+ echo "- - -" > /sys/class/scsi_host/host$host/scan 2> /dev/null;
+- channelsearch=""
++ [ -z $forcerescan ] && channelsearch=""
+ idsearch=""
+ fi
+ [ -n "$channelsearch" ] && echo -n "channels $channelsearch "
+--
+1.6.6.1
+
+From 857456759088a92cf9cd2dbfaa24b5bf9cb0829e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <[email protected]>
+Date: Wed, 22 Sep 2010 15:33:00 +0200
+Subject: [PATCH] issue scan command also for iSCSI
+
+iSCSI devices behave like FC ones, so they need to issue the scan command
+first to work when there is no LUN==0 mapped.
+---
+ rescan-scsi-bus.sh | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/rescan-scsi-bus.sh b/rescan-scsi-bus.sh
+index a7fd1f3..1b9ea7d 100644
+--- a/rescan-scsi-bus.sh
++++ b/rescan-scsi-bus.sh
+@@ -590,10 +590,11 @@ declare -i found=0
+ declare -i rmvd=0
+ for host in $hosts; do
+ echo -n "Scanning host $host "
+- if test -e /sys/class/fc_host/host$host ; then
+- if test -n "$lipreset" ; then
++ if test -e /sys/class/fc_host/host$host -o -e /sys/class/iscsi_host/host$host ; then
++ if test -e /sys/class/fc_host/host$host -a -n "$lipreset" ; then
+ echo 1 > /sys/class/fc_host/host$host/issue_lip 2> /dev/null;
+ fi
++ # always do a scan on FC or iSCSI
+ echo "- - -" > /sys/class/scsi_host/host$host/scan 2> /dev/null;
+ [ -z $forcerescan ] && channelsearch=""
+ idsearch=""
+--
+1.7.4.4
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sg3_utils/patches/sg3_utils-solaris-build.patch Fri Aug 24 11:46:52 2012 -0700
@@ -0,0 +1,48 @@
+diff -urN sg3_utils-1.28/lib/Makefile.am sg3_utils-1.28.new/lib/Makefile.am
+--- sg3_utils-1.28/lib/Makefile.am 2011-03-08 15:16:10.684395224 +0800
++++ sg3_utils-1.28.new/lib/Makefile.am 2011-03-08 15:16:52.811149215 +0800
+@@ -133,7 +133,7 @@
+ endif
+
+
+-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W
++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v
+ # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99
+
+ lib_LTLIBRARIES = libsgutils2.la
+diff -urN sg3_utils-1.28/lib/Makefile.in sg3_utils-1.28.new/lib/Makefile.in
+--- sg3_utils-1.28/lib/Makefile.in 2011-03-08 15:16:10.683842532 +0800
++++ sg3_utils-1.28.new/lib/Makefile.in 2011-03-08 15:16:39.931893403 +0800
+@@ -330,7 +330,7 @@
+ @OS_WIN32_MINGW_TRUE@ sg_pt_solaris.c \
+ @OS_WIN32_MINGW_TRUE@ getopt_long.c
+
+-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W
++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v
+ # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99
+ lib_LTLIBRARIES = libsgutils2.la
+ libsgutils2_la_LDFLAGS = -version-info 2:0:0
+diff -urN sg3_utils-1.28/src/Makefile.am sg3_utils-1.28.new/src/Makefile.am
+--- sg3_utils-1.28/src/Makefile.am 2011-03-08 15:16:10.677707201 +0800
++++ sg3_utils-1.28.new/src/Makefile.am 2011-03-08 15:17:03.471143277 +0800
+@@ -119,7 +119,7 @@
+ endif
+
+
+-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W
++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v
+ # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99
+
+ sg_dd_SOURCES = sg_dd.c
+diff -urN sg3_utils-1.28/src/Makefile.in sg3_utils-1.28.new/src/Makefile.in
+--- sg3_utils-1.28/src/Makefile.in 2011-03-08 15:16:10.676305953 +0800
++++ sg3_utils-1.28.new/src/Makefile.in 2011-03-08 15:17:13.216078187 +0800
+@@ -584,7 +584,7 @@
+ target_alias = @target_alias@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W
++AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -v
+ # AM_CFLAGS = -I ../include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -W -pedantic -std=c99
+ sg_dd_SOURCES = sg_dd.c
+ sg_dd_LDADD = ../lib/libsgutils2.la @os_libs@
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sg3_utils/sg3_utils.license Fri Aug 24 11:46:52 2012 -0700
@@ -0,0 +1,364 @@
+
+-----------------
+- sg3utils 1.28 -
+-----------------
+
+Copyright:
+
+This software is copyright(c) 1994-2009 by the authors
+
+You are free to distribute this software under the terms of the
+GNU General Public License.
+On Debian systems, the complete text of the GNU General Public License
+can be found in /usr/share/common-licenses/GPL file.
+
+Many parts of this package are covered by a (Free-) BSD license. These
+include central error processing code (sg_lib.[hc] and sg_lib_data.[hc]),
+common command code (sg_cmds_basic.[hc], sg_cmds_mmc.[hc] and
+sg_cmds_extra.[hc]) and later utilities. They are Copyright: Douglas Gilbert.
+The author's intention is that the (Free-) BSD licensed code can be used
+freely by others. On Debian systems, the complete text of the BSD License
+can be found in `/usr/share/common-licenses/BSD'.
+
+--------------------------------------------------------------------
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/sg3_utils/sg3_utils.p5m Fri Aug 24 11:46:52 2012 -0700
@@ -0,0 +1,143 @@
+#
+# 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) 2012, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
+set name=pkg.fmri \
+ value=pkg:/system/storage/sg3_utils@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Utilities for devices that use SCSI command sets"
+set name=pkg.description \
+ value='Collection of utilities for devices that use the SCSI command set. Includes utilities to copy data based on "dd" syntax and semantics (called sg_dd, sgp_dd and sgm_dd); check INQUIRY data and VPD pages (sg_inq); check mode and log pages (sginfo, sg_modes and sg_logs); spin up and down disks (sg_start); do self tests (sg_senddiag); and various other functions. Warning: Some of these tools access the internals of your system and the incorrect usage of them may render your system inoperable.'
+set name=info.classification \
+ value="org.opensolaris.category.2008:Applications/System Utilities"
+set name=info.source-url value=http://sg.danny.cz/sg/p/sg3_utils-1.28.tgz \
+ value=http://www.garloff.de/kurt/linux/rescan-scsi-bus.sh-1.35
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2009/029
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+dir path=etc
+dir path=etc/security
+dir path=etc/security/exec_attr.d
+file sg3_utils-exec_attr path=etc/security/exec_attr.d/system:storage:sg3_utils
+dir path=etc/security/prof_attr.d
+file sg3_utils-prof_attr path=etc/security/prof_attr.d/system:storage:sg3_utils
+dir path=usr
+dir path=usr/bin
+file path=usr/bin/sg_format
+file path=usr/bin/sg_get_config
+file path=usr/bin/sg_get_lba_status
+file path=usr/bin/sg_ident
+file path=usr/bin/sg_inq
+file path=usr/bin/sg_logs
+file path=usr/bin/sg_luns
+file path=usr/bin/sg_modes
+file path=usr/bin/sg_opcodes
+file path=usr/bin/sg_persist
+file path=usr/bin/sg_prevent
+file path=usr/bin/sg_raw
+file path=usr/bin/sg_rdac
+file path=usr/bin/sg_read_block_limits
+file path=usr/bin/sg_read_buffer
+file path=usr/bin/sg_read_long
+file path=usr/bin/sg_readcap
+file path=usr/bin/sg_reassign
+file path=usr/bin/sg_requests
+file path=usr/bin/sg_rmsn
+file path=usr/bin/sg_rtpg
+file path=usr/bin/sg_safte
+file path=usr/bin/sg_sat_identify
+file path=usr/bin/sg_sat_phy_event
+file path=usr/bin/sg_sat_set_features
+file path=usr/bin/sg_senddiag
+file path=usr/bin/sg_ses
+file path=usr/bin/sg_start
+file path=usr/bin/sg_stpg
+file path=usr/bin/sg_sync
+file path=usr/bin/sg_turs
+file path=usr/bin/sg_unmap
+file path=usr/bin/sg_verify
+file path=usr/bin/sg_vpd
+file path=usr/bin/sg_wr_mode
+file path=usr/bin/sg_write_buffer
+file path=usr/bin/sg_write_long
+file path=usr/bin/sg_write_same
+dir path=usr/lib
+link path=usr/lib/libsgutils2.so target=libsgutils2.so.2.0.0
+link path=usr/lib/libsgutils2.so.2 target=libsgutils2.so.2.0.0
+file path=usr/lib/libsgutils2.so.2.0.0
+dir path=usr/share
+dir path=usr/share/man
+dir path=usr/share/man/man1m
+file path=usr/share/man/man1m/sg3_utils.1m
+file path=usr/share/man/man1m/sg_format.1m
+file path=usr/share/man/man1m/sg_get_config.1m
+file path=usr/share/man/man1m/sg_get_lba_status.1m
+file path=usr/share/man/man1m/sg_ident.1m
+file path=usr/share/man/man1m/sg_inq.1m
+file path=usr/share/man/man1m/sg_logs.1m
+file path=usr/share/man/man1m/sg_luns.1m
+file path=usr/share/man/man1m/sg_modes.1m
+file path=usr/share/man/man1m/sg_opcodes.1m
+file path=usr/share/man/man1m/sg_persist.1m
+file path=usr/share/man/man1m/sg_prevent.1m
+file path=usr/share/man/man1m/sg_raw.1m
+file path=usr/share/man/man1m/sg_rdac.1m
+file path=usr/share/man/man1m/sg_read_block_limits.1m
+file path=usr/share/man/man1m/sg_read_buffer.1m
+file path=usr/share/man/man1m/sg_read_long.1m
+file path=usr/share/man/man1m/sg_readcap.1m
+file path=usr/share/man/man1m/sg_reassign.1m
+file path=usr/share/man/man1m/sg_requests.1m
+file path=usr/share/man/man1m/sg_rmsn.1m
+file path=usr/share/man/man1m/sg_rtpg.1m
+file path=usr/share/man/man1m/sg_safte.1m
+file path=usr/share/man/man1m/sg_sat_identify.1m
+file path=usr/share/man/man1m/sg_sat_phy_event.1m
+file path=usr/share/man/man1m/sg_sat_set_features.1m
+file path=usr/share/man/man1m/sg_senddiag.1m
+file path=usr/share/man/man1m/sg_ses.1m
+file path=usr/share/man/man1m/sg_start.1m
+file path=usr/share/man/man1m/sg_stpg.1m
+file path=usr/share/man/man1m/sg_sync.1m
+file path=usr/share/man/man1m/sg_turs.1m
+file path=usr/share/man/man1m/sg_unmap.1m
+file path=usr/share/man/man1m/sg_verify.1m
+file path=usr/share/man/man1m/sg_vpd.1m
+file path=usr/share/man/man1m/sg_wr_mode.1m
+file path=usr/share/man/man1m/sg_write_buffer.1m
+file path=usr/share/man/man1m/sg_write_long.1m
+file path=usr/share/man/man1m/sg_write_same.1m
+legacy pkg=SUNWsg3utilsr \
+ desc="sg3 - package of utilities for sending SCSI commands 1.26 (root)" \
+ name="sg3_utils - a package of utilities for sending SCSI commands (root)"
+legacy pkg=SUNWsg3utilsu \
+ desc="sg3 - package of utilities for sending SCSI commands 1.26 (usr)" \
+ name="sg3_utils - a package of utilities for sending SCSI commands (usr)"
+license sg3_utils.license license="GPLv2+ and BSD"
+
+# sg3_utils was previously in the 'desktop' consolidation. This optional
+# dependency is here to facilitate the safe transfer of the package
+# to the 'userland' consolidation.
+depend type=optional fmri=consolidation/desktop/[email protected]