Difference between revisions of "Release engineering"

From Lazarus wiki
Jump to navigationJump to search
(Prevent malfunctioning IDE)
(Building an rpm)
Line 19: Line 19:
  
 
   install/makepack
 
   install/makepack
 +
 +
=== Building an rpm ===
 +
 +
To build an RPM, change into <tt>fpcbuild</tt> and execute
 +
 +
  make rpm
 +
 +
the documentation will be built as well and that requires a working Tex installation. To prevent the documentation from being built, execute
 +
 +
  make rpm NODOCS=1
  
 
== Source zip generation ==
 
== Source zip generation ==

Revision as of 23:49, 4 December 2005

Create libgdb.a and or binutils

  • - If you have problems building recent binutils or libgdb's on any *nix, and the error is related to intl.h or libintl.a, reconfigure using ../<srcdir>/configure --disable-nls (assuming you use a separate builddir)

OS/CPU specific release engineering

FreeBSD specific Release Engineering

Linux

Get sources, usually done with a command like:

 svn export http://svn.freepascal.org/svn/fpcbuild/tags/release_2_0_2 fpcbuild

Get libgdb for your CPU from ftp://ftp.freepascal.org/pub/fpc/contrib/libgdb/, extract it into fpcbuild/fpcsrc/ preserving pathes. Before building please check for files libiberty.a, libopcode.a and libbfd.a. These files are often installed in directories like /usr/lib. The compiler must not be able to find them! The reason is that otherwise the compiler might use the preinstalled ones instead of the ones you put in the libgdb directory, and the preinstalled ones are not compatible with libgdb.a. If the compiler finds and uses these libraries in /usr/lib, the IDE will crash on any debugging attempt.

Get the most recent docs package from the ftp site, it's called docs-pdf.tar.gz and copy it into the fpcbuild/ directory.

Change into fpcbuild/ and execute

 install/makepack

Building an rpm

To build an RPM, change into fpcbuild and execute

 make rpm

the documentation will be built as well and that requires a working Tex installation. To prevent the documentation from being built, execute

 make rpm NODOCS=1

Source zip generation

Change to a temporary directory and execute

 fpcbuild/install/makesource <release version>

e.g.

 fpcbuild/install/makesource 2.0.2

Documentation building and LaTeX limits

A lot of TeTeX distributions are configured to never use more than a very small amount of memory. The values chosen are more of the 486 era (several MBs, while now 256MB is considered "entry level").

The Free Pascal documentation is fairly large, and uses a lot of labels for convenient hyperlinked PDS and thus hits this limit.

This can be remedied by modiying the save_size line in texmf.conf to

 save_size=10000

Usually, you can also do this by environment variable.

export save_size=10000
pdflatex rtl.tex