Debian and Gambas (long read)

Post your Gambas programming questions here.
Post Reply
User avatar
gbWilly
Posts: 72
Joined: Friday 23rd September 2016 11:41am
Location: Netherlands
Contact:

Debian and Gambas (long read)

Post by gbWilly »

As posted on the gambas mailing list by me, but probably of interest to some of you here:
---
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
- Dutch translation for Gambas3
- Gambas wiki content contributer


... there is always a Catch if things go wrong!
User avatar
Got2BeFree
Posts: 104
Joined: Saturday 26th November 2016 2:52am
Location: Lost

Re: Debian and Gambas (long read)

Post by Got2BeFree »

Why did you have to post this? :evil: Now I'm going to be thinking about how to fit this into my list of things to do. :evil: :lol:

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.
sholzy

I'm wondering around lost in the past, not knowing where the present is.
User avatar
cogier
Site Admin
Posts: 1129
Joined: Wednesday 21st September 2016 2:22pm
Location: Guernsey, Channel Islands

Re: Debian and Gambas (long read)

Post by cogier »

Why not have a look at Digital Ocean: -
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.
User avatar
gbWilly
Posts: 72
Joined: Friday 23rd September 2016 11:41am
Location: Netherlands
Contact:

Re: Debian and Gambas (long read)

Post by gbWilly »

Thanks for the replies.
@cogier: Not up for hosting my own, lack the financial means atm.

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
Attachments
gambas3.18.4-1.png
gambas3.18.4-1.png (182.86 KiB) Viewed 235 times
gbWilly
- Dutch translation for Gambas3
- Gambas wiki content contributer


... there is always a Catch if things go wrong!
User avatar
BruceSteers
Posts: 1607
Joined: Thursday 23rd July 2020 5:20pm
Location: Isle of Wight
Contact:

Re: Debian and Gambas (long read)

Post by BruceSteers »

I replied on the M/L Willy
the free option of packagecloud could be worth looking into.
https://packagecloud.io/pricing/

that could be your own storage and anyone else could access it too :)
gbWilly wrote: 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 :)
If at first you don't succeed , try doing something differently.
BruceS
User avatar
gbWilly
Posts: 72
Joined: Friday 23rd September 2016 11:41am
Location: Netherlands
Contact:

Re: Debian and Gambas (long read)

Post by gbWilly »

I replied on the M/L Willy
the free option of packagecloud could be worth looking into.
https://packagecloud.io/pricing/
Yes, I read your reply and answered you and Lee.
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)
Attachments
gambas-3.18.4-debian11-amd64-file-repo.png
gambas-3.18.4-debian11-amd64-file-repo.png (291.78 KiB) Viewed 205 times
gambas-3.18.4-debian11-i386-file-repo.png
gambas-3.18.4-debian11-i386-file-repo.png (295.1 KiB) Viewed 206 times
gbWilly
- Dutch translation for Gambas3
- Gambas wiki content contributer


... there is always a Catch if things go wrong!
User avatar
Got2BeFree
Posts: 104
Joined: Saturday 26th November 2016 2:52am
Location: Lost

Re: Debian and Gambas (long read)

Post by Got2BeFree »

My internet provider wouldn't allow a web server since it's not a commercial account. Besides, my upload speeds are only about 45 Mbps (on a good day). I've thought about getting a commercial account so I could have a server at home, but it would be cheaper for me to rent a dedicated server.

I'll revisit my financial means in 4-6 months as I'm just starting my unemployed life called retirement. :lol: At that time, if I can swing it financially, I'll have another server for my own websites again and for hosting a Gambas repo.

If I get another server and my wife finds out, she might tell me I'm not allowed to be retired! :lol:
sholzy

I'm wondering around lost in the past, not knowing where the present is.
User avatar
gbWilly
Posts: 72
Joined: Friday 23rd September 2016 11:41am
Location: Netherlands
Contact:

Re: Debian and Gambas (long read)

Post by gbWilly »

Successfully installed gambas 3.18.4 from local file repository on bookworm (debian12)
gambas-3.18.4-debian12-i386-file-repo.png
gambas-3.18.4-debian12-i386-file-repo.png (275.72 KiB) Viewed 174 times
gambas-3.18.4-debian12-amd64-file-repo.png
gambas-3.18.4-debian12-amd64-file-repo.png (300.52 KiB) Viewed 174 times
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:) from apt that it can't get there, so it used root!!
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
- Dutch translation for Gambas3
- Gambas wiki content contributer


... there is always a Catch if things go wrong!
Post Reply