wxWidgets/distrib/msw/makerpm
Julian Smart 5863d5e6d0 Tweak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-20 14:12:57 +00:00

550 lines
11 KiB
Bash
Executable File

#!/bin/sh
# Makes the wxWidgets RPMs
RPMBUILDARGS=
PLATFORM=
NORPMS=
doupdatecvs()
{
cd $WXSRC
echo Updating from CVS...
cvswx update -d -P
}
dospinwxgtk()
{
echo Making wxGTK RPMs...
RPM_ROOT=$WXDEST/wxgtk/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxgtk
mkdir $WXDEST/wxgtk
mkdir $WXDEST/wxgtk/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxgtk/release
echo Configuring...
$WXSRC/configure --with-gtk --no-recursion
echo Making...
make -j1 dist bzip-dist-only
mkdir $WXDEST/$PLATFORM
if [ "$NORPMS" != "1" ]
then
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxGTK-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxGTK-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxGTK.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxGTK.spec $RPM_ROOT/SPECS
echo Starting wxGTK RPM build, rpmbuild args=$RPMBUILDARGS...
cd $RPM_ROOT
rpmbuild -ba $RPMBUILDARGS SPECS/wxGTK.spec 2>&1 | tee wxGTK.out
echo Finished wxGTK RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST/$PLATFORM
cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST/$PLATFORM
fi
cp $WXDEST/wxgtk/release/*.tar.gz $WXDEST/$PLATFORM
cp $WXDEST/wxgtk/release/*.tar.bz2 $WXDEST/$PLATFORM
# rm -f -r $WXDEST/wxgtk
echo Now try the RPMs with rpm -i.
}
dospinwxmgl()
{
echo Making wxMGL RPMs...
RPM_ROOT=$WXDEST/wxmgl/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxmgl
mkdir $WXDEST/wxmgl
mkdir $WXDEST/wxmgl/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxmgl/release
echo Configuring...
$WXSRC/configure --with-mgl --no-recursion
echo Making...
make -j1 dist bzip-dist-only
if [ "$NORPMS" != "1" ]
then
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxMGL-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxMGL-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxMGL.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxMGL.spec $RPM_ROOT/SPECS
echo Starting wxMGL RPM build...
cd $RPM_ROOT
rpmbuild -ba SPECS/wxMGL.spec 2>&1 | tee wxMGL.out
echo Finished wxMGL RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST
fi
cp $WXDEST/wxmgl/release/*.tar.gz $WXDEST
cp $WXDEST/wxmgl/release/*.tar.bz2 $WXDEST
# rm -f -r $WXDEST/wxmgl
echo Now try the RPMs with rpm -i.
}
dospinwxmotif()
{
echo Making wxMotif RPMs...
RPM_ROOT=$WXDEST/wxmotif/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxmotif
mkdir $WXDEST/wxmotif
mkdir $WXDEST/wxmotif/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxmotif/release
echo Configuring...
$WXSRC/configure --with-motif --no-recursion
echo Making...
make -j1 dist bzip-dist-only
if [ "$NORPMS" != "1" ]
then
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxMOTIF-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxMOTIF-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxMotif.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxMotif.spec $RPM_ROOT/SPECS
echo Starting wxMotif RPM build...
cd $RPM_ROOT
rpmbuild -ba SPECS/wxMotif.spec 2>&1 | tee wxGTK.out
echo Finished wxMotif RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST
fi
cp $WXDEST/wxmotif/release/*.tar.gz $WXDEST
cp $WXDEST/wxmotif/release/*.tar.bz2 $WXDEST
echo Rearchiving wxMotif tarballs to change wxMOTIF to wxMotif...
cd $WXDEST
mkdir wxMotif.tmp
cd wxMotif.tmp
rm -f -r *
tar xfz ../wxMOTIF-$WXVER.tar.gz
mv wxMOTIF-$WXVER wxMotif-$WXVER
rm -f ../wxMOTIF-$WXVER.tar.gz
rm -f ../wxMOTIF-$WXVER.tar.bz2
tar cf ../wxMotif-$WXVER.tar *
gzip -c ../wxMotif-$WXVER.tar > ../wxMotif-$WXVER.tar.gz
bzip2 -f9 ../wxMotif-$WXVER.tar
cd ..
rm -f -r wxMotif.tmp
# rm -f -r $WXDEST/wxmotif
echo Now try the RPMs with rpm -i.
}
dospinwxmac()
{
echo Making wxMac tarballs...
echo Note that this must be done on a Mac.
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxmac
mkdir $WXDEST/wxmac
mkdir $WXDEST/wxmac/release
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxmac/release
echo Configuring...
$WXSRC/configure --with-mac --no-recursion
echo Making...
make -j1 dist bzip-dist-only
cp $WXDEST/wxmac/release/*.tar.gz $WXDEST
cp $WXDEST/wxmac/release/*.tar.bz2 $WXDEST
echo Rearchiving wxMac tarballs to change wxMAC to wxMAC...
cd $WXDEST
mkdir wxMac.tmp
cd wxMac.tmp
rm -f -r *
tar xfz ../wxMac-$WXVER.tar.gz
mv wxMAC-$WXVER wxMac-$WXVER
rm -f ../wxMAC-$WXVER.tar.gz
rm -f ../wxMAC-$WXVER.tar.bz2
tar cf ../wxMac-$WXVER.tar *
gzip -c ../wxMac-$WXVER.tar > ../wxMac-$WXVER.tar.gz
bzip2 -f9 ../wxMac-$WXVER.tar
cd ..
rm -f -r wxMac.tmp
rm -f -r $WXDEST/wxmac
echo Now try the RPMs with rpm -i.
}
dospinwxbase()
{
echo Making wxBase RPMs...
RPM_ROOT=$WXDEST/wxbase/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxbase
mkdir $WXDEST/wxbase
mkdir $WXDEST/wxbase/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxbase/release
echo Configuring...
$WXSRC/configure --disable-gui --no-recursion
echo Making...
make -j1 dist bzip-dist-only
mkdir $WXDEST/$PLATFORM
if [ "$NORPMS" != "1" ]
then
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxBase-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxBase-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxBase.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxBase.spec $RPM_ROOT/SPECS
echo Starting wxBase RPM build, rpmbuild args=$RPMBUILDARGS...
cd $RPM_ROOT
rpmbuild -ba $RPMBUILDARGS SPECS/wxBase.spec 2>&1 | tee wxBase.out
echo Finished wxBase RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST/$PLATFORM
cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST/$PLATFORM
fi
cp $WXDEST/wxbase/release/*.tar.gz $WXDEST/$PLATFORM
cp $WXDEST/wxbase/release/*.tar.bz2 $WXDEST/$PLATFORM
# rm -f -r $WXDEST/wxbase
echo Now try the RPMs with rpm -i.
}
dospinwxx11()
{
echo Making wxX11 RPMs...
RPM_ROOT=$WXDEST/wxx11/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxx11
mkdir $WXDEST/wxx11
mkdir $WXDEST/wxx11/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxx11/release
echo Configuring...
$WXSRC/configure --with-x11 --no-recursion
echo Making...
make -j1 dist bzip-dist-only
if [ "$NORPMS" != "1" ]
then
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxX11-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxX11-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxX11.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxX11.spec $RPM_ROOT/SPECS
echo Starting wxX11 RPM build...
cd $RPM_ROOT
rpmbuild -ba SPECS/wxX11.spec 2>&1 | tee wxX11.out
echo Finished wxX11 RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST
fi
cp $WXDEST/wxx11/release/*.tar.gz $WXDEST
cp $WXDEST/wxx11/release/*.tar.bz2 $WXDEST
# rm -f -r $WXDEST/wxx11
echo Now try the RPMs with rpm -i.
}
PROGNAME=$0
WXSRC=$1
WXDEST=$2
WXVER=$3
SPINWXX11=0
SPINWXGTK1=0
SPINWXGTK2=0
SPINWXGTK2UNICODE=0
SPINWXMAC=0
SPINWXMOTIF=0
SPINWXBASE=0
SPINWXBASEUNICODE=0
SPINWXMGL=0
SPINEVERYTHING=0
UPDATECVS=0
usage()
{
echo Usage: $PROGNAME "src-dir dest-dir version-number [ options ]"
echo Options:
echo " --help Display this help message"
echo " --wxgtk1 Spin wxGTK1 RPMs"
echo " --wxgtk2 Spin wxGTK2 RPMs"
echo " --wxgtk2unicode Spin wxGTK2 Unicode RPMs"
echo " --wxbase Spin wxBase RPMs"
echo " --wxbaseunicode Spin wxBase Unicode RPMs"
echo " --wxx11 Spin wxX11 RPMs"
echo " --wxmotif Spin wxMotif RPMs"
echo " --wxmgl Spin wxMGL RPMs"
echo " --wxmac Make wxMac tarball"
echo " --all Spin EVERYTHING"
echo " --updatecvs Update from CVS"
echo " --norpms No RPMS, just tarballs"
exit 1
}
init=""
if [ "$1" = "" ]
then
usage
exit
fi
if [ "$2" = "" ]
then
usage
exit
fi
if [ "$3" = "" ]
then
usage
exit
fi
# Process command line options.
shift 3
for i in "$@"; do
case "$i" in
--wxx11) SPINWXX11=1 ;;
--wxgtk1) SPINWXGTK1=1 ;;
--wxgtk2) SPINWXGTK2=1 ;;
--wxgtk2unicode) SPINWXGTK2UNICODE=1 ;;
--wxmotif) SPINWXMOTIF=1 ;;
--wxmgl) SPINWXMGL=1 ;;
--wxmac) SPINWXMAC=1 ;;
--wxbase) SPINWXBASE=1 ;;
--wxbaseunicode) SPINWXBASEUNICODE=1 ;;
--all) SPINEVERYTHING=1 ;;
--updatecvs) UPDATECVS=1 ;;
--norpms) NORPMS=1 ;;
*)
usage
exit
;;
esac
done
echo About to make wxWidgets RPMs:
echo From $WXSRC
echo To $WXDEST
echo Version $WXVER
echo CTRL-C if this is not correct.
read dummy
if [ "$UPDATECVS" = "1" ]; then
doupdatecvs
fi
if [ "$SPINWXX11" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
dospinwxx11
fi
if [ "$SPINWXGTK1" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
RPMBUILDARGS="--without gtk2"
PLATFORM=gtk1
dospinwxgtk
fi
if [ "$SPINWXGTK2" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
RPMBUILDARGS="--with gtk2"
PLATFORM=gtk2
dospinwxgtk
fi
if [ "$SPINWXGTK2UNICODE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
RPMBUILDARGS="--with gtk2 --with unicode"
PLATFORM=gtk2unicode
dospinwxgtk
fi
if [ "$SPINWXBASE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
PLATFORM=base
dospinwxbase
fi
if [ "$SPINWXBASEUNICODE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
RPMBUILDARGS="--with unicode"
PLATFORM=baseunicode
dospinwxbase
fi
if [ "$SPINWXMOTIF" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
dospinwxmotif
fi
if [ "$SPINWXMGL" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
dospinwxmgl
fi
if [ "$SPINWXMAC" = "1" ]; then
dospinwxmac
fi