sodero / InstallerLG

A reimplementation of the LISP-like 'Installer' scripting language.
Other
16 stars 4 forks source link

copyfiles does not fail #28

Closed polluks closed 6 years ago

polluks commented 6 years ago

lock C: on build/Installer "dist/InstallerLG installer" should fail...

polluks commented 6 years ago

ok, this fails cd dist Installer "/dist/InstallerLG installer"

sodero commented 6 years ago

That's very strange. I need to look into that.

polluks commented 6 years ago

version Version 1.40 is MOSSYS:C/Installer! BTW version C:foo is always version MOSSYS:C/foo.

sodero commented 6 years ago

I'm not entirely sure where to install things. Is C: the right place?

polluks commented 6 years ago

The behavior in this case is not easy to define. If it has no icon, it may go to C: but MorphOS also has SYS:Tools/Installer.info.

polluks commented 6 years ago

@sodero I don't want to open an issue, what do you think about stripping the exe?

sodero commented 6 years ago

I doesn't work on AROS, strip seems to break the exe, that's why it's not done in the Makefile. Perhaps dist/Makefile is a good place for this. An exception for AROS is needed.

polluks commented 6 years ago

I see. Since MorphOS 3.10 there's better debug support in LogTool, so we may keep the symbols in alpha.

sodero commented 6 years ago

Ok, now I know what's happening here.

In the first case (build/Installer "dist/InstallerLG installer"), the script is executed from the top dir (where the CHANGELOG is located). Due to this, the Installer binary cannot be found and the file operation fails silently, it simply ignores the error and continues. This "feature" is required by some scripts and it's how the CBM Installer and the MorphOS installer work. In the second case, the binary is found and then copy will fail due to the lock.

There's quite a few "features" like this one and you can turn most of them of with an (set @strict 1) at the top of the script (or anywhere really, you can enable sloppy mode again using (set @strict 0) if required).

I enabled strict mode in the installer script so now "build/Installer dist/InstallerLG installer" will fail like it should.