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