--- /dev/null
+[Portage][] is [[Gentoo]]'s default package manager. This post isn't
+supposed to be a tutorial, the [handbook][] does a pretty good job of
+that already. I'm just recording a few tricks so I don't forget them.
+
+User patches
+============
+
+While playing around with [[LDAP]], I was trying to troubleshoot the
+`SASL_NOCANON` handling. “Gee,” I thought, “wouldn't it be nice to be
+able to add debugging printfs to figure out what was happening?”
+Unfortunately, I had trouble getting `ldapwhoami` working when I
+compiled it by hand. “Grrr,” I though, “I just want to add a simple
+patch and do whatever the ebuild already does.” This is actually
+pretty easy to do, once you're looking in the right places.
+
+Write your patch
+----------------
+
+I'm not going to cover that here.
+
+Place your patch where `epatch_user` will find it
+-------------------------------------------------
+
+This would be under
+
+ /etc/portage/patches/<CATEGORY>/<PF|P|PN>/
+
+If your ebuild already calls `epatch_user`, or it uses an eclass like
+`base` that calls `epatch_user` internally, you're done. If not, read
+on…
+
+Forcing `epatch_user`
+---------------------
+
+While you could always write an [[overlay|Gentoo_overlay]] with an
+improved ebuild, a quicker fix for this kind of hack is
+[/etc/portage/bashrc][bashrc]. I used:
+
+ if [ "${EBUILD_PHASE}" == "prepare" ]; then
+ echo ":: Calling epatch_user";
+ pushd "${S}"
+ epatch_user
+ popd
+ fi
+
+to insert my patches at the beginning of the `prepare` phase.
+
+Cleaning up
+-----------
+
+It's safe to call `epatch_user` multiple times, so you can leave this
+setup in place if you like. However, you might run into problems [if
+you touch autoconf files][autoconf], so you may want to move your
+`bashrc` somewhere else until you need it again!
+
+
+[Portage]: http://www.gentoo.org/proj/en/portage/index.xml
+[handbook]: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
+[bashrc]: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=6#doc_chap3
+[autoconf]: http://comments.gmane.org/gmane.linux.gentoo.devel/76466
+
+[[!tag tags/tools]]
+[[!tag tags/programming]]