# force dependencies on a pkg



## ateslik (Oct 15, 2019)

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:









						5.30.0 - Unable to set supplementary group IDs · Issue #17031 · Perl/perl5
					

Migrated from rt.perl.org#134169 (status was 'open') Searchable as RT134169$




					rt.perl.org
				




This version of perl should be marked as broken.


----------



## SirDice (Oct 15, 2019)

You cannot change dependencies of a package. You can change the default Perl version but you will need to build everything from ports. 



ateslik said:


> 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.


----------



## ateslik (Oct 15, 2019)

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:









						Fix setting EFFECTIVE_GROUP_ID to a list by atoomic · Pull Request #23 · Perl/perl5
					

RT 134486 This is a regression introduced in 5.29.0 by 5d4a52b grok_atoUV: allow non-C strings and document Making sure we backup the end pointer and restore it before calling multiple times grok_a...




					github.com
				




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.


----------



## SirDice (Oct 15, 2019)

You can change the default Perl version by adding this to /etc/make.conf:

```
DEFAULT_VERSIONS+= perl=5.28
```
But, as I said earlier, you will have to build from ports.


----------



## ateslik (Oct 16, 2019)

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.


----------



## SirDice (Oct 16, 2019)

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.






						Simple Search
					






					bugs.freebsd.org


----------

