No port should need root for make fetch
Freddie Cash
fjwcash at gmail.com
Wed Dec 14 21:58:13 UTC 2016
On Tue, Dec 13, 2016 at 2:01 PM, Matthias Andree <matthias.andree at gmx.de>
wrote:
> Am 13.12.2016 um 22:35 schrieb Julian H. Stacey:
> >
> >> How is that a problem of "some" ports? All ports require root for "make
> >> fetch"
> > No they dont.
>
> Given that, then "none do".
>
> I'll do what what you omitted in your blind rage, I've dug the important
> detail up for you, which was the first guess:
>
> $ grep _DEPENDS Makefile /dev/null
> /usr/ports/databases/mysql-q4m/Makefile:FETCH_DEPENDS+=
> ${NONEXISTENT}:${_MYSQL_SERVER}:build
>
> This doesn't say "give me root". It needs to be able to build the
> requisite port.
> Obviously the fix is to make sure that if you want to fetch as
> unprivileged user, that you can also *build*.
> I assume that if you want *fetch* as unprivileged user, that you also
> want to *build* as unprivileged user, so I'd take that for granted, but
> it's not the case on your system.
>
> On my system, which has a WRKDIRPREFIX that I am permitted to write to
> with the unprivileged user account doing the builds, "make fetch" for
> mysql-q4m passes without a hitch.
>
> > Thanks for the well intentioned & good advice Matthias,
> > But some few ports are truly Badly Behaved with make fetch.
>
> Can you cite chapter and verse of the rule that makes such a port "truly
> Badly Behaved", for reference in this list's archives?
I guess the
better
question would be, why does one need to BUILD a port when just downloading
the sources for another port? Shouldn't the fetch process be just that ...
downloading the sources into the DISTDIR?
Regardless of which user you do things as, it just seems bizarre that you
would need to compile port X in order to fetch the sources for port Y. Not
saying there's never a situation where that would be needed, it just seems
non-intuitive. I can see situations where you'd want to fetch distfiles
ahead of time as a different user from the one used to build the ports,
where this behaviour could break things (like Julian discovered).
What does the a compiled mysql-server port provide that's needed to
download the sources for mysql-q4m? That can't be put off until the build
phase?
--
Freddie Cash
fjwcash at gmail.com
More information about the freebsd-ports
mailing list