From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id F07D2138334 for ; Thu, 13 Jun 2019 22:18:07 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D2F9BE08BB; Thu, 13 Jun 2019 22:18:06 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 6FD62E08BB for ; Thu, 13 Jun 2019 22:18:06 +0000 (UTC) Received: from a1i15 (host2092.kph.uni-mainz.de [134.93.134.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: ulm) by smtp.gentoo.org (Postfix) with ESMTPSA id 45C2F34605C; Thu, 13 Jun 2019 22:18:04 +0000 (UTC) From: Ulrich Mueller To: James Le Cuirot Cc: gentoo-pms@lists.gentoo.org Subject: Re: [gentoo-pms] [PATCH] Correct the definition of ESYSROOT as EPREFIX isn't always applicable References: <20190601222921.12072-1-chewi@gentoo.org> <20190613210956.165c5961@symphony.aura-online.co.uk> Date: Fri, 14 Jun 2019 00:17:54 +0200 In-Reply-To: <20190613210956.165c5961@symphony.aura-online.co.uk> (James Le Cuirot's message of "Thu, 13 Jun 2019 21:09:56 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Package Manager Specification discussions X-BeenThere: gentoo-pms@gentoo.org X-BeenThere: gentoo-pms@lists.gentoo.org Reply-To: gentoo-pms@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Archives-Salt: 9863b378-cd53-4acc-a659-8c5698fbcc0e X-Archives-Hash: b612110843a2e00d02d649df9578bfab --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable >>>>> On Thu, 13 Jun 2019, James Le Cuirot wrote: > On Thu, 13 Jun 2019 12:30 +0100 > Ulrich Mueller wrote in #gentoo-dev: >> Chewi: tbh, I don't understand your update for ESYSROOT >> SYSROOT is related to DEPEND/CHOST type dependencies >> so why would you have ESYSROOT=3D"/${BROOT}" if SYSROOT is equal t= o / ? >> since BROOT is related to BDEPEND/CBUILD=20 > I kind of see what you mean but I've been thinking of SYSROOT as being > more like a mechanism to choose between building against BROOT, EROOT > (previously the only two valid options), or some other unprefixed > location. There is no dedicated variable for SYSROOT's prefix so the > user cannot directly define it and it can therefore only be calculated > from BROOT when SYSROOT=3D/ or EROOT when SYSROOT=3D${ROOT}. >> but if SYSROOT is blank, then ESYSROOT will be blank too, >> ignoring EPREFIX altogether? (or at least, that's how I read your >> patch) > What gave you that impression? The rule is that if the prefix cannot be > calculated because SYSROOT is neither / nor ROOT then we have to assume > no prefix. Where else could we get a prefix from? > You may think that we should just create that missing SYSROOT prefix > variable but consider that the distinct "somewhere else" location is > not intended for general use. In other words, you wouldn't execute > commands from it or chroot into it and therefore there is no value in > allowing it to be prefixed. Typically this location would > be /usr/${CHOST} as set up by crossdev. > I haven't forgotten about the cross-prefix case. In this scenario, both > ROOT=3D/ and SYSROOT=3D/ but BROOT and EPREFIX are different. Which prefix > do we choose? We pick EPREFIX because the prefix guys try to use the > target prefix as much as possible. Once SYSROOT has the OS headers and > libc headers, you should be able to build anything. > Does this help? I fear that after your answer I'm even more confused than I was before. EPREFIX will be embedded into any (CHOST) binaries being built, so we want it to be applied in the same way for both DEPEND and RDEPEND, right? Why would it be appended to ROOT then, but not to SYSROOT? Also I still don't understand why BROOT (which points to the CBUILD system) would be used as a prefix for CHOST things. Ulrich --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEZlHkP3TnuTbxrN0HwwkGhRxhwnMFAl0Cy5IACgkQwwkGhRxh wnOrnQf/WoHS6fRLznNlaNRa4J80nXfwdlPw22+nxsk6eJD8c3UXjrUzUOqLXoOW DFeF7mECesAs9e+xHs32kbLHtYvyfTWLBA87CO2VslBQDVtt34vnzrQUXi0RCHc8 kttcOr9gAbGWMwyhsHSusPw6NjYSbX4Ljp++EjJd0WgBKZIErfc9YGjr7tY6CoRc 50zuQ23k4z1BWCeYxIOd28+Y5iepvxMUYpBpvA5QFT8SIQkEc9h2SkuOJukKGifg qjv9xzuwVaWa0e1NtWjQ6D2ii/iD5EaB0NstMo80i40xHqrQ4ut+YroEBaHiHiiv fVRDDiKzX/OadZTEEJWhoE6AilUJDA== =O78K -----END PGP SIGNATURE----- --=-=-=--