12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- This is the FPC packager.
- The architecture is as follows:
- A mirror list is maintained with FPC repositories.
- The packager will download the mirror list and store
- it somewhere locally
- From a mirror, a repository is chosen (using it's name)
- From the repository the repository file is downloaded.
- It contains all known packages. The fprepos.pp unit contains the
- functionality to read and maintain the package file.
- The packager maintains a local repository file. when needed
- it will download a package and install it. It does so recursively.
- Each package contains a fpmake.pp driver. It contains all that
- is needed to compile, install and zip a package. It can also
- create a manifest file (in XML) to import in a repository.
- All packager functionality will be implemented in units so
- these units can be used in command-line and GUI package managers.
- All packager command handling is implemented in descendents fom
- TPackageHandler (pkghandler.pp). All messages emitted by these
- handlers are in pkgmessages.
- Units:
- -----
- fprepos:
- A unit that describes a repository.
- It is mainly a collection of packages.
- fpxmlrep
- A unit to read/write a repository to XML. It can be used to read a
- manifest file as produced by the fpmake driver.
- pkgropts
- A unit to maintain settings for the packager it reads/writes
- options from/to an ini file.
- fpmkunit
- this is the unit that implements all the functionality a fpmake driver
- needs.
- fpmktype
- types and constants shared by fpmkunit and fprepos
- rep2xml
- test program for the fprepos unit.
- reptest
- creates some test packages for use in the rep2xml test program.
- fppkg
- the package manager application
- fpmkconv
- Makefile.fpc to fpmake converter.
- pkgmessages
- the messages used in pkghandler and below.
- pkghandler
- the base for all fppkg command handlers
- pkgdownload
- a base implementation for download functionality in fppkg
- pkgwget
- a downloader based on spawning wget.
- pkgsynapse
- a downloader based on Synapse. Do not put in makefile, as Synapse is
- not distributed by default with FPC.
- pkglibcurl
- a downloader based on LibCurl (plain C library).
- pkgocurl
- a downloader based on CurlPas (object version). Do not put in makefile,
- as CurlPas is not distributed with FPC.
- pkglnet
- a downloader based on lNet. The library is distributed in "lnet" subdir
- of fppkg root.
-
- Options supported in packager config file:
- ------------------------------------------
- LocalMirrors
- Local file with list of mirrors.
- RemoteMirrors
- URL with location of remote mirrors file.
- RemoteRepository
- Name of repository as found in LocalMirrors file.
- LocalRepository
- Location of local repository file.
- InstallDir
- Directory to install packages/units to
- BuildDir
- Directory where to unpack and build packages
- Compiler
- Compiler binary to be used
- OS
- Default OS
- CPU
- Default CPU
- Defaults can be found in pkgropts
|