After about 2 hours and some laughs from some committers, I found that bsd.port.mk already has a line that tests for root UID with:
@if [ `id -u` = 0 ]; then (blah)
Thanks for the help xanne, CyNick and Green :)
Now I'm *VERY* close to actually putting all this stuff in bsd.port.mk...which means only the testing and bug ridding proccess remain (which is one of the crappiest).
I spent about 4 or 5 hours looking over /usr/ports/Mk/bsd.port.mk as well as bothering some developers on efnet. Fortunately I have made some progress as to the infrastructure of the ports system. Heres what I found I need to do to bsd.port.mk:
Add test if uid is 0 then all paths change to those supplied:
I also plan to maybe completely use environment variables to make things well, not so static..but the above will remain as default (unless someone else things otherwise)
Some news on user-based ports. I now found out that I have quite a bit of work for this one. But i've managed to lay out basically what needs to happen.
- Change install path from /usr/local (or otherwise chosen) to ~/
- Change man install path to ~/
- Figure out how the hell to get ports to register and acknowledge registrations in ~/
- Change building directory (/usr/ports/[cat]/[port]/work to something else. Possibly ~/somewhere or in /tmp
- Do all this without breaking anything
Theoraretically my sketch is a little backwards, but it still works for me
Good news (finally). After some help from BigKnife (thanks) I'm starting to patch bsd.port.mk. Wish me luck!
Found some 'trouble' with user-based ports system. I have to find a way to overide the path included within packages. Hopefully there may be an environment variable or else I can create one. I'll have to check later when I'm on my workstation and hopefully I can get some help from the FreeBSD developers.
Good news, I thought of an idea of a user based ports system addition eg. 'normal' users can register and install ports in their own home directories. I'll be working on it, trying to implement it on my home machine, then will later submit it, hopefully I can get some help :)
Did a lot of reading on SCSI programming. My experiance with it is still somewhat limited, but I'm learning. Hopefully in the next few weeks I'll have some beginner's skill in device driver writing
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!