force dependencies on a pkg

I'm trying to install p5-Text-Iconv-1.7_3, but it depends on the broken perl-5.30.0 (which cannot setuid or setgid):

New packages to be INSTALLED:
p5-Text-Iconv: 1.7_3
perl5: 5.30.0

How can I force this package to install into 5.28.2?

The perl bug report is here:


This version of perl should be marked as broken.
 
You cannot change dependencies of a package. You can change the default Perl version but you will need to build everything from ports.

on the broken perl-5.30.0 (which cannot setuid or setgid)
It's not broken, setuid(2) is incredibly dangerous with Perl. It was actually removed with Perl 5.16.
 
The suidperl binary was removed, but perl still very much supports setgid, setuid, etc. Versions prior to 5.29 support it just fine. And it's working again in blead after the patch:


5.30.0 is one of several versions with this breakage. This patch is being backported to 5.30.1 because this breaks Postgres, Munin, OpenWebMail, etc.
 
You can change the default Perl version by adding this to /etc/make.conf:
Code:
DEFAULT_VERSIONS+= perl=5.28
But, as I said earlier, you will have to build from ports.
 
I downloaded the patch and put it in /usr/ports/lang/perl5.30/files. Did 'make' and 'make reinstall' and now my 5.30.0 is working. Thanks.

I attached the patch. Remove the .txt extension before putting it in /usr/ports/lang/perl5.30/files.
 

Attachments

  • patch-mg.c.txt
    1,020 bytes · Views: 85
Please create a PR for it and ask the maintainer if he's willing to add it to the port, at least until the issue is resolved upstream.

 
Back
Top