Skip site navigation (1)Skip section navigation (2)
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 &lt;<a =
href=3D"mailto:rkoberman@gmail.com" class=3D"">rkoberman@gmail.com</a>&gt;=
 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 &lt;<a =
href=3D"mailto:freebsd@gushi.org" target=3D"_blank" =
class=3D"">freebsd@gushi.org</a>&gt; 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 =
&lt;<a href=3D"mailto:rkoberman@gmail.com" rel=3D"noreferrer" =
target=3D"_blank" class=3D"">rkoberman@gmail.com</a>&gt; 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 &lt;<a href=3D"mailto:freebsd@gushi.org" =
rel=3D"noreferrer" target=3D"_blank" class=3D"">freebsd@gushi.org</a>&gt; =
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?&nbsp; Because pkg alone =
doesn't look at the ports tree on the installing machine<span style=3D"" =
class=3D"">&nbsp;</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?&nbsp; 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.&nbsp; 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"? &nbsp;</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>