I would make this more complicated than absolutely necessary.

lpk files have version and dependency information. AFAIK that is all you
need to get a minimum working package manager using a central repository
although i'd like to see multiple repositories that provide packages (f.e.
personally i'd prefer to host my own packages on my server).

IMO what needs to be done is quite simple:

 1. Have the downloadable packages be a zip file (tons of tools can make
them, Lazarus can read them, etc) with the package directory as it should
be after installation, with the lpk and all.
 2. Once a package is uploaded to a repository, it should extract the lpk
file so that it can show information about the package in a web view and...
 3.  Lazarus can download a list of available packages from a repository
and when requested, it will download the lpk file to show the details. Once
the user decides to download a package, the full zip is downloaded with the
dependencies (if they are not already installed) and have them extracted in
some place (user designated or just C:\lazarus\downloaded or something like
that) and the lpk files installed.
 4. Done. Restart Lazarus for the new stuff to take effect.

I know that there might be some minor issues or things people would like
(like multiple lpk files or even separate metadata file, a format with
better compression, a better gui, etc) but really those can be done later
and IMO the majority of packages will work just fine with this setup. The
other things like comments, rating, etc can also be done later.

I think that if something is going to be done, it needs to be the minimal
work that needs to get things going because otherwise, it will get stalled
(and it has been a while I hear about an online package installer :-P).


On Sun, Aug 9, 2015 at 2:11 AM, Juha Manninen <juha.mannine...@gmail.com>
wrote:

> On Sat, Aug 8, 2015 at 4:27 PM, Aradeonas <aradeo...@operamail.com> wrote:
> > Is there any work on this subject until now or any one like to work on
> this
> > subject? If yes I want to help.
>
> The fppkg is for FPC packages. It does not work with Lazarus packages.
> There is a GUI for fppkg in Lazarus named LazarusPackageManager but it
> is broken. It should be fixed or removed.
>
> We need a similar system for Lazarus packages and maybe other Lazarus
> resources.
> The idea is not new and there is even some skeleton code for it in
> package "Aarre". Nothing functional yet unfortunately.
>
> Studying this issue has been on my ToDo list for long. Some open questions
> :
>
> 1. How much synergy with fppkg should it have? Can it share code?
>
> 2. Meta-package file format? I guess it should be a GZip package
> containing Lazarus package sources + other metadata. What other
> resources should be supported? More metadata is needed.
>
> 3. Support for user comments and votes for the packages. The GUI in
> Lazarus must support adding and viewing them.
>
> 4. List of servers. Initially it should be CCR but can be extended.
> The ideal situation is that all package authors provide such
> meta-packages somewhere.
>
> 5. A website. Is it needed to find the packages and advertise them?
> This may have synergy with fppkg again.
>
> If you are serious about this project, you should study the issue and
> make a plan with some diagrams even.
> I believe a SVN branch in Lazarus repo can be organized if needed.
> If fppkg code must be refactored and then reused, it may be easier to
> first fork it and then later offer to FPC project as a patch.
>
> Regards,
> Juha
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus@lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to