On Wed, Apr 01, 2015 at 01:42:56PM +0200, Ruediger Meier wrote: > Hi, > > I wonder about some hardcoded binary paths. > > Example swapon.c: > > #define PATH_MKSWAP "/sbin/mkswap" > > There are a two problems. > 1. It's wrong. We should use $sbindir from configure. > 2. When called from our test-suite it will use a wrong (or > non-existend, broken) binary. This happens in test swapon/fixpgsz. > > The question is how to fix this. > > I would prefer to use "mkwsap" from the same directory like swapon or to > simply execvp "mkswap" from PATH. But don't know if we want this. If we > really want to keep a hardcoded sbindir then we would need "#ifdef > TEST_PROGRAM". > > Any comments? The approach that seems obvious to me (assuming you want to keep the hardcoded path) is: -add -DSBINDIR="$sbindir" to CFLAGS -in the testsuite, run tests in a private mount namespace, where you can bind-mount $sbindir. However, I'm guessing this would have to be done with a union mount, and there are probably problems like what to do if sbindir is non-existent down to / (eg, sbindir=/util-linux/rootcommmands on a standard Linux) -- creating a union mount over / may be a Bad Thing. Thanks, Isaac Dunham -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html