Create Install package for debian

Post

Posted
Rating:
#1 (In Topic #736)
Avatar
Enthusiast
sadams54 is in the usergroup ‘Enthusiast’
 I am using fedora but need to also distribute my software on debian and ubuntu.
When I use make installation package from the menu I create the 3 distros and the fedora works great.
The other 2 not so much… debian which is the more important one gives me about 2 dozen .deb files with names that differ only with "gtk" or "qt" and I see that with fedora also however I just grab the most generic named one and it works perfect. debian does not have one without the gtk or qt and the install packages are all 1K or under. Needless to say they do not work in debian. ubuntu I can't test until I get it working in a VM for testing.

clearly I am doing something wrong for creating installation files for debian on my fedora machine. What am I doing wrong?
Online now: No Back to the top

Post

Posted
Rating:
#2
Avatar
Regular
thatbruce is in the usergroup ‘Regular’
 Firstly, clean out all the files in the target directory or change the target directory. This is so we have a "debuggable" work area.
Then, repackage your project again. BUT only generate ONE Debian based package type (preferably just Debian and not Ubuntu)
Post the package build log AND the settings you used on page 1 of the wizard.

Then we might be able to help.
b

Online now: No Back to the top

Post

Posted
Rating:
#3
Guru
BruceSteers is in the usergroup ‘Guru’

thatbruce said

Firstly, clean out all the files in the target directory or change the target directory. This is so we have a "debuggable" work area.
Then, repackage your project again. BUT only generate ONE Debian based package type (preferably just Debian and not Ubuntu)
Post the package build log AND the settings you used on page 1 of the wizard.

Then we might be able to help.
b

Welcome to Gambas one Bruce :)   (great name you have there ;) )

If anyone can help you with this sadams54 it's thatBruce. (He wrote some the IDE package enhancements so understands the packager stuff well)

And if there is a bug you can help too by following Bruce's steps to track the bug down. then it will get fixed :)
Online now: No Back to the top

Post

Posted
Rating:
#4
Avatar
Enthusiast
sadams54 is in the usergroup ‘Enthusiast’

BruceSteers said

thatbruce said

Firstly, clean out all the files in the target directory or change the target directory. This is so we have a "debuggable" work area.
Then, repackage your project again. BUT only generate ONE Debian based package type (preferably just Debian and not Ubuntu)
Post the package build log AND the settings you used on page 1 of the wizard.

Then we might be able to help.
b

Welcome to Gambas one Bruce :)   (great name you have there ;) )

If anyone can help you with this sadams54 it's thatBruce. (He wrote some the IDE package enhancements so understands the packager stuff well)

And if there is a bug you can help too by following Bruce's steps to track the bug down. then it will get fixed :)

when I tried this I got a working debian install. Seems it does not work well with the others selected. I will have to do one at a time. This however brings me to the next problem.
Seems the gambas3-runtime does not exist for debian 11? is this true or do I have to do the equivalent in fedora of installing more repos? if so how?
Online now: No Back to the top

Post

Posted
Rating:
#5
Avatar
Regular
thatbruce is in the usergroup ‘Regular’
I will have to do one at a time.
Here's a clue, on the Destination Directory page of the wizard, there is a teeny-tiny leetle box at the bottom that says "Create directories for each distribution".

This however brings me to the next problem.
Seems the gambas3-runtime does not exist for debian 11? is this true or do I have to do the equivalent in fedora of installing more repos? if so how?
Sorry, I am afraid I have no idea what you are saying. Are you talking about the debian packagers? The Gambas team do not make the distro packages (except the ppa).

best of luck
b

Online now: No Back to the top

Post

Posted
Rating:
#6
Avatar
Enthusiast
sadams54 is in the usergroup ‘Enthusiast’

thatbruce said

I will have to do one at a time.
Here's a clue, on the Destination Directory page of the wizard, there is a teeny-tiny leetle box at the bottom that says "Create directories for each distribution".

This however brings me to the next problem.
Seems the gambas3-runtime does not exist for debian 11? is this true or do I have to do the equivalent in fedora of installing more repos? if so how?
Sorry, I am afraid I have no idea what you are saying. Are you talking about the debian packagers? The Gambas team do not make the distro packages (except the ppa).

best of luck
b

I will try the create directories but long as they work I am good.

What I am meaning about debian is that it can't resolve the dependancy of Gambas3-runtime version 3.15 or higher. I also can't install the runtime manually as gambas3-runtime is not found in the debian repositories. I am wondering if they exist for Debian 11 or is there another repository I need to install to get to gambas runtime
Online now: No Back to the top

Post

Posted
Rating:
#7
Avatar
Regular
stevedee is in the usergroup ‘Regular’

sadams54 said

…What I am meaning about debian is that it can't resolve the dependancy of Gambas3-runtime version 3.15 or higher. I also can't install the runtime manually as gambas3-runtime is not found in the debian repositories. I am wondering if they exist for Debian 11 or is there another repository I need to install to get to gambas runtime

If I'm reading this right, this page: Debian -- Details of source package gambas3 in bullseye  
seems to indicate that Gambas runtime interpreter is included for Gambas3 v3.15.2 on Debian 11/Bullseye

So are you saying that this is not the case? Maybe double check that you are looking at the right repository.
Online now: No Back to the top

Post

Posted
Rating:
#8
Guru
BruceSteers is in the usergroup ‘Guru’
My Debian11…

Code

bonus@debian:~$ apt-cache search gambas3*
gambas3 - Complete visual development environment for Gambas
gambas3-devel - Gambas compilation tools
gambas3-examples - Gambas examples
gambas3-gb-args - Gambas arguments parser
gambas3-gb-cairo - Gambas bindings for cairo
gambas3-gb-chart - Gambas charting component
gambas3-gb-clipper - Gambas Clipper component
gambas3-gb-complex - Gambas Complex component
gambas3-gb-compress - Gambas compression component
gambas3-gb-compress-bzlib2 - Gambas bzlib2 component
gambas3-gb-compress-zlib - Gambas zlib compression component
gambas3-gb-crypt - Gambas crypt encription component
gambas3-gb-data - Gambas abstract datatypes component
gambas3-gb-db - Gambas database access common libraries
gambas3-gb-db-form - Gambas database bound controls
gambas3-gb-db-mysql - MySQL driver for the Gambas database
gambas3-gb-db-odbc - ODBC driver for the Gambas database
gambas3-gb-db-postgresql - PostgreSQL driver for the Gambas database
gambas3-gb-db-sqlite3 - Gambas sqlite3 driver database
gambas3-gb-dbus - Gambas bindings for DBUS
gambas3-gb-dbus-trayicon - System tray icon management for Gambas
gambas3-gb-desktop - Gambas Portland project compatibility component
gambas3-gb-desktop-x11 - Gambas Portland project compatibility component for X11
gambas3-gb-eval-highlight - Gambas syntax highlighting component
gambas3-gb-form - Gambas native form component
gambas3-gb-form-dialog - Gambas native dialog form component
gambas3-gb-form-editor - Gambas native editor form component
gambas3-gb-form-mdi - Gambas native mdi form component
gambas3-gb-form-print - Gambas print form component
gambas3-gb-form-stock - Gambas form stock icons
gambas3-gb-form-terminal - Gambas terminal form component
gambas3-gb-gmp - Gambas GMP component
gambas3-gb-gsl - Gambas GNU Scientific Library component
gambas3-gb-gtk3 - Gambas GTK+3 component
gambas3-gb-gui - Gambas graphical toolkit selector
gambas3-gb-gui-opengl - transitional package
gambas3-gb-gui-qt - transitional package
gambas3-gb-gui-qt-webkit - transitional package
gambas3-gb-gui-trayicon - transitional package
gambas3-gb-httpd - Gambas HTTP server
gambas3-gb-image - Gambas image effects
gambas3-gb-image-effect - Gambas image effects: effects
gambas3-gb-image-imlib - Gambas image effects: IMLIB bindings
gambas3-gb-image-io - Gambas image effects: I/O
gambas3-gb-inotify - Gambas filesystem events monitoring component
gambas3-gb-jit - Gambas Just-In-Time compiler component
gambas3-gb-libxml - Gambas libxml component
gambas3-gb-logging - Gambas logging system component
gambas3-gb-map - Gambas online map viewer
gambas3-gb-markdown - Gambas markdown convert component
gambas3-gb-media - Gambas media component
gambas3-gb-media-form - Gambas media player controls
gambas3-gb-memcached - Gambas memcached client
gambas3-gb-mime - Gambas MIME message management
gambas3-gb-mysql - Gambas MySQL component
gambas3-gb-ncurses - Gambas NCurses component
gambas3-gb-net - Gambas networking component
gambas3-gb-net-curl - Gambas advanced networking component
gambas3-gb-net-pop3 - Gambas POP3 client implementation
gambas3-gb-net-smtp - Gambas smtp protocol component
gambas3-gb-openal - Gambas OpenAL component
gambas3-gb-opengl - Gambas OpenGL component
gambas3-gb-opengl-glsl - Gambas OpenGL component: GL Shading Language subcomponent
gambas3-gb-opengl-glu - Gambas OpenGL utility
gambas3-gb-opengl-sge - Gambas SDL Game Engine
gambas3-gb-openssl - Gambas OpenSSL component
gambas3-gb-option - Gambas option component
gambas3-gb-pcre - Gambas regexp component
gambas3-gb-pdf - Gambas pdf component
gambas3-gb-poppler - Gambas poppler component
gambas3-gb-qt5 - Gambas Qt5 GUI component
gambas3-gb-qt5-ext - Gambas extended Qt GUI component
gambas3-gb-qt5-opengl - Gambas OpenGL component with QT5 toolkit
gambas3-gb-qt5-webkit - Gambas WebKit component
gambas3-gb-report - Gambas report component
gambas3-gb-report2 - Gambas report2 component
gambas3-gb-scanner - Gambas scanner component
gambas3-gb-sdl - Gambas SDL component
gambas3-gb-sdl-sound - Gambas SDL sound component
gambas3-gb-sdl2 - Gambas SDL2 component
gambas3-gb-sdl2-audio - Gambas SDL2 audio component
gambas3-gb-settings - Gambas utilities class
gambas3-gb-signal - Gambas OS signal library
gambas3-gb-term - Terminal manager for Gambas
gambas3-gb-term-form - Gambas GUI terminal form component
gambas3-gb-util - This component provides many useful utility methods or classes
gambas3-gb-util-web - This component provides many utilities useful for web applications
gambas3-gb-v4l - Gambas video for Linux component
gambas3-gb-vb - Gambas Visual Basic(tm) compatibility component
gambas3-gb-web - Gambas CGI for web applications
gambas3-gb-web-feed - Gambas web feed parser and generator
gambas3-gb-web-form - Gambas web application component
gambas3-gb-web-gui - Gambas web application GUI component
gambas3-gb-xml - Gambas XML component
gambas3-gb-xml-html - Gambas HTML component
gambas3-gb-xml-rpc - Gambas RPC component
gambas3-gb-xml-xslt - Gambas XSLT component
gambas3-ide - Visual development environment for the Gambas programming language
gambas3-runtime - Gambas runtime interpreter
gambas3-scripter - Gambas scripter

That's using Debian main server

that is gambas 3.15.2

To get a newer gambas than that you have to use the autotools install and remove the 3.15.2 apt installed version.
/install - Gambas Documentation
You're not adding the PPA are you?  PPA is for Ubuntu based systems only, not debian.
Online now: No Back to the top

Post

Posted
Rating:
#9
Guru
BruceSteers is in the usergroup ‘Guru’
I've been down this road a few times.
This is why i made the gambas upgrader scripts/apps i did.
You either use gambas on one machine then 3.16 is just completely usable as is..

Or, for cross compatibility across other systems you have these choices…
The main problem is backward compatibility. a 3.16 app won't work on 3.15 (unless you know how) but a 3.15 will work fine on 3.16
So……

Upgrade the other systems to 3.16
Only Ubuntu/Mint/Etc can use the easiest apt PPA method
Other systems will need to use auto-tools method.


to write apps on 3.16+
You MUST ensure they have backward compatibility for older gambas versions (do not use code that did not exist on older gambas)
Ie..

Code (gambas)

  1. You must add an Environment variable GB_PCODE_VERSION to your project in the properties window
  2. Eg.
  3. GB_PCODE_VERSION = 3.15
  4. Then older gambas versions will run it and not say bytecode error.
  5.  
  6. Write apps on 3.15 gambas
  7. (or write them on 3.16 but have gambas 3.15 on a system that you can load it and compile it/make exe)
  8.  
  9.  
  10. Some tricks if using 3.16 code..
  11. the use of "Try" can really help
  12.  
  13. For example..
  14. [code numbers="1" param="gambas" scroll="1"]
  15. Try MyPanel.Centered = True
  16. [/code]
  17.  
  18. As Panel.Centered is a new 3.16 parameter it will raise an error if you do not use Try on 3.15.
  19. but then your panel will not be centered on older gambas so for true compatibility you should do things the old way and not use any new code at all.
Online now: No Back to the top

Post

Posted
Rating:
#10
Guru
BruceSteers is in the usergroup ‘Guru’

sadams54 said

 ubuntu I can't test until I get it working in a VM for testing.

clearly I am doing something wrong for creating installation files for debian on my fedora machine. What am I doing wrong?

Never mind VMs  just add a partition to your hard drive and install a full speed os.

when my computer boots up i get a grub menu that gives me a choice of about 14 different os's to boot into for my testing needs.
Variants of Mint, ubuntu, debian, manjaro, mandriva, mageia,
To be honest 14 is kinda excessive if update-grub gets run it takes ages lol :)

Here's just the ones with gambas installed..
(attachment removed)

but working with VM's is slower than the occasional update-grub command being run
Online now: No Back to the top

Post

Posted
Rating:
#11
Avatar
Enthusiast
sadams54 is in the usergroup ‘Enthusiast’

BruceSteers said

sadams54 said

 ubuntu I can't test until I get it working in a VM for testing.

clearly I am doing something wrong for creating installation files for debian on my fedora machine. What am I doing wrong?

Never mind VMs  just add a partition to your hard drive and install a full speed os.

when my computer boots up i get a grub menu that gives me a choice of about 14 different os's to boot into for my testing needs.
Variants of Mint, ubuntu, debian, manjaro, mandriva, mageia,
To be honest 14 is kinda excessive if update-grub gets run it takes ages lol :)

Here's just the ones with gambas installed..
Screenshot from 2021-09-09 14-18-23.png

but working with VM's is slower than the occasional update-grub command being run

the reason I use a VM is so I can do a snapshot and easily in just minutes revert it back to a clean state without complete reinstall. Not to mention that dual booting is a pain in the ass. I keep the VM's so I can test clean installs so partitions are just not going to cut it.
Online now: No Back to the top

Post

Posted
Rating:
#12
Avatar
Enthusiast
sadams54 is in the usergroup ‘Enthusiast’

stevedee said

sadams54 said

…What I am meaning about debian is that it can't resolve the dependancy of Gambas3-runtime version 3.15 or higher. I also can't install the runtime manually as gambas3-runtime is not found in the debian repositories. I am wondering if they exist for Debian 11 or is there another repository I need to install to get to gambas runtime

If I'm reading this right, this page: Debian -- Details of source package gambas3 in bullseye  
seems to indicate that Gambas runtime interpreter is included for Gambas3 v3.15.2 on Debian 11/Bullseye

So are you saying that this is not the case? Maybe double check that you are looking at the right repository.

correct, I am saying it is not the case. when I do apt-get install gambas3-runtime  the software is not found by debian. Keep in mind I am not a debian guy. I am fedora so when it comes to repos for debian I am lost. if something is missing like a repo please tell me how to fix.
Online now: No Back to the top

Post

Posted
Rating:
#13
Avatar
Regular
thatbruce is in the usergroup ‘Regular’
Well, a quick look through the debian 15.2 packages themselves (from that link you provided) reveals that the runtime is only packaged for the mipsel architecture. In fact, having a geezer at other Gambas3 packages it looks like they were put together by a "committee". Some for this architecture and some for that.
I recall now that a bulletin board "helper" said to me recently that he was damned if he knew or understood how debian decides to package some things. Now I see what he meant.
You will have to contact debian and get them to build an arm64 package (if that's your architecture).

b

Online now: No Back to the top

Post

Posted
Rating:
#14
Avatar
Regular
thatbruce is in the usergroup ‘Regular’
What I am about to tell you is <COLOR color="#FF8000">absolutely top secret and you should not show it to any one else!</COLOR>

The Gambas packager assumes that you have installed Gambas from a packaged origin i.e. as binaries from some distro or other. However, not all distros package Gambas in the structure recommended in the wiki. Well I mean, why should they, after all they know better, don't they.  :roll:  :roll:  :roll:
Your problem is one example of the results of their "better" approach.

(Back to Gambas) It is, of course, impossible for us to guess what package structure a particular distro decides to use for such and such a version of Gambas.  All we can do is code for the recommended structure. So, the package builder and in particular I will talk of the Gambas package builder for Debian, includes requires lists. There are two lists, one for building the package (i.e. the current system you are building <COLOR color="#4000FF">on</COLOR>) and one included in the package (and by "in" I mean "inside") that is <COLOR color="#4000FF">for</COLOR> the target system.
(From memory, RPM "spec" based builds are the same.)

The upshot of these two lists are that
<LIST>
  • <LI>you will not be able to build the target package unless you have those packages for your distro installed on your machine</LI>
</LIST>
<LIST>
  • <LI>you will not be able to install the target package on the target machine unless it has the packages in the second list installed</LI>
</LIST>
<COLOR color="#FF0000">You should not need the debian runtime package to be installed on your build machine in order to build debian packages via the IDE packaging faculty. If you do so need, then we have a bug.</COLOR>

Sshhhhh! IMO you should also not need the "packages" for the build machine distro installed on the build machine. BruceS knows this fully well. Further, there is a way around it. But it is secret because someone, possibly with the initials BM, would probably nuke South Australia if he found that I was suggesting this.
To build debian packages so there are no "requires" dependencies takes only a very small modification or two of the IDE itself. In the Package module (in the Packager tree) there are several calls to GetDependencies() from the MakeDebPackage() method. By replacing those calls with a null-string literal you wont generate the dependencies in the builder list or the target list. Et voila! Packages build. BUT <COLOR color="#FF0000">if you do go down this road, don't ask for support from the Gambas development team and finally:</COLOR>
<COLOR color="#FF0000">
Now you have read this I'm afraid that I have to kill you.</COLOR>

Online now: No Back to the top

Post

Posted
Rating:
#15
Avatar
Enthusiast
sadams54 is in the usergroup ‘Enthusiast’
THis is the result when I try to manually install the gambas3-runtime…

Image

(Click to enlarge)


if this is a debian issue I understand. but I want to make sure it is not something I am not doing. If it is I want to learn what my mistake is.
Online now: No Back to the top

Post

Posted
Rating:
#16
Guru
BruceSteers is in the usergroup ‘Guru’
looks like you only have the security debian repository set up , you need main and contrib too.
This happens when you choose not to select a network mirror at install

From debian website…
Using a repository is fairly simple: For the official Debian repository open /etc/apt/sources.list, insert the line

deb Index of /debian stable main contrib non-free

then run
apt update

Online now: No Back to the top

Post

Posted
Rating:
#17
Guru
BruceSteers is in the usergroup ‘Guru’
 ps. you can use apt-cache to find what gambas3 packages are available from your configured repositories.

apt-cache search "gambas3*"
Online now: No Back to the top

Post

Posted
Rating:
#18
Avatar
Enthusiast
sadams54 is in the usergroup ‘Enthusiast’

BruceSteers said

looks like you only have the security debian repository set up , you need main and contrib too.
This happens when you choose not to select a network mirror at install

From debian website…
Using a repository is fairly simple: For the official Debian repository open /etc/apt/sources.list, insert the line

deb Index of /debian stable main contrib non-free

then run
apt update


thank you. That was what I was looking for. also looks like the pathing was not set in the debian install. You helped me figure out the problems. Seems debian does not install as well as others but now I know how to fix so thank you and it works on debian.  :D  :D  :D  :D  :D  :D  :D  :D  :D  :D
Online now: No Back to the top
1 guest and 0 members have just viewed this.