Why perl-AnyEvent go with a x86_64 buildarch

Maybe im a fool, as it seems all the files in the package were pure perl modules, why it should be a arch specified package instead of a noarch package?

$ find usr/lib64/ -type f -exec file {} \; 
usr/lib64/perl5/vendor_perl/AnyEvent.pm: Perl POD document, ASCII text
usr/lib64/perl5/vendor_perl/AE.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/FAQ.pod: Perl POD document, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Handle.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/constants.pl: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/POE.pm: Perl POD document, Unicode text, UTF-8 text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/Glib.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/FLTK.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/EV.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/Irssi.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/EventLib.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/IOAsync.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/Tk.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/Event.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/Qt.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/Perl.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/Cocoa.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Impl/UV.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/DNS.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/IO.pm: Perl POD document, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/IO/IOAIO.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/IO/Perl.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Socket.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Util.pm: Perl5 module source, Unicode text, UTF-8 text
usr/lib64/perl5/vendor_perl/AnyEvent/Intro.pod: Perl POD document, Unicode text, UTF-8 text
usr/lib64/perl5/vendor_perl/AnyEvent/TLS.pm: Perl5 module source, ASCII text, with very long lines (1426)
usr/lib64/perl5/vendor_perl/AnyEvent/Strict.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Log.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Debug.pm: Perl5 module source, ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Util/idna.pl: ASCII text
usr/lib64/perl5/vendor_perl/AnyEvent/Util/uts46data.pl: data
usr/lib64/perl5/vendor_perl/AnyEvent/Loop.pm: Perl5 module source, ASCII text

perl-AnyEvent has perl-Guard as a weak dependency.

Thanks for you reply @gnwiii ,

What you mean is if a package depends on an arch-specified package, itself should also be an arch-spcified, is there any package guideline for this?

It isn’t mentioned explicitly in Perl Packaging Guidelines :: Fedora Docs.

It also doesn’t seem like a sufficient explanation, since there are many other noarch Perl packages that depend on arch-specific Perl packages.

For example, all the Perl packages that depend on perl-JSON-XS (which is arch-specific) are noarch, except for perl-AnyEvent.

$ dnf -qC rq --whatdepends perl-JSON-XS.x86_64 | grep '^perl'
perl-AnyEvent-0:7.17-13.fc37.x86_64
perl-AnyEvent-HTTP-Server-0:1.99995-1.20220727gitd464672.fc37.noarch
perl-AnyEvent-HTTP-Server-0:1.99996-1.fc37.noarch
perl-AnyEvent-I3-0:0.17-18.fc37.noarch
perl-Catalyst-Action-REST-0:1.21-16.fc37.noarch
perl-Event-RPC-Message-JSON-0:1.10-15.fc37.noarch
perl-JSON-Any-0:1.39-23.fc37.noarch
perl-JSON-XS-tests-1:4.03-8.fc37.noarch
perl-MooseX-Types-JSON-0:1.01-3.fc37.noarch
perl-Net-CalDAVTalk-0:0.12-16.fc37.noarch
perl-Net-Statsd-Server-0:0.20-20.fc37.noarch
perl-POE-Component-Server-Bayeux-0:0.04-35.fc37.noarch
perl-Search-Elasticsearch-0:7.717-1.fc37.noarch
perl-Sentry-Raven-0:1.14-7.fc37.noarch
perl-Template-Toolkit-Simple-0:0.31-32.fc37.noarch
perl-YAML-PP-0:0.034-2.fc37.noarch
perl-YAML-PP-0:0.035-1.fc37.noarch

perl-AnyEvent package was made arch-specific 11 years ago. Perhaps you can ask the current maintainers. Packaging guidelines could’ve changed in that time, or maybe there’s a simple explanation why it needs to be arch-specific.

Thanks the reply, i will try to ping the maintainer for more info :slight_smile:

Hi,

Probably this need to be checked with upstream code, if there change the install directory to the one used by arched packages while still been noarch, then this might need to be corrected.
At least that’s what I suspect.

Please report a bug to the current maintainer. I don’t maintain this package anymore.