Building or installing new set of executables for FullPiant
In FullPliant, the executables and libraries are mainly providing two things:
They are contained in file:/bin/ file:/lib/ and file:/share/ directories.
Building the new set of executables relies on the 'debootstrap' standard linux distributions features that enables to download and install a release of Linux in a subdirectory, so without disturbing the running one.
Select 'Install' 'Compile fullpliant executables tarball' from FullPliant main menu.
See /pliant/fullpliant/build/executable.ui for extra details.
In facts, relying on 'debootstrap' is probably not mandatory. In such a case, the existing Ubuntu distribution will be upgraded, extended with the extra required packages, and used to provide FullPliant executables.
More details on the building script
The building script in /pliant/fullpliant/build/executable.ui calls two functions in /pliant/fullpliant/install.pli that perform most of the work.
'fullpliant_debootstrap' is calling Linux 'debootstrap' command to install a minimal Linux distribution, then calling 'dpkg' to install extra packages. Also, there is no simple automated way to discover what the required packages are to provide various executables and libraries required by FullPliant, so it's hardcoded in the 'fullpliant_debootstrap' function source code, and might need to be upgraded from time to fime.
Then 'fullpliant_select' is responsible for copying from source path to the target path the various executables and libraries required for FullPliant, and to add extra libraries required by each executable. This last stage is performed by the 'resolve' method that calls 'file_libraries'.
Select 'Install' 'Upgrade FullPliant executables' from FullPliant main menu.
When installing a new set of executable, the old file:/bin/ directory is renamed as file:/bin.old/
When the new version as been fully tested, use the 'Remove old executables' button to remove the file:/bin.old/, file:/lib.old/ and file:/share.old/ directories. Until you do that, no new release can be installed.
See the /pliant/fullpliant/install/executable.ui script for extra details.