Understanding the Qtplasmac update process

More
17 Aug 2023 22:04 - 17 Aug 2023 22:05 #278306 by beefy
Snowgoer kindly added a new external hal pin to Qtplasmac yesterday.

I'm trying to get my head around how Qtplasmac is updated. So Qtplasmac is not Linuxcnc, it is just a part of Linuxcnc.
Therefore, when a small change gets made to Qtplasmac, we do not have a new version of Linuxcnc.
And so if I was to type:

sudo apt update
sudo apt dist-upgrade

then I would NOT get the small change that was made to Qtplasmac yesterday, because that small change did not create a new version of Linuxcnc. Correct ??

So the manual tells us to use the "buildbot" method. Can someone give me a rough idea in layperson terms what buildbot actually is, and why we use that for minor changes to Qtplasmac.
Last edit: 17 Aug 2023 22:05 by beefy.

Please Log in or Create an account to join the conversation.

More
17 Aug 2023 22:31 #278308 by tommylight

So the manual tells us to use the "buildbot" method. Can someone give me a rough idea in layperson terms what buildbot actually is, and why we use that for minor changes to Qtplasmac.

buildbot.linuxcnc.org/buildbot/
buildbot.linuxcnc.org/
Buildbot takes some time to build new "builds" of LinuxCNC as it has to build a lot of stuff with many versions supported on many Linux distros and processor architectures, just have a look at the first link.
Usually a day or two, but if any errors are found during the build process, it takes more till the errors are fixed.
The following user(s) said Thank You: snowgoer540

Please Log in or Create an account to join the conversation.

More
17 Aug 2023 22:49 #278310 by snowgoer540
I think the short answer is the buildbot may be stuck, it seems to happen from time to time.  I tried to pull down the updated package too and it was still version 283.

In the simplest terms, QtPlasmaC is a GUI that's part of the LinuxCNC project.

You have a few main methods of using LinuxCNC (the docs are not included in this discussion):
1. Pre-Compiled Package install (buildbot) - this is what you have, it utilizes pre-compiled .deb files to get LinuxCNC onto your computer.
2. Run In Place (RIP) - this requires cloning the github project, and then compiling the project on your computer to be able to use it.  
3. Compile the packages yourself from the cloned github project and install them.

The end result is essentially the same as far as how they are used.  What is different is how accessible the files are for development.  Most of the developers here use #2, and most general users here use #1.  

For option 1, these pre-compiled packages are made via the BuildBot.  Any time a change is made to the project, the buildbot gets busy compiling the .deb files for each of the systems listed here:  buildbot2.highlab.com/buildbot/#/  (this is for the new "secret" buildbot)  So, when we make a small change to QtPlasmaC, the buildbot compiles the entire project.  This creates a new build, and is essentially your new "version" of LinuxCNC.  The worst part of this option is the wait for the build.

One appeal in using Option #2 as a non-developer if you can handle all of the commands (which are actually minimal after the initial compile) is that the changes that are pushed to the github project are available immediately for you to pull to your system, and compile locally.  Generally speaking, most users are turned off by this because it may take longer (the changes I pushed would have been instant though, as they didnt require any compilation), sometimes goes awry, and requires launching linuxcnc from the terminal (or making a purpose built icon to do it for you).  You dont get the nice menu list (windows-like) that most are used to for programs.  There's other things too, but I dont want to bog this down further than I probably already have

#3 is an option too, but takes even longer, and more steps to have an updated machine.

Hopefully that helped more than it hurt.

Please Log in or Create an account to join the conversation.

More
17 Aug 2023 23:06 #278311 by tommylight


#3 is an option too, but takes even longer, and more steps to have an updated machine.

Two things to add here,
-time it takes to compile depends on processor speed and core count, faster and more cores=faster compile
-time also is very dependent on if compiling documentation, it is much faster without documents
Last time i compiled on a quad core laptop it took probably 5-8 minutes without docs
On an 8 core Ryzen 7 3700X took about 2 minutes, probably, i was distracted
--
And another thing while we are at it, this is for anyone able to add to compiling LinuxCNC howto's
Please add a line on how to compile without the documentation, it does cause failures to compile very often and also takes a long time, like really long time to compile with them.

Please Log in or Create an account to join the conversation.

More
18 Aug 2023 00:05 #278313 by beefy
Thanks very much guys for those detailed explanations. Going to copy that all to a file for reference.

I'm finding a lot of learning Linuxcnc hurts   but the help is always more than the hurt. Just part of what I have to go through to get there.

I haven't actually tried to download yet. Had plenty other mini task on my hands related to reprogramming my pendant, the microcontroller and updating the hal files. When I read the Qtplasmac manual on updating, I just wanted to get a better understanding of when to use the sudo apt update.................. and when to use the buildbot update method instead.

The wife is dragging me out with her now so with a bit of luck, when I'm back the update may be ready.

Please Log in or Create an account to join the conversation.

More
18 Aug 2023 00:43 #278314 by phillc54
The Update section in the QtPlasmaC doc is based on the premise that the user has an installed version of the LinuxCNC ISO.
When 2.9 is released then we will rewrite that section to suit what is then current.

For users wishing to use a package install then currently it is probably best to setup apt to use the "new" buildbot as that includes later Linux distributions:
buildbot2.highlab.com
Using sudo apt update then sudo apt dist-upgrade will upgrade everything, including LinuxCNC which includes QtPlasmaC.

Both buildbots are currently up to date.

Please Log in or Create an account to join the conversation.

More
18 Aug 2023 07:54 #278331 by beefy
OK, cheers Phill.

So I did the sudo apt update then sudo apt dist-upgrade and then opened a sim config and halshow and the new external hal pin was there.

Pretty happy.

Please Log in or Create an account to join the conversation.

More
18 Aug 2023 08:46 #278335 by rodw
Tommy, the available parameters are full documented in the building Linuxcnc docs under heading 3.2.1 near here
linuxcnc.org/docs/2.9/html/code/building...ding_debian_packages

Beefy, the old Plasmac guys are used to building from source because at the beginning we had to build  a version from Phil's private repo. Roll back a bit further and you had to compile the PREEMPT_RT kernel to use a Mesa Ethernet card (when I started) so compiling linuxcnc was not that much more work.
I do now prefer the convenience of  the Deb installs but for speed of updates, you can't beat the RUN IN PLACE (RIP) install.
If the guys commit some changes, its instantly available with 3 lines in the terminal.
Whilst it can take time to build, a lot of the time for QTplasmac changes, its just python code so the build process is almost instant.
You should give it a go now you are pushing the limits. Just go to the top of the docs I linked to above. I did a video of it showing how it can be built on any platform (including a Chromebook)

 
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
18 Aug 2023 10:56 #278345 by tommylight

Tommy, the available parameters are full documented in the building Linuxcnc docs under heading 3.2.1 near here
linuxcnc.org/docs/2.9/html/code/building...ding_debian_packages
 


Oh good, thank you.

Please Log in or Create an account to join the conversation.

More
18 Aug 2023 11:02 #278346 by beefy
Great info Rod, thanks a lot.

Damn it I'm running out of time. I've had some time off between jobs and I'm starting a new one on Monday. I've made such great progress with the coding, the ironing out the bugs, and learning new Linuxcnc stuff. Why do we have to work LOL.

It gets to be like a drug when you get in deeper and your hard work starts paying off.
The following user(s) said Thank You: tommylight, rodw

Please Log in or Create an account to join the conversation.

Moderators: snowgoer540
Time to create page: 0.201 seconds
Powered by Kunena Forum