Opened 16 months ago

Last modified 11 months ago

#6701 new defect

Fix the bundling scripts to work on Linux/Windows

Reported by: Itms Owned by:
Priority: If Time Permits Milestone: Alpha 27
Component: Build & Packages Keywords:
Cc: wraitii Patch:

Description (last modified by Stan)

Right now the bundling scripts are tailored for use by the CI, which runs them under macOS.

A couple issues make the scripts not work on Linux:

  • build-archives.sh has a /bin/sh shebang, but contains a bashism in defining LANGS. So it should be a /bin/bash shebang.
  • build-unix-win32.sh does not work with Linux tar: it fails with tar: '--same-order' cannot be used with '-c'.

Extra issue:

  • The new way of bundling without a svn export makes svnversion -n . spit 27473MP revision strings. Indeed, deleting incomplete translations marks the repo as modified. This is inconsistent with previous releases and current autobuilds which have 27473P revision strings.

Additionally, I would like to know how NSISBI was installed on the CI since I could only find it for Windows. This should be documented in build-unix-win32.sh line 40.

When using NSISBI on Windows, more issues arise:

  • ending ARCHIVE_PATH with a backslash does not work, and not adding the slash makes the installer put mods under binaries/data/mods/archives. It would be necessary to change ARCHIVE_PATH to not include the final slash on either platform and change line 141 of 0ad.nsi accordingly.
  • MakeNSISW does not provide a way to change the working directory so it cannot find FileAssociation.nsh on line 9 of 0ad.nsi. It would be better to put an explicit ${CHECKOUTPATH}\source\tools\dist\FileAssociation.nsh there.

Change History (5)

comment:1 by Itms, 16 months ago

Note: This is not urgent, and I'm mainly reporting it for future reference/documentation purposes should someone need to bundle manually :)

comment:2 by Stan, 16 months ago

Additionally, I would like to know how NSISBI was installed on the CI since I could only find it for Windows. This should be documented in build-unix-win32.sh line 40​

The CI has an executable called makensis. I could not find how it was installed, although I suppose it went through homebrew (homebrew list doesn't show it though but it shows mingw-w64 which is a dependency and it has a formula for it. https://formulae.brew.sh/formula/makensis

Current version is v29-Nov-2020.

Last edited 16 months ago by Stan (previous) (diff)

comment:3 by Stan, 15 months ago

In 27542:

Fix build-archives.sh's shebang.
Reported by: @Itms
Refs #6701

comment:4 by Stan, 15 months ago

Description: modified (diff)
Milestone: Alpha 27Alpha 28

comment:5 by Stan, 11 months ago

Milestone: Alpha 28Alpha 27

Push back

Note: See TracTickets for help on using tickets.