Debian and Gambas (long read)
Posted
#1
(In Topic #1238)
Administrator

Hi all,
I introduced Gambas3 around about 2012 in the company I was working for at that time.
Rolled out a network with Debian servers (I believe Debian 7 at that time) and some Linux Mint 17 clients.
I was running MySql (at that time) on servers, with several front end applications, running in a company that was open for 12 hours a day, 7 days a week.
So stability was a concern and I had stuff running on Windows 2003 servers and Windows XP clients, a dead end in my mind.
The Debian repositories at that time had Gambas 3.1, for Linux Mint I had the ppa with a higher version of course.
So I decided to give packaging a try and manged to package Gambas 3.6.2 at that time and even managed to set up a repository on the Debian servers, hosting Gambas3 internally.
Hell, I even patched some packaging code in there, that Benoit fixed in a later version and I needed in my 3.6.2 version. worked like a charm.
Now, I could develop in Gambas 3.6.2. for both the Mint clients and the Debian servers (I had me some Gambas daemons running there to manage stuff).
Oh, and I also had me banana-pi' s running Lubuntu 14 on armhf that run a Gambas3 written digital pricelist on a screen for customers to see .
The rasperry-pi's at that time couldn't handle the graphical load of the pricelist, so hence the banana-pi's.
I stayed on Gambas 3.6.2. for quite a while as the whole project took me about 3 to 4 years to fully migrate (read re-code) my previous, on Windows XP and Windows 2003 servers, running backoffice.
So, I had two environments running, got the database on Debian and had the windows applications, not yes re-coded to Gambas3, use that as database.
Once all done and Windows gone, some fiddling over the next years to get it all very, very stable, compared to Windows.
Turned out very low maintenance in the end, so I stuck to it for quite a while.
Since I run all my GUI application on Qt (as that seems to work best), my next worry was when OSes needed upgrading and Qt4 would need replacement by Qt5.
Well, you get it, after many years, back to packaging Debian to a more recent Gambas3 version. So, Mint 19 was my choice for the client at that time, as on it you could still have both Qt4 and Qt5 available.
Good OS version for migrating about 6 big Qt4 applications and some tools, step by step, to Qt5, checking all screens, all situations, if positioning is correct, if stuff works as should and so on.
Well you guess it, we are years later again, in a new company that is running my software (version 1) and you guess it, it is time for some upgrading.
The Mint 19 doesn't support all new hardware properly. And I' m done with Ubuntu and it's derivatives, so leaving Mint as well.
And since I want stability over the latest gadgets, in the environment running my software, my choice was Debian, as I know it best, love it's stability and been running it on servers for well over a decade now.
So, I have been running Debian for a while on my laptop. At first I tried the Mint Debian (bullseye) and I was running Gambas 3.15.2, a bit too ancient for me, especially when bookworm was the latest stable.
So, I just went for Debian 12 with a Mate desktop and Gambas 3.18.0. This time I also wanted to take the time to go to a proper next major version of my own software running in the company.
You know, clean up old code, restructure things that might have grown a bit wild and the likes of that.
So, I have slowly been re-coding libraries and daemons I use to their new major version release. And it all seems to work well, until a week ago….
I installed my new daemon on the test server (only cli no gui of course) and it started pulling in gui dependencies!!!!!! WTF!!!
My daemon only needs gb,arg, gb,net and gb.net.curl. and gambas3.runtime.
Step 1: Checking the gambas packaging requirements, none of them should depend on a gui package.
Step 2: Checking the control file of the official debian 3.18.0 version I noticed that runtime is packaged with dependencies on gui component. I noticed that gb-devel was still there instead of gb-dev-tools and some more stuff that wasn't quite as packaging on the Gambas wiki tells how it should be.
Step 3: I had a look at the control file of Gambas 3.18.4 version of Gambas3 ppa and things were quite different there for several packages, when it comes to dependencies and such. I also noticed that, when installing gambas3 (complete package), less is installed by default on Debian, as it is packaged so that only that what runs on all architectures is included. You can still install the other gambas3 packages, they are just not by default installed when doing a apt-get install gambas3.
So, time for a change. Since I need this for production and been testing and re-coding in Gambas 3.18.0, I decided to package Gambas 3.18.4, as this is the latest and most stable one in the 3.18 branch.
I based my control file on the one of the gambas3 ppa (so my packages would have proper naming and dependencies, the Gambas3 way) and the rules file on the Debian official repo one.
I made the recipe to work for i386 and amd64, but added some stuff to make armhf and arm64 work to (not tested yet).
I successfully made gambas 3.18.4 packages, using the proper naming convention and dependencies as mentioned on gambas wiki.
I made them for bookworm (debian 12 stable) i386 and amd64
I made them for bullseye (debian 11 oldstable) i386 and amd64
I made package naming so that I can place them all in one repo for both bookworm and bullseye and all architectures.
I set up a repository on an old PC running as Debian test server at home and got all my systems hooked to the repo for their gambas.
So far so good, the debian12 gambas3 repo works just fine, still need to test bullseye gambas3 repo (will happen this week)
I still have to test the arm64 packaging, but gonna need to get me a Pi for that. Found a debian amd64 image for Pi4 latest model and I will take it from there.
I used qemu for packaging different debian versions and architectures, but it can' t run arm64. I tried. It would be easier to have a arm64 emulator for packaging.
My ultimate goal would be to have an online repository hosted for Debian, preferably provided by Gambas3 community.
So, the Ubuntu boys have their ppa and the debian boys have their gamabs3 hosted repository.
I would be willing to do the packaging, but might run a bit behind on the gambas3 ppa (matter of days or a week, not months)
All I would need is an account on the server, and key of mine on the server to rsync my new local packages to the server in a debian repo structure and signed.
All you need to do is host it on apache2 as virtual directory to a url. I can help you with setting it up as well, I have it running here and an older repo at work, that I am gonna upgrade soon.
Every rsync I do with new version will update the server repo. That is all that needs to be done. As long as webserver is up and hosting the repo all is well.
I was thinking of hosting 2 different repo's:
Example:
http://gambaswiki.org/gambas3-latest -> for latest gambas3 version (so currently 3.19.1). I might be a bit slower that Gambas3 ppa in packaging it, but it will be there.
http://gambaswiki.org/gambas3-longterm -> for gambas 3.18.4, meant for people running stuff in production and wanting to stick to a version for a longer period. So next version here might be gambas 3.20.x (where x is the highest point version of that release)
This manner, people can pick to their liking.
Packages would be for stable (debian 12) and oldstable (debain 11) in i386, amd64 and hopefully arm64/armhf as well, for the pi lovers…
Curious about what you guys think.
Is there a need for a debian repo with latest gambas3?
Is there a need for a somewhat more longterm gambas3 version ?
Is someone willing to host this on their server?
gbWilly
And a nice topic for discussion as well
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

I wish I was still running an off-site server, but alas, I gave up my last one about 4 years ago.
Since I've been running Debian at home for the past 8 years or so, I was wanting to build up to date Gambas packages and host them on my server since Debian's Gambas versions is/was about a year behind. That never materialized and I even stopped using Gambas for several years.
Even if I wanted to rent another dedicated server I wouldn't even know who would be a good company to go with or even how much servers rent for these days. I'd love to have another server to get my sites up and running again.
Too many other things going on right now for me to even be thinking of doing this.
Posted
Guru

A DigitalOcean Droplet is essentially a scalable virtual private server (VPS) provided by DigitalOcean, a cloud infrastructure provider. It is a lightweight, resizable computing platform that allows users to deploy and run applications in the cloud.
Try DigitalOcean with a $200 credit
You will receive a $200 credit (good for 60 days) when you create a new account on DigitalOcean
If it works out for you, a 25GB Droplet costs about USD$7 a month.
The Gambas Playground uses one as does the Gambas Farm on Gambas.One
I do not get anything from Digital Ocean for recommending them.
Posted
Administrator

Concerning the repository:
I have a all-in-one repository setup now providing gambas 3.18.4 for i386 and amd64 for both debian 11 and 12.
I've got it hosted on my old pc running as server in my home network and at my work's intranet, both working fine.
Home is hosting both i386 and amd64 to debian 12 clients and server
Work is hosting i386 and amd64 to debian 11 clients and servers
It is possible to host if on your own system if you install apache2
OR LIKE ME
On a old system you run as server on your local network.
I'm working on a tarball with the repo and some instruction on how to set it up.
I will provide some download location for those interested as soon as done with the instructions and testing them.
Be aware this repo holds the 3.18.4 version. I will be working on a 3.19.1 version of the repo as well.
Also looking into emulate armhf/arm64 using qemu, so I can add some more architectures usable on Raspberry pi's
Ity seems to be possible, but requires some kernel compilation, so new territory for me.
Attached a screenshot of my synaptic package manager showing old vs new on debian 12 bookworm.
gbWilly
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Guru

the free option of packagecloud could be worth looking into.
Pricing | Packagecloud
that could be your own storage and anyone else could access it too
gbWilly said
I'm working on a tarball with the repo and some instruction on how to set it up.
I will provide some download location for those interested as soon as done with the instructions and testing them.
yes a nice easy walkthrough with examples would be amazing
Great stuff sir
Posted
Administrator

Yes, I read your reply and answered you and Lee.I replied on the M/L Willy
the free option of packagecloud could be worth looking into.
Pricing | Packagecloud
Meanwhile I had a short look at their offering for debian apt repositories.
I'm not a big fan of ' free', favored by the fortune 500, as it usually leads to helping them grow, you becoming depended on them.
Free never is free in my experience.
I would prefer a solution where the community hosts a server with all official gambas stuff on + repo's for, at least, those distro's running behind.
Websites should be made by gambas3 on there, to show off what it can, like the wiki and bug tracker.
It should not have to rely on API's and all kinds of layers (that's why I said goodby to developing in Windows and I am not happy about Wayland), but just good core documentation of core mechanisms everyone can replicate. It's all the fancy and the simplicity that gets people over to being depended for stuff they could do by them selves.
I prefer the DIY, as that is where I learn the most, control the most and get challenged the most.
Hell, I would even opt for hosting git for the gambas source on a gambas community server, instead of being depended on gitlab or other giants.
I ran a git server at my previous job, and wrote a simple gui interface to sync my development with the server.
Even had the git repo sync with a backup git server, using git. I hope I documented it well as I don't work there anymore, but do have my documentation from that period.
All gambas 3.6.2 software doing the magic and this long before the ide supported git and gambas was still on subversion (the old days..).
That, to me, would be a true independent open source community for gambas3, with Benoit as our captain..
And it would help promote gambas3 as it' s availability would skyrocket.
But how to run it, how to finance it, would it need an organization (Benoit is not a fan for as far as I know).
Hell, I'm not even a fan of an organization.
Anyway, I'm about to test replicating my documentation of setting up a file repo for gambas 3.18.4 on debian 12 (and later 11).
I set it up on my system (see screenshot of synaptic) and will now test my setup in a few different vm's over the next day.
If it all works out I will provide a tarball with repo and instructions, so you can set it up on your own local debian 11 or 12 system.
Get back to you when all testing is done…
Got 2 done (see attachment)
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

I'll revisit my financial means in 4-6 months as I'm just starting my unemployed life called retirement.
If I get another server and my wife finds out, she might tell me I'm not allowed to be retired!
Posted
Administrator

I have got a filerepo setup written for installing a filerepository for:
bullseye (debian 11)
bookworm (debian 12)
Turns out that it isn't the same for both versions.
bullseye gives you the easy ride, but trying the same tricks on bookworm wasn't quite working.
So I had to tweak it differently and , although all permission are correct, I still get a notice (N
But a notice is no error, so it all works and installs me gambas 3.18.4 from filerepo.
I'll probably open a new post with a tarball that can be unpacked to your drive + proper setup instructions, so you can have gambas 3.18.4 running on your own bookworm or bullseye (vm or not).
This is the longterm repository (so it will hold this gambas version for a while for production environments).
I will be back with a stable repository as well holding current gambas 3.19.1
First need to finish this filerepo stuff, but I did work at the recipe for 3.19.1. Will be testing it soon.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

The gambas 3.18.4 local file repository is tested an working (see above).
My goal is to make 1 big file repository with both 3.18.4 (named long) and 3.19.1 (named stable)
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

Guess I'll be packaging gambas 3.19.2 for the debian stable branch I planned..
Hope I'll find me some time this weekend to , at least, to get started packaging.
Delay was because I´ve been busy on a gambas3 library for exam creation, generation and management.
It has kept me busy for a while, but has been tested today by third party and they where very happy with the initial results.
So, I might have some time this weekend, unless…
P.S.
I have gambas 3.18.4 repo running in a company on internal web server (a debian 11 i386) hosting my repository on the intranet.
All works just fine now for at least a few weeks (can't remember when exactly I introduced it)
The debian 11 servers are running 3.18.4 build software now, clients will follow soon.
An other time consuming thingy at the moment.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

So, I packaged gambas 3.19.2 for both debian 11 and debian 12 and for i386 and amd64 -> so four time packaging.
All went very smooth and so I found some time to start testing my packages as well.
I made a local file repo for 3.19.2 (I called it stable and the 3.18.4 long -> for longterm -> see earlier post) for both bookworm and bullseye (debian 12 and 11)
I have succesfully set up a local file repo on debian 11 i386 and debian 11 amd64 (using my instructions from 3.18.4 file repo setup).
So, I have gambas 3.19.2 running on both architectures from the local file repo.
I still have some time left and I will be testing debian 12 next, as my file repo setup is ready to rumble..
I' ll be back to report on my findings and updated all instructions.
So if all is well I should have some archive files with a complete repository and instructions on how to set up on your local drive.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

Need to do some small tweaks to the instructions and a manner to share it with the public.
Suggestions are welcome…
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

It is advised to unpack the archive from the link into ~/shared. So make a folder shared in you home folder.
Instructions for setting up a file repo are based on stuff being in my ~/shared (so /home/willy/shared) .
So it makes it easier to adapt the instructions to your personal situation if you unpack all in /home/<youruser>/shared.
Further instructions are found once you unpacked all in 2 textfiles (one for Debian 11 and one for Debian 12)
Links to archives have been removed as I am no longer using Dropbox and moved this to GitLab.
See this post for up-to-date information.
NOTES:
- Long or longterm here meaning that gambas 3.18.4 will stay available for a longer period of time, for people using Gambas in production environment.
- Stable meaning that this repo will get a new version a.s.a.p. when there is a new gambas version (although slower that the ubuntu ppa I guess
- Each repo contains amd64 and i386 packages for both Debian 11 and 12 (hope to do armhf/arm64 as well for the pi boys, but still need to figure out how to run it in vm)
- I have tested all situations in vm's and all worked for me
Please report back successes and failures.
Enjoy
Edit: I updated the links to be available for anyone who has the link, so please let me know if downloading the archives works for you.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Guru

I have been busy with other things but am looking forward to your info.
Seems the dropbox is not public access i have had to send a request to access the files.
But I can hopefully do something with the info.
I hope to make some kind of script that will automatically update the archives at some public address/url possibly Packagecloud
Posted
Administrator

Haven't used dropbox in ages, so have to fiddle a little to share it for anyone with a link.
So you should be good in a moment for downloading it.
If you have questions on how to package Gambas3 for debian, just shoot.
P.s. This repo has instructions for setting up a local file repo, but (with different instructions) can be hosted by apache as an online gambas3 repository. I have them running like this at work on a server hosting Gambas3 repo on the intranet and at home in my own intranet on an old Debian 11 server.
My aim would be to have an online server hosting more recent Gambas3 for Debian (kind of like the Ubuntu ppa). All that is needed is an online apache webserver.
I've looked into package cloud, but I'm not a fan, as I guess all works automated with them.
It would mean a reinvest to figure out how they do stuff. No time for that, already to much planned and going on.
I like to keep control of the process and automate it myself, if needed. And I know this process by now.
All you need is a good recipe and from there it is rinse and repeat and sometimes adapt the recipe because of new components or changes in the environment it gets installed to (like no more qt4 available for example) etc.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Guru

But i've always wanted to do something like launchpad PPA for other systems.
Kinda busy with other things at mo but it's winding down so hopefully will have some time to get on this as well.
I will study your info and see what I can possibly do
Thanks again
Posted
Administrator

My laptop with some vm's for packaging and some for testing (using snapshots for getting clean installs)
vm's are pre setup to start packaging (unless new components with new dependencies)
Step 1: Packaging means:
Extracted source code from gitlab gambas3
Add debian folder to source code folder with the recipe
-> the debian folder content is the recipe that tells the packaging application how to configure/compile/install everything
Go to source folder in cli
Issue a command to make the packages (I use dpkg-buildpackage)
Go have a coffee
This for 2 architectures and 2 Debian versions (so 4x packaging)
I gather each packaging in a seperate folder on usb named something like 'incoming-arch-debversion-gambasversion'
Step 2: Setting up repo and get .deb in and signed
Next step is on my system creating a debian repo setup. That means creating a basic folder structure (I have a template for that to copy/past)
Next is importing the incoming folders in a certain order and have them signed at the same time. (I use reprepro)
reprepro creates all other structures and files needed and provides a pool with the .deb files.
Step 3: Test the setup as file repo and online repo
On local systems:
File repo setup is a matter ol using the instructions of old version on the new version and adapt if needed
I do this for all 4 situtions (2 arch.2 debian version) using my test vm's (other that those I package on)
Online repo (intranet in my case):
Using rsync over ssh to sync my updated local created repo with that on the server hosting the repo online.
Issue apt-get update on client systems using the repo and new gambas get's installed.
-> this last configuration can be done with an online webserver for the world to enjoy just as easy.
That would be your debian ppa, so to speak (Debian doesn't do ppa, but ppa's use debian repo format)
A packaging tutorial in short. Documentation is hard to find in my experience.
I have learned most by trial and error
Same with the recipe, I studied debian gambas3 recipes and ppa gambas3 recipes, combined with gambas wiki.
The longer you are at it, the more sense it makes, how it al fits together.
The stuff you do when compiling from source is now written into files for the packaging application to configure/compile/testinstall and make .deb files from.
That is what a recipe is all about.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

This means doing apt-get update will pull gambas3 from your local repo and NOT from official debain anymore (like ppa does for Ubuntu)
I wrote instruction to setup this repo as a webrepo. This means you can setup a server with apache2 hosting the repository online.
Or use your local system as a webserver to host you your gambas (instead of file repo).
Setup is so that you can update your repo on your local pc with new version .deb files and rsync these with the webserver
A new Gambas version will then be automatically available for client systems tio use.
I'll post the content here as I can' t upload text files or tar.xz files containing them
Gambas 3.19.2 on Debian 11 and/or 12
================================================================================
== follow these instructions exactly (they are very case sensitive!!)
== replace '/home/willy/shared' with your own location to gbwilly.gambas3.long
== do a su root or with sudo
== I use useraccount willy in instructions, replace by your useraccount name
== Your server hosting the repo can be on your local system (use 127.0.0.1 as ip)
== <ip of server> can be replaced by FQDN of server if known to host
================================================================================
On your client system
1. First extract gbwilly.gambas3.long to a location (so you can read this file)
-> I will use the folder shared in my home drive as example for extraction (so /home/willy/shared/)
-> you need to end up with /home/willy/shared/gbwilly.gambas3.long
2. open a terminal and install openssh client on your system: (-> you can do this with sudo)
$: su root
$: apt-get install openssh-client rsync
3. As root or with sudo rights:
$: cd /home/willy/shared
$: chown -R willy:root gbwilly.gambas3.long
$: chmod -R 750 gbwilly.gambas3.long
$: cd gbwilly.gambas3.long
$: chmod 640 gbwilly.gambas3* && ls -l
drwxr-x–x 2 willy root 4096 mei 3 11:25 conf
drwxr-x–x 2 willy root 4096 mei 3 22:41 db
drwxr-x–x 4 willy root 4096 mei 3 12:37 dists
-rw-r—– 1 willy root 1745 mei 3 20:54 gbwilly.gambas3.asc
-rw-r—– 1 willy root 1745 mei 3 20:54 gbwilly.gambas3.gpg
drwxr-x–x 3 willy root 4096 apr 30 01:54 pool
4. As user willy (use your own user of choice)
$: mkdir ~/.ssh && cd ~/.ssh
$: ssh-keygen (generate a key named id_rsa.pub in ~/.ssh)
On your webserver (I asume a Debian server for my instructions)
1. Make sure you have a user willy made (or your name of choice, but same as on your local system with extracted repo)
You can add this user to sudo group if you like.
2. Open a terminal and configure and install ssh-server:
$: su root
$: apt-get install openssh-server apache2
Configure the ssh server to accept connections from users based on authenticated keys.
$: nano -w /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
# PubkeyAuthentication yes (unmark this later after we send the client key to server)
$: systemctl restart sshd
On your client system
1. From terminal as user willy copy key to webserver:
$: ssh-copy-id -i id-rsa.pub "willy@<ip of webserver>"
2. Check if it works to connect to webserver
$: ssh willy@<ip of server>
On your webserver (I asume a Debian server for my instructions)
1. Open terminal:
$: su root
$: nano -w /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
PubkeyAuthentication yes (unmark this)
$: systemctl restart sshd
$: exit
2. Continue in terminal as user willy:
$: mkdir /home/willy/shared/gbWilly.gambas3.long
$: chown willy:root /home/willy/shared/gbWilly.gambas3.long
$: chmod 755 //home/willy/shared/gbWilly.gambas3.long
On your client system
1. Open a terminal as user willy to push the repository to the webserver:
$: rsync -avze ssh /home/willy/shared/gbWilly.gambas3.long/* <ip of server>:/home/willy/shared/gbWilly.gambas3.long
This will update the repo on your account on the webserver. This is the way to update your online repo as well.
Make repo ok on local system, rsync to server and done.
On your webserver (I asume a Debian server for my instructions)
1. Now we need to make sure that your repository is published for use. Open a terminal
$: su root
$: mkdir /var/www/public_html/gbwilly.gambas3.intra (-> add an index.html to this folder)
$: chown -R willy:root /var/www/
$: chmod -R 755 /var/www/
$: nano /etc/apache2/sites-available/gbwilly.gambas3.intra
<VirtualHost *:80>
ServerAdmin webmaster@<your ip>
ServerName freya.home.intra
ServerAlias gbwilly.gambas3.intra
DocumentRoot /var/www/public_html/gbwilly.gambas3.intra
<Directory /var/www/public_html/gbwilly.gambas3.intra/>
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
Alias /gambas3-long /home/willy/shared/gbWilly.gambas3.long
<Directory /home/willy/shared/gbWilly.gambas3.long/>
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
</VirtualHost>
$: nano /etc/apache2/ports.conf
LISTEN 80
$: a2ensite gbwilly.gambas3
$: systemctl reload apache2
On your client system
$: su root
$: nano /etc/hosts
<ip of server> gbwilly.gambas3.intra <hostname server>
for debian 12:
$: echo "deb http://gbwilly.gambas3.intra/gambas3-long bookworm main" >> /etc/apt/sources.list
for debian 11:
$: echo "deb http://gbwilly.gambas3.intra/gambas3-long bullseye main" >> /etc/apt/sources.list
$: wget -O - http://develop.eurogarden.intra/gambas3-long/gbwilly.gambas3.intra.gpg | tee /etc/apt/trusted.gpg.d/gbwilly.gambas3.intra.gpg
$: apt-get update
$: apt-get upgrade
$: apt-get install gambas3
3. If updating from 3.18.0 from official make sure to reinstall gambas3-runtime as the 3.18.0 version of official will stick around because of the way it is packaged and conflicts with my version. Installing it will remove the old one and some obselete dependencies and might install new ones (all in the gui section, if running gui applications)
$: apt-get install gambas3-runtime
→ you could also first remove old gambas3 and then reinstall new version
4. If on gui check SynapticPackageManager if all is ok
- open SynapticPackageManager from system menu
- Search for gambas3
- check if all installed packages are 3.19.2-1~debian12
- if not replace the old ones by installing the new ones
5. Report back on any trouble you encounter (or successes as well)
Gambas 3.18.4 on Debian 11 and/or 12
================================================================================
== follow these instructions exactly (they are very case sensitive!!)
== replace '/home/willy/shared' with your own location to gbwilly.gambas3.stable
== do a su root or with sudo
== I use useraccount willy in instructions, replace by your useraccount name
== Your server hosting the repo can be on your local system (use 127.0.0.1 as ip)
== <ip of server> can be replaced by FQDN of server if known to host
================================================================================
On your client system
1. First extract gbwilly.gambas3.stable to a location (so you can read this file)
-> I will use the folder shared in my home drive as example for extraction (so /home/willy/shared/)
-> you need to end up with /home/willy/shared/gbwilly.gambas3.stable
2. open a terminal and install openssh client on your system: (-> you can do this with sudo)
$: su root
$: apt-get install openssh-client rsync
3. As root or with sudo rights:
$: cd /home/willy/shared
$: chown -R willy:root gbwilly.gambas3.stable
$: chmod -R 750 gbwilly.gambas3.stable
$: cd gbwilly.gambas3.stable
$: chmod 640 gbwilly.gambas3* && ls -l
drwxr-x–x 2 willy root 4096 mei 3 11:25 conf
drwxr-x–x 2 willy root 4096 mei 3 22:41 db
drwxr-x–x 4 willy root 4096 mei 3 12:37 dists
-rw-r—– 1 willy root 1745 mei 3 20:54 gbwilly.gambas3.asc
-rw-r—– 1 willy root 1745 mei 3 20:54 gbwilly.gambas3.gpg
drwxr-x–x 3 willy root 4096 apr 30 01:54 pool
4. As user willy (use your own user of choice)
$: mkdir ~/.ssh && cd ~/.ssh
$: ssh-keygen (generate a key named id_rsa.pub in ~/.ssh)
On your webserver (I asume a Debian server for my instructions)
1. Make sure you have a user willy made (or your name of choice, but same as on your local system with extracted repo)
You can add this user to sudo group if you like.
2. Open a terminal and configure and install ssh-server:
$: su root
$: apt-get install openssh-server apache2
Configure the ssh server to accept connections from users based on authenticated keys.
$: nano -w /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
# PubkeyAuthentication yes (unmark this later after we send the client key to server)
$: systemctl restart sshd
On your client system
1. From terminal as user willy copy key to webserver:
$: ssh-copy-id -i id-rsa.pub "willy@<ip of webserver>"
2. Check if it works to connect to webserver
$: ssh willy@<ip of server>
On your webserver (I asume a Debian server my instructions)
1. Open terminal:
$: su root
$: nano -w /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
PubkeyAuthentication yes (unmark this)
$: systemctl restart sshd
$: exit
2. Continue in terminal as user willy:
$: mkdir /home/willy/shared/gbWilly.gambas3.stable
$: chown willy:root /home/willy/shared/gbWilly.gambas3.stable
$: chmod 755 //home/willy/shared/gbWilly.gambas3.stable
On your client system
1. Open a terminal as user willy to push the repository to the webserver:
$: rsync -avze ssh /home/willy/shared/gbWilly.gambas3.stable/* <ip of server>:/home/willy/shared/gbWilly.gambas3.stable
This will update the repo on your account on the webserver. This is the way to update your online repo as well.
Make repo ok on local system, rsync to server and done.
On your webserver (I asume a Debian server for my instructions)
1. Now we need to make sure that your repository is published for use. Open a terminal
$: su root
$: mkdir /var/www/public_html/gbwilly.gambas3.intra (-> add an index.html to this folder)
$: chown -R willy:root /var/www/
$: chmod -R 755 /var/www/
$: nano /etc/apache2/sites-available/gbwilly.gambas3.intra
<VirtualHost *:80>
ServerAdmin webmaster@<your ip>
ServerName freya.home.intra
ServerAlias gbwilly.gambas3.intra
DocumentRoot /var/www/public_html/gbwilly.gambas3.intra
<Directory /var/www/public_html/gbwilly.gambas3.intra/>
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
Alias /gambas3-stable /home/willy/shared/gbWilly.gambas3.stable
<Directory /home/willy/shared/gbWilly.gambas3.stable/>
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
</VirtualHost>
$: nano /etc/apache2/ports.conf
LISTEN 80
$: a2ensite gbwilly.gambas3
$: systemctl reload apache2
On your client system
$: su root
$: nano /etc/hosts
<ip of server> gbwilly.gambas3.intra
$: echo "deb http://gbwilly.gambas3.intra/gambas3-stable bookworm main" >> /etc/apt/sources.list
$: wget -O - http://develop.eurogarden.intra/gambas3-stable/gbwilly.gambas3.intra.gpg | tee /etc/apt/trusted.gpg.d/gbwilly.gambas3.intra.gpg
$: apt-get update
$: apt-get upgrade
$: apt-get install gambas3
3. If updating from 3.18.0 from official make sure to reinstall gambas3-runtime as the 3.18.0 version of official will stick around because of the way it is packaged and conflicts with my version. Installing it will remove the old one and some obselete dependencies and might install new ones (all in the gui section, if running gui applications)
$: apt-get install gambas3-runtime
→ you could also first remove old gambas3 and then reinstall new version
4. If on gui check SynapticPackageManager if all is ok
- open SynapticPackageManager from system menu
- Search for gambas3
- for bullseye: check if all installed packages are 3.18.4-1~debian11
- for bookworm: check if all installed packages are 3.18.4-1~debian12
- if not replace the old ones by installing the new ones
5. Report back on any trouble you encounter (or successes as well)
If you understand the instructions and setup, you will see that only 1 online server and access for me to rsync new version .deb packages is all it takes to have latest gambas on debian. Question is. who has the online server and bandwith to host it, that is all that is missing.
If I could afford I would do it, but I lost my job few years ago and I am at an, apparently to high of an age, to be suited for current IT jobs it seems. I found a part time job barely paying my bills and I' m burning my savings for my pension atm.
Positive thing is I do have a lot off spare time and way less stress.So had some time to update Dutch translations for gambas, update some wiki pages and write some new ones, package gambas for debian and more to come as my brain is filled with ideas…
Oh, and also time to reorganize a lot of older libraries and refurbish old applications I still use, get all my gathered findings in notes etc. into a know how database and write a fucking awesome gambas libraries to manage and approach all that know how in whatever application I want.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
Posted
Administrator

NEW: I have made a Gambas 3.19.3 repo for debian 11 and 12 (i386 and amd64) → almost as fast as Ubuntu ppa… 8-)
Here is the ReadMe of my gitlab repository where you can keep track of what is available to install on both Debian 11 and 12. I hope to add arm64 packages in future for the Pi lovers.
The download links to Dropbox in a previous post will disappear in time as I will be leaving Dropbox.
Any comments, additions, critisisms, questions etc..
Feel free to ask.
gbWilly
P.S. It is a public project, so you can clone instead of download to keep up-to-date (for the gitlab or other git users) with all that is there to download.
gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories
… there is always a Catch if things go wrong!
1 guest and 0 members have just viewed this.











