[Gambas-user] About the Gambas software repository

B Bruen bbruen at ...2308...
Mon Oct 27 06:26:42 CET 2014


On Mon, 27 Oct 2014 00:27:35 +0100
Benoît Minisini <gambas at ...1...> wrote:

> Hi,
> 
> With revision #6583, you can start to play with the Gambas software 
> repository, as known as the "Gambas farm server".
> 
> This is a Gambas project located in '/trunk/app/src/gambas-farm-server'.
> 
> To install a Gambas farm server, you have to:
> 
> - Compile the gambas-farm-server project and make an executable from it.
> 
> - Install that executable a CGI script on your HTTP server. It must be 
> run through the '/farm' path. I.e. if your server is 
> "my-gambas-farm.org", then the URL to access the CGI script must be 
> "http://my-gambas-server/farm". The executable is less than 20 Kb, not 
> very big isn't it?
> 
> - Install a database server, mysql or postgresql. I have tested with 
> postgresql.
> 
> - Create a "~/.config/gambas3/gambas-farm-server.conf" settings file 
> manually, in the user directory associated with the user running the CGI 
> script (usually it's the http server user).
> 
> - The syntax of the settings file is:
> 
> [SMTP]
> Host=<SMTP server>
> Port=<SMTP server port>
> User=<SMTP login>
> Password=<SMTP password>
> Encrypt=<Encryption mode> ("SSL", "TLS" or nothing)
> [Database]
> Type=<Database server type>
> User=<Database user>
> Password=<Database password>
> 
> Everything is optional except the SMTP server and the Database type.
> 
> - Configure your database server so that the CGI user can connect. Enter 
> the information in the settings file.
> 
> - Create a database named "gambas3_farm".
> 
> - Initialize the database (i.e. create the tables) by running:
> 
>    $ gambas-farm-server.gambas -init-db
> 
> directly from the command-line. It will use the information provided in 
> the settings file to connect to the database.
> 
> If everything went weel, you are ready!
> 
> Anyway, I have setup a farm server on the wiki (gambaswiki.org) for testing.
> 
> The IDE option dialog has now a "Publishing" panel to define the 
> different publishing servers, and to register a new user to any server.
> 
> Registering a new user uses the e-mail defined in the 'Identity' panel: 
> the server sends a e-mail with a link inside. You click on that link to 
> activate your account.
> 
> There is a publishing dialog in the 'Project' menu for publishing your 
> software on any farm server listed in the option dialog, provided that 
> you provide a valid user and password.
> 
> A published project (named "software") can have tags. These are english 
> words that are registered in the publishing server.
> 
> Automatic completion of these tags is provided by requesting the server 
> in real-time. The goal is to avoid similar equivalent tags.
> 
> Test that if you want, and please report any problem. Beware that this 
> is very-early-not-well-tested development!
> 
> There is no program to search the software on a farm server yet, and to 
> install it on your system. This is the next goal: the "Gambas software 
> installer". You can find a better name and tell me if you want.
> 
> Here are my thoughts about that:
> 
> - You select the software you want by searching the farm server by 
> specifying part of the name, tags, and sorting the software by vote, 
> downloads, or upload date.
> 
> - You can vote for a software, or cancel your vote, provided that you 
> are a registered user on a farm. Searching and downloading does not 
> require to be registered.
> 
> - Only source packages are stored on the server.
> 
> - The software will be installed in your home directory (in a not yet 
> decided directory), then compile.
> 
> - Software will have dependencies on other softwares, like a package 
> manager. The installer will have to be able to manage those dependencies.
> 
> - With the help of Gambas users, we can imagine that the installer will 
> be able to install the Gambas binary packages of components required by 
> the software (asking the root password, running apt-get/yum/urpmi..., 
> all that in a beautiful GUI). If not possible, a message will warn for 
> components not installed on the system.
> 
> - The IDE open project box will automatically list the software 
> installed on the system, so that you can open their sources and play 
> with them.
> 
> - The Gambas examples will be move to the final official farm server.
> 
> Tell me what you think, your ideas, if you want to help by writing the 
> installer so that I can do something else... :-)
> 
> I will make a documentation of the HTTP server protocol soon.
> 
> Regards,
> 
> -- 
> Benoît Minisini
> 

Hi Benoît,

I have tried using the gambaswiki.org and it all (registration and upload) seems to work fine. Pity I can't see the result yet :-(

Here's a couple of thoughts based on our experiences at Paddys-Hill

1) We need to have multiple versions of a project available, e.g. a "stable" and an "experimental" version. Will the farm server support this?
2) Due to that we also need occasionally to be able to "remove" a version from the server.
3) We tried some years ago to support binary packages for all the different distro bases. But it just meant more work than necessary. Since then we just use autotools packages. We haven't had any problems with that at any of our clients.
4) I have a tool that allows the user to inspect and install downloaded autotools packages with a "single click". It copes with multiple versions.  If you are interested I can send the project (It will need some "thinning down" to remove the local component dependencies). I have included a couple of screenshots

regards
Bruce


-- 
B Bruen <bbruen at ...2308...>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Library Info & Manager (FMain)_1.png
Type: image/png
Size: 62864 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20141027/e21b1cf2/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Library Info & Manager (FMain)_2.png
Type: image/png
Size: 70759 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20141027/e21b1cf2/attachment-0001.png>


More information about the User mailing list