[fpc-devel] Fppkg

Joost van der Sluis joost at cnoc.nl
Mon Feb 11 22:49:05 CET 2019

Op 05-02-19 om 21:55 schreef Ben Grasset:
> On Mon, Feb 4, 2019 at 9:53 AM Martok <listbox at martoks-place.de 
> <mailto:listbox at martoks-place.de>> wrote:
>     the first-ever fppkg.exe invocation on a machine
> Do people actually use fppkg for anything? More specifically what is the 
> point of integrating it with Lazarus, which already has the OPM?

Good question.

And I have two answers for you:

First: Fppkg has been integrated with Lazarus for over 10 years. It is 
part of FPC from since the nineties. It has never been used really, 
though. It had potential at the start, but it was too hard to get it 
working properly all the time. It was difficult to get it to compile 
Lazarus properly, due to all the strange exceptions in it's 
build-system. Mattias decided not to wait but to build Lazbuild. Making 
fppkg obsolete in some part. The same happened with OPM. Fppkg never 
gained popularity, and nowadays all Lazarus packages are distributed 
through OPM. So it's questionable what the reason of existing of Fppkg 
is at this moment.

Second: Lazbuild and OPM do only a part of what Fppkg/Fpmake are capable 
of. Remember that the FPC-universe does not only consists of Lazarus. 
For Fppkg/Fpmake, Lazarus is just one of the projects. And it is 
possible to compile (bootstrap) Lazarus using Fppkg, so it replaces 
'Make'. Lazbuild can not do this. (In principle it is possible to 
install Lazarus using 'fppkg install lazarus')
I often see discussions about a certain unit, if it should be part of 
Freepascal or Lazarus. Adding it to Fppkg is the solution. We can also 
use Fppkg to solve problems with bugs in Freepascal's packages between 
two fpc releases.
And about the online packages-part of Fppkg, in contradiction to OPM 
Fppkg has different repositories for different version of FPC. And it 
actually checks for packages if they compile before they can be 
submitted. Also when a package changes, all packages that depend on the 
changed package are recompiled (on several targets) to check if the 
compilation breaks. If this is the case, an update will be refused. 
(Well an administrator can override this, but let's keep it simple)
On moving compiler targets (fpc-trunk) the packages are checked for 

So I still think it's worthwhile to work on Fppkg. And I'm really 
pleased with all the bug-reports regarding the invalid 
Fppkg-configurations. I hope that solving these issues now will lead to 
more correct fppkg-installations. That way it will be really possible to 
distribute updates of FPC-packages between FPC-releases.

Ok, I've tried to give a short answer, but it is still a lot of text. 
But I hope this will explain a bit of my motivation to work on the system.



More information about the fpc-devel mailing list