diff options
Diffstat (limited to 'www/firefox/files/mkdistfile')
-rwxr-xr-x | www/firefox/files/mkdistfile | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/www/firefox/files/mkdistfile b/www/firefox/files/mkdistfile new file mode 100755 index 000000000..50a2fee40 --- /dev/null +++ b/www/firefox/files/mkdistfile @@ -0,0 +1,171 @@ +#!/bin/sh +# -*-shell-script-*- +# +# mkdistfile -- maintainer's utility to make a firefox 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: ports/www/firefox/files/mkdistfile,v 1.6 2004/02/11 07:16:17 marcus Exp $ +# +# 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: 1.1 $' +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 + +status "pruning tree..." +exfile=$(tmpfile) +cat >>$exfile <<'EOF' +^.*/CVS($|/) +^.*/macbuild($|/) +^.*/package($|/) +^.*/.cvsignore($|/) +^.*/windows($|/) +^.*/activex($|/) +^.*/os2($|/) +^.*/solaris($|/) +^.*/gc($|/) +^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 +test -d mozilla || die "No mozilla dir here." +find mozilla 2>/dev/null | egrep -f $exfile | xargs rm -fr +rm -f $exfile +status "making firefox-$REV.tar.bz2 ..." +tar -cjpf firefox-$REV.tar.bz2 mozilla +status "done." +#EOF |