LogicLib.nsh is not usable under Linux as it tries !
system-calls with specific Windows-syntax.
Using "Switch" will produce something like this:
-----
sh: 0: command not found
sh: $%TMP%/170.7.tmp: No such file or directory
sh: 4: command not found
sh: $%TMP%/170.7.tmp: No such file or directory
----
Where "0" and "4" are case-values from the switch.
As i urgently needed a hotfix i did the following in
LogicLib.nsh:
1.) replaced $%TMP with /tmp - this assumes a user
writeable temporary directory under /tmp as it is
standard. Another fix is setting an environment variable
with something like "env TMP=/tmp makensis scrip.nsi"
2.) changed two lines with system calls by adding linux-
compatible quotes:
!system `echo "# logiclib temp file" > "${${_Switch}Tmp}"`
!system `echo '!insertmacro _== $\`${${_Switch}Var}$\`
$\`${_a}$\` ${_label} ""' >> "${${_Switch}Tmp}"`
3.) replaced the "del" command with linux "rm":
!system `rm "${${_Switch}Tmp}"`
I know these changes do not solve the problem for both
systems. Hope, somebody can melt them. I provided a
patch file that summarizes my changes.
Logged In: YES
user_id=1358931
And here the patch.
LogicLib.nsh patch for Linux
Logged In: YES
user_id=584402
Thanks, but there's already a patch to fix this:
https://sourceforge.net/tracker/index.php?func=detail&aid=1248336&group_id=22049&atid=373087
And here's the thread about melting it together so it'd work
on both Windows and POSIX:
http://forums.winamp.com/showthread.php?s=&threadid=227695