Bug 953066

Summary: 'tempfile' can't be called as a method at /usr/share/perl5/vendor_perl/Locale/Po4a/Po.pm line 539.
Product: Red Hat Enterprise Linux 7 Reporter: Richard W.M. Jones <rjones>
Component: po4aAssignee: Richard W.M. Jones <rjones>
Status: CLOSED CURRENTRELEASE QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: jscotka
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: po4a-0.44-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-24 12:14:16 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:

Description Richard W.M. Jones 2013-04-17 09:37:36 UTC
Description of problem:

In RHEL 7, libguestfs build invokes po4a using these parameters:

po4a \
  -M utf-8 -L utf-8 -A utf-8 \
  -v \
  -k 0 \
  --package-name libguestfs \
  --package-version 1.21.31 \
  --msgid-bugs-address libguestfs \
  --copyright-holder "Red Hat Inc." \
  po4a.conf

This gives an error:

Updating ./libguestfs-docs.pot:
'tempfile' can't be called as a method at /usr/share/perl5/vendor_perl/Locale/Po4a/Po.pm line 539.

(It does the same thing in Fedora and RHEL 6, but we've
not hit this problem before)

Version-Release number of selected component (if applicable):

po4a-0.42-3.el7.noarch

How reproducible:

100%

Steps to Reproduce:
1. See above.

Comment 1 Richard W.M. Jones 2013-04-17 09:41:31 UTC
Actually I suspect this is a bug in File::Temp since:

$ perl -MFile::Temp -e 'File::Temp->tempfile("/tmp/fooXXXXXX")'
'tempfile' can't be called as a method at -e line 1.

whereas on Fedora 18:

$ perl -MFile::Temp -e 'File::Temp->tempfile("/tmp/fooXXXXXX")'
[no error]

RHEL 7 (error): perl-File-Temp-0.23-1.el7.noarch
Fedora 18 (OK): perl-5.16.2-240.fc18.x86_64

Comment 2 Richard W.M. Jones 2013-04-17 09:51:29 UTC
Apparently according to the unfriendly people in #perl,
it's a bug in po4a.  po4a should not use File::Temp->tempfile,
but should use File::Temp::tempfile.

Setting component back.

Comment 4 Richard W.M. Jones 2013-04-17 10:36:57 UTC
I sent a patch upstream (to po4a) to fix this, also
included the patch in Rawhide.

Comment 5 Richard W.M. Jones 2013-04-17 11:13:02 UTC
https://brewweb.devel.redhat.com/taskinfo?taskID=5656654