mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 07:59:43 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			89 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
set -x
 | 
						|
set -e
 | 
						|
 | 
						|
#------------------------------------------------------------------------------
 | 
						|
# parse parameters
 | 
						|
#------------------------------------------------------------------------------
 | 
						|
Usage="Usage: $0 <LazarusSrcDir>"
 | 
						|
 | 
						|
LazSrcDir=$1
 | 
						|
shift
 | 
						|
if [ "x$LazSrcDir" = "x" ]; then
 | 
						|
  echo $Usage
 | 
						|
  exit -1
 | 
						|
fi
 | 
						|
 | 
						|
if [ ! -d $LazSrcDir/lcl ]; then
 | 
						|
  echo "The directory $LazSrcDir does not look like a lazarus source directory"
 | 
						|
  exit -1
 | 
						|
fi
 | 
						|
 | 
						|
if [ ! -d $LazSrcDir/.svn ]; then
 | 
						|
  echo "The directory $LazSrcDir does not look like a svn working directory"
 | 
						|
  exit -1
 | 
						|
fi
 | 
						|
 | 
						|
Date=`date +%Y%m%d`
 | 
						|
# get fpc snapshot rpm
 | 
						|
FPCRPM=~/rpmbuild/RPMS/i586/fpc-2.1.1-$Date.i586.rpm
 | 
						|
if [ ! -f $FPCRPM ]; then
 | 
						|
  echo ERROR: fpc rpm $FPCRPM not available
 | 
						|
  exit
 | 
						|
fi
 | 
						|
 | 
						|
User=`whoami`
 | 
						|
TmpFPCDir=/tmp/$User/fpc
 | 
						|
if [ -e $TmpFPCDir ]; then
 | 
						|
  rm -rf $TmpFPCDir
 | 
						|
fi 
 | 
						|
mkdir -p $TmpFPCDir
 | 
						|
cd $TmpFPCDir
 | 
						|
rpm2cpio $FPCRPM | cpio -id 
 | 
						|
FPCVersion=`usr/bin/fpc -iV`
 | 
						|
usr/lib/fpc/$FPCVersion/samplecfg $TmpFPCDir/usr/lib/fpc/$FPCVersion .
 | 
						|
FPCCfg=$TmpFPCDir/fpc.cfg
 | 
						|
export FPCCfg
 | 
						|
FPC=$TmpFPCDir/usr/bin/fpc
 | 
						|
export FPC
 | 
						|
cd -
 | 
						|
 | 
						|
# create a temporary copy of the lazarus sources for packaging
 | 
						|
LazVersion=0.9.11
 | 
						|
LazRelease=`echo $FPCRPM | sed -e 's/-/_/g'`
 | 
						|
TmpDir=/tmp/`whoami`/lazarus
 | 
						|
 | 
						|
rm -rf $TmpDir
 | 
						|
echo "extracting Lazarus source from local svn ..."
 | 
						|
svn export $LazSrcDir $TmpDir
 | 
						|
if [ ! -e ../svn2revisioninc ]; then
 | 
						|
  make -C ../.. tools OPT="-n @$FPCCfg"
 | 
						|
fi
 | 
						|
../svn2revisioninc $LazSrcDir $TmpDir/ide/revision.inc
 | 
						|
 | 
						|
# create a source tar.gz
 | 
						|
cd $TmpDir/..
 | 
						|
tar -czf ~/rpmbuild/SOURCES/lazarus-$LazVersion-$Date.tar.gz lazarus
 | 
						|
 | 
						|
# remove the tempdir
 | 
						|
cd -
 | 
						|
rm -rf $TmpDir
 | 
						|
 | 
						|
# create spec file
 | 
						|
SpecFile=~/rpmbuild/SPECS/lazarus-$LazVersion-$Date.spec
 | 
						|
cat rpm/lazarus.spec.template | \
 | 
						|
  sed -e "s/LAZVERSION/$LazVersion/g" \
 | 
						|
      -e "s/LAZRELEASE/$Date/g" \
 | 
						|
      -e "s/FPCVERSION/$FPCVersion/g" \
 | 
						|
  > $SpecFile
 | 
						|
#      -e "s/FPCSRCVERSION/$FPCRPMVersion/" \
 | 
						|
 | 
						|
# build rpm
 | 
						|
rpmbuild -ba $SpecFile
 | 
						|
 | 
						|
rm -rf $TmpFpcDir
 | 
						|
 | 
						|
# end.
 | 
						|
 |