| #!/usr/bin/ksh -p |
| # |
| # Copyright 2005 Sun Microsystems, Inc. All rights reserved. |
| # Use is subject to license terms. |
| # |
| # ***** BEGIN LICENSE BLOCK ***** |
| # Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| # |
| # The contents of this file are subject to the Mozilla Public License Version |
| # 1.1 (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # http://www.mozilla.org/MPL/ |
| # |
| # Software distributed under the License is distributed on an "AS IS" basis, |
| # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
| # for the specific language governing rights and limitations under the |
| # License. |
| # |
| # The Original Code is the Netscape Portable Runtime (NSPR). |
| # |
| # The Initial Developer of the Original Code is |
| # Netscape Communications Corporation. |
| # Portions created by the Initial Developer are Copyright (C) 1998-2000 |
| # the Initial Developer. All Rights Reserved. |
| # |
| # Contributor(s): |
| # |
| # Alternatively, the contents of this file may be used under the terms of |
| # either the GNU General Public License Version 2 or later (the "GPL"), or |
| # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
| # in which case the provisions of the GPL or the LGPL are applicable instead |
| # of those above. If you wish to allow use of your version of this file only |
| # under the terms of either the GPL or the LGPL, and not to allow others to |
| # use your version of this file under the terms of the MPL, indicate your |
| # decision by deleting the provisions above and replace them with the notice |
| # and other provisions required by the GPL or the LGPL. If you do not delete |
| # the provisions above, a recipient may use your version of this file under |
| # the terms of any one of the MPL, the GPL or the LGPL. |
| # |
| # ***** END LICENSE BLOCK ***** |
| # |
| #ident "$Id: bld_awk_pkginfo.ksh,v 1.3 2005/02/25 20:20:52 christophe.ravel.bugs%sun.com Exp $" |
| # |
| # 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="NSPRVERS" |
| |
| 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(/NSPRVERS/,"$version") |
| print |
| next |
| } |
| /$PRODVERS/ { |
| printf "SUNW_PRODVERS=\"%s\"\n", "$prodver" |
| next |
| } |
| /$ARCH/ { |
| printf "ARCH=\"%s\"\n", "$mach" |
| next |
| } |
| { print } |
| EOF |