tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: RFC: distbb for cross-compiling packages
>> PKGNAME: xdm-1.1.11
>> PKGPATH: x11/xdm
>> BUILD_DEPENDS: checkperms>=1.1:../../sysutils/checkperms
>> libtool-base>=2.2.6bnb3:../../devel/libtool-base
>> pkg-config>=0.19:../../devel/pkg-config
>> TARGET_BUILD_DEPENDS:inputproto>=1.4:../../x11/inputproto
>> kbproto>=1.0.2:../../x11/kbproto
>> renderproto>=0.9.3nb1:../../x11/renderproto
>> renderproto>=0.9:../../x11/renderproto
>> xcb-proto>=1.4:../../x11/xcb-proto
>> xextproto>=7.0:../../x11/xextproto
>> xineramaproto>=1.1.1:../../x11/xineramaproto
>> xproto>=7.0.9:../../x11/xproto
> That makes perfect sense.
> My only remaining point is that I think it should be
> BUILDHOST_BUILD_DEPENDS and (implicitly target) BUILD_DEPENDS
We can easily add BUILDHOST_BUILD_DEPENDS and TARGET(HOST)_BUILD_DEPENDS
variables in order to avoid confusions with BUILD_DEPENDS.
But renaming BUILD_DEPENDS to something else in all packages and all
files under mk/ was not in my plan.
What I tried to do with my patch is to make it as small and simple as
possible.
I'm not opposed to your proposal but I don't feel myself good enough to
work with mk/. Also note that making BUILD_DEPENDS target platform
dependency requires rewriting the documentation and breaks backward
compatibility. Two new variables BUILDHOST_BUILD_DEPENDS and
TARGETHOST_BUILD_DEPENDS looks reasonable alternative to me.
> instead, because "a depends on b" is naturally about target dependencies
> and exceptional when it's a build tool. In the NetBSD base system, we
> have nbfoo for the build-host tools, and regular dependencies in
> makefiles for the target dependencies.
> And, I still don't understand why *proto above isn't bl3 instead of
> *_BUILD_DEPENDS.
I'm not sure I understand your question.
*proto dependencies comes from bl3 framework.
>> 0 0 xdm>make /tmp/obj-pkgsrc/x11/xdm/work/.depends
>>
>> 0 xdm>cat /tmp/obj-pkgsrc/x11/xdm/work/.depends
>> bootstrap digest>=20010302 ../../pkgtools/digest
>> build kbproto>=1.0.2 ../../x11/kbproto
>> build xproto>=7.0.9 ../../x11/xproto
>> build xcb-proto>=1.4 ../../x11/xcb-proto
>> build xextproto>=7.0 ../../x11/xextproto
>> build inputproto>=1.4 ../../x11/inputproto
>> build renderproto>=0.9.3nb1 ../../x11/renderproto
>> build xineramaproto>=1.1.1 ../../x11/xineramaproto
>> full sessreg-[0-9]* ../../x11/sessreg
>> full libXaw>=1.0.5 ../../x11/libXaw
>> full libXmu>=1.0.0 ../../x11/libXmu
>> full libXft>=2.1.14nb1 ../../x11/libXft
>> full libXinerama>=1.0.1 ../../x11/libXinerama
>> 0 xdm>
> So that makes sense, to have them listed as build there, where that
> implies target packages.
> Presumably USE_TOOLS causes a different kind of dependency, where the
> tools have to be installed on the build host, but it's not a dependency
> of the package at all.
Absolutely.
>> Result:
>> - BUILD_DEPENDS contains only build host dependencies
> It's still my view that these are bugs that should be in USE_TOOLS,
> similar to how when we need a utility in the base system we either
> depend on the native one or add a new nbfoo.
Have a look at textproc/dict-mueller7 package.
We cannot make perl modules and rarely used utils like dictfmt(1),
dictzip(1) and GNU fmt(1) a part of USE_TOOLS. And I don't see reason for this.
It's easier to keep BUILD_DEPENDS as is IMHO.
>> - TARGET_BUILD_DEPENDS contains target dependencies only (headers).
>> - "depends" target doesn't require build host packages (checkperms,
>> libtool-base and pkg-config) anymore.
> I agree that this is the right behavior (and just differ on naming).
> So, what do you and others think about the notion that any use of
> BUILD_DEPENDS is (almost) intrinsicially a bug, and should be replaced
> by bl3 (for target dependencies) or USE_TOOLS.
See above about rarely used tools. It is impractical to add all of them
to USE_TOOLS.
> Actually, I'll go farther and say that BUILD_DEPENDS as a target
> dependency that isn't reasonably expressed as bl3 on packages containing
> headers or the functional equivalent also is a bug.
See above. Packages that provide headers and static libraries comes from
bl3 internals and most often are activated using bl3.
> In particular, the use of BUILD_DEPENDS to list perl packages that are
> needed to run tests seems fishy.
TEST_DEPENDS was discussed some time ago but I don't remember what
was the result of that discussion. IIRC asau@ participated in it.
--
Best regards, Aleksey Cheusov.
Home |
Main Index |
Thread Index |
Old Index