Recent

Author Topic: Online Package Manager  (Read 840562 times)

lainz

  • Hero Member
  • *****
  • Posts: 4468
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #255 on: November 22, 2016, 02:50:38 pm »
I get it.

Please sorry. For the actively developed and those will not move I will delete the repositories.

Again please tell me those what don't want to be moved and I will delete them.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #256 on: November 22, 2016, 02:56:57 pm »
The lazarusccr GIT repository currently isn't a faithful copy of https://svn.code.sf.net/p/lazarus-ccr/svn - it seems to be missing /components

I'm not familiar with GIT so I'm finding it hard to make a simple repository that syncs with my local files.  TortoiseSVN is a snap to use.

Why all the enthusiasm for GIT?  I understand the 'download Zip' feature, but with OPM any user can download a single package or many, whilst developers can easily set up SVN on their dev machines to commit updates to their component code (and already do)

Lazarusccr SVN has been very free and open up to now, but with OPM perhaps some rules for developers would be in order.  For instance, maintaining a ´stable' branch that OPM can rely on.

I agree that duplication is not generally a good idea - it normally leads to versioning issues.

If the svn ccr could be automatically cloned (daily perhaps) than perhaps users who prefer GIT would benefit.

my 2€
« Last Edit: November 22, 2016, 02:59:25 pm by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #257 on: November 22, 2016, 03:00:02 pm »
I thought this is just a clone like this one: https://github.com/fpc-svn/lazarus-ccr
Apparently it's possible to make an automated tool that syncs with the original repository. The development still remains at sourforge. What's wrong with that? All we have to do is separate each package on the github repository.
« Last Edit: November 22, 2016, 03:02:11 pm by GetMem »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4468
  • I like bugs.
Re: Online Package Manager
« Reply #258 on: November 22, 2016, 03:16:34 pm »
Again please tell me those what don't want to be moved and I will delete them.
You should delete them all except if a maintainer explicitly tells you otherwise.
Remember, most projects in CCR have no maintainers. How could they tell you anything?

Any project in CCR that is currently not maintained, should be moved to GibHub only by a person who takes over its maintenance. Then the original project directory in CCR should be deleted.

I quote some pieces of your PM because this is of common interest:
Quote
Again, I will keep it up to date if no one moves to GitHub. At least it works as a mirror for the Online Package Manager.
No, we don't need a mirror for the Online Package Manager. We just got a nice and fast server for its packages.
I don't know why the whole idea was misunderstood so badly.

For worries about people preferring Git over SVN, I can say it is a non-issue. Both have easy commands. A SVN repo can be accessed using git tools (git-svn link) which also I use for my Lazarus development.
So, that is a very bad excuse to make useless forks.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

lainz

  • Hero Member
  • *****
  • Posts: 4468
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #259 on: November 22, 2016, 03:24:09 pm »
I got it. I deleted it.

Please sorry if I wasted your time (and other users) with this.

Keep the discussion in the package manager from now, and I will do it the same.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4468
  • I like bugs.
Re: Online Package Manager
« Reply #260 on: November 22, 2016, 03:26:43 pm »
I thought this is just a clone like this one: https://github.com/fpc-svn/lazarus-ccr
Apparently it's possible to make an automated tool that syncs with the original repository. The development still remains at sourforge. What's wrong with that? All we have to do is separate each package on the github repository.
Ok, a fully automatic mirror makes sense. Actually there are now multiple such mirrors for FPC and Lazarus projects.
That was not the purpose of our new lazarusccr in GitHub. Its idea was to be a master repo for some projects.
Then some projects would continue in SourceForge but be merged manually to GitHub. No good.

@lainz, if you can create an automatic SourceForge CCR mirror update, that would be great. However it must be separated from the projects hosted in GitHub.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4468
  • I like bugs.
Re: Online Package Manager
« Reply #261 on: November 22, 2016, 03:35:07 pm »
I got it. I deleted it.
Please sorry if I wasted your time (and other users) with this.
Keep the discussion in the package manager from now, and I will do it the same.
Sorry I expressed my opinion so strongly. You deleted the whole lazarusccr organization. Actually it was a good idea for new hosted projects. Only forking everything from another repo was a problem.

Projects can still be moved to GitHub if their current (or new) maintainer so decides.
Also the automatic mirror makes sense.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

lainz

  • Hero Member
  • *****
  • Posts: 4468
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #262 on: November 22, 2016, 03:36:50 pm »
Quote
@lainz, if you can create an automatic SourceForge CCR mirror update, that would be great. However it must be separated from the projects hosted in GitHub.

Hi, that's a great idea! But I don't have the knowledge to do this. Maybe Graeme? can help you because he has a lazarus repository in his account that is updated with commits and everything.

Quote
Sorry I expressed my opinion so strongly. You deleted the whole lazarusccr organization. Actually it was a good idea for new hosted projects. Only forking everything from another repo was a problem.

Don't worry I can create it again. I will add you again as administrator. Please accept the invitation soon.

lainz

  • Hero Member
  • *****
  • Posts: 4468
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #263 on: November 22, 2016, 06:25:25 pm »
I found a script, seems that's for linux?

https://github.com/dpocock/sync2git

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4468
  • I like bugs.
Re: Online Package Manager
« Reply #264 on: November 22, 2016, 06:42:31 pm »
I found a script, seems that's for linux?
https://github.com/dpocock/sync2git
Typically servers are Linux or Unix systems.
Anyway you need admin rights to a computer which is on all the time. Then add a cron job there.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #265 on: November 22, 2016, 06:52:34 pm »
I prefer to look at the future rather than the past.  There's been a lot of discussion about historical components and code which is no longer maintained.

The ccr has been somewhat anarchic up to now, but OPM offers the Lazarus community an opportunity to 'get it right'.  I suggest we embrace GetMem's initiative to make a long-term solution that benefits users.  @lainz and @JuhaMannien are valuable partners.  I think @wp could make valuable contributions too.

The issues seem to be versioning and maintenance.

Both need standards that don't rely on a maintainer person to continually oversee them.

The team have some good brains and analysis skills - I'm sure they can together come up with something great.

The eventual solution needs to be attractive to future contributors and users alike.

Wouldn't it be fantastic if OPM was included in the Lazarus 1.8 distribution?

Once OPM is sorted, I would love an equivalent online repository for code snippets.  The wiki and this forum have loads of useful code which gets swallowed up by time and obscurity.  I suspect like lots of users, I keep a local cache of snippets which are really useful.
« Last Edit: November 22, 2016, 07:27:50 pm by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4468
  • I like bugs.
Re: Online Package Manager
« Reply #266 on: November 22, 2016, 07:25:37 pm »
The ccr has been somewhat anarchic up to now, but OPM offers the Lazarus community an opportunity to 'get it right'.
No, actually the CCR repository and the new OPM have different purposes.

CCR is a code hosting place for developers and active testers, just like other revision control servers are. Changes in source code happen there.

OPM is for end users to easily find, download and install packages. It is similar to CPAN which partly made Perl so popular years ago. (I believe you remember that time.)
An end user can trust that he gets a well tested bug-free production quality package. That's the idea anyway ...
OPM is not tied to CCR anyhow. Code for the packages can be hosted anywhere. CCR is just one of those places.

Quote
I suggest we embrace GetMem's initiative to make a long-term solution that benefits users.  @lainz and @JuhaMannien are valuable partners.
GetMem's initiative is already embraced. The package manager is in Lazarus trunk SVN sources and a server for package files is established.

Quote
The issues seem to be versioning and maintenance.
Both need standards that don't rely on a maintainer person to continually oversee them.
Well, it depends very much on a person who fixes bugs, improves code and makes stable releases when the time is right.
How exactly will "standards" help with that?

Quote
The eventual solution needs to be attractive to future contributors and users alike.
What solution do you propose?

« Last Edit: November 22, 2016, 07:30:31 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #267 on: November 22, 2016, 07:43:22 pm »
No, actually the CCR repository and the new OPM have different purposes.

CCR is a code hosting place for developers and active testers, just like other revision control servers are. Changes in source code happen there.

OPM is for end users to easily find, download and install packages. It is similar to CPAN which partly made Perl so popular years ago. (I believe you remember that time.)
An end user can trust that he gets a well tested bug-free production quality package. That's the idea anyway ...
OPM is not tied to CCR anyhow. Code for the packages can be hosted anywhere. CCR is just one of those places.
OPM (if its included in Laz 1.8 ) will lend respectability to the ccr and other packages.  Is that a good or wanted thing?  Do Lazarus core developers want to field queries about packages they have no control over?  If not, who will take responsibility over new additions?

Quote
GetMem's initiative is already embraced. The package manager is in Lazarus trunk SVN sources and a server for package files is established.
Embraced by the Lazarus release team? OPM is kind-of pointless if it's 'just another 3rd-party package'. Will it be in the Lazarus 1.8 distribution? (spoiler: I think it should be)

Quote
Well, it depends very much on a person who fixes bugs, improves code and makes stable releases when the time is right.
How exactly will "standards" help with that?
No need for the scare-quotes.  Standards are necessarily arbitrary and help collaboration.  How is that scary?  Standards enable testing and validation - and if they are well-designed they can be automated.  Standards are a way to invalidate badly-designed packages that are unsupportable.

Quote
What solution do you propose?
I don't pretend to have the brains nor expertise that you guys have.  However I'll continue to make suggestions as long as that doesn't irritate you all too much :)
Writing a package specifically for OPM (Cryptini) taught me a lot about the issues from the developer's POV.  As it stands, it's somewhat cumbersome - but I have faith that OPM can be slick, robust, futureproof and simple for all, given the talents of the team.
 
« Last Edit: November 22, 2016, 08:20:53 pm by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4468
  • I like bugs.
Re: Online Package Manager
« Reply #268 on: November 22, 2016, 10:33:54 pm »
OPM (if its included in Laz 1.8 ) will lend respectability to the ccr and other packages.  Is that a good or wanted thing?  Do Lazarus core developers want to field queries about packages they have no control over?  If not, who will take responsibility over new additions?
Lazarus core developers have no part in (most of) the packages in CCR. They are 3rd party packages.
The idea is to deliver 3rd party packages in an easy way.
The OPM maintainer, currently GetMem, is responsible for adding new packages. The criteria for adding should be relaxed. A maintainer's duty is not to judge the quality or usefulness of packages.
Later there will be a server side SW allowing user voting and comments. Judgement will come through user feedback.

Quote
Embraced by the Lazarus release team? OPM is kind-of pointless if it's 'just another 3rd-party package'. Will it be in the Lazarus 1.8 distribution? (spoiler: I think it should be)
Yes it will be in the next distribution. It is not a 3rd-party package, it is now in Lazarus trunk. Everything in Lazarus trunk will be in the next major release. The package manager author, GetMem, is now officially a Lazarus developer, meaning that he has commit access and communicates in the developers mailing list.

Quote
No need for the scare-quotes.  Standards are necessarily arbitrary and help collaboration.  How is that scary?  Standards enable testing and validation - and if they are well-designed they can be automated.  Standards are a way to invalidate badly-designed packages that are unsupportable.
I had no intention to insult you. I only wanted to show what is realistic and what is not.
Open source development works a little differently than commercial development.
A standard may say: "package xxx maintainer must fix bugs and make releases until he is told otherwise". In a company it works! A payed employee really does what he is told to do.
In open source, if a package's author/maintainer flees, as happened to many CCR packages, no standards requirement helps with that.

Quote
I don't pretend to have the brains nor expertise that you guys have.  However I'll continue to make suggestions as long as that doesn't irritate you all too much :)
Writing a package specifically for OPM (Cryptini) taught me a lot about the issues from the developer's POV.  As it stands, it's somewhat cumbersome - but I have faith that OPM can be slick, robust, futureproof and simple for all, given the talents of the team.
No irritation here. Suggestions are welcome. Even better, patches for the package manager in Lazarus sources are welcome throught Mantis bug tracker!
In open source a suggestion with a patch always works better.
« Last Edit: November 23, 2016, 11:01:26 am by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

wp

  • Hero Member
  • *****
  • Posts: 11916
Re: Online Package Manager
« Reply #269 on: November 23, 2016, 12:08:26 am »
This is a long thread, and I did not read everything - so excuse me if this issue already has been reported...

Now that Luiz has disabled the ccr version of VirtualTreeView which I did not want to bypass by adding comment braces around the very efficient installation stopper lines I decided to go the future way and get myself the "official" VirtualTreeView 4.8 using the OPM. I uninstalled the old VTV version (which was in a folder shared between a variety of Lazarus installations), then installed the current OPM from Lazarus trunk, checked virtualtreeview-4.8.7-R4 in the OPM and clicked Install. Fine. But the recompilation of the IDE stopped because of "The unit registervirtualtreeview exists twice in the unit path of the IDE." - the message lists the paths of the old and new installations. Using "Package" / "Package Links" I removed the old path from the list of known packages - still the same error.

What to do? Where do I have access to the "unit path of the IDE" so that I could delete the old directory?

Another point - maybe this already has been suggested, excuse me in this case: When clicking "Install" in the OPM there is no way to control the destination folder. With the VTV issue I know that the installation goes into the profile folder. This is fine in most cases, but I could imagine there are users (like myself) who want to put all third-party components into a common folder which is shared between several Lazarus installations. So, I would appreciate if there were a selection box for the destination directory in the OPM Options dialog.


 

TinyPortal © 2005-2018