dpbuild

Continuing on with the Gentoo development platform venture, I’ve updated the Portage-HEAD installation guide to take account for the fact that sys-apps/sandbox is now in the Portage tree, and also added a Portage patch which allows non-root users to run ebuild for normal operations.

I attempted to tackle an initial scenario: Patching a package (gamin) with a big patch which I got out of their CVS. Unfortunately too much had changed elsewhere in CVS for this to be successful against the latest gamin release, but I reached a milestone in that I hacked ebuild enough to work as a normal user, extracting source into the users home directory, which is slightly more convenient than having to be root and getting it extracted into /var/tmp with restrictive permissions.

I also added a utility to portage, dev-util/rej, which aims to help you apply diff/patch rejects. In this situation, it managed to automatically resolve some of the rejects, which was nice. A handy utility to keep in mind.

dpbuild is a wrapper script for ebuild, which currently just sets environment variables allowing ebuild to be used as a normal user (it will be extended to incorporate other hacks in the future). I’m only thinking in terms of unpacking/compiling here, installation to / obviously won’t work. See the Gentoo development platform page for more info and where to find it.

I recieved some feedback after my last weblog post on this topic. It’s good to know that there are people besides myself who would find some of the ideas I have mentioned to be beneficial to their working environment.

4 Responses to “dpbuild”

  1. postmodern Says:

    Fantastic future plans, I have long wanted to be able to build a package with custom settings and have it dumped into my ~ dir without hassle. Who knows maybe there might be cross-compiling incorporated some day.

  2. Luca Says:

    OT, but since you’re mentioning gamin, if you wanted to patch 0.0.26 because the inotify backend has been fully rewritten, I suggest that you wait a few days, because inotify 0.23 is out and it broke the backend again. As told in a gamin bug report, John McCutchan should release a new patch soon (he was supposed to do this two days ago, I think he’s waiting for 0.23 to stabilize) and Daniel Veillard said he was going to be away for two weeks on the 12th of april, so now he should be here again and maybe there will be a new official release in a few days.
    Speaking of gamin, a “inotify” use-flag would be nice.

  3. Luca Says:

    oh, forget it, I didn’t read the previous message so my comment is completely OT. I promise, I’ll never commet when I’m half asleep

  4. dsd Says:

    postmodern: My plans involve allowing you to easily build source from your home directory and then merge it onto your live filesystem in the usual places. This is different from building the sources someplace and then allowing the programs to be run from your home directory – thats an entirely different problem, which I’m not tackling right now.
    cross-compiling is already available, read up about crossdev.

Leave a Reply

You must be logged in to post a comment.