Observed under Linux, the default behavior for initialization is that the distributed executable file relocate itself (to ~/.local/share/swiftly/bin).
In the case that relocation of the file is precluded by restrictive file permissions, the fallback behavior appears to be creation of a symbolic link in the target location referencing the original location. Such behavior is incompatible with the design of the executable locating essential resources relative to itself. Commands in the toolchain, under such circumstances of initialization, will fail to operate properly, due to failure in locating the required resources.
A simple solution would seem that the creation of a symbolic link could be replaced by a file copy. However, other solutions also may be considered to resolve the issue, eliminating the need for a file copy, such as the utility internally negotiating the chain of symbolic links, with special treatment afforded to the one having the pivotal name, swiftly.
While the utility apparently was conceived with consideration essentially exclusive to the case of each user deploying entirely manually, the use case is also reasonable that initialization be facilitated by provisioning the utility to a system location, allowing initialization of per-user deployments without each user performing a separate manual download. Users newly wishing to initialize a configuration simply would invoke the utility already available as installed on the system.
Observed under Linux, the default behavior for initialization is that the distributed executable file relocate itself (to
~/.local/share/swiftly/bin).In the case that relocation of the file is precluded by restrictive file permissions, the fallback behavior appears to be creation of a symbolic link in the target location referencing the original location. Such behavior is incompatible with the design of the executable locating essential resources relative to itself. Commands in the toolchain, under such circumstances of initialization, will fail to operate properly, due to failure in locating the required resources.
A simple solution would seem that the creation of a symbolic link could be replaced by a file copy. However, other solutions also may be considered to resolve the issue, eliminating the need for a file copy, such as the utility internally negotiating the chain of symbolic links, with special treatment afforded to the one having the pivotal name,
swiftly.While the utility apparently was conceived with consideration essentially exclusive to the case of each user deploying entirely manually, the use case is also reasonable that initialization be facilitated by provisioning the utility to a system location, allowing initialization of per-user deployments without each user performing a separate manual download. Users newly wishing to initialize a configuration simply would invoke the utility already available as installed on the system.