I use some common software packages frequently enough that I found it worthwhile to modify their code a bit to work more smoothly for my peculiar needs. However, I was not able to get my changes accepted upstream.
To make things organized and transparent, I'd like to keep my changes separate from the released (upstream) version of each package. I know this is done all the time with standard packaging tools, but I need to install these on my various user accounts. Some of these accounts are on shared systems where I either don't have root access, or where I don't want to force other users to adopt my version of a piece of software. Most distro packaging tools don't support installing a package into a user's home directory - my stuff goes in
~/.local/bin for example. So I'm looking at combining something like Quilt to apply my patches, with some custom install scripts to do the upstream downloading and local installation.
All in all I think it's not too complicated, but before I start I wanted to see what others have done.
A related question, What is the recommended way to maintain local patches to debian packages? is asking about distribution-specific packages with global (privileged) installation. Also relevant, but more general, is How to manage open source project patches which can't push to upstream?.