mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 04:27:37 +00:00
190 lines
5.6 KiB
Bash
Executable File
190 lines
5.6 KiB
Bash
Executable File
#!/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 svrcore library.
|
|
#
|
|
# The Initial Developer of the Original Code is
|
|
# Red Hat
|
|
# Portions created by the Initial Developer are Copyright (C) 2006
|
|
# the Initial Developer. All Rights Reserved.
|
|
#
|
|
# Contributor(s): Rich Megginson <richm@stanfordalumni.org>
|
|
#
|
|
# 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 *****
|
|
# This script can be used to build the mozldap rpms and srpm. It assumes
|
|
# you begin with nothing but this script. You must have nspr, nspr-devel,
|
|
# nss, and nss-devel, and svrcore-devel installed on your system in order to run this script. Not
|
|
# only will the script check, but the rpmbuild will also check and bomb out if
|
|
# those dependencies are not present. The script allows you to build the rpm
|
|
# as a non root user and puts the build files under the current directory. This
|
|
# script does not install the rpm.
|
|
#
|
|
# You may need to edit this script to change:
|
|
# the versions of nspr and nss and svrcore used
|
|
# the CVS tag for pulling mozldap
|
|
# the mozldap version and release - these should match the spec file
|
|
|
|
# Always switch into the base directory of this
|
|
# shell script prior to executing it so that all
|
|
# of its output is written to this directory
|
|
cd `dirname $0`
|
|
|
|
# This script may ONLY be run on Linux!
|
|
OS=`uname`
|
|
if [ ${OS} != "Linux" ]; then
|
|
echo "The '$0' script is ONLY executable on a 'Linux' machine!"
|
|
exit 255
|
|
fi
|
|
|
|
# This script may ONLY be executed on either
|
|
# an 'i386' platform or an 'x86_64' platform!
|
|
PLATFORM=`uname -i`
|
|
if [ ${PLATFORM} = "i386" ]; then
|
|
BITSIZE=32-bit
|
|
elif [ ${PLATFORM} = "x86_64" ]; then
|
|
BITSIZE=64-bit
|
|
else
|
|
echo "The '$0' script is ONLY executable on either"
|
|
echo "an 'i386' platform or an 'x86_64' platform!"
|
|
exit 255
|
|
fi
|
|
|
|
# initialize environment variables for this script
|
|
unset LD_LIBRARY_PATH
|
|
|
|
CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
|
|
export CVSROOT
|
|
|
|
# define the remaining variables
|
|
PACKAGE=mozldap
|
|
VERSION=5.17
|
|
RELEASE=3
|
|
MOZLDAP_TAG=HEAD
|
|
#MOZLDAP_TAG=LDAPCSDK_5_1_7_RTM
|
|
PRJ=${PACKAGE}-${VERSION}
|
|
RPM_HOME=`pwd`
|
|
SPEC_FILENAME=${PACKAGE}.spec
|
|
|
|
# define subroutines for this script
|
|
usage() {
|
|
echo
|
|
echo "Usage: $0"
|
|
echo
|
|
}
|
|
|
|
mkdirs() {
|
|
for d in "$@" ; do
|
|
if [ -d $d ]; then
|
|
mv $d $d.deleted
|
|
rm -rf $d.deleted &
|
|
fi
|
|
mkdir -p $d
|
|
done
|
|
}
|
|
|
|
# check the number of arguments supplied to this script
|
|
if [ $# -ne 0 ] ; then
|
|
usage
|
|
exit 255
|
|
fi
|
|
|
|
# remove any old RPM directories
|
|
echo "Removing any old RPM directories . . ."
|
|
if [ -d ${RPM_HOME}/BUILD ]; then
|
|
rm -rf ${RPM_HOME}/BUILD
|
|
fi
|
|
if [ -d ${RPM_HOME}/SOURCES ]; then
|
|
rm -rf ${RPM_HOME}/SOURCES
|
|
fi
|
|
if [ -d ${RPM_HOME}/SPECS ]; then
|
|
rm -rf ${RPM_HOME}/SPECS
|
|
fi
|
|
echo "Finished."
|
|
|
|
echo "Changing current working directory to ${RPM_HOME}."
|
|
cd ${RPM_HOME}
|
|
|
|
# create new RPM directories
|
|
echo "Creating new RPM directories . . ."
|
|
mkdirs BUILD
|
|
if [ ! -d ${RPM_HOME}/RPMS ]; then
|
|
mkdirs ${RPM_HOME}/RPMS
|
|
fi
|
|
if [ ! -d ${RPM_HOME}/SGTARS ]; then
|
|
mkdirs ${RPM_HOME}/SGTARS
|
|
fi
|
|
mkdirs SOURCES SPECS
|
|
if [ ! -d ${RPM_HOME}/SRPMS ]; then
|
|
mkdirs ${RPM_HOME}/SRPMS
|
|
fi
|
|
echo "Finished."
|
|
|
|
# check out MOZLDAP code
|
|
echo "Checking out MOZLDAP source code . . ."
|
|
cvs -z3 export -r ${MOZLDAP_TAG} -d ${PRJ} -N DirectorySDKSourceC
|
|
echo "Finished."
|
|
|
|
# create a tarball from the checked out code
|
|
echo "Creating tarball of MOZLDAP source code . . ."
|
|
tar cf - ${PRJ} | gzip > SOURCES/${PRJ}.tar.gz
|
|
echo "Finished."
|
|
|
|
# remove the checked out code
|
|
echo "Removing checked out MOZLDAP source code . . ."
|
|
rm -rf ${PRJ}
|
|
echo "Finished."
|
|
|
|
# create a spec file from the MOZLDAP template
|
|
cp ${SPEC_FILENAME} SPECS/${SPEC_FILENAME}
|
|
|
|
# build the ${BITSIZE} RPM and Source RPM
|
|
echo "Executing ${BITSIZE} rpmbuild of ${SPEC_FILENAME} file . . . "
|
|
if [ ! -f SRPMS/${PACKAGE}-${VERSION}-${RELEASE}.src.rpm ]; then
|
|
rpmbuild --define="_topdir ${RPM_HOME}" --target ${PLATFORM} -ba --clean --rmsource --rmspec SPECS/${SPEC_FILENAME}
|
|
else
|
|
rpmbuild --define="_topdir ${RPM_HOME}" --target ${PLATFORM} -bb --clean --rmsource --rmspec SPECS/${SPEC_FILENAME}
|
|
fi
|
|
echo "Finished doing ${BITSIZE} rpmbuild of ${SPEC_FILENAME} file."
|
|
|
|
echo "Removing BUILD directory . . ."
|
|
if [ -d ${RPM_HOME}/BUILD ]; then
|
|
rm -rf ${RPM_HOME}/BUILD
|
|
fi
|
|
echo "Finished."
|
|
|
|
echo "Removing SOURCES directory . . ."
|
|
if [ -d ${RPM_HOME}/SOURCES ]; then
|
|
rm -rf ${RPM_HOME}/SOURCES
|
|
fi
|
|
echo "Finished."
|
|
|
|
echo "Removing SPECS directory . . ."
|
|
if [ -d ${RPM_HOME}/SPECS ]; then
|
|
rm -rf ${RPM_HOME}/SPECS
|
|
fi
|
|
echo "Finished."
|
|
|