Cygport "check_perl_module" misbehaving?
Soren via Cygwin-apps <[email protected]> Wed, 22 Apr 2026 15:24:51 -0400
| Newsgroups | gmane.os.cygwin.applications |
|---|---|
| Message-ID | <CAGB_HuQSaiCAK4Bm5D2a0wDS+dS3vyi5WiKqEh_bkM_BcqRj=w@mail.gmail.com> |
Hello list. I'm getting ready to offer some Perl CPAN modules packaged for
Cygwin, and I've run into a puzzling result with an existing cygported
module that I'm using as a learning exercise.
The Cygwin package is perl-YAML, and the trouble happens when cygport calls
its function check_perl_module. Two modules are build prerequisites and I
am sure these modules are installed. The modules are Test::Deep and
Test::YAML (perl-Test-Deep and perl-Test-YAML). Here, I'll show the command
results:
$ cygport perl-YAML.cygport compile test
*** Info: Build of perl-YAML requires
*** Info: Test::Deep Test::YAML
>>> Compiling perl-YAML-1.31-2.noarch
*** Warning: Some build dependencies are not installed.
*** Warning: This package may end up missing features, or not build at all.
*** Warning: Consider installing these packages first before continuing:
*** Warning: perl-Test-Deep perl-Test-YAML
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for YAML
Writing MYMETA.yml and MYMETA.json
cp lib/YAML/Mo.pm blib/lib/YAML/Mo.pm
cp lib/YAML/Marshall.pm blib/lib/YAML/Marshall.pm
cp lib/YAML.pod blib/lib/YAML.pod
cp lib/YAML/Any.pod blib/lib/YAML/Any.pod
cp lib/YAML/Error.pod blib/lib/YAML/Error.pod
cp lib/YAML.pm blib/lib/YAML.pm
cp lib/YAML/Loader/Base.pod blib/lib/YAML/Loader/Base.pod
cp lib/YAML/Types.pm blib/lib/YAML/Types.pm
cp lib/YAML/Dumper.pod blib/lib/YAML/Dumper.pod
cp lib/YAML/Node.pod blib/lib/YAML/Node.pod
cp lib/YAML/Tag.pm blib/lib/YAML/Tag.pm
cp lib/YAML/Marshall.pod blib/lib/YAML/Marshall.pod
cp lib/YAML/Dumper/Base.pod blib/lib/YAML/Dumper/Base.pod
cp lib/YAML/Loader.pod blib/lib/YAML/Loader.pod
cp lib/YAML/Node.pm blib/lib/YAML/Node.pm
cp lib/YAML/Loader/Base.pm blib/lib/YAML/Loader/Base.pm
cp lib/YAML/Dumper.pm blib/lib/YAML/Dumper.pm
cp lib/YAML/Types.pod blib/lib/YAML/Types.pod
cp lib/YAML/Tag.pod blib/lib/YAML/Tag.pod
cp lib/YAML/Error.pm blib/lib/YAML/Error.pm
cp lib/YAML/Any.pm blib/lib/YAML/Any.pm
cp lib/YAML/Loader.pm blib/lib/YAML/Loader.pm
cp lib/YAML/Dumper/Base.pm blib/lib/YAML/Dumper/Base.pm
Manifying 11 pod documents
make: Nothing to be done for 'manifypods'.
>>> Testing perl-YAML-1.31-2.noarch
PERL_DL_NONLAZY=1 "/usr/bin/perl.exe" "-MExtUtils::Command::MM"
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/000-compile-modules.t ............ ok
t/2-scalars.t ...................... ok
t/author-pod-syntax.t .............. skipped: these tests are for testing
by the author
t/basic-tests.t .................... ok
t/bugs-emailed.t ................... ok
t/bugs-rt.t ........................ ok
t/changes.t ........................ ok
t/dump-basics.t .................... ok
t/dump-blessed-glob.t .............. ok
t/dump-blessed.t ................... ok
t/dump-code.t ...................... ok
t/dump-file-utf8.t ................. ok
t/dump-file.t ...................... ok
t/dump-nested.t .................... ok
t/dump-opts.t ...................... ok
t/dump-perl-types-512.t ............ skipped: test only for perls before
v5.13.5-11-gfb85c04
t/dump-perl-types-514.t ............ ok
t/dump-perl-types.t ................ ok
t/dump-stringify.t ................. ok
t/dump-stringy-numbers.t ........... ok
t/dump-synopsis.t .................. ok
t/dump-tests-512.t ................. skipped: test only for perls before
v5.13.5-11-gfb85c04
t/dump-tests-514.t ................. ok
t/dump-tests.t ..................... ok
t/dump-works.t ..................... ok
t/errors.t ......................... ok
t/export.t ......................... ok
t/freeze-thaw.t .................... ok
t/global-api.t ..................... ok
t/inbox.t .......................... ok
t/io-handle.t ...................... ok
t/issue-149.t ...................... ok
t/issue-69.t ....................... ok
t/load-code.t ...................... ok
t/load-fails.t ..................... ok
t/load-passes.t .................... ok
t/load-slides.t .................... ok
t/load-spec.t ...................... ok
t/load-tests.t ..................... ok
t/load-works.t ..................... ok
t/marshall.t ....................... ok
t/no-load-blessed.t ................ ok
t/node-info.t ...................... ok
t/numify.t ......................... ok
t/preserve.t ....................... ok
t/pugs-objects.t ................... ok
t/references.t ..................... ok
t/regexp.t ......................... ok
t/roundtrip.t ...................... ok
t/rt-90593.t ....................... ok
t/svk.t ............................ ok
t/test.t ........................... ok
t/trailing-comments-content.t ...... ok
t/trailing-comments-non-content.t .. ok
All tests successful.
Files=54, Tests=542, 20 wallclock secs ( 0.19 usr 0.06 sys + 6.30 cusr
11.95 csys = 18.50 CPU)
Result: PASS
The script function check_perl_module is very simple, and it should always
work if the module(s) have been installed:
check_perl_module() {
local mod;
check_prog_req perl;
for mod
do
if ! perl -e "require ${mod}" &> /dev/null
then
return 2;
fi
done
return 0;
}
So, what could I be missing?
--
Soren Andersen