Unix Packaging and Installation

edited 2007 Jan 3 in Developers
<i>This post was originally made by <b>skyjake</b> on the dengDevs blog. It was posted under the categories: Engine, Game Resource Packs, Games, Launchers, Unix/Linux, Version 1.9.</i>

byteframe writes:
<blockquote>I was wondering, that instead of having the doomsday install all the files into $prefix/lib,include,share,bin I was wondering if it was possible to have tell configure to put all the files in something like

"/usr/local/games/doomsday"

I tried the "prefix=/home/byteframe/doomsday" (testing all this out) and it worked. I moved bin out from doomsday/bin to doomsday and it still knew where to find the libraries files.

I would like to do a loki installer for doomsday, and for those of you who don't know, it allows you to change the installation direcotry, however, since the instlaler will be installing precompiled binaries, how would I make it so that the location selected in the installer, works for the binarys, which are precoded to have a specific place, work?

this is hrad to replain, but I would think maybe it can work. Also, would there be a way to just have the doomsday binary look for the librarys and other files relative to ITs location?</blockquote>


There is now the command line option <a ref="http://dengine.net/dew/index.php?title=-libdir">-libdir</a&gt; that can be used to define the library directory where plugins are loaded from.

If the installer writes a Snowberry configuration file with the correct paths, it should be easy enough to make it work from any directory. Starting from 1.2, Snowberry uses <tt>$HOME/.deng</tt> as the directory where user data is stored, so if the installer writes <tt>$HOME/.deng/conf/directories.conf</tt> everything should be located nicely (for instance; all .conf files are read regardless of what they are named):
<pre>configure doomsday (
binary: /usr/local/games/doomsday/bin
base: /usr/local/games/doomsday/share
)

configure common (
options: -libdir /usr/local/games/doomsday/lib
)
</pre>

(Of course, if the libs are installed into a system-wide library dir, like /usr/local/lib, which is presumably already in ld.so.conf, they should be located without using common-options.)

If <tt>/usr/local/games/doomsday/share</tt> contains the following dirs and files, Doomsday can locate them without extra command line options:

<pre>
data/doomsday.pk3
data/jdoom/jdoom.pk3
data/jheretic/jheretic.pk3
data/jhexen/jhexen.pk3
</pre>

However, the PK3s can be located anywhere, for example in <tt>$HOME</tt> or <tt>$HOME/.deng</tt>.

Comments

  • <i>This comment was posted by dengDevs user <b>byteframe</b>.</i>

    Cool.

    I'm gonna check out snowberry.
Sign In or Register to comment.