Forum > Third party

Online Package Manager

<< < (3/438) > >>


--- Quote from: lainz on October 05, 2016, 06:49:13 pm ---Use standard releases for each package and only mantain a list of json that points to another url where the real zip is available (the zip can be in any host service).
If you choose GitHub/Sourceforge you can add as many mantainers you want, simple give them access to put files in the website.

--- End quote ---
Yes, I would also advise using existing download locations. And because GitHub and Sourceforge are the most commonly used it would be best to implement downloading directly from there. It would also have the benefit of having the latest version and always be up to date.

The json-collection could even be hosted on Github or Sourceforge and downloaded from there on start of the manager. The json-collection would point to the actual download of given project. (Although there should be a solution found for the individual component/packages from lazarus-ccr because they can't be individually downloaded as zip)

Or it should be from here but I'm not sure how old those are. The RichMemo in the current manager is more up to date.


--- Quote from: howardpc on October 05, 2016, 06:06:01 pm ---who (or what grouping) has control of the 'official' repositories, what are the criteria for inclusion/rejection of submitted packages, whether some PPA-type system should be in place for addition of private repositories, who will police it in terms of enforcing adherence to the stated policies, and so on.

--- End quote ---

I'm not necessarily suggesting an "official" repository. That might not work for Lazarus. For example, the QGIS repository has rules that are probably far too rigid for Lazarus ( It needs to fit the "culture" of Lazarus. For example, QGIS is a very Euro-centric effort, with many core members being employees of Euro government agencies or their contractors, so a rigid submission policy might naturally fit their bureaucratic modus operandi.

However, that doesn't mean the project manager couldn't have technical requirements. For example (and only as examples):

(1) Package must have a proper license. If it's the same as LCL or FPC RTL, just state so or point to the FPC modified LGPL doc files. If it's something else, anything, just have a link to it (Eclipse, BSD, etc.). The only thing unacceptable might be if nothing is specified in the JSON file. By clearly stating what license is used, the user of the package manager can decide beforehand whether that's even a package they're interested in.

(2) If the package depends on LCL (ie, has LCL under RequiredPgks in .lpk file), then it must specify what LCL interfaces it has been tested against. I typically test against Carbon, Win32, GTK2 at a minimum so that I can legitimately say that the package is cross-platform.

That sort of thing.

Just wanted to mention Delphinus in case it wasn't already (even though i seem to remember getting the name from this board).

Being able to at least store packages inside your own github account would help tremendously as right now things are scattered all over the internets. At least it would also allow for individuals to create their own packages so these things can be shared.

Decisions about a official or even semi-official package server would perhaps be something for the foundation as well ?


--- Quote from: molly on October 05, 2016, 07:27:44 pm ---Decisions about a official or even semi-official package server would perhaps be something for the foundation as well ?

--- End quote ---

Lazarus already has official packages, which are the ones deemed worthy or essential enough to include with the IDE.

What a package manager can do is establish an unofficial list somewhere between the official IDE packages and the CCR slushpile. At the very least it indicates that a package is still alive and that the author is available to put in the minimal effort of "regularizing" it to meet the package manager's requirements.


--- Quote from: lainz on October 05, 2016, 05:08:38 pm ---I agree with Phil, so for example I can upload a release on GitHub that in fact is a package,...

--- End quote ---
As I already mentioned in the mailing list, and somebody else mentioned it here... The best approach seems to be whan  Delphinus does on Github. Everything is hosted there.  Delphinus use the Github API to detect new packages and automatically present those in the IDE. Anybody can add there own packages via Github plus the required JSON file. No central repository or hosting location is needed. This is the best of all worlds. Now simply port it to Lazarus IDE and enjoy. :)


[0] Message Index

[#] Next page

[*] Previous page

Go to full version