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?
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