diff --git a/mozilla/nsprpub/admin/repackage.sh b/mozilla/nsprpub/admin/repackage.sh new file mode 100755 index 00000000000..918cc133b22 --- /dev/null +++ b/mozilla/nsprpub/admin/repackage.sh @@ -0,0 +1,197 @@ +#! /bin/sh +# 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 Netscape are +# Copyright (C) 1998-2000 Netscape Communications Corporation. All +# Rights Reserved. +# +# Contributor(s): +# +# Alternatively, the contents of this file may be used under the +# terms of the GNU General Public License Version 2 or later (the +# "GPL"), in which case the provisions of the GPL are applicable +# instead of those above. If you wish to allow use of your +# version of this file only under the terms of the GPL and not to +# allow others to use your version of this file under the MPL, +# indicate your decision by deleting the provisions above and +# replace them with the notice and other provisions required by +# the GPL. If you do not delete the provisions above, a recipient +# may use your version of this file under either the MPL or the +# GPL. +# ------------------------------------------------------------------ +# repackage.sh -- Repackage NSPR from /s/b/c to mozilla.org format +# +# syntax: repackage.sh +# +# +# repackage.sh creates NSPR binary distributions for mozilla.org from +# the internal binary distributions in /share/builds/components/nspr20. +# There are reasons why we can't just push the internal binary distributions +# to mozilla.org. External developers prefer to use the common archive +# file format for their platforms, rather than the jar files we use internally. +# +# On Unix, we create a tar.gz file. On Windows, we create a zip file. +# For example: NSPR 4.1.1, these would be nspr-4.1.1.tar.gz and nspr-4.1.1.zip. +# +# When unpacked, nspr-4.1.1.tar.gz or nspr-4.1.1.zip should expand to a +# nspr-4.1.1 directory that contains three subdirectories: include, lib, +# and bin. The header files, with the correct line endings for the +# platform, are in nspr-4.1.1/include. The libraries are in nspr-4.1.1/lib. +# The executable programs are in nspr-4.1.1/bin. +# +# ------------------------------------------------------------------ +# +# These variables should be modified for each NSPR release. +# +FROMTOP=/share/builds/components/nspr20/v4.1.1 +TOTOP=./v4.1.1 +NSPRDIR=nspr-4.1.1 +SOURCETAG=NSPRPUB_RELEASE_4_1_1 + +# +# enumerate Unix object directories on /s/b/c +UNIX_OBJDIRS=" +AIX4.3_64_DBG.OBJ +AIX4.3_64_OPT.OBJ +AIX4.3_DBG.OBJ +AIX4.3_OPT.OBJ +HP-UXB.11.00_64_DBG.OBJ +HP-UXB.11.00_64_OPT.OBJ +HP-UXB.11.00_DBG.OBJ +HP-UXB.11.00_OPT.OBJ +IRIX6.5_n32_PTH_DBG.OBJ +IRIX6.5_n32_PTH_OPT.OBJ +Linux2.2_x86_glibc_PTH_DBG.OBJ +Linux2.2_x86_glibc_PTH_OPT.OBJ +OSF1V4.0D_DBG.OBJ +OSF1V4.0D_OPT.OBJ +SunOS5.6_DBG.OBJ +SunOS5.6_OPT.OBJ +SunOS5.7_64_DBG.OBJ +SunOS5.7_64_OPT.OBJ +" +# +# enumerate Windows object directories on /s/b/c +WIN_OBJDIRS=" +WIN954.0_DBG.OBJ +WIN954.0_DBG.OBJD +WIN954.0_OPT.OBJ +WINNT4.0_DBG.OBJ +WINNT4.0_DBG.OBJD +WINNT4.0_OPT.OBJ +" + +# +# Create the destination directory. +# +echo "removing directory $TOTOP" +rm -rf $TOTOP +echo "creating directory $TOTOP" +mkdir -p $TOTOP + +# +# Generate the tar.gz files for Unix platforms. +# +for OBJDIR in $UNIX_OBJDIRS; do + echo "removing directory $NSPRDIR" + rm -rf $NSPRDIR + echo "creating directory $NSPRDIR" + mkdir $NSPRDIR + + echo "creating directory $NSPRDIR/include" + mkdir $NSPRDIR/include + echo "copying $FROMTOP/$OBJDIR/include" + cp -r $FROMTOP/$OBJDIR/include $NSPRDIR + + echo "copying $FROMTOP/$OBJDIR/lib" + cp -r $FROMTOP/$OBJDIR/lib $NSPRDIR + + echo "copying $FROMTOP/$OBJDIR/bin" + cp -r $FROMTOP/$OBJDIR/bin $NSPRDIR + + echo "creating directory $TOTOP/$OBJDIR" + mkdir $TOTOP/$OBJDIR + echo "creating $TOTOP/$OBJDIR/$NSPRDIR.tar" + tar cvf $TOTOP/$OBJDIR/$NSPRDIR.tar $NSPRDIR + echo "gzipping $TOTOP/$OBJDIR/$NSPRDIR.tar" + gzip $TOTOP/$OBJDIR/$NSPRDIR.tar +done + +# +# Generate the zip files for Windows platforms. +# +for OBJDIR in $WIN_OBJDIRS; do + echo "removing directory $NSPRDIR" + rm -rf $NSPRDIR + echo "creating directory $NSPRDIR" + mkdir $NSPRDIR + + echo "creating directory $NSPRDIR/include" + mkdir $NSPRDIR/include + echo "creating directory $NSPRDIR/include/private" + mkdir $NSPRDIR/include/private + echo "creating directory $NSPRDIR/include/obsolete" + mkdir $NSPRDIR/include/obsolete + + # copy headers and adjust unix line-end to Windows line-end + headers=`ls $FROMTOP/$OBJDIR/include/*.h` + for header in $headers; do + sed -e 's/$/^M/g' $header > $NSPRDIR/include/`basename $header` + done + headers=`ls $FROMTOP/$OBJDIR/include/obsolete/*.h` + for header in $headers; do + sed -e 's/$/^M/g' $header > $NSPRDIR/include/obsolete/`basename $header` + done + headers=`ls $FROMTOP/$OBJDIR/include/private/*.h` + for header in $headers; do + sed -e 's/$/^M/g' $header > $NSPRDIR/include/private/`basename $header` + done + + echo "copying $FROMTOP/$OBJDIR/lib" + cp -r $FROMTOP/$OBJDIR/lib $NSPRDIR + + echo "copying $FROMTOP/$OBJDIR/bin" + cp -r $FROMTOP/$OBJDIR/bin $NSPRDIR + + echo "creating directory $TOTOP/$OBJDIR" + mkdir $TOTOP/$OBJDIR + echo "creating $TOTOP/$OBJDIR/$NSPRDIR.zip" + zip -r $TOTOP/$OBJDIR/$NSPRDIR.zip $NSPRDIR +done + +# +# package the source from CVS +# +echo "Packaging source" +echo "removing directory $NSPRDIR" +rm -rf $NSPRDIR +echo "creating directory $NSPRDIR" +mkdir $NSPRDIR +myWD=`pwd` +cd $NSPRDIR +echo "Pulling source from CVS with tag $SOURCETAG" +cvs co -r $SOURCETAG mozilla/nsprpub +cd $myWD +mkdir $TOTOP/src +echo "Creating source tar file: $TOTOP/src/$NSPRDIR.tar" +tar cvf $TOTOP/src/$NSPRDIR.tar $NSPRDIR +echo "gzip $TOTOP/src/$NSPRDIR.tar" +gzip $TOTOP/src/$NSPRDIR.tar + +# +# Remove the working directory. +# +echo "removing directory $NSPRDIR" +rm -rf $NSPRDIR +# --- end repackage.sh ---------------------------------------------