⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pkgbuild

📁 hsqldb是100%java实现的数据库,是一个开放源代码的JAVA数据库 l 具有标准的SQL语法和JAVA接口 l HSQLDB可以自由使用和分发 l 非常简洁和快速的
💻
字号:
#!/bin/sh# $Id: pkgbuild,v 1.9 2005/07/25 02:42:10 unsaved Exp $# TODO:  Perhaps use RCS keywords to generate versions and write them#        into the install scripts, the info file, and to use in the#        stream package file name.# Makes the very large assumption that files here are owned by# user $USER and group $USER, and therefore fixes ownerships from# "$USER $USER$" to "root bin".set +uPROGNAME=`basename "$0"`Failout() {    echo "Aborting $PROGNAME.  $@" 1>&2    exit 1}case "`uname`" in    SunOS)	echonoterm() {	# Echo without trailing newline	    echo "$@\c"	}    ;;    Linux)	echonoterm() {	# Echo without trailing newline	    echo -n "$@"	}    ;;    *)    	echo 'Aborting.  Your OS is not supported yet.  If you seriously' 1>&2	echo "want support for it, email ${AUTHOR_EMAILADDR}."	exit 10    ;;esac# Being VERY careful here, because we do a relative "rm -rf" below!![ "$0" = "./$PROGNAME" ] || Failout "You have to run this script like './$PROGNAME'"GENPROTO=while [ "$#" -gt 0 ]; do    case "$1" in -*n*)    	pkgmk() {	     echo "pkgmk $@" 1>&2    	}    	pkgtrans() {	     echo "pkgtransmk $@" 1>&2    	}    	compress() {	     echo "compress $@" 1>&2    	}    	rm() {	     echo "rm $@" 1>&2    	}	;;    esac    case "$1" in -*p*) GENPROTO=1;; esac    case "$1" in -*v*) set -x;; esac # Verbose    shiftdone[ -n "$GENPROTO" ] || echo "Warning:  Using existing .proto file.Quit and invoke with '-p' if any component file(s) have changed."getent passwd hsqldb > /dev/null || Failout "You need to have the user account 'hsqldb' on this sytem (dead shell ok)"getent group hsqldb > /dev/null || Failout "You need to have the group 'hsqldb' on this sytem"PKGNAME=`sed -n '/^PKG=/ {    s:^PKG=::    p}' cfg/HSQLhsqldb.info` || Failout 'Failed to package name version from info file'[ -n "$PKGNAME" ] || Failout 'Failed to retrieve package name from info file'VERINFO=`sed -n '/^VERDIR=/ {    s:^VERDIR=::    p}' cfg/HSQLhsqldb.info` || Failout 'Failed to retrieve version from info file'[ -n "$VERINFO" ] || Failout 'Failed to retrieve version from info file'VERPOST=`sed -n '/^BASE=/ {    s:^BASE=::    p}' cfg/HSQLhsqldb.postinstall` || Failout 'Failed to retrieve version from info postinstall script'[ -n "$VERPOST" ] || Failout 'Failed to retrieve version from info postinstall script'VERPRE=`sed -n '/^BASE=/ {    s:^BASE=::    p}' cfg/HSQLhsqldb.preremove ` || Failout 'Failed to retrieve version from info preremove script'[ -n "$VERPRE" ] || Failout 'Failed to retrieve version from info preremove script'[ "$VERPRE" = "$VERPOST" ] || Failout  \ "Version specs (BASE) don't agree in preremove script and postinstall script"[ "$VERPRE" = "$VERINFO" ] ||  Failout "Version specs (BASE and VERDIR) don't agree in preremove script and info script"case "$VERPRE" in hsqldb-*);; *)    Failout  \"Sorry, but this script requires BASE/VERDIR to be of the form 'hsqldb-VERSION'  (Yours is '$VERPRE')";;esacVER=`echo $VERPRE | sed s:hsqldb-::`PWD=`pwd`   # Bourne doesn't necessarily set $PWDSRCBASE=`dirname $PWD`SRCBASE=`dirname $SRCBASE`SRCBASE=`dirname $SRCBASE`[ -f "$SRCBASE/lib/hsqldb.jar" ] ||Failout "Looks like your hsqldb.jar file is not built"PROTOFILE="`echo cfg/H*.proto`"[ -f "$PROTOFILE" ] || Failout "You need to fix cfg/H*.proto, or fix the wildcard in this scriptEven if you're generating it, you have to start with an old version."[ -f cfg/HSQLhsqldb.copyright ] ||cp -p ../../../doc/hsqldb_lic.txt cfg/HSQLhsqldb.copyright[ -z "$USER" ] && USER=LOGNAMEexport USER[ -n "$GENPROTO" ] && {    perl -v > /dev/null 2>&1 ||     Failout 'You need perl in your search path to generate the proto file'    echo 'Generating prototype file...'    # Remove all lines after "# REGENERATE..."    perl -pi -we 'if (/^# REGENERATE AFTER HERE/i) {print; exit;}' $PROTOFILE    (cd $SRCBASE && pkgproto '.=$VERDIR') >> $PROTOFILE    perl -ni.safe -we '	next if m:^\s*\S\s+none\s+\$VERDIR/classes:;	#next if m:^\s*\S\s+none\s+\$VERDIR/src:; Keep SOURCE!	next if m:^[^#=]*build/packaging:;    next if m:^[^#]*[/ ]CVS:;	s/ $ENV{USER} $ENV{USER}$/ root bin/;	s/ 0644 root bin$// unless /^\!default\s/;	s/ 0664 root bin$// unless /^\!default\s/;	s/ 0775 root bin$/ 0755 root bin/;	print;    ' $PROTOFILE}# Be careful if you edit this[ -r "$PKGNAME" ] && {    echonoterm "Remove old dir package '$PKGNAME'?  "    read REPLY    case "$REPLY" in [Yy]*)    	echonoterm 'Removing old dir package...  '    	rm -rf "./$PKGNAME"    	echo Done;;    	[Qq]*) exit 0;;    esac}echo "Building version $VER with source base $SRCBASE"pkgmk -o -b $SRCBASE -d . -f $PROTOFILE || exit 1# Package file name format is the Solaris package standard:#   PKGNAME-ver_with_underscores-platform.pkg[.Z]# So, we need to convert dots to underscores in the version nameexport VERVER="`perl -we '$_ = $ENV{VER}; s:\.:_:g; print;'`"echonoterm  \ "ENTER to quit, Y to build stream package ${PKGNAME}-${VER}-solaris.pkg.Z:  "read REPLYcase "$REPLY" in [Yy]*)    rm -f "${PKGNAME}-${VER}-solaris.pkg" "${PKGNAME}-${VER}-solaris.pkg.Z"    pkgtrans -os . "$PWD/${PKGNAME}-${VER}-solaris.pkg" $PKGNAME &&    echonoterm 'Now compressing... '    compress "${PKGNAME}-${VER}-solaris.pkg"    echo 'Done(If there is a message above that the file is "unchanged", that just means thatthe file compression was skipped because compression resulted in no savings).'    ;;    [Qq]*) exit 0;;esac

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -