suy Posted October 12, 2023 Share Posted October 12, 2023 I've been working on a mod that now I want to publish, and I want to check out if I might add something to what I'm already doing for "packaging" it for users. Since I work on a git repository, and I work on Linux, I don't have a setup-foo.exe around next to the mod code. Obviously Windows mod users will need that. So I have done a simple Github workflow that simply copies the documentation from the root to the mod directory, adds the weidu exe with the right name, and makes a ZIP package (for Windows). It also makes a different compressed format without any WeiDU inside for Linux and Mac users, and I hope that's OK. I'm not sure if it's worth the time to do anything else. The IEMOD file seems simple enough, as it would just be a ZIP like the existing one, but before the addition of the weidu executable. I cannot test it, though, so I'm hesitant. I see other mods/modding tools creating auto-extracting ZIP files, changing the case of files, and other weird stuff. Am I missing something else? And yes, I know about oggdec, iconv, tisunpack, oggdec and others. Those are not relevant for me yet. I'm thinking of only the necessary for a simple mod, but complete enough so I don't get asked later that the mod lacks something. Thank you. Quote Link to comment
subtledoctor Posted October 12, 2023 Share Posted October 12, 2023 What compression are you using for Macs? I would err on the side of using the most user-friendly format that inexperienced users can work with, which is probably .zip. Fact is, most people buying Macs these days are probably not super sophisticated w/r/t computers. (Thank God G3 isn’t shipping tarballs anymore ) Some places like G3 ship the latest Mac version of Weidu and a .command shell script to install the mod. Personally I think this is useless for Mac users because 80% of extant mods don’t give have that, so users will have to figure things out on their own anyway. (And the extra files just clutter up the game folder.) You could go either way in this regard. Quote Link to comment
suy Posted October 12, 2023 Author Share Posted October 12, 2023 37 minutes ago, subtledoctor said: Thank God G3 isn’t shipping tarballs anymore Well, I was doing a tarball. It's what makes sense for Unix-like, and it helps in distinguishing the Windows and the others apart. I now have a Mac at hand for working, and it's ancient (but with the software updates, which I think it's not the latest, but the previous MacOS version). If it's default app can open it, I'm sure every other reasonable Mac user can do it. Or... they can get the ZIP and ignore the exe. I've found a few mods only packaged like that only, and it's what I do on Linux. And yeah, I agree with you, and I don't like the WeiDU binary being shipped in the compressed package. Quote Link to comment
subtledoctor Posted October 12, 2023 Share Posted October 12, 2023 (edited) 10 minutes ago, suy said: Well, I was doing a tarball. Okay fair enough. It’s not necessary, but not deprecated either. The OS handles both just fine. What G3 actually did until embarrassingly recently was double compression for Macs - .tar.gz I believe. That I would advise against. Edited October 12, 2023 by subtledoctor Quote Link to comment
suy Posted October 12, 2023 Author Share Posted October 12, 2023 I've not seen such files with double compression (but it's possible), though note that a .tar.gz is not doubly compressed. The TAR format is just packaging the files together in a stream, but without compression. Then a separate compression program will make them smaller. That's why you find tar.gz (gzip), tar.bz or bz2 (bzip) and lately .tar.xz (xzip). Quote Link to comment
subtledoctor Posted October 12, 2023 Share Posted October 12, 2023 Well, MacOS needs two steps, creating two folders, to unpack the whole .tar.gz. Extra steps, file extensions that average users don’t recognize… for essentially zero benefit. In 2023 internet access speeds and drive sizes mean you could ship a uncompressed .tar file; and improvement in cross-platform compatibility mean you could ship a .zip file that would be equally accessible on MacOS and Windows and easily recognizable to laymen. Quote Link to comment
suy Posted October 12, 2023 Author Share Posted October 12, 2023 There should be no extra steps. The compressed file manager should handle both at the same time, so does the tar command in the console. Quote Link to comment
CamDawg Posted October 12, 2023 Share Posted October 12, 2023 The G3 Mod Packager works on Linux and can be customized to non-G3 branding--I use it for the two Weimer mods I maintain. It'll produce Windows, macOS, and Linux-specific packages. IIRC it can't make the self-extracting zip files for Windows when used on Linux; it just produces a zip. Quote Link to comment
suy Posted October 13, 2023 Author Share Posted October 13, 2023 Thank you. I knew about that tool, but my goal was more to research what other existing tools accomplish, to do it myself. In other words, what packages they create, and which might be optional? One problem that the ModPackaging tool has is that it unconditionally uses dotnet to compile Markdown with the DLL embedded there. I don't have that installed, and I don't need to compile Markdown, but AsciiDoc instead, so I need something different. The script is too inflexible for me. I did not realize of the G3 branding, but I actually will like to have it, as I want the mod to be part of G3. Quote Link to comment
suy Posted October 13, 2023 Author Share Posted October 13, 2023 I forgot: another thing that the ModPackaging does (conditionally, can be opted out), is calling tolower. I am confused why this is done. I'm not sure this is anymore a good practice. I have been using the mods straight from their git repositories without any conversion, and those were done by windows users with their choice of upper and lowercase files. This should be fine as for Linux you need the case insensitive directory anyway... If I/we get a clear picture of what is needed and recommended, I might submit changes to the ModPackaging, or write an alternative script for Unixes. Quote Link to comment
Graion Dilach Posted October 13, 2023 Share Posted October 13, 2023 (edited) IIRC tolower's still a good practice on classic, and I'm not sure if all common distros rolled casefolded ext4 by now. Wonder what the Steam Deck does there. Edited October 13, 2023 by Graion Dilach Quote Link to comment
lynx Posted October 13, 2023 Share Posted October 13, 2023 You don't "need the case insensitive directory anyway", but let's not copy the discussion from the other thread. Quote Link to comment
suy Posted October 13, 2023 Author Share Posted October 13, 2023 I have needed to do so in every installation on the EE for sure, and I don't see when tolower is useful. But OK, followed up in the other thread (hopefully that's the one you meant). Quote Link to comment
jastey Posted October 13, 2023 Share Posted October 13, 2023 If you have the mod on GitHub, you might want to check out AL|EN's Infinity Automated Packager. Once set up, it's very comfortable as it attaches an all-OS zip and the .iemod for PI automatically to all releases you tagg. Quote Link to comment
suy Posted October 13, 2023 Author Share Posted October 13, 2023 Thank you, I already know about it, and was even commenting on its thread about the issues I see. I'm asking not on existing projects that "solve the problem", but more on what needs to be solved, and why. After having the proper grasp of it, I can go with one solution, the other, or even a custom made one, or contributing additions/fixes to a solution, etc. Quote Link to comment
Recommended Posts
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.