Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Oct 2023 21:12:28 -0700
From:      Kevin Oberman <rkoberman@gmail.com>
To:        Tatsuki Makino <tatsuki_makino@hotmail.com>
Cc:        "freebsd-ports@FreeBSD.org" <freebsd-ports@freebsd.org>
Subject:   Re: lang/perl5.36: update procedure written in UPDATING is not enough
Message-ID:  <CAN6yY1tNv5NfORn=25WzxpzesmukubE4D1n_jXjDMaBP=yHO0A@mail.gmail.com>
In-Reply-To: <SI2PR01MB5036F4F881FCB6005E220CCCFADAA@SI2PR01MB5036.apcprd01.prod.exchangelabs.com>
References:  <202310211305.39LD5Qt8086896@nuc.oldach.net> <SI2PR01MB5036F4F881FCB6005E220CCCFADAA@SI2PR01MB5036.apcprd01.prod.exchangelabs.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--00000000000047d22c06084651e8
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, Oct 21, 2023 at 5:10=E2=80=AFPM Tatsuki Makino <tatsuki_makino@hotm=
ail.com>
wrote:

> Helge Oldach wrote on 2023/10/21 14:49:
> > portupgrade -f `pkg query %ro-%rv lang/perl5.28`
>
> In the case of portmaster, it is portmaster -r perl5- .
> Reinstalling everything listed in `pkg info -q -r perl5` like this is
> overkill.
> Perhaps that is why the method that used to be "portmaster -r perl5-"
> (20141126) is now using "portmaster -f `pkg shlib -qR libperl.so.5.26`".
>
> Most of *.pm files installed in /usr/local/lib/perl5/site_perl/mach/5.36/
> use DynaLoader, so most ports that install it have a library linked to
> libperl.so.5.36.
> So, those ports are targeted for updating as per the procedure.
>
> Ports that are not targeted for updating in this procedure, but need to b=
e
> reinstalled, seem to create a file named .packlist in
> /usr/local/lib/perl5/site_perl/mach/5.36/ directory.
> Port like p5-Text-CSV-2.03 (textproc/p5-Text-CSV) is such ports.
>
> Reinstalling all p5-* ports is slight but overkill.
> Port like p5-SGMLSpm-1.03_2 (textproc/p5-SGMLSpm) is such ports.
> It doesn't seem to have a file that involves the old version number.
> The only reason it doesn't have a .packlist could be because it hasn't
> been reinstalled in a long time :)
>
> Since perl scripts are byte-compiled and then executed, there should be n=
o
> problem if a file in a running script is replaced.
> The new file will be used from the next run.
>
> Regards.
>

I think portmaster has a bug. As per the man page, the behavior of '-f'
matches the behavior of '-R -f".  Actually, I'm unclear on what the purpose
'-f' is. If you run portmaster with no options on a port that is up to
date, it still reinstalls it and has for a very long time, maybe always.


--=20
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkoberman@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683

--00000000000047d22c06084651e8
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
t-family:tahoma,sans-serif;font-size:small">On Sat, Oct 21, 2023 at 5:10=E2=
=80=AFPM Tatsuki Makino &lt;<a href=3D"mailto:tatsuki_makino@hotmail.com">t=
atsuki_makino@hotmail.com</a>&gt; wrote:</div></div><div class=3D"gmail_quo=
te"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex">Helge Oldach wrote on=
 2023/10/21 14:49:<br>
&gt; portupgrade -f `pkg query %ro-%rv lang/perl5.28`<br>
<br>
In the case of portmaster, it is portmaster -r perl5- .<br>
Reinstalling everything listed in `pkg info -q -r perl5` like this is overk=
ill.<br>
Perhaps that is why the method that used to be &quot;portmaster -r perl5-&q=
uot; (20141126) is now using &quot;portmaster -f `pkg shlib -qR libperl.so.=
5.26`&quot;.<br>
<br>
Most of *.pm files installed in /usr/local/lib/perl5/site_perl/mach/5.36/ u=
se DynaLoader, so most ports that install it have a library linked to libpe=
rl.so.5.36.<br>
So, those ports are targeted for updating as per the procedure.<br>
<br>
Ports that are not targeted for updating in this procedure, but need to be =
reinstalled, seem to create a file named .packlist in /usr/local/lib/perl5/=
site_perl/mach/5.36/ directory.<br>
Port like p5-Text-CSV-2.03 (textproc/p5-Text-CSV) is such ports.<br>
<br>
Reinstalling all p5-* ports is slight but overkill.<br>
Port like p5-SGMLSpm-1.03_2 (textproc/p5-SGMLSpm) is such ports.<br>
It doesn&#39;t seem to have a file that involves the old version number.<br=
>
The only reason it doesn&#39;t have a .packlist could be because it hasn&#3=
9;t been reinstalled in a long time :)<br>
<br>
Since perl scripts are byte-compiled and then executed, there should be no =
problem if a file in a running script is replaced.<br>
The new file will be used from the next run.<br>
<br>
Regards.<br></blockquote><div><br></div><div style=3D"font-family:tahoma,sa=
ns-serif;font-size:small" class=3D"gmail_default">I think portmaster has a =
bug. As per the man page, the behavior of &#39;-f&#39; matches the behavior=
 of &#39;-R -f&quot;.=C2=A0 Actually, I&#39;m unclear on what the purpose &=
#39;-f&#39; is. If you run portmaster with no options on a port that is up =
to date, it still reinstalls it and has for a very long time, maybe always.=
<br></div></div><br clear=3D"all"><br><span class=3D"gmail_signature_prefix=
">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"=
><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr">Kevin Ob=
erman, Part time kid herder and retired Network Engineer<br>E-mail: <a href=
=3D"mailto:rkoberman@gmail.com" target=3D"_blank">rkoberman@gmail.com</a><b=
r></div><div>PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683</div=
></div></div></div></div></div></div></div></div>

--00000000000047d22c06084651e8--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1tNv5NfORn=25WzxpzesmukubE4D1n_jXjDMaBP=yHO0A>