1 Star 0 Fork 12

Funda Wang/perl-generators

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
perl.recommends-from-meta 1.49 KB
一键复制 编辑 原始数据 按行查看 历史
Funda Wang 提交于 2025-01-25 19:23 +08:00 . add perl_from_meta from magiea
#!/usr/bin/perl
# Originally from Mageia as of 2025-01-25
# https://gitweb.mageia.org/software/rpm/rpm-setup/
# Licensed under GPL-2.0-or-later (maybe?)
# via: https://svnweb.mageia.org/packages/cauldron/rpm-mageia-setup/current/SPECS/rpm-mageia-setup.spec
#
# Modifed by Funda Wang <fundawang@yeah.net>, Jan 2025
use strict;
use warnings;
use JSON qw{ from_json };
use YAML qw{ Load };
# slurp the file
my $path = <>;
chomp($path);
open my $fh, '<', $path or die "can't open $path: $!";
my $data = do { local $/; <$fh> };
close $fh;
# parse meta - either yaml or json
my $meta = $path =~ /\.yml$/
? Load( $data )
: from_json( $data );
# dump the recommends with their version
my $recommends = $meta->{"meta-spec"}{version} >= 2
? $meta->{prereqs}{runtime}{recommends}
: $meta->{recommends};
foreach my $module ( sort keys %$recommends ) {
next if $module eq 'perl'; # minimum perl version
my $version = $recommends->{$module};
if ( $version == 0 ) {
print "perl($module)\n";
} else {
print "perl($module) >= $version\n";
}
}
exit;
=head1 NAME
perl.recommends-from-meta - extract recommends from meta file
=head1 SYNOPSIS
$ perl.recommends-from-meta /path/to/META.yml
$ perl.recommends-from-meta /path/to/META.json
=head1 DESCRIPTION
This script will extract Perl recommends from the distribution meta
file. For each such recommends, it'll print them as:
perl(Foo::Bar)
perl(App::Frobnizer) >= 1.23.456
Minimum perl version are skipped.
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/fundawang/perl-generators.git
git@gitee.com:fundawang/perl-generators.git
fundawang
perl-generators
perl-generators
master

搜索帮助