From owner-freebsd-ports@freebsd.org Wed Dec 14 08:46:51 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CDBEBC77CBF for ; Wed, 14 Dec 2016 08:46:51 +0000 (UTC) (envelope-from knu@iDaemons.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id B61F41C7B for ; Wed, 14 Dec 2016 08:46:51 +0000 (UTC) (envelope-from knu@iDaemons.org) Received: by mailman.ysv.freebsd.org (Postfix) id B275AC77CBE; Wed, 14 Dec 2016 08:46:51 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B21CEC77CBD for ; Wed, 14 Dec 2016 08:46:51 +0000 (UTC) (envelope-from knu@iDaemons.org) Received: from mail.musha.org (v055125.ppp.asahi-net.or.jp [124.155.55.125]) by mx1.freebsd.org (Postfix) with ESMTP id 834251C78 for ; Wed, 14 Dec 2016 08:46:50 +0000 (UTC) (envelope-from knu@iDaemons.org) Received: by mail.musha.org (Postfix, from userid 58) id 3tdqh761bVznW6n; Wed, 14 Dec 2016 17:37:27 +0900 (JST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on daemon.musha.org X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=13.0 tests=BAYES_50, CONTENT_TYPE_PRESENT, FAKEDWORD_ONE,FAKEDWORD_VERTICALLINE,ONLY1HOPDIRECT,RP_MATCHES_RCVD, SPF_HELO_FAIL,SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.1 Received: from daemon.musha.org (daemon.local.idaemons.org [192.168.11.11]) by mail.musha.org (Postfix) with ESMTP id 3tdqh72RgQznW6k; Wed, 14 Dec 2016 17:37:27 +0900 (JST) Date: Wed, 14 Dec 2016 17:37:24 +0900 Message-ID: <86y3zinby3.knu@iDaemons.org> From: "Akinori MUSHA" To: "Julian H. Stacey" Cc: ports@FreeBSD.org Subject: Re: No port should need root for make fetch In-Reply-To: <201612132032.uBDKWaVK017178@fire.js.berklix.net> References: <201612132032.uBDKWaVK017178@fire.js.berklix.net> Organization: Associated I. Daemons X-PGP-Public-Key: finger knu@FreeBSD.org X-PGP-Fingerprint: 081D 099C 1705 861D 4B70 B04A 920B EFC7 9FD9 E1EE MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: multipart/signed; boundary="pgp-sign-Multipart_Wed_Dec_14_17:37:21_2016-1"; micalg=pgp-sha1; protocol="application/pgp-signature" Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Dec 2016 08:46:51 -0000 --pgp-sign-Multipart_Wed_Dec_14_17:37:21_2016-1 Content-Type: text/plain; charset=US-ASCII Hi, Thanks for the info. On Wed, 14 Dec 2016 05:32:36 +0900, Julian H. Stacey wrote: > Hi ports@ > IMO No port should need root for > cd /usr/ports; make -i fetch > The first one that broke for me was databases/mysql-q4m > (OK might be others before, but I have DUDS = > arabic biology chinese hebrew hungarian japanese korean > polish portuguese russian ukrainian vietnamese games demime > majordomo acroreadwrapper acroread9 chimera dosbox emil > firefox freerdp gimp-app gv libcue mp3splt-gtk nut opera > ripit vlc xorg xsane > ) > (MAINTAINER CC'd) but there's more ports beyond, usually because > some ports also go berserk & install, or mabe install dependents. Having the dependency as FETCH_DEPENDS [*] was not my idea, but that was for a reason: you should not fetch a file while building a port. * https://svnweb.freebsd.org/ports/head/databases/mysql-q4m/Makefile#rev297196 And you are making a point here: you should not build a port (which involves installing its build dependencies as root) while fetching a file. These two demands cannot be easily satisfied at the same time, and I believe that in general, the idea of FETCH_DEPENDS implies that fetching may require the root privilege. For example, if the distfile were only available via some weird protocol that any standard tool in the base system cannot speak, then you'd need to install a tool for that from another port as root. I admit that the use of FETCH_DEPENDS in this particular port might be an abuse of the feature, but still, you should note that fetching in general is not always a root-free operation. Perhaps copying mysql-server's build dependencies to mysql-q4m may mitigate the issue here, but that does not seem quite right considering the cost for maintenance. What do you think? -- Akinori MUSHA / https://akinori.org/ --pgp-sign-Multipart_Wed_Dec_14_17:37:21_2016-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit Content-Description: OpenPGP Digital Signature -----BEGIN PGP SIGNATURE----- iEYEABECAAYFAlhRBMIACgkQkgvvx5/Z4e6N4QCdEQKzEA+ZhVYTZJtMmqYyzYQp 3CMAoKLPlIKneXJaW+6oPV2NeKCoRXX3 =tioK -----END PGP SIGNATURE----- --pgp-sign-Multipart_Wed_Dec_14_17:37:21_2016-1--