nsprpub/pkg/solaris/bld_awk_pkginfo.ksh

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

     1 #!/usr/bin/ksh -p
     2 # 
     3 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
     4 # Use is subject to license terms.
     5 # 
     6 # This Source Code Form is subject to the terms of the Mozilla Public
     7 # License, v. 2.0. If a copy of the MPL was not distributed with this
     8 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     9 #
    10 #ident	"$Id$"
    11 #
    12 # Simple script which builds the awk_pkginfo awk script.  This awk script
    13 # is used to convert the pkginfo.tmpl files into pkginfo files
    14 # for the build.
    15 #
    17 usage()
    18 {
    19    cat <<-EOF
    20 usage: bld_awk_pkginfo -p <prodver> -m <mach> -o <awk_script> [-v <version>]
    21 EOF
    22 }
    24 #
    25 # Awk strings
    26 #
    27 # two VERSION patterns: one for Dewey decimal, one for Dewey plus ,REV=n
    28 # the first has one '=' the second has two or more '='
    29 #
    30 VERSION1="VERSION=[^=]*$"
    31 VERSION2="VERSION=[^=]*=.*$"
    32 PRODVERS="^SUNW_PRODVERS="
    33 ARCH='ARCH=\"ISA\"'
    35 #
    36 # parse command line
    37 #
    38 mach=""
    39 prodver=""
    40 awk_script=""
    41 version="NSPRVERS"
    43 while getopts o:p:m:v: c
    44 do
    45    case $c in
    46    o)
    47       awk_script=$OPTARG
    48       ;;
    49    m)
    50       mach=$OPTARG
    51       ;;
    52    p)
    53       prodver=$OPTARG
    54       ;;
    55    v)
    56       version=$OPTARG
    57       ;;
    58    \?)
    59       usage
    60       exit 1
    61       ;;
    62    esac
    63 done
    65 if [[ ( -z $prodver ) || ( -z $mach ) || ( -z $awk_script ) ]]
    66 then
    67    usage
    68    exit 1
    69 fi
    71 if [[ -f $awk_script ]]
    72 then
    73 	rm -f $awk_script
    74 fi
    76 #
    77 # Build REV= field based on date
    78 #
    79 rev=$(date "+%Y.%m.%d.%H.%M")
    81 #
    82 # Build awk script which will process all the
    83 # pkginfo.tmpl files.
    84 #
    85 # the first VERSION pattern is replaced with a leading quotation mark
    86 #
    87 rm -f $awk_script
    88 cat << EOF > $awk_script
    89 /$VERSION1/ {
    90       sub(/\=[^=]*$/,"=\"$rev\"")
    91       print
    92       next
    93    }
    94 /$VERSION2/ {
    95       sub(/\=[^=]*$/,"=$rev\"")
    96       sub(/NSPRVERS/,"$version")
    97       print
    98       next
    99    }
   100 /$PRODVERS/ { 
   101       printf "SUNW_PRODVERS=\"%s\"\n", "$prodver" 
   102       next
   103    }
   104 /$ARCH/ {
   105       printf "ARCH=\"%s\"\n", "$mach"
   106       next
   107    }
   108 { print }
   109 EOF

mercurial