mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-15 15:29:39 +02:00
|
||
---|---|---|
.. | ||
debian_fpcsrc | ||
debian_lazarus | ||
create_fpc_export_tgz.sh | ||
create_fpc_rpm.sh | ||
create_fpc_snapshot_tgz.sh | ||
create_fpc_tgz_from_local_dir.sh | ||
create_fpcsrc_deb.sh | ||
create_fpcsrc-1.1_rpm.sh | ||
create_lazarus_deb.sh | ||
create_lazarus_snapshot_tgz.sh | ||
create_lazarus_tgz_from_local_dir.sh | ||
fpcsrc-1.0.7-1.spec | ||
fpcsrc-patch | ||
fpcsrc.spec | ||
lazarus-0.8.5-1.spec | ||
lazarus.spec | ||
README |
Installation tools ================== This document describes how to create the various packages for lazarus including the required freepascal packages (fpc and fpcsrc). -------------------------------------------------------------------------------- TGZ Creating the fpcsrc tgz: There are two ways to do it and so there are two scripts. The first downloads the fpc cvs and packs it. The second uses an existing fpc cvs directory, copies it, remove unnecessary files and packs it. The second script is therefore much faster, but it may miss removing all old, unnecessary files. The download and pack script: The script create_fpc_snapshot_tgz.sh makes a cvs export of the fpc FIXES_1_0_0 branch and compress it to fpcsrc-1.0.7-1.tgz. The copy and pack script: The script create_fpc_tgz_from_local_dir.sh needs as parameter the fpc cvs directory and compress it to fpcsrc-1.0.7-1.tgz. Creating the lazarus tgz: There are two ways to do it and so there are two scripts. The first downloads the fpc cvs and packs it. The second uses an existing fpc cvs directory, copies it, remove unnecessary files and packs it. The second script is therefore much faster, but it may miss removing all old, unnecessary files. The download and pack script: The script create_lazarus_snapshot_tgz.sh makes a cvs export of lazarus and compress it to lazarus-0.8.5.tgz. The copy and pack script: The script create_lazarus_tgz_from_local_dir.sh needs as parameter the lazarus cvs directory and compress it to lazarus-0.8.5.tgz. -------------------------------------------------------------------------------- RPM: Creating the fpc rpm: As a user of your choice: Install the latest fpc package you can get. You will need it to compile the compiler itself. Then download the fpc cvs of the FIXES_1_0_0 branch and compile the RTL and the compiler with 'make rtl' and 'make compiler'. Before you create the rpm, you should define a release tag. Open <fpc>/install/fpc.spec and change the Release tag to laz.20030307. The number is simply the date, when this README was written. Use the current date. The default fpc.cfg is created with the samplecfg script. This is done with a fixed fpc version. To create a fpc.cfg, that can be used with the fpc 1.1 and with fpc 1.0.x you should change the samplecfg call in <fpc>/install/fpc.spec: Search for 'samplecfg' and change the line: %{fpcdir}/samplecfg %{_libdir}/fpc/\$version As root: The fpc and fpcdoc RPMs can be created with 'make rpm'. If you only want to create the fpc RPM, then use 'make rpm NODOCS=1'. The RPMs are normally created under /usr/src/redhat/RPMS/i386/ Creating the fpcsrc rpm: As a user of your choice: Create the fpcsrc-1.0.7-1.tgz of 'Creating the fpcsrc tgz'. As root: Put the fpcsrc-1.0.7-1.tgz into /usr/src/redhat/SOURCES/. Run 'rpm -ba fpcsrc-1.0.7-1.spec'. This will create the src rpm and the rpm for the current system (e.g. redhat 7.3). The src rpm can be used to create rpms for any system by building it on the destination system. The fpcsrc rpm will simply copy the files into /usr/share/fpcsrc. It does not contain any binaries, so the rpm is system independent. The lazarus IDE searches the fpc src automatically in /usr/share/fpcsrc and so the user does not need to setup this path. Creating the lazarus rpm: Important: If you have created a new fpc RPM, then you should install it before you build the lazarus RPM. Otherwise the compiled lazarus RPM is not compatible to the fpc RPM. As a user of your choice: Create the lazarus-0.8.5.tgz of 'Creating the lazarus tgz' and put it into /usr/src/redhat/SOURCES/. As root: Run 'rpm -ba lazarus-0.8.5-1.spec'. This will create the src rpm and the rpm for the current system (e.g. redhat 7.3). The src rpm can be used to create rpms for any system by building it on the destination system (see 5.). The package depends on 'fpc >= 1.0.7' and 'fpcsrc >= 1.0.7'. Creating other system specific rpms: rpm --rebuild lazarus-0.8.5-1.src.rpm -------------------------------------------------------------------------------- Debian: Creating the debian fpc packages: You need the debhelper, tetex-bin, tetex-extra, awk, dvipdfm, latex2html packages. See install/debian/README.debian for changing /etc/texmf/texmf.cnf. Install the latest fpc package you can get. You will need it to compile the compiler itself. Then download the fpc cvs of the FIXES_1_0_0 branch and compile the RTL and the compiler with 'make rtl' and 'make compiler'. The deb packages are created with 'make deb'. This will create a lot of debs in /usr/src. The lazarus debs are created by changing the version in Makefile.fpc, Makefile and prepending a message to install/debian/changelog. Creating the debian fpcsrc package: You need the fakeroot package. Create the fpcsrc-1.0.7.tgz of 'Creating the fpcsrc tgz' and put it into tools/install. If you have no permissions for that, just copy the directory somewhere (e.g. cp -R <lazarusdir>/tools/install /tmp/fpcsrc). Then cd into the tools/install directory and execute the script create_fpcsrc_deb.sh. It will create /tmp/fpcsrc_temp/ and will build the deb there. Creating the debian lazarus package: You need the X11 package: Create the lazarus-0.8.5.tgz of 'Creating the lazarus tgz' and put it into tools/install. If you have no permissions for that, just copy the directory somewhere (e.g. cp -R <lazarusdir>/tools/install /tmp/lazarus). Then cd into the tools/install directory and execute the script create_lazarus_deb.sh. It will create /tmp/lazarus_temp/ and will build the deb there.