Monday, June 26, 2017

icaros-sequence bug blocking LiveUpdater

Today I found a mistake in icaros-sequence, preventing LiveUpdater to work as intended. Please download this patch to fix the issue (instructions about installation will follow). The bug is in this section:

01. ; RunMe if proper settings are made 
02. if exists sys:dvdmode
03.   execute s:dvd-startup
04. endif 

05. IF ${Icaros/1sttime} EQ "True"
06.  execute S:1sttime-setup
07. EndIf 

08. IF ${Icaros/2ndtime} EQ "True"
09.  execute S:2ndtime-setup
10.  echo "false" >envarc:Icaros/2ndtime
11. EndIf

12. ; create MyWorkspace
13. execute S:myworkspace-startup

these lines enable DVD mode when Icaros Desktop is running from the read-only optical media, launch a couple of scripts (if they exist) that must be executed before the GUI and enable the ASSIGNs for MyWorkspace and subfolders. So where is the mistake, exactly? If you notice the sequence, MyWorkspace's script is the last one being executed but... what happens if either 1sttime or 2ndtime setup scripts need to address MyWorkspace's assigns? Run LiveUpdater on Icaros Desktop 2.2 and discover yourself! Unfortunately, I introduced this bug while working on HostBridge. If you ever ran it once, you'd know that HostBridge will, first of all, extract all files from installation archives and complete Icaros setup. It will also create MyWorkspace folders so, in the end, when bringing back control to Icaros-Sequence, myworkspace-startup script will find the right directories and proceed normally with ASSIGNing them. If I just moved back lines 12-13 between lines 04 and 05, I'd have gotten ugly ASSIGN errors when installing Icaros in hosted mode, forcing user to reboot Icaros in order to use it correctly. Baaaad solution.

So I had to modify also Windows and Linux hosted installation scripts, to make them create MyWorkspace folders and subdirectories. In the end, I could let both LiveUpdater and HostBridge work as expected, although a false-alarm error message about a directory that can't be created will appear anyway (until I'll fix this as well, obviously).


1. download the file here.
2. extract files in a temporary directory (RAM drive will fit as well)
3. enter the directory and double click on the runpatch script

It will basically replace your current icaros sequence with the fixed one from Icaros 2.2.1. Once done this, please also upgrade Icaros Desktop to v2.2.1. Did I mention the update is now available for download? ;-)

(no, it will the topic of the next post...)