Recent

Author Topic: Online Package Manager  (Read 840102 times)

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #585 on: December 21, 2016, 01:27:21 pm »
I extended the options dialog. Now it's possible to set the update interval + filters for packages. When creating a repository package, the zipped files are filtered according to the settings from option dialog(r. 53748). Please test.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #586 on: December 21, 2016, 07:44:56 pm »
Excellent work - thanks!

Is there a regression? After an update, I note that the description and license fields are once again unchanged from the original.

For future?
- I was able to create a package with just the Category field filled out (no display name, home page nor update link)
- No fields yet to indicate compatibility (min fpc version, min laz version supported OS/WidgetSet)
- A component may be useless without a clear understanding of its license (which may not be specified in the lpk)  How can OPM handle this?
- No dialog as to what to do next once the zip and json have been created

I had to add some exclusion filters; here's the set that works for most packages in ccr  (note /updates which is created by the Json Updates editor)
« Last Edit: December 21, 2016, 09:14:17 pm by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

lainz

  • Hero Member
  • *****
  • Posts: 4468
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #587 on: December 21, 2016, 08:24:57 pm »
You can add .git and .svn folders too.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #588 on: December 21, 2016, 08:27:30 pm »
You can add .git and .svn folders too.
+1
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #589 on: December 21, 2016, 09:33:07 pm »
@minesadorada
Quote
Excellent work - thanks!
Thank you.

Quote
Is there a regression? After an update, I note that the description and license fields are once again unchanged from the original.
Yes it is! Fixed in r. 53750.
Quote
I was able to create a package with just the Category field filled out (no display name, home page nor update link)
Well those field are not mandatory. OPM can work without them. I updated the wiki a few days ago: http://wiki.freepascal.org/Online_Package_Manager#Create_repository_package
Quote
No fields yet to indicate compatibility (min fpc version, min laz version supported OS/WidgetSet)
Click to each child node(*lpk files), you will see those fields and even correct them if necessary.
Quote
A component may be useless without a clear understanding of its license (which may not be specified in the lpk)  How can OPM handle this?
The license/description is loaded from the *.lpk file. Editing directly from OPM would be confusing. Which is the real license?
Quote
No dialog as to what to do next once the zip and json has been created
The plan is to upload the packages directly to the main repository, however in order for the upload to work we need somekind of gateway, accessing the database directly is not safe. A fpc based FastCGI implementation would be ideal.

Quote
I had to add some exclusion filters; here's the set that works for most packages in ccr  (note /updates which is created by the Json Updates editor)
Thank you! Please copy all your filters from your configuration file and paste here.
Config file: C:\Users\%user%\AppData\Local\lazarus\onlinepackagemanager\config\options.xml
Search for: ExcludedFiles, ExcludedFolders

PS: For now it would be great if I can send the zip + json through mail, unfortunately fpc doesn't have a native component for sending mail.
« Last Edit: December 21, 2016, 09:36:28 pm by GetMem »

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #590 on: December 21, 2016, 10:03:08 pm »
Quote
Yes it is! Fixed in r. 53750.
Thanks.  Tested OK.
Quote
The license/description is loaded from the *.lpk file. Editing directly from OPM would be confusing. Which is the real license?
If the lpk licence entry is empty then 'Create Package' could offer options, or at least a warning (it would be the package author creating the OPM entry)  I think it's important enough to implement.

Quote
Click to each child node(*lpk files), you will see those fields and even correct them if necessary
This needs to be in the update json spec, since an update could modify compatibility.


Quote
The plan is to upload the packages directly to the main repository, however in order for the upload to work we need somekind of gateway, accessing the database directly is not safe. A fpc based FastCGI implementation would be ideal.
Did you read my post about a 'sandbox' repository?  Possibly hosted by SourceForge and accessible via svn?  A sandbox repository addresses most security concerns.
I think it's an extremely bad idea to allow anyone but the OPM moderator access to the main repository.

Quote
Please copy all your filters from your configuration file and paste here.
I thought the screenshot +lainz's post said it all.  If not, I can do as you suggest.
« Last Edit: December 21, 2016, 10:27:14 pm by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #591 on: December 21, 2016, 10:26:50 pm »
Quote
If the lpk licence entry is empty then 'Create Package' could offer options.  I think it's important enough to implement.
You forget that we talk about package maintainers here not beginners. Ok I'm not against it, if somebody implements it...

Quote
Did you read my post about a 'sandbox' repository?  Possibly hosted by SourceForge?  A sandbox repository addresses most security concerns.
I think it's an extremely bad idea to allow anyone but the OPM moderator access to the main repository.
We have a dedicated VM just for OPM on lazarus official page, why should we in involve sourceforge? Everyone(after a login) will be able to upload files,  the packages will be visible/available for download only after moderation. It's the same system as you described in your post(mostly).

Quote
I thought the screenshot +lainz's post said it all.  If not, I can do as you suggest.
The screenshot is clear but to prevent errors it would be much easier to copy/paste. Anyway I did it, I will commit it tomorrow. Thanks.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #592 on: December 21, 2016, 10:30:12 pm »
Thanks for the responses @Getmem.  I appreciate your patience and hard work.
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #593 on: December 21, 2016, 10:56:50 pm »
@minesadorada
Quote
This needs to be in the update json spec, since an update could modify compatibility.
Again I agree, but then we have to redesign the whole external json structure + retest it from scratch.  :) A quick shortcut is to read the lpk after install/update, this is exactly what OPM does now for description and license. I can extend it for other items too.

tk

  • Sr. Member
  • ****
  • Posts: 361
Re: Online Package Manager
« Reply #594 on: December 22, 2016, 10:34:23 am »
What would I need to change to get kcontrols to compile and run on  osx?

Use newest version from repository at https://bitbucket.org/tkweb/kcontrols.
It compiles and runs well on osx.
When sth. is not working, ask here: http://tkweb.eu/en/delphicomp/kcontrols.html.

I noticed this forum already before but did not try the package manager yet.
From the screenshot I can see there is KControls 1.7. This is last "stable", but very old already.
(I still don't have everything ready what I planned for KControls 1.8 )

Is there any option to add a link to the repository for the included package (to give the option to download newer version) or maybe to its forum as well?

JD

  • Hero Member
  • *****
  • Posts: 1848
Re: Online Package Manager
« Reply #595 on: December 22, 2016, 11:02:19 am »
I noticed this forum already before but did not try the package manager yet.
From the screenshot I can see there is KControls 1.7. This is last "stable", but very old already.
(I still don't have everything ready what I planned for KControls 1.8 )

@tk Hi there. Thanks for your good work. Is KControls 1.8 ready for production use?
Windows - Lazarus 2.1/FPC 3.2 (built using fpcupdeluxe),
Linux Mint - Lazarus 2.1/FPC 3.2 (built using fpcupdeluxe)

mORMot; Zeos 8; SQLite, PostgreSQL & MariaDB; VirtualTreeView

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #596 on: December 22, 2016, 11:23:45 am »
I found an obscure bug in Cryptini; fixed it, and using the JsonEditor and OPM the bugfixed version (0.1.3.0) was available to all within 5-10 minutes.  That's what I call quick deployment!

Quote
Is there any option to add a link to the repository for the included package (to give the option to download newer version)
Check out the wiki: http://wiki.lazarus.freepascal.org/Online_Package_Manager#Create_JSON_for_updates It's really easy to deploy updates with OPM.
« Last Edit: December 22, 2016, 11:47:22 am by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #597 on: December 22, 2016, 01:34:17 pm »
@minesadorada
I uploaded the extensions provided by you and @lainz, the list are sorted now both for files and dirs. I also added two help buttons to the following forms: "Create repository package" and "Create exteranl JSON".

@tk
Quote
Is there any option to add a link to the repository for the included package (to give the option to download newer version) or maybe to its forum as well?
Yes, basically you have to:
1. Create a JSON file with OPM
2. Edit "DownloadZipURL" and "Version" fields
3. Upload somewhere the JSON
4. Paste here the link, so I can update the main repository
When you release a new version, just update the zip file and increase the version number.
More details here: http://wiki.lazarus.freepascal.org/Online_Package_Manager#Create_JSON_for_updates

Thank you!

lainz

  • Hero Member
  • *****
  • Posts: 4468
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #598 on: December 22, 2016, 08:51:32 pm »
Hi GetMem, you can add these packages please?

File Association for Windows - modified LGPL (lainz)
https://github.com/lainz/FileAssociation
http://wiki.freepascal.org/FileAssociation

BGRA Games (Some BGRABitmap games and related units) modified LGPL (lainz, circular)
https://github.com/bgrabitmap/bgragames

uE Controls (Another set of UI components) see the readme for the author and license
https://github.com/bgrabitmap/uecontrols

Kaaj Controls (Controls for fpGUI) modified LGPL (lainz)
https://github.com/bgrabitmap/kaajcontrols

Lainz Code Studio (Lua scripting units and small test project) modified LGPL (lainz)
https://github.com/lainz/lainzcodestudio

And about these packages: These maybe will not be updated a lot so for now I will not mantain an external json. That doesn't mean that these are not usefull. Some are not mine like ueControls but I've mirrored that in bgrabitmap organization, the original code is at sourceforge (https://sourceforge.net/projects/uecontrols/)
« Last Edit: December 22, 2016, 09:27:00 pm by lainz »

AlexTP

  • Hero Member
  • *****
  • Posts: 2402
    • UVviewsoft
Re: Online Package Manager
« Reply #599 on: December 22, 2016, 09:58:35 pm »
Quote
>If the lpk licence entry is empty then 'Create Package' could offer options, or at least a warning

It is needed. And gut to show checklistbox, with items "LGPL, MPL 1.0, MPL 2.0, MIT......" to easy check one item.

 

TinyPortal © 2005-2018