ports include /etc/src.conf? i.e. graphics/libfpx
tevans.uk at googlemail.com
Thu Feb 14 13:02:34 UTC 2013
On Thu, Feb 14, 2013 at 12:27 PM, Mikhail T. <mi+thun at aldan.algebra.com> wrote:
> 13.02.2013 11:22, O. Hartmann написав(ла):
>>> > If this is taken literally then could it be said that ports that use
>>> > bsd.lib.mk are broken because they are using makefile includes from
>>> > the source tree?
>>> > -Kimmo
> For one, the particular port (its Makefile.bsd) was created in 2001,
> five years before src.conf appeared. The intent of creating a separate
> src.conf, I believe, was to shield a world-build from "crazy" options
> someone could've put into their make.conf for the benefit of building a
> port or two... But I may be mistaken.
I think src.conf is meant only to be included when building src. For
example, bsd.port.mk sets _WITHOUT_SRCCONF before including bsd.own.mk
(which is the makefile that includes src.conf). It's done this since
src.conf was added in 2006, so evidently ports are, by design, not
supposed to include src.conf.
>> I would consider them broken!
> On the contrary. I wish, more ports were using the system's bsd.*.mk
> collection -- instead of the godawful autoconf, for example.
Er? What port uses autoconf for driving the building the port? A lot
of ports have build systems that use autoconf, but determining how to
build is always driven by *.mk.
I don't think part of porting to FreeBSD should be rewriting how the
package builds itself.
The intent in bsd.port.mk is clearly to not include src.conf in port builds.
> What does
> the port's Makefile.bsd say? It says: "These are the sources, this is
> the name of the library I want. Please, create it." That's all... It is
> how things are supposed to be, in my opinion. If the bsd.*.mk collection
> was not meant to be used outside of /usr/src, then it wouldn't be
> installed (under /usr/share/mk) for the decades, that BSD exists.
> Maybe, the bsd.*.mk collection should be smarter -- and not include
> src.conf -- when .CURDIR is outside of /usr/src. I'm not sure...
This is the intent of bsd.port.mk, which is not applied when building this port.
>> How could I track down problems if they are results of intermixed config
>> files when the manpage explicitely tells me, that the /etc/src.conf is
>> only for the build of the operating system?
> If the manual says that, it is incorrect -- if only because it does not
> reflect (as you've experienced) the practice, that existed long before
> the manual was written. As for your tracking down problems, I'd say, it
> should be very easy for you to recognize the flags you've added by hand
> -- even if you've added them to where you believed, they would not
> affect a port.
Either the documentation is wrong, and should be changed, or this
singular port is not behaving as it should.
More information about the freebsd-current