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