summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith M Wesolowski <wesolows@foobazco.org>2013-06-24 21:43:43 +0000
committerKeith M Wesolowski <wesolows@foobazco.org>2013-06-24 21:43:48 +0000
commitb061d3188d42c259e153cd6839fbeaacc4ccbfce (patch)
tree3efaefbf67de553e4dc0437f4f09ac143a265ed9
parentd0b259085b37b7c9061924c25fd742db9d773d16 (diff)
parenta103bf89db0ff375f6549abb96b8869031d1e122 (diff)
downloadillumos-joyent-b061d3188d42c259e153cd6839fbeaacc4ccbfce.tar.gz
[illumos-gate merge]
commit a103bf89db0ff375f6549abb96b8869031d1e122 2893 build_osnet should go away commit 861bfc8941f2c557f1bcb7a6d7f62f9da98ee4db 3843 kstat should handle NULL string values
-rw-r--r--usr/src/cmd/stat/kstat/kstat.h2
-rw-r--r--usr/src/tools/scripts/build_osnet.sh343
2 files changed, 1 insertions, 344 deletions
diff --git a/usr/src/cmd/stat/kstat/kstat.h b/usr/src/cmd/stat/kstat/kstat.h
index dcad921737..ace8652dbf 100644
--- a/usr/src/cmd/stat/kstat/kstat.h
+++ b/usr/src/cmd/stat/kstat/kstat.h
@@ -143,7 +143,7 @@ typedef union ks_value {
{ \
ks_value_t v; \
v.str.addr.ptr = safe_strdup(V); \
- v.str.len = strlen(V); \
+ v.str.len = (V) ? strlen(V) : 0; \
nvpair_insert(I, N, &v, KSTAT_DATA_STRING); \
}
diff --git a/usr/src/tools/scripts/build_osnet.sh b/usr/src/tools/scripts/build_osnet.sh
deleted file mode 100644
index efd1798d58..0000000000
--- a/usr/src/tools/scripts/build_osnet.sh
+++ /dev/null
@@ -1,343 +0,0 @@
-#!/bin/ksh
-#
-# 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 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-#
-# This script can be used to build the ON component of the source product.
-# It should _not_ be used by developers, since it does not work with
-# workspaces, or do many of the features that 'nightly' uses to help you
-# (like detection errors and warnings, and send mail on completion).
-# 'nightly' (and other tools we use) lives in usr/src/tools.
-#
-# examine arguments. Source customers probably use no arguments, which just
-# builds in usr/src from the current directory. They might want to use
-# the -B flag, but the others are for use internally for testing the
-# compressed cpio archives we deliver to the folks who build the source product.
-#
-
-#
-# The CDPATH variable causes ksh's `cd' builtin to emit messages to stdout
-# under certain circumstances, which can really screw things up; unset it.
-#
-unset CDPATH
-
-USAGE='build_osnet [-B dir] [-E export_archive ] [-C crypt_archive ]
- [ -H binary_archive ] [-D] [-P]
-
-where:
- -B dir - set build directory
- -E export_archive - create build directory from export_archive
- -C crypt_archive - extract crypt_archive on top of build area
- -H binary_archive - extract binary_archive on top of build area
- -D - do a DEBUG build
- -P - do not copy packages to /pkgs
-'
-
-BUILDAREA=`pwd`
-EXPORT_CPIO=
-CRYPT_CPIO=
-BINARY_CPIO=
-DEBUGFLAG="n"
-PKGCPFLAG="y"
-
-OPTIND=1
-while getopts B:E:C:H:DP FLAG
-do
- case $FLAG in
- B ) BUILDAREA="$OPTARG"
- ;;
- E ) EXPORT_CPIO="$OPTARG"
- ;;
- C ) CRYPT_CPIO="$OPTARG"
- ;;
- H ) BINARY_CPIO="$OPTARG"
- ;;
- D ) DEBUGFLAG="y"
- ;;
- P ) PKGCPFLAG="n"
- ;;
- \? ) echo "$USAGE"
- exit 1
- ;;
- esac
-done
-
-
-# extract source
-
-# verify you are root
-/usr/bin/id | grep root >/dev/null 2>&1
-if [ "$?" != "0" ]; then
- echo \"$0\" must be run as root.
- exit 1
-fi
-
-if [ ! -z "${EXPORT_CPIO}" -a ! -f "${EXPORT_CPIO}" ]; then
- echo "${EXPORT_CPIO} does not exist - aborting."
- exit 1
-fi
-
-if [ -z "${BUILDAREA}" ]; then
- echo "BUILDAREA must be set - aborting."
- exit 1
-fi
-
-if [ -z "${SPRO_ROOT}" ]; then
- echo
- echo "SPRO_ROOT is not set - defaulting to /opt/SUNWspro."
- echo "If your compilers are located at a different location,"
- echo "you will need to set the SPRO_ROOT variable before"
- echo "you execute this script."
- echo
- SPRO_ROOT=/opt/SUNWspro; export SPRO_ROOT
-fi
-
-if [ -z "${JAVA_ROOT}" ]; then
- echo "JAVA_ROOT is not set - defaulting to /usr/java."
- JAVA_ROOT=/usr/java; export JAVA_ROOT
-fi
-
-# in case you use dmake. Note that dmake on ON has only been
-# tested in parallel make mode.
-if [ -z "${DMAKE_MAX_JOBS}" ]; then
- DMAKE_MAX_JOBS=4;
- export DMAKE_MAX_JOBS
-fi
-DMAKE_MODE=parallel; export DMAKE_MODE
-
-################################################################
-# Uncomment the line below to change to a parallel make using
-# dmake. Be sure to put a "#" in front of the other make line.
-# dmake can help create builds much faster, though if
-# you have problems you should go back to serial make.
-################################################################
-#MAKE=dmake; export MAKE
-MAKE=/usr/ccs/bin/make; export MAKE
-
-#
-# force locale to C
-LC_COLLATE=C; export LC_COLLATE
-LC_CTYPE=C; export LC_CTYPE
-LC_MESSAGES=C; export LC_MESSAGES
-LC_MONETARY=C; export LC_MONETARY
-LC_NUMERIC=C; export LC_NUMERIC
-LC_TIME=C; export LC_TIME
-
-# clear environment variables we know to be bad for the build
-unset LD_OPTIONS LD_LIBRARY_PATH LD_AUDIT LD_BIND_NOW LD_BREADTH LD_CONFIG
-unset LD_DEBUG LD_FLAGS LD_LIBRARY_PATH_64 LD_NOVERSION LD_ORIGIN
-unset LD_LOADFLTR LD_NOAUXFLTR LD_NOCONFIG LD_NODIRCONFIG LD_NOOBJALTER
-unset LD_PRELOAD LD_PROFILE
-unset CONFIG
-unset GROUP
-unset OWNER
-unset REMOTE
-unset ENV
-unset ARCH
-unset CLASSPATH
-
-# set magic variables
-
-MACH=`uname -p`; export MACH
-ROOT="${BUILDAREA}/proto/root_${MACH}"; export ROOT
-SRC="${BUILDAREA}/usr/src"; export SRC
-TOOLS_PROTO="${SRC}/tools/proto/root_${MACH}-nd"; export TOOLS_PROTO
-PKGARCHIVE="${BUILDAREA}/packages/${MACH}"; export PKGARCHIVE
-UT_NO_USAGE_TRACKING="1"; export UT_NO_USAGE_TRACKING
-RPCGEN=/usr/bin/rpcgen; export RPCGEN
-TMPDIR=/tmp; export TMPDIR
-ONBLD_ROOT=/tmp/opt/onbld; export ONBLD_ROOT
-STABS=${ONBLD_ROOT}/bin/sparc/stabs; export STABS
-CTFSTABS=${ONBLD_ROOT}/bin/${MACH}/ctfstabs; export CTFSTABS
-CTFCONVERT=${ONBLD_ROOT}/bin/${MACH}/ctfconvert; export CTFCONVERT
-CTFCVTPTBL=${ONBLD_ROOT}/bin/ctfcvtptbl; export CTFCVTPTBL
-CTFFINDMOD=${ONBLD_ROOT}/bin/ctffindmod; export CTFFINDMOD
-CTFMERGE=${ONBLD_ROOT}/bin/${MACH}/ctfmerge; export CTFMERGE
-ENVLDLIBS1=
-ENVLDLIBS2=
-ENVLDLIBS3=
-ENVCPPFLAGS1=
-ENVCPPFLAGS2=
-ENVCPPFLAGS3=
-ENVCPPFLAGS4=
-export ENVLDLIBS3 ENVCPPFLAGS1 ENVCPPFLAGS2 ENVCPPFLAGS3 ENVCPPFLAGS4
-unset RELEASE RELEASE_DATE
-
-ENVLDLIBS1="-L$ROOT/lib -L$ROOT/usr/lib"
-ENVCPPFLAGS1="-I$ROOT/usr/include"
-
-export ENVLDLIBS1 ENVLDLIBS2
-
-export INTERNAL_RELEASE_BUILD ; INTERNAL_RELEASE_BUILD=
-export RELEASE_BUILD ; RELEASE_BUILD=
-unset EXTRA_OPTIONS
-unset EXTRA_CFLAGS
-
-if [ "${DEBUGFLAG}" = "y" ]; then
- unset RELEASE_BUILD
-fi
-
-unset CFLAGS LD_LIBRARY_PATH LD_OPTIONS
-
-PATH="/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/usr/sbin"
-export PATH
-
-if [ -z "${ROOT}" ]; then
- echo "ROOT must be set - aborting."
- exit 1
-fi
-
-if [ -z "${PKGARCHIVE}" ]; then
- echo "PKGARCHIVE must be set - aborting."
- exit 1
-fi
-
-if [ -d "${BUILDAREA}" ]; then
- if [ -z "${EXPORT_CPIO}" ]; then
- # clobber doesn't work on the free source product,
- # since it will destroy the preinstalled object modules
- # so we just comment it out for now
- echo "\n==== Not clobbering in ${BUILDAREA} ====\n"
- #echo "\n==== Clobbering in ${BUILDAREA} ====\n"
- #cd $SRC
- #rm -f clobber.out
- #/bin/time ${MAKE} -e clobber | tee -a clobber.out
- #find . -name SCCS -prune -o \
- # \( -name '.make.*' -o -name 'lib*.a' -o -name 'lib*.so*' -o \
- # -name '*.o' \) \
- # -exec rm -f {} \;
-
- else
- echo "\n==== Removing ${BUILDAREA} ====\n"
- sleep 15
- rm -rf ${BUILDAREA}
- fi
-fi
-
-if [ -d "${ROOT}" ]; then
- echo "\n==== Removing ${ROOT} ====\n"
- sleep 15
- rm -rf ${ROOT}
-fi
-
-if [ -d "${PKGARCHIVE}" ]; then
- echo "\n==== Removing ${PKGARCHIVE} ====\n"
- sleep 15
- rm -rf ${PKGARCHIVE}
-fi
-
-mkdir -p ${BUILDAREA}
-
-cd ${BUILDAREA}
-
-if [ ! -z "${EXPORT_CPIO}" ]; then
- echo "\n==== Extracting export source ====\n"
- zcat ${EXPORT_CPIO} | cpio -idmucB
-fi
-
-# hack
-if [ -d usr/src/cmd/sendmail ]; then
- VERSION="Source"
-else
- VERSION="MODIFIED_SOURCE_PRODUCT"
-fi
-
-if [ ! -z "${CRYPT_CPIO}" -a -f "${CRYPT_CPIO}" ]; then
- echo "\n==== Extracting crypt source ====\n"
- zcat ${CRYPT_CPIO} | cpio -idmucB
- VERSION="Source:Crypt"
- echo "\n==== Performing crypt build ====\n"
-elif [ ! -z "${BINARY_CPIO}" -a -f "${BINARY_CPIO}" ]; then
- echo "\n==== Extracting binary modules ====\n"
- zcat ${BINARY_CPIO} | cpio -idmucB
- VERSION="MODIFIED_SOURCE_PRODUCT"
- echo "\n==== Performing hybrid build ====\n"
-else
- VERSION="Source:Export"
- echo "\n==== Performing export build ====\n"
-fi
-export VERSION
-
-echo "\n==== Disk space used (Source) ====\n"
-
-cd ${BUILDAREA}
-/usr/bin/du -s -k usr
-
-mkdir -p ${ROOT}
-mkdir -p ${PKGARCHIVE}
-
-echo "\n==== Building osnet tools ====\n"
-rm -rf /tmp/opt
-cd $SRC/tools;
-rm -f install.out
-export BUILD_TOOLS=/tmp/opt
-/bin/time env TOOLS_PROTO=/tmp ${MAKE} -e install | tee -a install.out
-PATH="${ONBLD_ROOT}/bin:${ONBLD_ROOT}/bin/${MACH}:$PATH"
-export PATH
-
-echo "\n==== Build environment ====\n"
-env
-
-if [ "${DEBUGFLAG}" = "y" ]; then
- echo "\n==== Building osnet (DEBUG) ====\n"
-else
- echo "\n==== Building osnet ====\n"
-fi
-
-cd $SRC
-rm -f install.out
-/bin/time ${MAKE} -e install | tee -a install.out
-
-echo "\n==== Build errors ====\n"
-
-egrep ":" install.out | \
- egrep -e "(${MAKE}:|[ ]error[: \n])" | \
- egrep -v warning
-
-echo "\n==== Building osnet packages ====\n"
-cd $SRC/pkg
-rm -f install.out
-/bin/time ${MAKE} -e install | tee -a install.out
-
-echo "\n==== Package build errors ====\n"
-
-egrep "${MAKE}|ERROR|WARNING" $SRC/pkg/install.out | \
- grep ':' | \
- grep -v PSTAMP
-
-echo "\n==== Disk space used (Source/Build/Packages) ====\n"
-
-cd ${BUILDAREA}
-/usr/bin/du -s -k usr proto packages
-
-#
-# Copy packages into /pkgs location
-#
-if [ "${PKGCPFLAG}" = "y" ]; then
- echo "\n==== Copying newly built packages into /pkgs ====\n"
- mkdir -p /pkgs
- cp -rf $PKGARCHIVE/* /pkgs
-fi