OpenTTD / OpenTTD/OpenMSX

Build system issues

Open
#30 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
29
Forks
12
PR merge metrics
No merged PRs in 30d

Description

While building the Debian package for the latest release, I came across a few issues. This is pretty much the same issue as https://github.com/OpenTTD/OpenSFX/issues/47, with some minor changes.

  • The tarball contains an opensfx.obs file, but running make clean removes it, which means that make && make clean leave the build dir in a different state. Note that unlike with OpenSFX, the file is not actually regenerated/overwritten by default, since none of its requirements are missing.
  • make check does no longer work. The Makefile part that handles this seems to use grfid and expect openmsx.grf to exist, which is not the case. Makefile.config does specify MD5_SRC_FILENAME (pointing to the obm file), but that file contains more than just an md5 file, so I'm not exactly sure how this is intended. The old makefile system would ship an openmsx-0.3.1.md5 in the tarball, and then just generate md5sums of the relevant files (midi files I think) and compare those with the shipped file. What is the intention here? This is also the subject of #22.
  • make bundle no longer seems to work to install the bundle into $(DIR_NAME) as before (and as documented). Weirdly enough it just says "make: Nothing to be done for 'bundle'", but I can't actually find a rule for bundle (perhaps some wildcard rule or something). This rule was previously used by the Debian package to install individual files into /usr/share/games/openttd/baseset/openmsx (rather than a tarball), since there is not much point in merging files into a tarball inside a Debian package (though I'm now switching to using make install instead, which also installs separate files).
  • make install generates a tarball, but does not actually use it (instead, it installs separate files, which is what I'm using now). I think it could just depend on $(DIR_NAME) rather than $(DIR_NAME).tar.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Makefile and Makefile.config, then run make clean, make check, make bundle, and make install to reproduce the reported behavior. Trace the existing rules and compare them with the documented and Debian-package use cases. Done means these targets behave consistently with the tarball contents and intended installation paths.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.