* shell commands helpfull for building fpmake.pp

git-svn-id: trunk@9874 -
This commit is contained in:
peter 2008-01-22 23:10:46 +00:00
parent a8d2a7932d
commit 721a45eb02

View File

@ -3,14 +3,14 @@ This is the FPC packager.
The architecture is as follows: The architecture is as follows:
A mirror list is maintained with FPC repositories. A mirror list is maintained with FPC repositories.
The packager will download the mirror list and store The packager will download the mirror list and store
it somewhere locally it somewhere locally
From a mirror, a repository is chosen (using it's name) From a mirror, a repository is chosen (using it's name)
From the repository the repository file is downloaded. From the repository the repository file is downloaded.
It contains all known packages. The fprepos.pp unit contains the It contains all known packages. The fprepos.pp unit contains the
functionality to read and maintain the package file. functionality to read and maintain the package file.
The packager maintains a local repository file. when needed The packager maintains a local repository file. when needed
it will download a package and install it. It does so recursively. it will download a package and install it. It does so recursively.
@ -22,15 +22,15 @@ create a manifest file (in XML) to import in a repository.
All packager functionality will be implemented in units so All packager functionality will be implemented in units so
these units can be used in command-line and GUI package managers. these units can be used in command-line and GUI package managers.
All packager command handling is implemented in descendents fom All packager command handling is implemented in descendents fom
TPackageHandler (pkghandler.pp). All messages emitted by these TPackageHandler (pkghandler.pp). All messages emitted by these
handlers are in pkgmessages. handlers are in pkgmessages.
Units: Units:
----- -----
fprepos: fprepos:
A unit that describes a repository. A unit that describes a repository.
It is mainly a collection of packages. It is mainly a collection of packages.
fpxmlrep fpxmlrep
A unit to read/write a repository to XML. It can be used to read a A unit to read/write a repository to XML. It can be used to read a
@ -42,7 +42,7 @@ fpmkunit
this is the unit that implements all the functionality a fpmake driver this is the unit that implements all the functionality a fpmake driver
needs. needs.
fpmktype fpmktype
types and constants shared by fpmkunit and fprepos types and constants shared by fpmkunit and fprepos
rep2xml rep2xml
test program for the fprepos unit. test program for the fprepos unit.
reptest reptest
@ -63,19 +63,19 @@ pkgsynapse
a downloader based on Synapse. Do not put in makefile, as Synapse is a downloader based on Synapse. Do not put in makefile, as Synapse is
not distributed by default with FPC. not distributed by default with FPC.
pkglibcurl pkglibcurl
a downloader based on LibCurl (plain C library). a downloader based on LibCurl (plain C library).
pkgocurl pkgocurl
a downloader based on CurlPas (object version). Do not put in makefile, a downloader based on CurlPas (object version). Do not put in makefile,
as CurlPas is not distributed with FPC. as CurlPas is not distributed with FPC.
pkglnet pkglnet
a downloader based on lNet. The library is distributed in "lnet" subdir a downloader based on lNet. The library is distributed in "lnet" subdir
of fppkg root. of fppkg root.
Options supported in packager config file: Options supported in packager config file:
------------------------------------------ ------------------------------------------
LocalMirrors LocalMirrors
Local file with list of mirrors. Local file with list of mirrors.
RemoteMirrors RemoteMirrors
URL with location of remote mirrors file. URL with location of remote mirrors file.
@ -91,7 +91,21 @@ Compiler
Compiler binary to be used Compiler binary to be used
OS OS
Default OS Default OS
CPU CPU
Default CPU Default CPU
Defaults can be found in pkgropts Defaults can be found in pkgropts
Helpfull commands for building packages:
----------------------------------------
* Generate AddInclude lines from an existing PPU file:
ppudump $1 | awk "/^Source/ { printf(\"AddInclude('%s');\\n\",\$5); }"
* Testing if building a package from archive works:
fpc fpmake && fpmake archive && fppkg build *.zip