tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bld_awk_pkginfo.ksh (1898B)


      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 # Simple script which builds the awk_pkginfo awk script.  This awk script
     11 # is used to convert the pkginfo.tmpl files into pkginfo files
     12 # for the build.
     13 #
     14 
     15 usage()
     16 {
     17   cat <<-EOF
     18 usage: bld_awk_pkginfo -p <prodver> -m <mach> -o <awk_script> [-v <version>]
     19 EOF
     20 }
     21 
     22 #
     23 # Awk strings
     24 #
     25 # two VERSION patterns: one for Dewey decimal, one for Dewey plus ,REV=n
     26 # the first has one '=' the second has two or more '='
     27 #
     28 VERSION1="VERSION=[^=]*$"
     29 VERSION2="VERSION=[^=]*=.*$"
     30 PRODVERS="^SUNW_PRODVERS="
     31 ARCH='ARCH=\"ISA\"'
     32 
     33 #
     34 # parse command line
     35 #
     36 mach=""
     37 prodver=""
     38 awk_script=""
     39 version="NSSVERS"
     40 
     41 while getopts o:p:m:v: c
     42 do
     43   case $c in
     44   o)
     45      awk_script=$OPTARG
     46      ;;
     47   m)
     48      mach=$OPTARG
     49      ;;
     50   p)
     51      prodver=$OPTARG
     52      ;;
     53   v)
     54      version=$OPTARG
     55      ;;
     56   \?)
     57      usage
     58      exit 1
     59      ;;
     60   esac
     61 done
     62 
     63 if [[ ( -z $prodver ) || ( -z $mach ) || ( -z $awk_script ) ]]
     64 then
     65   usage
     66   exit 1
     67 fi
     68 
     69 if [[ -f $awk_script ]]
     70 then
     71 rm -f $awk_script
     72 fi
     73 
     74 #
     75 # Build REV= field based on date
     76 #
     77 rev=$(date "+%Y.%m.%d.%H.%M")
     78 
     79 #
     80 # Build awk script which will process all the
     81 # pkginfo.tmpl files.
     82 #
     83 # the first VERSION pattern is replaced with a leading quotation mark
     84 #
     85 rm -f $awk_script
     86 cat << EOF > $awk_script
     87 /$VERSION1/ {
     88      sub(/\=[^=]*$/,"=\"$rev\"")
     89      print
     90      next
     91   }
     92 /$VERSION2/ {
     93      sub(/\=[^=]*$/,"=$rev\"")
     94      sub(/NSSVERS/,"$version")
     95      print
     96      next
     97   }
     98 /$PRODVERS/ { 
     99      printf "SUNW_PRODVERS=\"%s\"\n", "$prodver" 
    100      next
    101   }
    102 /$ARCH/ {
    103      printf "ARCH=\"%s\"\n", "$mach"
    104      next
    105   }
    106 { print }
    107 EOF