Recent blog entries for Demie

So new updates latly, I've been trying to refactor some code for zengarden, and implement the fake chroot functionality. It's really trippy compared to real chroot, because if you try to modify a file in /, it'll copy it into the chroot. Hopefully it'll turn up good. I'm trying to make to code tinier too, but it's really hard to do that because pretty damn small right now. That's all, use CVS.

Lots of changes in zengarden, split it into 3 diffrent files to make it easier to work on it. Minor fixes here and there. Got build jail working, day and a half, not too bad. Lots and lots of good stuff in CVS. Next on the list is chroot installs.

On a similar note, I think I'm the autotools master now.

Today I started and finished the shell wrapper. Just wow, how good it is compared to the old one, and diving into shell programming wasn't as bad as I thought, althought there are a couple anoyances as usual. I really feel like this project is comming together real strong, and I'm really proud how everything is being done right and well and not half assed. Now to dive into the codebase and to get build jail working.

17 Dec 2004 (updated 17 Dec 2004 at 15:46 UTC) »

Woohoo, today I finally figured out all the quirks I needed to autoolize zengarden, and I officially pushed out 0.6.92. No shell wrapper script yet tho but that will come in the next release. I'm also going to clean up the whole autotools mess. As far as I know all the installwatch forks lie to themselves about being portable to non GNU/glibc/gcc systems, and they kind of make provisions to run on those. Zen garden on the other hand does not do half-assed portability (in fact non at all), thus I need make sure the checks for headers/functions fail gracefully with a nice message. However, if some send me patches that support other platforms, I'll gladly accept them.

I'm also aiming to have a working build watch implementation in 0.6.93, exciting stuff.

Unfortunately, the server is down. I dunno sofar "b0rked it". Hopefully i'll be back "REAL SOON NOW" TM. However, he did setup CVS and viewCVS before he b0rked it, so once it's backup, I'll have to clean up the page and i'll actually be useful.

I've fixed a couple smaller bugs in 0.6.91 this past day, and the fixes are in CVS, which non of you have access to till sofar setups up somethign for me... While I'm working on chroot, I've also decided to add some other functionality. I'm goning to add a feature that will prevent the makefiles (whatever) from modifing anything outside the BUILD dir. This is going to prevent some of those pesky makefiles, from "fux0ring" (yes that is the technical term) with the live file system, which I suspect that there will be quite a few. Anyone can help me with the autolizing mess?

Also for other distros using installwatch, source based distro, I would apreciate some colaberation of feedback.

So far i think I've rewriten the majority of installwatch. Right now it still has the same functionality, but it's a lot cleaner and faster (I hope). Now it's probably linux/glibc dependant but that's fine with me. So now to start on chroot.

NOTES: * I ripped out the wrapper script, for now you can LD_PRELOAD the library your self, but if anyone one wants to send a shiny new one, I'd apreciate it. * env variables changed.

File http://zengarden.foo-projects.org/zengarden-0.6.91.tar.bz2

patches welcome at: mtanski@gmail.com

Dear diary...

So I wasted a couple trying to only find out that I can't use getenv in _init. Wouldn't be a hudge problem, if everything else like malloc and friends wouldn't work in _init in a LD_PRELOADed library but they do. So that's one Sunday evening I'm not getting back. Howerver when I woke up this morning, I looked @ zlibc and artsdsp source to find out how they do things. I figured they'd have the same problem (and a sollution). Wow, zlibc is old and I really would hate using the environ variable. However artsdsp way of doing things works here, so I stole the idea, and now it's smooth sailing again.

So I'm still hacking install watch.

I attempted to autotoolize the package, but I gave up. libtool is such a pain in the ass, i want to build a library called installwatch.so _not_ libinstallwatch.so, and I only want it to be be a shared library (never a static one). Never mind the lib prefix for now, it won't even add me -nostartfiles to LDFLAG (because it will automatically strip it too). Sheesh. If anyone is familiar with autotools / libtool better then me please email me how I can get this done (mtanski@gmail.com).

I did get a lot of things done tho; I cleaned up the files a ton. I moved some things into separate files and headers, and I started working on the fake chroot install. That's going good so far.

So i finally gave into peer pressure and start my self a new shiny blog.

So I haven't worked on Lunar-Linux for ages, and I felt like doing something productive so I figured I'd do something productive. I'm not nececesarly working stuff for lunar per say. I'm working to create tools to scratch an itch.

So right now I'm hacking on installwatch, I want to add some code to support installing into a different root then /. A lot of non autotoolized packages don't support the DESTDIR variable in their Makefiles or are broken. Sounds kinda tricky, and it is because quite a few apps read files, or modify files during the make install stage The modify part right now is not a huge concern for me right now because installwatch has a backup directory. The reading of a file on disk is a bigger issue. I think i'll be somewhat easy to implement it, check if file exists in the fake root; if not then copy that file from / to the fake root, and then allow the app to work on it. Or combine the backup and real logic. I also thought about using ptrace to trap syscalls to get around some of the install watch weakness (setuid or statically linked binaries), but that would be a big pain in the ass and non portable, so i abandoned this for now.

New Advogato Features

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!