hitting a wall
One of the benefits that comes with experience (that sounds so much better than “with age” :) is that you start to realize that when you are banging your head against a wall trying to solve a problem, maybe it’s time to step back and realize why the wall is there. It could be there for a good reason and instead of beating on it, figure out how to either go around or build on top of it. My recent “wall” was generating an RPM .spec file for Chandler. I kept running into the issue that RPM’s are really designed for system or daemon installations and as such, are supposed to be run silent. Another issue was that the target directory for installation is very limited – basically the valid binary directories that the LSB defines. I was finding solutions to one of the issues but never both – blech! After chewing on that for a while I remembered something one of my friends always tells me: realize why something is the way it is and then move on. Now that had absolutely no impact on my immediate problem ;) but it did change my mindset just enough to realize that I was trying to solve the wrong problem (or I think I am.) The problem that I should be solving is how to make Chandler have sane defaults and give the user/admin a way to adjust those defaults if need be. That will mean that the startup routine in Chandler will have to make some decisions based on operating system and user priviledges but that does allow the installation tool to be as simple as possible while still offering some flexibility in where the binaries are installed.