[gobolinux-devel] Rootlessness

Dan theyranos at gmail.com
Thu Sep 14 03:46:08 UTC 2006


Submitting this as a patch rather than committing it directly per  
Hisham's request. After the patch provided below, Rootless happily  
installs on Cygwin. It also works under OS X, with a caveat or two.

As Carlo suggested, I did have to install a GNU userland in order to  
get this to work correctly on my MacPro, but it actually wasn't too  
difficult to do, and, and I can now "Compile CoreUtils" successfully.  
The process I used wasn't added to the CreateRootlessEnvironment  
script because it would have been a lot of Mac-specific code, and  
would have added DarwinPorts as a dependency. With a couple more  
tweaks, though, I could supply both i386.Darwin and ppc.Darwin  
packages for CoreUtils based on our recipe, then modify  
CreateRootlessEnvironment to install them before they're needed.

This project has revealed a couple of bugs with respect to Rootless  
in general (not just my Cygwin/Mac version) elsewhere in the scripts  
which currently prevent SignProgram from working correctly on Cygwin,  
Mac, or Linux hosts. Once I hunt those down, I'd like to see a new  
+0.0.1 version (are those called "microversions"?) release of Scripts  
and Compile regardless of whether we decide to use this patch. As of  
the current release, the Rootless does not work, even on a Linux  
machine, because of some bugs in the latest released version that  
have since been fixed in CVS.

90% of my changes were in CreateRootlessEnvironment:
- Checks for its own dependencies on the host machine before it runs
- Version number of the Scripts it tries to download is fixed
- Offers to recompile the Scripts for you if it's necessary
- Uses .bash_profile instead of .bashrc, since I have yet to see any  
bash installation anywhere that actually sources .bashrc without  
being told to by .bash_profile

Changes to other files:
- src/List.c: Added an #ifdef because Apple puts sys headers in weird  
places
- Makefile: Added something to automatically fix the version number  
in the CreateRootlessEnvironment script when you run make dist.
- src/Makefile: Added a fix for the fact that Cygwin's gcc  
appends .exe to all its filenames, regardless of whether you specify  
a -o option.


Sorry this took me so long (there really isn't much here). Stuff kept  
coming up. Anyway, without further ado:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: big_rootless_patch.bz2
Type: application/octet-stream
Size: 2773 bytes
Desc: not available
Url : http://lists.gobolinux.org/pipermail/gobolinux-devel/attachments/20060913/2e0615e6/attachment.obj 
-------------- next part --------------

I await your comments with great eagerness :)



More information about the gobolinux-devel mailing list