Re: lang/perl5.36: update procedure written in UPDATING is not enough
Date: Sun, 22 Oct 2023 04:12:28 UTC
On Sat, Oct 21, 2023 at 5:10 PM Tatsuki Makino <tatsuki_makino@hotmail.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 be > 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 no > 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. -- Kevin Oberman, Part time kid herder and retired Network Engineer E-mail: rkoberman@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683