Pandora [solved] pnd - execution environment and rights


thatgui

Advanced Member
Joined
Apr 2, 2009
Messages
3,048
I'm trying to build my first pnd, but I currently I'm Stuck with some problems:


1)


are environment variables set when a pnd is run ?


background: I extracted the content of pickles dosbox pnd and tried to run the dosbox binary directly within a terminal. But his dosbox build depends on two libs which are declared missing when I try to execute dosbox. As they are in the same directory I speculate that an environment variable needs to be set => ?


2)


which rights does a executable (bin or sh script) file need


background:


I successfully build my first pnd. By successfully I mean in terms it is reckognized by Minimenu and it is executable. But it fails to start. By looking at the output of pnd_run there seems to be a permission problem. In my pnd the pxml links to a script which does some preperations (like copying files) and then starts a second script which will finally run the binary. But executing the second first script ends with a "permission denied" error.


I'm using a library to make the squash container for the pnd, but the library demands a additional info if I want to add a file with special permission to it : userid[int], groupid and the rights itself of course => are pnds run in a special user context ?
 
Last edited by a moderator:
I think the lib folder is automatically exported to the LD_LIBRARY_PATH variable, when a pnd is run.


If you want to run the executable manually after mounting, you will need to export that yourself to where the libraries are.


Runscripts have a chance of not working, if you extracted the pnd instead of mounting it, as some stuff might refer to the /mnt/utmp/appname folder.


Scripts and executables need no special rights afaik. If you use a linux filesystem, they need the x flag of course.


Edit: Maybe you might want to post the output from pnd_run and the script itself. Will be easier to help you this way.
 
Last edited by a moderator:
I think the lib folder is automatically exported to the LD_LIBRARY_PATH variable, when a pnd is run.
that did the trick :unsure: , tried PATH and HOME but not LD_LIBRARY_PATH - strange thing is, looking at streaks dosboxExV3, he does this in the run script - maybe just to be sure

Scripts and executables need no special rights afaik. If you use a linux filesystem, they need the x flag of course.


Edit: Maybe you might want to post the output from pnd_run and the script itself. Will be easier to help you this way.
I think I gave it the proper rights - at least "OthersExecute" (doc says "Any user execute permission") sound right in my ears, but there is still the owner and the group id of the file to set (and using 0 for both doesn't work)


There isn't very much to show:


the scripts currently contains just the command to execute the second script (I commented the appdata - copy part out), and the output of pnd_run says

....


[sUCCESS]--- Mount the PND ------------


[ START ]--- Starting the application (rundosbox.sh ) -----------------


/bin/bash: ./rundosbox.sh: Permission denied


[ FAILED ]--- Starting the application (rundosbox.sh ) -----------------


....
 
Try



Code:
chmod +x rundosbox.sh

then package it up again.


Do you want to merge the two versions?


I think building dosbox from scratch again seems better, as you can make your own modifications to it and provide the source if needed. It is not very hard to build dosbox from source.
 
Last edited by a moderator:
Thanks, for the help, but this is no option, as I wan't to make a semi automated pnd creator. Oh, and I don't want to make my own dosbox build, just experimenting with dosbox on the Pandora
 
Solved, at least for me:


one can omit adding files with special permissions and coressponding user and group ids, by adding the files with the two parameter function, and altering the defaultfilesystempermission property of the filesystem object beforehand
 
Back
Top