1 #!/usr/bin/ksh -p 2 # 3 # CDDL HEADER START 4 # 5 # The contents of this file are subject to the terms of the 6 # Common Development and Distribution License (the "License"). 7 # You may not use this file except in compliance with the License. 8 # 9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 # or http://www.opensolaris.org/os/licensing. 11 # See the License for the specific language governing permissions 12 # and limitations under the License. 13 # 14 # When distributing Covered Code, include this CDDL HEADER in each 15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 # If applicable, add the following below this CDDL HEADER, with the 17 # fields enclosed by brackets "[]" replaced with your own identifying 18 # information: Portions Copyright [yyyy] [name of copyright owner] 19 # 20 # CDDL HEADER END 21 # 22 # 23 #pragma ident "%Z%%M% %I% %E% SMI" 24 # 25 # Copyright 2008 Sun Microsystems, Inc. All rights reserved. 26 # Use is subject to license terms. 27 # 28 # Simple script which builds the awk_pkginfo awk script. This awk script 29 # is used to convert the pkginfo.tmpl files into pkginfo files 30 # for the build. 31 # 32 33 34 usage() 35 { 36 echo "usage: bld_awk_pkginfo -R <revision> -r <release> -m <mach> -o <awk_script>" 37 } 38 # 39 # Awk strings 40 # 41 VERSION="VERSION\=" 42 PRODVERS="^PRODVERS\=" 43 ARCH='ARCH=\"ISA\"' 44 45 46 # 47 # parse command line 48 # 49 mach="" 50 release="" 51 awk_script="" 52 revision="" 53 54 while getopts DR:o:r:m: c 55 do 56 case $c in 57 o) 58 awk_script=$OPTARG 59 ;; 60 m) 61 mach=$OPTARG 62 ;; 63 r) 64 release=$OPTARG 65 ;; 66 R) 67 revision=$OPTARG 68 ;; 69 \?) 70 usage 71 exit 1 72 ;; 73 esac 74 done 75 76 if [[ ( -z $release ) || ( -z $mach ) || ( -z $awk_script ) \ 77 || ( -z $revision) ]] 78 then 79 usage 80 exit 1 81 fi 82 83 if [[ -f $awk_script ]] 84 then 85 rm -f $awk_script 86 fi 87 88 # 89 # Build REV= field based on date 90 # 91 rev=$(date "+%y.%m.%d.%H.%M") 92 93 # 94 # Build PRODVERS string - same as in libconv/common/bld_vernote.ksh 95 # 96 prodver="${release}-${revision}" 97 98 # 99 # Build awk script which will process all the 100 # pkginfo.tmpl files. 101 # 102 rm -f $awk_script 103 cat << EOF > $awk_script 104 /$VERSION/ { 105 sub(/\=[^=]*$/,"=$rev\"") 106 print 107 next 108 } 109 /$PRODVERS/ { 110 printf "PRODVERS=\"%s\"\n", "$prodver" 111 next 112 } 113 /$ARCH/ { 114 printf "ARCH=\"%s\"\n", "$mach" 115 next 116 } 117 { print } 118 EOF 119