public inbox for linux-msdos@vger.kernel.org
 help / color / mirror / Atom feed
From: "Bart Oldeman" <bartoldeman@users.sourceforge.net>
To: bens@alum.mit.edu
Cc: linux-msdos@vger.kernel.org
Subject: Re: How do I do a non-root install of dosemu?
Date: Mon, 28 Apr 2008 10:03:03 -0400	[thread overview]
Message-ID: <c3d607cc0804280703p61ea62d1gaac711be340e9260@mail.gmail.com> (raw)
In-Reply-To: <48153D42.3020106@fas.harvard.edu>

Hi,

the binary tgz distribution
http://prdownloads.sourceforge.net/dosemu/dosemu-1.4.0-bin.tgz?download
is an example of something that is relocatable, and is created using
the dist/mkbindist
script (see in there for instructions).

>  set the DOSEMU_LIB_DIR, DOSEMU_CONF_DIR, and DOSEMU_HDIMAGE_DIR envvars,
>  in addition to PATH and LD_LIBRARY_PATH.  I also have had to redirect the
>  etc/dosemu/drives/c and d symlinks.

DOSEMU looks in $HOME/.dosemu before /etc/dosemu, and see also below.

>  ERROR: X support not compiled in or not found:
>  ERROR: /usr/lib/dosemu/libplugin_X.so: cannot open shared object file: No
>  such file or directory

You can avoid this error by putting libplugin_*.so into the same
directory as dosemu.bin.
(it ignores LD_LIBRARY_PATH -- that is something that could be changed
though, of course)

>  Error in built-in global.conf: (line 671) Disk-device/file
>  /var/lib/dosemu/drives/c doesn't exist.
>
>  Since I have explicitly set DOSEMU_HDIMAGE_DIR, I don't know why I still
>  see this.

DOSEMU_HDIMAGE_DIR is ignored (but it is set as environment variable
by DOSEMU itself).
You'd need to give dosemu.bin the --Fimagedir option (see the man
page) to make it work;
also --Flibdir should give the directory corresponding to
../../share/dosemu (DOSEMU_LIB_DIR),
-n completely ignores dosemu.users and dosemu.conf, and -f lets you
override ~/.dosemurc.

Also, the patch below makes the script a bit more robust, and the
1.4.0.1 patch update makes dosemu a bit smarter about finding fonts.

--- dist/dosemu.bindist (revision 1844)
+++ dist/dosemu.bindist (working copy)
@@ -28,12 +28,17 @@
 "
       exit 1
     fi
-    mkdir -p $HOME/.dosemu/drive_c $HOME/.dosemu/drives
+    mkdir -p $HOME/.dosemu/drive_c/tmp $HOME/.dosemu/drives
     rm -f $HOME/.dosemu/drives/c $HOME/.dosemu/drives/d
     ln -sf $HOME/.dosemu/drive_c $HOME/.dosemu/drives/c
     ln -sf $BOOT_DIR_PATH/drive_z $HOME/.dosemu/drives/d
     cp -fp $BOOT_DIR_PATH/conf/autoexec.bat $BOOT_DIR_PATH/freedos/autoexec.bat
     cp -fp $BOOT_DIR_PATH/conf/config.sys $BOOT_DIR_PATH/freedos/config.sys
+    # the below two cp's are usually also done by dosemu.bin but are done here
+    # in case DOSEMU terminates leaving a disclaimer file behind, or
+    # if ~/.dosemu/disclaimer exists but ~/.dosemu/drives/c does not.
+    cp -fp $BOOT_DIR_PATH/conf/autoexec.bat $HOME/.dosemu/drive_c
+    cp -fp $BOOT_DIR_PATH/conf/config.sys $HOME/.dosemu/drive_c
   fi
   unset INSTALL
 }

Hope that helps
Bart

  reply	other threads:[~2008-04-28 14:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-28  2:58 How do I do a non-root install of dosemu? Benjamin M. Schwartz
2008-04-28 14:03 ` Bart Oldeman [this message]
2008-04-28 22:47   ` Benjamin M. Schwartz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c3d607cc0804280703p61ea62d1gaac711be340e9260@mail.gmail.com \
    --to=bartoldeman@users.sourceforge.net \
    --cc=bens@alum.mit.edu \
    --cc=linux-msdos@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox