lazarus/tools/install
mattias 8aeb8713d0 fixes for rpms for fpc 1.1
git-svn-id: trunk@3933 -
2003-03-15 14:13:18 +00:00
..
debian_fpcsrc added instructions for creating fpc and fpcsrc debian packages 2003-02-18 14:18:24 +00:00
debian_lazarus added instructions to create lazarus debian package 2003-02-18 18:42:45 +00:00
create_fpc_export_tgz.sh improved rpm building and added support for 1.0.7 2002-08-17 23:41:28 +00:00
create_fpc_rpm.sh fixed csDashDot 2002-08-18 04:57:01 +00:00
create_fpc_snapshot_tgz.sh fixes for fpc 1.1 2003-03-15 13:26:07 +00:00
create_fpc_tgz_from_local_dir.sh fixes for fpc 1.1 2003-03-15 13:26:07 +00:00
create_fpcsrc_deb.sh added instructions to create lazarus debian package 2003-02-18 18:42:45 +00:00
create_fpcsrc-1.1_rpm.sh fixes for fpc 1.1 2002-08-17 23:41:26 +00:00
create_lazarus_deb.sh added instructions to create lazarus debian package 2003-02-18 18:42:45 +00:00
create_lazarus_snapshot_tgz.sh fixes for fpc 1.1 2003-03-15 13:26:07 +00:00
create_lazarus_tgz_from_local_dir.sh fixed readonly check and added script to quick create lazarus snapshot 2002-08-18 08:55:30 +00:00
fpcsrc-patch fixed create fpc rpm 2002-08-18 04:56:58 +00:00
fpcsrc.spec fixes for fpc 1.1 2002-08-17 23:41:26 +00:00
lazarus.spec fixes for rpms for fpc 1.1 2003-03-15 14:13:18 +00:00
README fixes for rpms for fpc 1.1 2003-03-15 14:13:18 +00:00

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 every old, unnecessary files.
  
  The download and pack script:
  The script create_fpc_snapshot_tgz.sh makes a cvs export of the fpc.
  
  For the current 1.0.7 use
  ./create_fpc_snapshot_tgz.sh fpcsrc-1.0.7-20030315.tgz -r FIXES_1_0_0

  For the the 1.1 from december 25, 2002 use
  ./create_fpc_snapshot_tgz.sh fpcsrc-1.1-20021225.tgz -D 25/12/02
  

  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 a tgz. For example
  ./create_fpc_tgz_from_local_dir.sh ~/pascal/fpc fpc-1.0.7.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:

  fpc 1.0.7:
    ToDo: write a script for this
    
    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/

  fpc 1.1:
    Warning: the fpc 1.1 is unstable.
    Install the latest fpc package you can get. You will need it to compile the
    compiler itself.
    The create_fpc-1.1_rpm.sh works nearly automatically. Become root and
    execute it. First it checks if the fpc source tgz is already created and
    if not, it automatically downloads it. Due to the unstability of 1.1, the
    script does not use the current version, but the latest known to work with
    lazarus. Then it unpacks the source, compiles it and builds the rpm.
    Normally you can find the rpms under
    /usr/src/redhat/RPMS/i386/ and /usr/src/redhat/SRPMS/.


Creating the fpcsrc rpm:

  fpc 1.0.7:
    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).

  fpc 1.1:
    As root execute create_fpcsrc-1.1_rpm.sh

  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 root:
  Execute create_lazarus_rpm.sh.


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.