Date: Wed, 28 Sep 2022 14:01:26 -0700 From: Dan Mahoney <freebsd@gushi.org> To: Kevin Oberman <rkoberman@gmail.com> Cc: "ports@FreeBSD.org" <ports@freebsd.org> Subject: Re: Python version dependencies in pkg Message-ID: <89D2B2D7-FA3D-46F5-A93B-4846950A157C@gushi.org> In-Reply-To: <CAN6yY1ujCH9Xnv3QN-GF8hN75v%2BxGkOTHrsr25jzxGNGdYW2vQ@mail.gmail.com> References: <8B490359-27A3-410C-AE98-C1362D4FA9F0@gushi.org> <CAN6yY1sGnDF-oReRMFeVz78oGoTfUvsvwUOQwoBZWN9ibjTw3A@mail.gmail.com> <B2A3A400-F21A-4E92-8116-41E7945E4E5C@gushi.org> <CAN6yY1ujCH9Xnv3QN-GF8hN75v%2BxGkOTHrsr25jzxGNGdYW2vQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_6D02FE00-5A6C-4657-B2DA-D34F28033B09 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Sep 26, 2022, at 20:22, Kevin Oberman <rkoberman@gmail.com> wrote: >=20 > On Mon, Sep 26, 2022, 18:13 Dan Mahoney <freebsd@gushi.org = <mailto:freebsd@gushi.org>> wrote: >=20 >=20 >> On Sep 26, 2022, at 09:27, Kevin Oberman <rkoberman@gmail.com = <mailto:rkoberman@gmail.com>> wrote: >>=20 >> On Mon, Sep 26, 2022 at 2:58 AM Dan Mahoney <freebsd@gushi.org = <mailto:freebsd@gushi.org>> wrote: >> All, >>=20 >> A quick question: >>=20 >> If a pkg depends on python, but not a specific version, it will = simply pick a version to install (I guess, whatever version was the = default when the pkg was built, 3.8 right now), correct? >>=20 >> If you have 3.9 installed, that will satifsfy dependencies, and it = won't install python3.8, correct? Or are the dependent versions for = interpretec languages in pkg locked to whatever the default is? >>=20 >> Assuming "any python will work", If you have 3.8 installed, and later = install 3.9 -- is there any easy way to point your package at the new = version as the new dependency, without deinstalling/reinstalling it? >>=20 >> -Dan >>=20 >> It will use the version specified as default in = /usr/ports/Mk/bsd.default-versions.mk <http://bsd.default-versions.mk/>. >=20 > To be clear, I'm talking about pkg install, not port building. >=20 > So I understand -- that value is somehow baked in to the package tree = somewhere? Because pkg alone doesn't look at the ports tree on the = installing machine (you do not need to have ports extracted to install = packages), nor do I believe it looks at make.conf, >=20 > If so, where in pkg do I find the default version? Is it somewhere in = the repository that's fetched before I install any packages? >=20 > -Dan >=20 > You are correct. But the packages are built using the same Makefile = and the same defaults as when built from ports for the specified version = of FreeBSD as if it was built from ports. The Mk files are updated with = ports, so all packages change when the change is committed to the = defaults file, though they will only take effect when the quarter = changes unless you're using LATEST packages. Okay, so in either the package file, or the repo file, is there a bit = that says "whatever is the default" or that explicitly says "if there's = not a python, install 3.8"? =20 I realize I'm asking weird minute questions, but I'm noticing that = across our fleet we have some blend of machines that are 3.7, 3.8, and = 3.9, and trying to just remove 3.7 attempts to deinstall packages that = would work with 3.8. -Dan= --Apple-Mail=_6D02FE00-5A6C-4657-B2DA-D34F28033B09 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br = class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div = class=3D"">On Sep 26, 2022, at 20:22, Kevin Oberman <<a = href=3D"mailto:rkoberman@gmail.com" class=3D"">rkoberman@gmail.com</a>>= wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div = dir=3D"ltr" class=3D""><div dir=3D"auto" class=3D""><div class=3D""><span = class=3D"gmail_default" = style=3D"font-family:tahoma,sans-serif;font-size:small"><span = class=3D"gmail_default" = style=3D"font-family:tahoma,sans-serif;font-size:small"></span></span>On = Mon, Sep 26, 2022, 18:13 Dan Mahoney <<a = href=3D"mailto:freebsd@gushi.org" target=3D"_blank" = class=3D"">freebsd@gushi.org</a>> wrote:<br class=3D""><div = class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 = 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div = style=3D"word-wrap:break-word;line-break:after-white-space" class=3D""><br= class=3D""><div class=3D""><br class=3D""><blockquote type=3D"cite" = class=3D""><div class=3D"">On Sep 26, 2022, at 09:27, Kevin Oberman = <<a href=3D"mailto:rkoberman@gmail.com" rel=3D"noreferrer" = target=3D"_blank" class=3D"">rkoberman@gmail.com</a>> wrote:</div><br = class=3D""><div class=3D""><div dir=3D"ltr" class=3D""><div dir=3D"ltr" = class=3D""><div class=3D"gmail_default" = style=3D"font-family:tahoma,sans-serif;font-size:small">On Mon, Sep 26, = 2022 at 2:58 AM Dan Mahoney <<a href=3D"mailto:freebsd@gushi.org" = rel=3D"noreferrer" target=3D"_blank" class=3D"">freebsd@gushi.org</a>> = wrote:<br class=3D""></div></div><div class=3D"gmail_quote"><blockquote = class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px = solid rgb(204,204,204);padding-left:1ex">All,<br class=3D""> <br class=3D""> A quick question:<br class=3D""> <br class=3D""> If a pkg depends on python, but not a specific version, it will simply = pick a version to install (I guess, whatever version was the default = when the pkg was built, 3.8 right now), correct?<br class=3D""> <br class=3D""> If you have 3.9 installed, that will satifsfy dependencies, and it won't = install python3.8, correct? Or are the dependent versions for = interpretec languages in pkg locked to whatever the default is?<br = class=3D""> <br class=3D""> Assuming "any python will work", If you have 3.8 installed, and later = install 3.9 -- is there any easy way to point your package at the new = version as the new dependency, without deinstalling/reinstalling it?<br = class=3D""> <br class=3D""> -Dan<br class=3D""> </blockquote></div><br clear=3D"all" class=3D""><div = style=3D"font-family:tahoma,sans-serif;font-size:small" = class=3D"gmail_default">It will use the version specified as default in = /usr/ports/Mk/<a href=3D"http://bsd.default-versions.mk/" = rel=3D"noreferrer" target=3D"_blank" = class=3D"">bsd.default-versions.mk</a>.</div></div></div></blockquote><div= class=3D""><br class=3D""></div><div class=3D"">To be clear, I'm = talking about pkg install, not port building.</div><div class=3D""><br = class=3D""></div><div class=3D"">So I understand -- that value is = somehow baked in to the package tree somewhere? Because pkg alone = doesn't look at the ports tree on the installing machine<span style=3D"" = class=3D""> </span><span style=3D"" class=3D"">(you do not need to = have ports extracted to install packages)</span>, nor do I believe it = looks at make.conf,</div><div class=3D""><br class=3D""></div><div = class=3D"">If so, where in pkg do I find the default version? Is = it somewhere in the repository that's fetched before I install any = packages?</div><div class=3D""><br class=3D""></div><div = class=3D"">-Dan</div></div></div></blockquote><div class=3D""><br = class=3D""></div><div = style=3D"font-family:tahoma,sans-serif;font-size:small" = class=3D"gmail_default"><span class=3D"gmail_default" = style=3D"font-family:tahoma,sans-serif;font-size:small">You are correct. But the packages are built using the same Makefile = and=20 the same defaults as when built from ports for the specified version of = FreeBSD as if it was built from ports. The Mk files are updated with ports, so all = packages change when the change is committed to the defaults file, = though they will only take effect when the quarter changes unless you're = using LATEST packages.<br class=3D""></span></div></div></div></div> </div> </div></blockquote></div><br class=3D""><div class=3D"">Okay, so in = either the package file, or the repo file, is there a bit that says = "whatever is the default" or that explicitly says "if there's not a = python, install 3.8"? </div><div class=3D""><br = class=3D""></div><div class=3D"">I realize I'm asking weird minute = questions, but I'm noticing that across our fleet we have some blend of = machines that are 3.7, 3.8, and 3.9, and trying to just remove 3.7 = attempts to deinstall packages that would work with 3.8.</div><div = class=3D""><br class=3D""></div><div class=3D"">-Dan</div></body></html>= --Apple-Mail=_6D02FE00-5A6C-4657-B2DA-D34F28033B09--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?89D2B2D7-FA3D-46F5-A93B-4846950A157C>