Hello!

So... I noticed that the sysutils/coreutils port cannot be compiled as root. Whether or not this is a problem of the port or me being too naiive when it comes to installing something is up to you.
(pkg_add coreutils fixed my problem)


Anyways, see for yourself:
% cd /usr/ports/sysutils/coreutils
% doas make
...
checking whether mkfifo rejects trailing slashes... yes
checking whether mkfifoat rejects trailing slashes... yes
checking whether mknod can create fifo without root privileges... configure: error: in `/usr/ports/pobj/coreutils-9.1/coreutils-9.1': configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details
%


Whilst this is just a minor inconveniance when compiling the port itself, it is certainly a niusance when this port becomes a dependency

% cd /usr/ports/graphics/giflib
% make test
...
checking whether mkfifo rejects trailing slashes... yes
checking whether mkfifoat rejects trailing slashes... yes
checking whether mknod can create fifo without root privileges... configure: error: in `/usr/ports/pobj/coreutils-9.1/coreutils-9.1': configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details
%

I already contacted the maintainer, he is a strong proponent of compiling ports as users, not as root.

So, here is my idea:

RUNNING THE BUILD STAGE AUTOMATICALLY AS USER

Without having any deeper knowledge about the build process, I imagine it being something like this:

make dependencies
make fetch
make checksum
make extract
make build
make package
make install

So, what I am proposing would be something like this

make dependencies
make fetch
make checksum
make extract
su - nobody make build
make package
make install


Good idea? Bad idea? Awful idea?


Thomas

Reply via email to