mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 18:49:10 +02:00
* shell commands helpfull for building fpmake.pp
git-svn-id: trunk@9874 -
This commit is contained in:
parent
a8d2a7932d
commit
721a45eb02
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user