You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2032 8e941d3f-bd1b-0410-a28a-d453659cc2b4
265 lines
4.8 KiB
Bash
Executable File
265 lines
4.8 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This script generates packages for the Lazarus Image Editor
|
|
#
|
|
|
|
##################################
|
|
# Constants
|
|
##################################
|
|
|
|
PRODUCT="TappyTux"
|
|
VERSION="0.9"
|
|
OS="linux"
|
|
EXENAME="tappytux"
|
|
|
|
TARGET_DIR="./$EXENAME-$OS-$VERSION"
|
|
TARGET_TAR="$EXENAME-$OS-$VERSION.tar"
|
|
TARGET_ZIP="$EXENAME-$VERSION.zip"
|
|
|
|
# DEBIAN_USR_DIR=/home/felipe/Programas/magnifier/build/usr
|
|
|
|
##################################
|
|
# Builds a binary tar package
|
|
##################################
|
|
BuildBinary ()
|
|
{
|
|
# Goes to the root directory
|
|
|
|
cd ..
|
|
|
|
# Builds the software
|
|
|
|
# ~/Programas/lazarus/lazbuild $EXENAME.lpi
|
|
|
|
strip --strip-all $EXENAME
|
|
|
|
# Creates main directory
|
|
|
|
mkdir $TARGET_DIR/
|
|
mkdir $TARGET_DIR/Images
|
|
|
|
# Copies files to the directory
|
|
|
|
cp ./$EXENAME $TARGET_DIR/
|
|
cp ./install.sh $TARGET_DIR/
|
|
cp ./Images/*.png $TARGET_DIR/Images/
|
|
|
|
# Creates the archive
|
|
|
|
tar -cvf $TARGET_TAR $TARGET_DIR/
|
|
|
|
bzip2 $TARGET_TAR
|
|
|
|
# Clean up
|
|
|
|
rm -rf $TARGET_DIR/
|
|
|
|
cd build
|
|
|
|
return
|
|
}
|
|
|
|
|
|
##################################
|
|
# Creates a source zip package
|
|
##################################
|
|
SourcePackage ()
|
|
{
|
|
# Goes to the root directory of the magnifier
|
|
|
|
cd ..
|
|
|
|
# Clean up
|
|
|
|
echo "Clean up"
|
|
./clean.sh
|
|
rm -rf ../magnifier-$VERSION/
|
|
|
|
# We use SVN export to get rid of the heavy svn files
|
|
# copies all files to a new temporary directory
|
|
|
|
echo "svn export ./ ../magnifier-$VERSION/"
|
|
svn export ./ ../magnifier-$VERSION/
|
|
|
|
# Creates the package
|
|
|
|
echo "zip -r ../$TARGET_ZIP ../magnifier-$VERSION/"
|
|
zip -rv ../$TARGET_ZIP ../magnifier-$VERSION/
|
|
|
|
# Clean up
|
|
|
|
echo "Clean up"
|
|
rm -rf ../magnifier-$VERSION/
|
|
cd build
|
|
|
|
return
|
|
}
|
|
|
|
##################################
|
|
# Set up the RPM build environment
|
|
##################################
|
|
CreateRPMEnvironment ()
|
|
{
|
|
# Creates the directory structure
|
|
|
|
mkdir $HOME/RPM
|
|
mkdir $HOME/RPM/BUILD # This directory is utilized by RPM to build the package.
|
|
mkdir $HOME/RPM/RPMS # Here you can find binary RPMs after you build them.
|
|
mkdir $HOME/RPM/SOURCES # Place your compressed tar files and patches here.
|
|
mkdir $HOME/RPM/SPECS # Place all your spec files here.
|
|
mkdir $HOME/RPM/SRPMS # Here you can find source RPMs after you build them.
|
|
|
|
# rpmbuild environment file
|
|
|
|
touch $HOME/.rpmmacros
|
|
|
|
echo "%_topdir /home/felipe/RPM/" >> $HOME/.rpmmacros
|
|
echo "%_tmppath /home/felipe/tmp" >> $HOME/.rpmmacros
|
|
echo "" >> $HOME/.rpmmacros
|
|
echo "%_signature gpg" >> $HOME/.rpmmacros
|
|
echo "%_gpg_name Mandrakelinux" >> $HOME/.rpmmacros
|
|
echo "%_gpg_path ~/.gnupg" >> $HOME/.rpmmacros
|
|
|
|
# Spec file
|
|
|
|
cp magnifier.spec $HOME/RPM/SPECS/
|
|
|
|
# Zip file
|
|
|
|
cp ../../$TARGET_ZIP $HOME/RPM/SOURCES/
|
|
|
|
return
|
|
}
|
|
|
|
##################################
|
|
# Builds a binary and source RPM package
|
|
##################################
|
|
RPMPackage ()
|
|
{
|
|
# Set up the RPM build environment
|
|
CreateRPMEnvironment
|
|
|
|
# now build it
|
|
echo "rpmbuild -ba --clean $HOME/RPM/SPECS/magnifier.spec"
|
|
rpmbuild -ba --clean $HOME/RPM/SPECS/magnifier.spec
|
|
|
|
return
|
|
}
|
|
|
|
##################################
|
|
# Creates a Debian package
|
|
##################################
|
|
DebianPackage ()
|
|
{
|
|
# Goes to the root directory of the magnifier
|
|
|
|
cd ..
|
|
|
|
# Builds the software
|
|
|
|
# ./make.sh
|
|
|
|
strip --strip-all magnifier
|
|
|
|
# Returns to build dir
|
|
|
|
cd build
|
|
|
|
# Creates the control.tar.gz file
|
|
|
|
tar -cvf control.tar control
|
|
|
|
gzip control.tar
|
|
|
|
# Creates the data.tar.gz file
|
|
|
|
mkdir $DEBIAN_USR_DIR
|
|
mkdir $DEBIAN_USR_DIR/bin
|
|
mkdir $DEBIAN_USR_DIR/share
|
|
mkdir $DEBIAN_USR_DIR/share/magnifier
|
|
|
|
cd ..
|
|
|
|
cp ./magnifier $DEBIAN_USR_DIR/bin/vmg
|
|
|
|
cp $RESOURCES $DEBIAN_USR_DIR/share/magnifier
|
|
|
|
cd $MANUALS_DIR
|
|
|
|
cp $MANUALS $DEBIAN_USR_DIR/share/magnifier
|
|
|
|
cd ..
|
|
|
|
cd build
|
|
|
|
tar -cvf data.tar $DEBIAN_USR_DIR
|
|
|
|
gzip data.tar
|
|
|
|
# Creates the package
|
|
|
|
mkdir DEBIAN
|
|
|
|
cp control DEBIAN/
|
|
cp data.tar.gz DEBIAN/
|
|
cp debian-binary DEBIAN/
|
|
|
|
dpkg -b ./ magnifier_3.4-0_i386.deb
|
|
|
|
# Clean up
|
|
|
|
echo "Clean up"
|
|
|
|
rm -rf $DEBIAN_USR_DIR
|
|
|
|
rm -rf ./DEBIAN
|
|
|
|
rm -rf data.tar.gz
|
|
|
|
rm -rf control.tar.gz
|
|
|
|
cd ..
|
|
|
|
./clean.sh
|
|
|
|
cd build
|
|
|
|
return
|
|
}
|
|
|
|
|
|
##################################
|
|
# Main section
|
|
##################################
|
|
|
|
echo "========================================================"
|
|
echo " Lazarus Image Editor build script"
|
|
echo "========================================================"
|
|
echo ""
|
|
echo " Please select which package you would like to build:"
|
|
echo ""
|
|
echo " 1 > Linux Gtk2 binary tar.bz2 package"
|
|
echo " 3 > Source .zip package"
|
|
echo " 4 > RPM package (source and binary)"
|
|
echo " 5 > Debian package"
|
|
echo " 0 > Exit"
|
|
|
|
read command
|
|
|
|
case $command in
|
|
|
|
1) BuildBinary;;
|
|
|
|
3) SourcePackage;;
|
|
|
|
4) RPMPackage;;
|
|
|
|
5) DebianPackage;;
|
|
|
|
0) exit 0;;
|
|
|
|
*) echo "Invalid command"
|
|
exit 0;;
|
|
|
|
esac
|