Bug 2130616

Summary: Please branch and build perl-Inline-C in epel9
Product: [Fedora] Fedora EPEL Reporter: Davide Cavalca <davide>
Component: perl-Inline-CAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel9CC: michel, pasik, perl-devel
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: perl-Inline-C-0.82-4.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-24 03:41:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2130625, 2130626    
Bug Blocks: 1914423, 2121592    
Attachments:
Description Flags
list of missing dependencies none

Description Davide Cavalca 2022-09-28 16:55:14 UTC
Please branch and build perl-Inline-C in epel9.

If you do not wish to maintain perl-Inline-C in epel9,
or do not think you will be able to do this in a timely manner,
the EPEL Packagers SIG would be happy to be a co-maintainer of the package;
please add the epel-packagers-sig group through
https://src.fedoraproject.org/rpms/perl-Inline-C/addgroup
and grant it commit access, or collaborator access on epel* branches.

Comment 1 Michel Lind 2022-09-28 18:00:09 UTC
Created attachment 1914888 [details]
list of missing dependencies

Comment 2 Petr Pisar 2022-11-14 09:43:09 UTC
There is some kind of bug in which-2.21-28.el9, /etc/profile.d/which2.sh.  t/08taint.t reports:

sh: which: line 1: syntax error: unexpected end of file
sh: error importing function definition for `which'

which can be reduced to:

$ rm -rf _Inline; perl -Ilib -e 'use Inline Config => UNTAINT => 1; use Inline C => q{void foo(void) { return; }};'
In Inline::env_untaint() : Blindly untainting tainted fields in %ENV.
In Inline::check_config_file(): Blindly untainting Inline configuration file information.
In Inline::env_untaint() : Blindly untainting tainted fields in %ENV.
In Inline::obj_untaint() : Blindly untainting tainted fields in Inline object.
sh: which: line 1: syntax error: unexpected end of file
sh: error importing function definition for `which'
sh: which: line 1: syntax error: unexpected end of file
sh: error importing function definition for `which'
sh: which: line 1: syntax error: unexpected end of file
sh: error importing function definition for `which'

It's probably harmless because all tests pass.

Comment 3 Petr Pisar 2022-11-14 12:12:44 UTC
It happens when executing system($cmd) in Inline::C::system_call(). $cmd does perl Makefile.PL, then make, and make install in the temporary XS module compiled into _Inline directory. system() executes "sh -c '$cmd'". In that process a special BASH_FUNC_which%% variable is garbled:

$ env
BASH_FUNC_which%%=() {  ( alias;
SHELL=/bin/sh
[...]

The variable is set in /etc/profile.d/which2.sh with "export -f which" to more complex value:

function which {
    (alias; eval ${which_declare}) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}

Comment 4 Petr Pisar 2022-11-14 12:44:01 UTC
Fedora already removed the fragile function from which package. I will hunt it later. I believe it does not prevent us from adding perl-Inline-C to EPEL9.

Comment 6 Petr Pisar 2022-11-14 14:57:47 UTC
The damage of an environment variable is caused by perl-Inline (bug #2130625, comment #4).

Comment 7 Fedora Update System 2022-11-15 08:15:56 UTC
FEDORA-EPEL-2022-8170747ecb has been submitted as an update to Fedora EPEL 9. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-8170747ecb

Comment 8 Fedora Update System 2022-11-16 03:00:18 UTC
FEDORA-EPEL-2022-8170747ecb has been pushed to the Fedora EPEL 9 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-8170747ecb

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2022-11-24 03:41:04 UTC
FEDORA-EPEL-2022-8170747ecb has been pushed to the Fedora EPEL 9 stable repository.
If problem still persists, please make note of it in this bug report.