123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #!/usr/bin/ksh -p
- #
- # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- # Use is subject to license terms.
- #
- # This Source Code Form is subject to the terms of the Mozilla Public
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- #
- # Simple script which builds the awk_pkginfo awk script. This awk script
- # is used to convert the pkginfo.tmpl files into pkginfo files
- # for the build.
- #
- usage()
- {
- cat <<-EOF
- usage: bld_awk_pkginfo -p <prodver> -m <mach> -o <awk_script> [-v <version>]
- EOF
- }
- #
- # Awk strings
- #
- # two VERSION patterns: one for Dewey decimal, one for Dewey plus ,REV=n
- # the first has one '=' the second has two or more '='
- #
- VERSION1="VERSION=[^=]*$"
- VERSION2="VERSION=[^=]*=.*$"
- PRODVERS="^SUNW_PRODVERS="
- ARCH='ARCH=\"ISA\"'
- #
- # parse command line
- #
- mach=""
- prodver=""
- awk_script=""
- version="NSSVERS"
- while getopts o:p:m:v: c
- do
- case $c in
- o)
- awk_script=$OPTARG
- ;;
- m)
- mach=$OPTARG
- ;;
- p)
- prodver=$OPTARG
- ;;
- v)
- version=$OPTARG
- ;;
- \?)
- usage
- exit 1
- ;;
- esac
- done
- if [[ ( -z $prodver ) || ( -z $mach ) || ( -z $awk_script ) ]]
- then
- usage
- exit 1
- fi
- if [[ -f $awk_script ]]
- then
- rm -f $awk_script
- fi
- #
- # Build REV= field based on date
- #
- rev=$(date "+%Y.%m.%d.%H.%M")
- #
- # Build awk script which will process all the
- # pkginfo.tmpl files.
- #
- # the first VERSION pattern is replaced with a leading quotation mark
- #
- rm -f $awk_script
- cat << EOF > $awk_script
- /$VERSION1/ {
- sub(/\=[^=]*$/,"=\"$rev\"")
- print
- next
- }
- /$VERSION2/ {
- sub(/\=[^=]*$/,"=$rev\"")
- sub(/NSSVERS/,"$version")
- print
- next
- }
- /$PRODVERS/ {
- printf "SUNW_PRODVERS=\"%s\"\n", "$prodver"
- next
- }
- /$ARCH/ {
- printf "ARCH=\"%s\"\n", "$mach"
- next
- }
- { print }
- EOF
|