I emerged epsxe and attempted to run. When I try to run the wrapper script from my default shell, tcsh, I get the following error message, and epsxe fails to execute: set: Variable name must begin with a letter. I managed to trace this error message to /sbin/functions.sh on line 6: set -a If I open a bash or sh shell, the wrapper script runs perfectly and the program starts. I can't figure out why tcsh is causing problems. Reproducible: Always Steps to Reproduce: 1.Emerge epsxe and tcsh 2.Open a shell using tcsh 3.Attempt to run /usr/games/bin/epsxe Actual Results: set: Variable name must begin with a letter. Expected Results: Removing empty directories ... * *** Put your BIOS file into ~/.epsxe/bios/ * or ePSXe may not work!
we only sourced functions.sh to use einfo/ewarn ... dont really need them ... removed the source and changed einfo/ewarn to echo in cvs
Ok, it seems that the problem stems from the header for the wrapper script. The line specifying what shell should run the script is below the header information: # # Script for launching epsxe # $Header: /usr/games/bin/epsxe, v ?.?? 2003/08/17 21:22:07 #!/bin/sh Instead, this should be: #!/bin/sh # # Script for launching epsxe # $Header: /usr/games/bin/epsxe, v ?.?? 2003/08/17 21:22:07 Making this change allows me to run the wrapper script from a tcsh shell.
ok, fixed that too ;)
Created attachment 23885 [details, diff] Patch rearranges script header to fix the bug. Added patch to fix problem as noted above.