diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2013-06-24 21:43:43 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2013-06-24 21:43:48 +0000 |
commit | b061d3188d42c259e153cd6839fbeaacc4ccbfce (patch) | |
tree | 3efaefbf67de553e4dc0437f4f09ac143a265ed9 | |
parent | d0b259085b37b7c9061924c25fd742db9d773d16 (diff) | |
parent | a103bf89db0ff375f6549abb96b8869031d1e122 (diff) | |
download | illumos-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.h | 2 | ||||
-rw-r--r-- | usr/src/tools/scripts/build_osnet.sh | 343 |
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 |