Open trjones4 opened 6 years ago
Now in DSKY 2.21 is a "patched" version of the runPiDSKY2.sh script with all of the "update" functionality commented out! See the wiki Troubleshooting page for git commands to revert the local repo version
Hi Troy. Is this something we can download from GitHub now? mjl
Yep! Forgot the link to the updated shell script - for folks that want to try it, I suggest renaming the original file and copying in this new version into the virtualagc/piPeripheral directory, make sure it's executable!
https://github.com/trjones4/pi-gen-dsky/blob/master/stage4/69-dsky/files/runPiDSKY2.sh
Troy, just a quick tech note. I noticed in some of your comment statements you mention Stretch. The version in my DSKY is definitely Jessie.
pi@AGC:~ $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" NAME="Raspbian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" pi@AGC:~ $
Problem
The current DSKY maintenance mode menu allows the users to perform an update and re-compile of VirtualAGC directly from the master branch of the Git repo (option 7 shown below). This can easily result in the user's DSKY becoming unusable due to upstream changes in parts of the VirtualAGC project.
The launch script - runPiDSKY2.sh - contains the following for executing the software update command:
You can see it simply forces the copy of the virtuaagc source tree to the latest master version on Git, later lines initiate the re-compile process.
This design is not appropriate for "normal" users for several reasons:
Desired Process Requirements
To resolve this issue requires a new process for handling software updates for users and is broader than only script changes. The desired process is more like ...
Design Alternatives
In my view, we need to accept that we have (at least) two distinct user groups:
Expert Users - are comfortable with using the command line, remotely acesssing their DSKY, and doing things like re-compiling software, because that is part of the fun! This group also wants to connect their DSKY to external simulations and knows real AGC command codes!
Normal Users - want the DSKY to "just work" and are mostly are re-playing missions on a loop, the DSKY is a cool addition to their decor and a conversation piece, the have no interest in the internal workings and only want software updates that make a real visual difference in operation
Software Distribution for Normal Users
Over time, the largest user group will (in my view) be the Normal Users. To make their software update experience as simple as possible, I recommend the creation of a binary (pre-compiled) software package that contains the VirtualAGC and piPeripheral software.
Since the RaspbianOS is based on Debian, it would be logical to distribute this binary package as a ".deb" package file hosted on a server controlled by Telemetrics. That way, each DSKY can be configured to query the apt repository and use the existing operating system tools to upgrade, or even rollback, software versions easily.
Software Distribution for Expert Users
Should remain source-code based and distributed through Git. Expert users can access git easily and download any updates they choose and deal with the consequence of a failure themselves.
Next Steps to Resolve
Immediate suggestion is to remove entirely the "Update VirtualAGC" option from the maintenance menu. Expert users can be provided with simple instructions on how to perform source code updates themselves, and this removes the risk of users breaking their DSKY out of the box (has already happened).
Longer term, agree to a new distribution model (Debian package or other) and develop that until it can be rolled out to the user community.