freebsd-ports/www/firefox35/files/mkdistfile
Alan Eldridge d45771a7a6 First working version of port. Needs testing and cleanup, probably move
over to /usr/X11R6 (or not), but it's a start. And it's *fast*.
2002-10-21 18:37:12 +00:00

164 lines
5.2 KiB
Bash

#!/bin/sh
# -*-shell-script-*-
#
# mkdistfile -- maintainer's utility to make a phoenix distfile
#
# Copyright (c) 2002, Alan Eldridge
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of the copyright owner nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# $FreeBSD$
#
# 2002/10/21 alane@geeksrus.net
#
ORIGDIR=$(/bin/pwd); export ORIGDIR
APPNAME=${0##*/};APPNAME=${APPNAME#-}; export APPNAME
test -z "$TMPDIR" && TMPDIR=/tmp; export TMPDIR
test -z "$HOSTNAME" && HOSTNAME=$(hostname); export HOSTNAME
warn() { echo "[$APPNAME:$$]" "****" "$@";}
status() { echo "[$APPNAME:$$]" "===>" "$@";}
error() { echo "[$APPNAME:$$]" "ERROR:" "$@";}
die() { echo "[$APPNAME:$$]" "FATAL:" "$@"; exit 1;}
unset echo_n; test "X`echo -n`" = "X-n" \
&& echo_n() { echo "$@\c"; } || echo_n() { echo -n "$@"; }
status_n() { echo_n "[$APPNAME:$$]" "===>" "$@";}
log() { local cmd=$1;shift;echo_n $(date "+%Y%m%d.%T") "";$cmd "$@";}
qexpr() { expr "$@" >/dev/null 2>&1;}
qw() { echo \""$@"\"; }
listfiles() { ls -1 ${1:+"$@"} 2>/dev/null; }
whichre() { local n=$#; local s="$1"; shift; while test $# -ge 1; do
qexpr "$s" : "$1"&& echo $(($n - $#)) && return 0; shift; done;
echo 0; return 1;}
matchre() { test $(whichre "$@") -gt 0; }
streq() { local s="$1"; shift; while test $# -ge 1; do
test "X$s" = "X$1" && return 0; shift; done; return 1;}
strupper() {
echo "$@"|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
}
strlower() {
echo "$@"|tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
}
chdir() { cd "$1" || die cd $(qw $1) failed; }
absdir() { chdir "$1" && pwd; }
abspath() { local p=''; case "$1" in /*);; *)p="$(pwd)/";; esac; echo "$p$1"; }
tmpfile() { mktemp -t .$APPNAME ${1:+"$@"}; }
############################################################
# show usage and exit
############################################################
usage() {
cat <<EOF
Usage: $APPNAME [options] [--] rev[.yyyymmdd]
Options:
-h,--help Show this help.
-V,--version Show version number.
-v,--verbose Produce more verbose output.
-x,--debug Turn on shell command tracing.
-- Stop option processing.
EOF
exit $1
}
############################################################
# show version and exit
############################################################
VERSION='$Revision$'
VERSION=${VERSION#* }; VERSION=${VERSION% *}
version() { echo "$APPNAME $VERSION" \
"Copyright (c) 2002 Alan Eldridge"; exit $1;}
############################################################
# set default vars here
############################################################
DEBUG=0
VERBOSE=0; VFLG=''
DATETIME=$(date +%Y%m%d.%H%M)
DATE=${DATETIME%.*}
TIME=${DATETIME#*.}
############################################################
# do command line options
############################################################
while test $# -gt 0; do
n=1; case "$1" in
-h|--help) usage 0;;
-V|--version) version 0;;
-v|--verbose) VERBOSE=1;VFLG='-v';;
-x|--debug) set -x;DEBUG=1;;
--) shift; break;; -*) usage 1;; *) break;;
esac; shift $n
done
############################################################
# main(): script execution begins here
############################################################
test $# -eq 1 || usage 1
REV=$1
test ${REV#*.} = today && REV=${REV%.*}.$DATE
exfile=$(tmpfile)
cat >>$exfile <<'EOF'
*/CVS
*/CVS/*
*/macbuild
*/macbuild/*
*/package
*/package/*
*/.cvsignore
mozilla/apache
mozilla/calendar
mozilla/cck
mozilla/chimera
mozilla/ef
mozilla/embed.mak
mozilla/embed.mk
mozilla/gconfig
mozilla/gfx2
mozilla/grendel
mozilla/java
mozilla/js2
mozilla/mail
mozilla/mailnews
mozilla/mozilla
mozilla/mozilla.kdevprj
mozilla/mozilla.lsm
mozilla/msgsdk
mozilla/mstone
mozilla/nglayout.mac
mozilla/nunet
mozilla/other-licenses
mozilla/privacy
mozilla/silentdl
mozilla/timer
mozilla/trex.mak
mozilla/trex.mk
mozilla/webtools
EOF
tar -cjp -X $exfile -f phoenix-$REV.tar.bz2 mozilla
rm -f $exfile
#EOF