Duet Pi Regression - How?
-
To the autopurge point, yah, I'd like to avoid that for exactly those two reasons: removes 'non package' files and could remove anything that apt thinks it should, outside the duet universe.
At the same time, I thought it would create a state where apt install with version number didn't do the "broken" thing. Obviously, it does not.
So... part of the reason for asking this question was to see if regression is worth scripting. Something that spits out all the commands, much like depcheck. Probably is...
-
Why is that 95%? Or what is the 5% edge case?
-
@Danal said in Duet Pi Regression - How?:
So... part of the reason for asking this question was to see if regression is worth scripting. Something that spits out all the commands, much like depcheck. Probably is...
afaik the only flaw is the recursive checking i limited to duetframework because it was the only package without a direct dependency to dsf (i.e. if that changes it fails, but then apt will complain so safe-ish)
-
@bearer said in Duet Pi Regression - How?:
@Danal said in Duet Pi Regression - How?:
So... part of the reason for asking this question was to see if regression is worth scripting. Something that spits out all the commands, much like depcheck. Probably is...
afaik the only flaw is the recursive checking i limited to duetframework because it was the only package without a direct dependency to dsf
Thanks!
-
and purging duetsd will clear out the most of /opt/dsf/sd folder
configs, macros, gcode, everything. -
@Danal said in Duet Pi Regression - How?:
Why is that 95%? Or what is the 5% edge case?
oh, and there is something weird with the reprapfirmeware n.n.n.n-1 and n.n.n.n-999 dependenices for otherwise identical versions. so i ignore the 999 in the rexeg
-
@bearer said in Duet Pi Regression - How?:
and purging duetsd will clear out the whole /opt/dsf/sd folder configs, macros, gcode, everything.
Agreed. I'm now on the warpath to avoid 'apt purge'.
'apt remove' only removes things in the package manifest, and deletes empty directories. If non empty, it will leave them. I believe the one time I regressed (by a manual method) that everything stayed intact, EXCEPT config.g had been overlaid with the empty-ish distribution copy. All other files, like tfree and tpost and so forth, and macros, they were all intact.
-
@bearer said in Duet Pi Regression - How?:
@Danal said in Duet Pi Regression - How?:
Why is that 95%? Or what is the 5% edge case?
oh, and there is something weird with the reprapfirmeware n.n.n.n-1 and n.n.n.n-999 dependenices for otherwise identical versions. so i ignore the 999 in the rexeg
Me too.
-
With regard to "how to recurse" without depending on the exact structure of the package, this seems to work, then parse the "depends" line:
apt show duetsoftwareframework=1.2.3.0 Package: duetsoftwareframework Version: 1.2.3.0 Priority: standard Section: electronics Maintainer: Duet3D Packaging Authority <pkg@duet3d.com> Installed-Size: unknown Depends: duetcontrolserver (= 1.2.3.0), duetsd (= 1.0.5), duettools (= 1.2.3.0), duetwebserver (= 1.2.1.0), duetwebcontrol (= 2.0.4-1), reprapfirmware (>= 1.2.3.0-1), reprapfirmware (<= 1.2.3.0-999) Homepage: https://pkg.duet3d.com Vcs-Git: https://github.com/chrishamm/DuetSoftwareFramework.git Download-Size: 1,710 B APT-Manual-Installed: yes APT-Sources: https://pkg.duet3d.com unstable/armv7 armhf Packages Description: Meta package for the full Duet software framework
-
@Danal said in Duet Pi Regression - How?:
this seems to work,
missing duetruntime which is why i turne to recusion that ultimately failed if left run to to all the leaf nodes.
-
Hmmm... I wonder how it gets installed? With no dependency?
-
@Danal said in Duet Pi Regression - How?:
I wonder how it gets installed? With no dependency?
duetcontrolserver has it as a dependency iirc (thus the recursion)
-
Ah, light bulb just came on. Thank you.
-
And, by the way, autopurge (which I am NOT going to use) actually does not purge the recursive stuff after a
sudo apt install duetsoftwareframework=1.2.3.0 duetcontrolserver=1.2.3.0 duetruntime=1.2.3.0 duetsd=1.0.5 duettools=1.2.3.0 duetwebserver=1.2.1.0 duetwebcontrol=2.0.4-1 reprapfirmware=1.2.3.0-1
style install, and an apt remove duetsoftwareframework.
So.... it would not have worked anyway.
-
Just switch to RPM
-
@gtj0 said in Duet Pi Regression - How?:
Just switch to RPM
+2
was wondering if aptitude* would be better suited, but decided to brush up on regex instead
*) not better than RPM..
-
@gtj0 said in Duet Pi Regression - How?:
Just switch to RPM
How about
//STEP1 EXEC PGM=SMPE
? It handled prereqs, coreqs, and even postreqs flawlessly. Why, I've heard you could build and entire OS with it! -
@Danal said in Duet Pi Regression - How?:
and an apt remove duetsoftwareframework.
apt remove duet* reprapfirmware
is about the same length and oddly more specific. would work with remove and purge for that matter. -
@bearer said in Duet Pi Regression - How?:
@Danal said in Duet Pi Regression - How?:
and an apt remove duetsoftwareframework.
apt remove duet* reprapfirmware
is about the same length and oddly more specific. would work with remove and purge for that matter.Yah, I thought about the nicely structured names. As you said though, if the package changes...
-
@Danal said in Duet Pi Regression - How?:
As you said though, if the package changes...
then it has a greater chance of catching it as duetruntime still doesn't depend on duetsoftwareframework.
and if
apt remove duetcontrolserver duetruntime duetsd duetsoftwareframework duettools duetwebcontrol duetwebserver reprapfirmware
is the alternative then it needs to be updated anyways.to be honest I have more faith in a
*
than apt and dependencies defined for the packages should autoremove fail.