When in different directory, the archive name and config need to be
treated differently. This commit unify behavior for both cases.
Also, changing a bit logging format and added some more debugging
messages.
In case of defining paths in config, which wrapper is trying to
normalize, sometimes it may happen, that paths can be either local or
remote - depending on the intention, i.e. one can add:
cdrom_drive_0: foo.iso
where foo can be either an unpacked file or just some companion image,
which exists within config file.
In this patch calculated path is checked against file existence, and if
it doesn't exists, original value is preserved.
Calculation of file path may be performed in two different places -
first is the original location of the config file, second is on copied
one. Adding new option WRAPPER will take the same role as $CONFIG,
except it will be only parsed on copied configuration file.
An alternative would be to check existence in both places, but I'd like
to have it explicit.
Removing _kickstart_option in favor of _normalize_options method to
detect and replace relative paths with absolute ones. Dictionary with
changed options lands as a commandline switches for fs-uae during
execution.
This changeset fixes tar behavior on creating archive, like:
tar cf foo.tar .
which include also archive file itself, so that tar reports an error
`file changed as we read it` during appending archive file to itself.
This changest is fixing that by replacing dot with list of items to be
added to the archive (similar as in RarArchive.create).
To give user a possibility to choose what archiver he can use another
options was introduced for cd32 and archive wrapper modules. This option
will indicate what archiver should be used for compressing the save
state directories.
Also, new command was added to utils - run_command which is an
generalized subprocess.call function.
Requirements is now added with module six, which was needed to detect
string-like objects in sane way.