diff options
Diffstat (limited to 'src/libs/xpcom18a4/nsprpub/admin/repackage.sh')
-rwxr-xr-x | src/libs/xpcom18a4/nsprpub/admin/repackage.sh | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/src/libs/xpcom18a4/nsprpub/admin/repackage.sh b/src/libs/xpcom18a4/nsprpub/admin/repackage.sh new file mode 100755 index 00000000..37ba0e16 --- /dev/null +++ b/src/libs/xpcom18a4/nsprpub/admin/repackage.sh @@ -0,0 +1,218 @@ +#! /bin/sh +# ***** 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-2001 +# 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 ***** + +# ------------------------------------------------------------------ +# repackage.sh -- Repackage NSPR from /s/b/c to mozilla.org format +# +# syntax: repackage.sh +# +# Description: +# 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. +# +# Note! Files written with Gnu tar are not readable by some non-Gnu +# versions. Sun, in particular. +# +# +# +# +# ------------------------------------------------------------------ + +FROMTOP=/share/builds/components/nspr20/v4.5 +TOTOP=./v4.5 +NSPRDIR=nspr-4.5 +SOURCETAG=NSPR_4_5_RTM + +# +# 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 +Linux2.4_x86_glibc_PTH_DBG.OBJ +Linux2.4_x86_glibc_PTH_OPT.OBJ +OSF1V5.0_DBG.OBJ +OSF1V5.0_OPT.OBJ +SunOS5.6_DBG.OBJ +SunOS5.6_OPT.OBJ +SunOS5.8_64_DBG.OBJ +SunOS5.8_64_OPT.OBJ +SunOS5.8_DBG.OBJ +SunOS5.8_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 + # Note: Watch out for the "sed" command line. + # when editing the command, take care to preserve the "^M" as the literal + # cntl-M character! in vi, use "cntl-v cntl-m" to enter it! + # + headers=`ls $FROMTOP/$OBJDIR/include/*.h` + for header in $headers; do + sed -e 's/$/ +/g' $header > $NSPRDIR/include/`basename $header` + done + headers=`ls $FROMTOP/$OBJDIR/include/obsolete/*.h` + for header in $headers; do + sed -e 's/$/ +/g' $header > $NSPRDIR/include/obsolete/`basename $header` + done + headers=`ls $FROMTOP/$OBJDIR/include/private/*.h` + for header in $headers; do + sed -e 's/$/ +/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 --------------------------------------------- |