Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2011-05

Fppkg questions

6 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Darius Blaszyk

While working on the lazarus GUI I could not find evidence that fppkg is capable of supporting multiple repositories. As far as I can tell the mirrors.xml is always downloaded from the freepascal server and only holds some alternatives to get the packages from. I think it would be a nice feature if users could setup their own repositories and only have to distribute a repository manifest file (or URL) that will be merged with the local mirrors.xml, subsequently the packages are automatically updated into packages.xml. Is this idea eligible for support before I start working on this?

Additionally I have done some tests with SVNClasses from Vincent to add support to use sources directly from SVN as packages. So instead of zipping the sources and putting them on a FTP server somewhere you actually use a SVN path (eg tags for stable releases) for a package. This requires some additional properties to TFPMirrors (Protocol < to distinguish between downloading a zip or exporting SVN) and TFPPackage (Mirror < to be able to create the link between the package and the mirror). I could create a simple patch for this feature so we can discuss implementation details later, but I wanted to discuss this high level first.

Regards, Darius

Reply by email

Michael Van Canneyt
to Darius Blaszyk
Darius Blaszyk wrote
While working on the lazarus GUI I could not find evidence that fppkg is capable of supporting multiple repositories. As far as I can tell the mirrors.xml is always downloaded from the freepascal server and only holds some alternatives to get the packages from. I think it would be a nice feature if users could setup their own repositories and only have to distribute a repository manifest file (or URL) that will be merged with the local mirrors.xml, subsequently the packages are automatically updated into packages.xml. Is this idea eligible for support before I start working on this?

Having this was the idea from day one. Strange that you could not find this ?

Show quoted text 5 lines
Additionally I have done some tests with SVNClasses from Vincent to add support to use sources directly from SVN as packages. So instead of zipping the sources and putting them on a FTP server somewhere you actually use a SVN path (eg tags for stable releases) for a package. This requires some additional properties to TFPMirrors (Protocol < to distinguish between downloading a zip or exporting SVN) and TFPPackage (Mirror < to be able to create the link between the package and the mirror). I could create a simple patch for this feature so we can discuss implementation details later, but I wanted to discuss this high level first.

If the SVNClasses can be put in FPC, then this is not a problem and even a good idea. If the support for SVN requires the use of Lazarus, then it cannot be put in fppkg.

Michael.

Reply by email

Darius Blaszyk
to Michael Van Canneyt
Michael Van Canneyt wrote 9 lines
On Sun, 22 May 2011, Darius Blaszyk wrote: > While working on the lazarus GUI I could not find evidence that fppkg is capable of supporting multiple repositories. As far as I can tell the mirrors.xml is always downloaded from the freepascal server and only holds some alternatives to get the packages from. > I think it would be a nice feature if users could setup their own repositories and only have to distribute a repository manifest file (or URL) that will be merged with the local mirrors.xml, subsequently the packages are automatically updated into packages.xml. > Is this idea eligible for support before I start working on this? Having this was the idea from day one. Strange that you could not find this ?

Can you point out to me how this is supposed to work then? I modified the mirrors.xml file manually but it got overwritten by the version from the freepascal repository. How are you supposed to add additional mirrors? Also the packages, how do you distinguish which package comes from which mirror? I believe you when you say this was planned, but was it implemented?

Show quoted text 11 lines
> Additionally I have done some tests with SVNClasses from Vincent to add support to use sources directly from SVN as packages. So instead of zipping the sources and putting them on a FTP server somewhere you actually use a SVN path (eg tags for stable releases) for a package. This requires some additional properties to TFPMirrors (Protocol < to distinguish between downloading a zip or exporting SVN) and TFPPackage (Mirror < to be able to create the link between the package and the mirror). > I could create a simple patch for this feature so we can discuss implementation details later, but I wanted to discuss this high level first. If the SVNClasses can be put in FPC, then this is not a problem and even a good idea. If the support for SVN requires the use of Lazarus, then it cannot be put in fppkg. Michael. _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Michael Van Canneyt
to Darius Blaszyk
Darius Blaszyk wrote 18 lines
On May 22, 2011, at 6:04 PM, Michael Van Canneyt wrote: > > > On Sun, 22 May 2011, Darius Blaszyk wrote: > >> While working on the lazarus GUI I could not find evidence that fppkg is capable of supporting multiple repositories. As far as I can tell the mirrors.xml is always downloaded from the freepascal server and only holds some alternatives to get the packages from. >> I think it would be a nice feature if users could setup their own repositories and only have to distribute a repository manifest file (or URL) that will be merged with the local mirrors.xml, subsequently the packages are automatically updated into packages.xml. >> Is this idea eligible for support before I start working on this? > > Having this was the idea from day one. Strange that you could not find this ? Can you point out to me how this is supposed to work then? I modified the mirrors.xml file manually but it got overwritten by the version from the freepascal repository. How are you supposed to add additional mirrors? Also the packages, how do you distinguish which package comes from which mirror? I believe you when you say this was planned, but was it implemented?

The idea at the time was to have a different fppkg configuration for each repository, not to have everything in 1 configuration.

I assume that you want something like apt-get, where there is a file with known repositories, and that fppkg scans all repositories. I suppose that may be easier. If you have ideas how this can be done, I'm open for suggestions.

Michael.

Reply by email

Unknown author
to Michael Van Canneyt
Show quoted text 7 lines
The idea at the time was to have a different fppkg configuration for each repository, not to have everything in 1 configuration. I assume that you want something like apt-get, where there is a file with known repositories, and that fppkg scans all repositories. I suppose that may be easier. If you have ideas how this can be done, I'm open for suggestions.

I'm exactly thinking along the lines of apt-get. Let me think about this and I will come back on it later.

I have now comitted the GUI for fppkg in ./lazarus/components/fppkg btw.

Regards, Darius

Reply by email

Joost van der Sluis
to Darius Blaszyk: Can you point out to me how this is supposed to work then? I modified the mirrors.xml…
Darius Blaszyk wrote 8 lines
On May 22, 2011, at 6:04 PM, Michael Van Canneyt wrote: > >> While working on the lazarus GUI I could not find evidence that fppkg is capable of supporting multiple repositories. As far as I can tell the mirrors.xml is always downloaded from the freepascal server and only holds some alternatives to get the packages from. >> I think it would be a nice feature if users could setup their own repositories and only have to distribute a repository manifest file (or URL) that will be merged with the local mirrors.xml, subsequently the packages are automatically updated into packages.xml. >> Is this idea eligible for support before I start working on this? > > Having this was the idea from day one. Strange that you could not find this ? Can you point out to me how this is supposed to work then?

This part is just missing. But can be added very easily, it is designed is such a way that it can be implemented easily.

I modified the mirrors.xml file manually but it got overwritten by the version from the freepascal repository. How are you supposed to add additional mirrors? Also the packages, how do you distinguish which package comes from which mirror? I believe you when you say this was planned, but was it implemented?

Actually, this part was modeled after yum, which is somewhat more flexible and easier to setup.

What should be done is that you can specify which repository you do support. There has to be a file which defines the repositories, it could be something like this:

[FreePascal]
name=Free Pascal default Repository $fpcversion
mirrorlist=http://www.freepascal.org/repository/$fpcversion/mirrors.xml #enabled=1

[Lazarus]
name=Free Pascal Lazarus Repository $fpcversion
mirrorlist=http://www.lazarus.freepascal.org/repository/$fpcversion/mirrors.xml #enabled=1

Now fppkg has to download the mirrors.xml, with the mirrors for each repository. And from there nothing changes.

It would be nice if more then one repository can be searched, using the enabled switch, but that is for later.

Joost.

Reply by email