From owner-freebsd-current@FreeBSD.ORG Fri Feb 15 22:33:06 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 61B2F7E5 for ; Fri, 15 Feb 2013 22:33:06 +0000 (UTC) (envelope-from mi+thun@aldan.algebra.com) Received: from smtp.rcn.com (smtp.rcn.com [69.168.97.78]) by mx1.freebsd.org (Postfix) with ESMTP id 137D49F3 for ; Fri, 15 Feb 2013 22:33:05 +0000 (UTC) X_CMAE_Category: 0,0 Undefined,Undefined X-CNFS-Analysis: v=2.0 cv=YKIdOG6x c=1 sm=0 a=fEl05wXzeJCkBz9gs2itqQ==:17 a=XBbVgglCP-sA:10 a=LbyY71X0eGoA:10 a=YNqtyO0l_hcA:10 a=LaogzpLLAAAA:8 a=FoeWSrC19yYA:10 a=XUz4oqeaanGUZ6vgj1UA:9 a=wPNLvfGTeEIA:10 a=IxsuMwJRAAAA:8 a=JrpUZarVgTifBtrpupIA:9 a=_W_S_7VecoQA:10 a=dU2MCFah3dTyrMP7:21 a=fEl05wXzeJCkBz9gs2itqQ==:117 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine Authentication-Results: smtp01.rcn.cmh.synacor.com header.from=mi+thun@aldan.algebra.com; sender-id=neutral Authentication-Results: smtp01.rcn.cmh.synacor.com smtp.mail=mi+thun@aldan.algebra.com; spf=neutral; sender-id=neutral Authentication-Results: smtp01.rcn.cmh.synacor.com smtp.user=anat; auth=pass (PLAIN) Received-SPF: neutral (smtp01.rcn.cmh.synacor.com: 209.6.63.29 is neither permitted nor denied by domain of aldan.algebra.com) Received: from [209.6.63.29] ([209.6.63.29:33830] helo=utka.zajac) by smtp.rcn.com (envelope-from ) (ecelerity 2.2.3.49 r(42060/42061)) with ESMTPA id D8/16-28101-A97BE115; Fri, 15 Feb 2013 17:32:59 -0500 Message-ID: <511EB799.8090401@aldan.algebra.com> Date: Fri, 15 Feb 2013 17:32:57 -0500 From: "Mikhail T." User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Tom Evans , Kimmo Paasiala , Current FreeBSD , "O. Hartmann" , Ports FreeBSD , Yamaya Takashi , jmg@funkthat.com Subject: Re: ports include /etc/src.conf? i.e. graphics/libfpx References: <511B662C.7030602@zedat.fu-berlin.de> <511B874A.7080901@kbh.biglobe.ne.jp> <511BBDAD.1080806@zedat.fu-berlin.de> <511CD83C.107@aldan.algebra.com> <511CE2AD.8050506@aldan.algebra.com> <20130214143445.GA5414@straylight.m.ringlet.net> In-Reply-To: <20130214143445.GA5414@straylight.m.ringlet.net> X-Mailman-Approved-At: Fri, 15 Feb 2013 22:41:07 +0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2013 22:33:06 -0000 14.02.2013 09:34, Peter Pentchev ???????(??): > However, there is then the argument of "well, if you want to use the bsd.*.mk > infrastructure, then why don't you just copy it into your project and include > it from there - just like many, many projects do with, say, the sys/queue.h > header, or parts of libc, or whatever?" And it is, indeed, a very good argument Either I completely misunderstand the argument, or I disagree -- strongly -- with it. Including bits created and maintained by others into your own project is very rarely justified (although done quite often). I don't see, why adding (some version of) bsd.lib.mk and friends into every project, that wishes to build a shared library on FreeBSD, is any more justified, than bundling libjpeg with every graphics application. John-Mark also just posted a strong argument for using the existing bsd.*.mk family of makefiles... > since this is how a software distribution's parts are supposed to be used - > you copy them into your project and use them even when they are not available > on the host system. So one might argue that the port is, indeed, buggy, that > the src.conf documentation is, indeed, correct, and that the proper way for > people to use the bsd.*.mk The documentation is, demonstrably, incorrect -- it was incorrect, when it was written 7 years ago, and remains so. Because a user of bsd.*.mk /will be/ affected by src.conf -- unless he takes special steps to prevent it. This fact can not be fixed by a user, the only way to avoid the effect, is to modify their own makefile(s). The implementation of the change may be blamed for this -- if, indeed, there was a need for src-only configuration knobs, src.conf should be included, when a special flag is present in the environment (put there by src/Makefile), not the other way around. > some weird src.conf settings might confuse the build of some of my software on > FreeBSD. And some of those settings are required for healthy building of some of the ports... For example, libreoffice "knows" out of the box, that FreeBSD has Kerberos libraries. So, if your world was built WITHOUT_KERBEROS and WITHOUT_GSSAPI, libreoffice fails to configure. A simple patch like: +.if defined(WITHOUT_KERBEROS) +CONFIGURE_ARGS+= --without-krb5 +.endif +.if defined(WITHOUT_GSSAPI) +CONFIGURE_ARGS+= --without-gssapi +.endif could help, but WITHOUT_KERBEROS and WITHOUT_GSSAPI are set in src.conf and not, normally, available to the ports... So, in my opinion, the manual (src.conf(5)) should be updated to reflect reality. Or, if the separation is really deemed desirable (something I, for one, continue to question), the implementation (in /usr/src/Makefile and bsd.own.mk) needs to be altered to only consider src.conf, when world/kernel are being built/installed. -mi