Bug 2151461

Summary: perl-CGI-Session-4.48-26.fc38 FTBFS: Can't locate Text/Abbrev.pm in @INC
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: perl-CGI-SessionAssignee: Andreas Thienemann <andreas>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: andreas, paul, perl-devel
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/perl-CGI-Session
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-12-07 14:12:41 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:    
Bug Blocks: 2117176    

Description Petr Pisar 2022-12-07 08:09:29 UTC
perl-CGI-Session-4.48-26.fc38 fails to build in Fedora 38 because tests fail like this:

+ make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Can't locate Text/Abbrev.pm in @INC (you may need to install the Text::Abbrev module) (@INC contains: /builddir/build/BUILD/CGI-Session-4.48/blib/lib /builddir/build/BUILD/CGI-Session-4.48/blib/arch /usr/local/lib64/perl5/5.36 /usr/local/share/perl5/5.36 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /builddir/build/BUILD/CGI-Session-4.48/blib/lib/CGI/Session.pm line 148.
# Looks like your test exited with 2 just after 1.
t/api3_db_file.t ................ 
Dubious, test returned 2 (wstat 512, 0x200)
Failed 13/14 subtests 

A difference between passing and failing build root is at <https://koschei.fedoraproject.org/build/14211831>.

This is a bug in perl-CGI-Session.spec. A build-dependency on Text::Abbrev is not declared:

# parses the DSN string and returns it as a hash.
# Notably: Allows unique abbreviations of the keys: driver, serializer and 'id'.
# Also, keys and values of the returned hash are lower-cased.
sub parse_dsn {
    my $self = shift;
    my $dsn_str = shift;
    croak "parse_dsn(): usage error" unless $dsn_str;

→   require Text::Abbrev;
    my $abbrev = Text::Abbrev::abbrev( "driver", "serializer", "id" );
    my %dsn_map = map { split /:/ } (split /;/, $dsn_str);
    my %dsn  = map { $abbrev->{lc $_}, lc $dsn_map{$_} } keys %dsn_map;
    return \%dsn;
}

Comment 1 Paul Howarth 2022-12-07 13:13:54 UTC
(In reply to Petr Pisar from comment #0)
> perl-CGI-Session-4.48-26.fc38 fails to build in Fedora 38 because tests fail
> like this:
> 
> + make test
> PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM"
> "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0,
> 'blib/lib', 'blib/arch')" t/*.t
> Can't locate Text/Abbrev.pm in @INC (you may need to install the
> Text::Abbrev module) (@INC contains:
> /builddir/build/BUILD/CGI-Session-4.48/blib/lib
> /builddir/build/BUILD/CGI-Session-4.48/blib/arch /usr/local/lib64/perl5/5.36
> /usr/local/share/perl5/5.36 /usr/lib64/perl5/vendor_perl
> /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
> /builddir/build/BUILD/CGI-Session-4.48/blib/lib/CGI/Session.pm line 148.
> # Looks like your test exited with 2 just after 1.
> t/api3_db_file.t ................ 
> Dubious, test returned 2 (wstat 512, 0x200)
> Failed 13/14 subtests 
> 
> A difference between passing and failing build root is at
> <https://koschei.fedoraproject.org/build/14211831>.
> 
> This is a bug in perl-CGI-Session.spec. A build-dependency on Text::Abbrev
> is not declared:

Not so. The build dependency is properly declared as can be seen here:
https://src.fedoraproject.org/rpms/perl-CGI-Session/blob/rawhide/f/perl-CGI-Session.spec

This is actually the same problem as Bug #2150496.

Comment 2 Petr Pisar 2022-12-07 14:12:41 UTC
Indeed:

# dnf -q repoquery --repoid=f38-build --whatprovides 'perl(Text::Abbrev)'
perl-Module-Pluggable-tests-2:5.2-22.fc38.noarch
perl-Text-Abbrev-0:1.02-492.fc38.noarch

*** This bug has been marked as a duplicate of bug 2150496 ***