Setting how GNUstep finds app's Resources

Michael Rans <[email protected]> Mon, 15 Jun 2026 08:55:31 +1200
Newsgroups gmane.comp.lib.gnustep.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------zgwu0o3VA5YPBmkrbs017QcR
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Currently when Oolite is installed to the system, its Resources folder 
must be in the bin folder for the game to work (eg. /usr/bin/Resources, 
/usr/local/bin/Resources). This is not correct for a Linux system where 
app resources should go into share (eg. /usr/share/oolite/Resources, 
/usr/local/share/oolite/Resources). I have looked at the filesystem 
layouts documentation but I don't understand what I need to do.

I have successfully relocated the GNUstep and user defaults folders 
using a custom GNUstep.conf. I managed to get Oolite to look for its 
resources in |<executable location>/../share/oolite/Resources| if 
|<executable location>/Resources| does not exist, but then 
|Info-gnustep.plist| is not found. The branch where I am trying to get 
this to work is: 
https://github.com/mcarans/oolite/tree/meson_share_resources

Besides |Info-gnustep.plist|, is there anything else GNUstep itself 
looks for in Resources?

How can I get it to look in |<executable 
location>/../share/oolite/Resources| instead?

We have moved to meson from make files. I run meson setup and compile 
steps to get |<project repo>/build/meson_snapshot/oolite.app|. When 
running the binary from there, it is fine to use Resources in the same 
folder.

I then run |meson install -C build/meson_snapshot --destdir /tmp/test. 
|That installs to |/tmp/test| so the binary is in 
|/tmp/test/bin/oolite|. When running the binary from there, 
|/tmp/test/share/oolite/Resources| should be used as the parent folder 
for |Info-gnustep.plist| (mirroring what would happen if I installed to 
an actual system folder like |/usr| or /usr/local).


I've also documented this in a ticket: 
https://github.com/gnustep/tools-make/issues/73

Your help would be greatly appreciated!

Thanks,
Mike



--------------zgwu0o3VA5YPBmkrbs017QcR
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Currently when Oolite is installed to the system, its Resources
      folder must be in the bin folder for the game to work (eg. <font
        face="monospace">/usr/bin/Resources</font>, <font
        face="monospace">/usr/local/bin/Resources</font>). This is not
      correct for a Linux system where app resources should go into
      share (eg. <font face="monospace">/usr/share/oolite/Resources</font>,
      <font face="monospace">/usr/local/share/oolite/Resources</font>).
      I have looked at the filesystem layouts documentation but I don't
      understand what I need to do.</p>
    <p>I have successfully relocated the GNUstep and user defaults
      folders using a custom <font face="monospace">GNUstep.conf</font>.
      I managed to get Oolite to look for its resources in <code
        class="notranslate">&lt;executable
        location&gt;/../share/oolite/Resources</code> if <code
        class="notranslate">&lt;executable location&gt;/Resources</code>
      does not exist, but then <code class="notranslate">Info-gnustep.plist</code> is
      not found. The branch where I am trying to get this to work is:
      <a class="moz-txt-link-freetext" href="https://github.com/mcarans/oolite/tree/meson_share_resources">https://github.com/mcarans/oolite/tree/meson_share_resources</a></p>
    <p>Besides <code class="notranslate">Info-gnustep.plist</code>, is
      there anything else GNUstep itself looks for in Resources? </p>
    <p>How can I get it to look in <code class="notranslate">&lt;executable
        location&gt;/../share/oolite/Resources</code> instead?</p>
    <p>We have moved to meson from make files. I run meson setup and
      compile steps to get <code class="notranslate">&lt;project
        repo&gt;/build/meson_snapshot/oolite.app</code>. When running
      the binary from there, it is fine to use Resources in the same
      folder.</p>
    <p dir="auto">I then run <code class="notranslate">meson install -C
        build/meson_snapshot --destdir /tmp/test. </code>That installs
      to <code class="notranslate">/tmp/test</code> so the binary is in
      <code class="notranslate">/tmp/test/bin/oolite</code>. When
      running the binary from there, <code class="notranslate">/tmp/test/share/oolite/Resources</code>
      should be used as the parent folder for <code class="notranslate">Info-gnustep.plist</code>
      (mirroring what would happen if I installed to an actual system
      folder like <code class="notranslate">/usr</code> or <font
        face="monospace">/usr/local</font>).</p>
    <p dir="auto"><br>
    </p>
    <p dir="auto">I've also documented this in a ticket:
      <a class="moz-txt-link-freetext" href="https://github.com/gnustep/tools-make/issues/73">https://github.com/gnustep/tools-make/issues/73</a></p>
    <p dir="auto">Your help would be greatly appreciated!</p>
    <p>Thanks,<br>
      Mike</p>
    <p><br>
    </p>
    <p><br>
    </p>
  </body>
</html>

--------------zgwu0o3VA5YPBmkrbs017QcR--