Jump to content

Some more CLI helpers for automated installations on Linux


Recommended Posts

Yes xfs was an option, but I didn' see any advantage over ext4 with casefolding.

I guess cow is one, but that doesn't apply to me: each new install starts with a bunch of symlinks to a single copy of the unmodified game.

The install starts at around 200Mb, nearly all of it being the tlk files: weidu would update the original tlk through the symlink, as I found out (I think I could reduce that to less than 30Mb by only caring about one language)

It then grows as I install mods, with everything ending up in override/ (except, I think, when I apply biffing).

Now that think about it, cow just does that with no involvement needed (and maybe in a safer way).

 

Link to comment

Finally got to try out XFS, out of curiosity.

Filesystem created with "-n version=ci", same SSD, but without loop-around, using "--reflink" (copy on write, cow), same payload (but this time including the interactive components, because of patched-out-interactiveness).

real    24m1,528s
user    19m47,363s
sys     3m49,642s

And it also results in a working installation. Not much difference regarding performance, but this also includes the cow overhead, and misses the overall savings in time,  space and convenience from having a cow setup. Bye bye loop setup.

Edited by Lurker
Link to comment

For those of you who have been trying installations with and without Wine... have you tried to use a faster Linux installation, but "export it" (transfer it somehow) to a Windows installation to mod the game with EEex as well? Thanks to Bubb's efforts, EEex works fine under Wine, which is a huge boon. Doing the whole mod installation under Wine is annoying.

Link to comment

@suy I'm not sure how to reply to this. I have left the Windows cosmos since around 2006, and never looked back. Also, as of now, have never used EEex or mod components that rely on it. Doing a whole setup under Wine isn't different from Windows, I guess - but it's definitely slower, and very much so. The game itself runs fine, and my scripts at least make (adapted) reinstalls very fast and comfortable on Linux (with native weidu) -  well, at least from my point of view / habitus.

Although I've to admit that I'd hoped that more people would find this usefull.

@subtledoctor I guess this should be working on Macs, at least without too much hassle, if the external progs that are called by the shell script are available and use similar parameters. The bashisms might be an issue. The native file system on Macs (HFS+? / don't know about A(P)FS) is case insensitive + case preserving from what I've read in the past, so no need to increase sloppiness like on Linux. ♿

Edited by Lurker
Link to comment

I did not have time yet to check your scripts, nor modda, nor even try using the case insensitive native filesystem (instead of the ciopfs abomination that I'm used to). I just did not have the time. :) But I appreciate that you shared them!

Respect EEex: it enables some nicer menu, and I certainly love the built-in timers. Running the game through wine is not as convenient as doing so natively, but to me is way better than having to reboot on Windows and basically having to do stuff where I'm not used to, and my files and settings are absent.

Link to comment
5 hours ago, Lurker said:

I guess this should be working on Macs, at least without too much hassle, if the external progs that are called by the shell script are available and use similar parameters. The bashisms might be an issue. The native file system on Macs (HFS+? / don't know about A(P)FS) is case insensitive + case preserving from what I've read in the past, so no need to increase sloppiness like on Linux.

Yes, case-insensitive/case-preserving. Bashisms are fine for me, my system still uses bash... more modern systems have moved to zsh but I guess bash commands should still work in that shell?

For my purposes, I already have a Mac "app" (really just an Applescript with a fancy wrapper/icon) that finds and lists .tp2 files, in an approved install order, and generates short shell scripts on the fly to install the chosen mod. It is lightweight enough that it flies under the radar of Apple OS lockdown techniques even though it is not an approved app. But basically I have to run my installer a hundred times, and fully interact with the mod installers in Terminal, to create my game. It would be amazing to add to it the functionality to read a text file or weidu/log, and then use your shell script to automate the installs. Assuming your script does that! I literally haven't looked at your scripts yet :laugh:

Link to comment

@subtledoctor From a quick web search it looks like zsh doesn't like bashisms, sorry. I use them for some string formatting operations, to minimize external program calls (the parser script already runs quite sluggish as it is...).

The parser script can read an existing WeiDU.log, and outputs lines that the installer script can then source from a file, and in turn feed to weinstall - basically modname + a list of components per line. The installer script also has a debug option (more like a dry run, really), which just echoes all commands to stdout. I've provided some examples in this topic's first post.

It's all pretty basic, but get's the job done. Mods still need to be downloaded and moved to the game directory manually, beforehand. mickabouille's "modda" (linked in first post) can also manage the downloads and more, but is binary-only (source code is available, just to clarify).

As long as a mod neither has

  • whitespace in its name
  • no weird character encoding in paths and filenames
  • doesn't need manual input
  • doesn't throw warnings (which can be ignored via option) and also
    • follows best practices regarding directory structure (there's a "workaround" section in the installer script which should make this more clear)

an installation should complete without any further handholding.

I'd say with the skills you've / need regarding IE modding, you'll get along just fine. :thumbsup:

Edited by Lurker
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...