Pi FW3.2 upgrade glitch?
-
Hi *,
I use 3.2-beta4 on my raspi controlled duet3. I wanted to upgrade to 3.2(final) to get away of "beta4". So I realized that this is actually not so easy to achieve. Step by step:
I changed the apt repo from "unstable" to stable.
I cleared the local package cache - to be on the save site.root@Blimy:~# apt update Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease Hit:2 http://archive.raspberrypi.org/debian buster InRelease Hit:3 https://packages.grafana.com/oss/deb stable InRelease Hit:4 https://repos.influxdata.com/debian buster InRelease Hit:5 https://pkg.duet3d.com stable InRelease Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date. root@Blimy:~#
But there is no update:
root@Blimy:~# apt list --upgradable Listing... Done root@Blimy:~#
Installed is beta4:
root@Blimy:~# dpkg -l | grep duet ii duetcontrolserver 3.2.0-beta4 armhf Control server application for Duet 3 series ii duetruntime 3.2.0-beta4 armhf .NET Core runtime libraries for the Duet software framework ii duetsd 1.1.0 all Virtual SD card directory for the Duet software framework ii duetsoftwareframework 3.2.0-beta4 armhf Meta package for the full Duet software framework ii duettools 3.2.0-beta4 armhf Optional tools (code examples) ii duetwebcontrol 3.2.0-beta4 all Official web interface for Duet electronics ii duetwebserver 3.2.0-beta4 armhf Optional web server for Duet 3 series root@Blimy:~#
I think the situation is clear, "3.2.0-beta4" is "higher" than "3.2.0" for the beloved debian eco system. Yes, I can force a downgrade by more than one way. But this is not very convenient. I have no other idea to be honest, Debian is how it is, the debian guys work around that by adding something like a "build No." : 2.2.53-4 (the 4) or a date: "1.3~20120408-5.1".
This is something you may like to think about.
Do not get me wrong, I do not ask for a solution, I have one, but I'm sure that not everybody can deal with this kind of "problems" and you may like to improve here.
Cheers, Chriss
-
Did you see the note on the release page?
https://github.com/Duet3D/RepRapFirmware/releases/tag/3.2
Users running an unstable firmware version (for example, any 3.2beta or 3.2RC version) on Duet + SBC, run sudo apt-get update followed by sudo apt-get upgrade duetsoftwareframework=3.2.0 duetcontrolserver=3.2.0 duetwebserver=3.2.0 duettools=3.2.0 duetruntime=3.2.0 duetsd=1.1.0 duetwebcontrol=3.2.0 reprapfirmware=3.2.0-1
For me, in the long run I use a separate SD card entirely for testing beta releases. Just a work around, I know, but probably best practice to keep test environment separate anyway.
-
@Chriss https://github.com/Duet3D/RepRapFirmware/releases/tag/3.2
Bullet point #2:
Users running an unstable firmware version (for example, any 3.2beta or 3.2RC version) on Duet + SBC, run sudo apt-get update followed by sudo apt-get upgrade duetsoftwareframework=3.2.0 duetcontrolserver=3.2.0 duetwebserver=3.2.0 duettools=3.2.0 duetruntime=3.2.0 duetsd=1.1.0 duetwebcontrol=3.2.0 reprapfirmware=3.2.0-1
-
@Phaedrux said in Pi FW3.2 upgrade glitch?:
For me, in the long run I use a separate SD card entirely for testing beta releases. Just a work around, I know, but probably best practice to keep test environment separate anyway.
if you wanna get fancy maybe look into dual booting the pi, so you can select partition during boot? With a large enough SD card you might be able to partition it.
-
@bearer But then I can't pretend they are tiny floppy disks...
-
Yes, I know that you can specify package versions to the be installed that is not really the problem. I still think that this is not the right way to use debian packages.
And it makes no sense from the logical point of view. Why should a later build have a lower version number?
It is clear that this is hard to achieve in classic software versioning, the use of a build number is one way around that. But this has other disadvantages.Debian is partial helpful https://www.debian.org/doc/debian-policy/ch-binary.html#the-version-of-a-package
I think that the only real solution is to work with a "upstream_version" and a "debian_revision".
One common use of ~ is for upstream pre-releases. For example, 1.0~beta1~svn1245 sorts earlier than 1.0~beta1, which sorts earlier than 1.0.
https://www.debian.org/doc/debian-policy/ch-controlfields.html#id22
Wo not making use of that? Name the package like "3.2.0~Beta4" instead of "3.2.0-Beta4" and you should be fine. [-|~]
Cheers, Chriss