This file is indexed.

/usr/share/perl5/MetaCPAN/Client/Release.pm is in libmetacpan-client-perl 2.023000-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
use strict;
use warnings;
package MetaCPAN::Client::Release;
# ABSTRACT: A Release data object
$MetaCPAN::Client::Release::VERSION = '2.023000';
use Moo;
use Ref::Util qw< is_hashref >;
use JSON::MaybeXS qw< decode_json >;

with 'MetaCPAN::Client::Role::Entity',
     'MetaCPAN::Client::Role::HasUA';

my %known_fields = (
    scalar => [qw<
        abstract
        archive
        author
        authorized
        date
        deprecated
        distribution
        download_url
        first
        id
        maturity
        main_module
        name
        status
        version
        version_numified
    >],

    arrayref => [qw<
        dependency
        license
        provides
    >],

    hashref => [qw<
        metadata
        resources
        stat
        tests
    >],
);

my @known_fields =
    map { @{ $known_fields{$_} } } qw< scalar arrayref hashref >;

foreach my $field (@known_fields) {
    has $field => (
        is      => 'ro',
        lazy    => 1,
        default => sub {
            my $self = shift;
            return $self->data->{$field};
        },
    );
}

sub _known_fields { return \%known_fields }

sub changes {
    my $self = shift;
    my $url  = sprintf "https://fastapi.metacpan.org/changes/%s/%s", $self->author, $self->name;
    my $res = $self->ua->get($url);
    return unless is_hashref($res);
    my $content = decode_json $res->{'content'};
    return $content->{'content'};
}

sub metacpan_url {
    my $self = shift;
    sprintf( "https://metacpan.org/release/%s/%s", $self->author, $self->name )
}

sub contributors {
    my $self = shift;
    my $url = sprintf( "https://fastapi.metacpan.org/release/contributors/%s/%s", $self->author, $self->name );
    my $res = $self->ua->get($url);
    return unless is_hashref($res);
    my $content = decode_json $res->{'content'};
    return $content->{'contributors'};
}

1;

__END__

=pod

=encoding UTF-8

=head1 NAME

MetaCPAN::Client::Release - A Release data object

=head1 VERSION

version 2.023000

=head1 SYNOPSIS

my $release = $mcpan->release('Moose');

=head1 DESCRIPTION

A MetaCPAN release entity object.

=head1 ATTRIBUTES

=head2 status

The release's status, C<latest>, C<cpan>, or C<backpan>.

=head2 name

The release's name, something like C<Moose>.

=head2 date

An ISO8601 datetime string like C<2016-11-19T12:41:46> indicating when the
release was uploaded.

=head2 author

The PAUSE ID of the author who uploaded the release.

=head2 maturity

This will be either C<released> or C<developer>.

=head2 main_module

The release's main module name.

=head2 id

The release's internal MetaCPAN id.

=head2 authorized

A boolean indicating whether or not this was an authorized release.

=head2 download_url

A URL for this release's distribution archive file.

=head2 first

A boolean indicating whether or not this is the first release of this
distribution.

=head2 archive

The filename of the archive file for this release.

=head2 version

The release's version.

=head2 version_numified

The numified form of the release's version.

=head2 deprecated

The deprecated field value for this release.

=head2 distribution

The name of the distribution to which this release belongs.

=head2 abstract

The abstract from this release's metadata.

=head2 dependency

This is an arrayref of hashrefs. Each hashref contains the following keys:

=over 4

=item * phase

The phase to which this dependency belongs. This will be one of C<configure>,
C<build>, C<runtime>, C<test>, or C<develop>.

=item * relationship

This will be one of C<requires>, C<recommends>, or C<suggests>.

=item * module

The name of the module which is depended on.

=item * version

The required version of the dependency. This may be C<0>, indicating that any
version is acceptable.

=back

=head2 license

An arrayref containing the license(s) under which this release has been made
available. These licenses are represented by strings like C<perl_5> or
C<gpl2>.

=head2 provides

This an arrayref containing a list of all the modules provided by this distribution.

=head2 metadata

This is a hashref containing metadata provided by the distribution. The exact
contents of this hashref will vary across CPAN, but should largely conform to
the spec defined by L<CPAN::Meta::Spec>.

=head2 resources

The resources portion of the release's metadata, returned as a hashref.

=head2 stat

A hashref containing C<stat()> all information about the release's archive
file. The keys are:

=over 4

=item * mtime

The Unix epoch of the file's last modified time.

=item * mode

The file's mode (as an integer, not an octal representation).

=item * size

The file's size in bytes.

=back

=head2 tests

Returns a hashref of information about CPAN testers results for this
release. The keys are C<pass>, C<fail>, C<unknown>, and C<na>. The values are
the count of that particular result on CPAN Testers for this release.

=head1 METHODS

=head2 changes

Returns the Changes text for the release.

=head2 metacpan_url

Returns a link to the release page on MetaCPAN.

=head2 contributors

Returns a structure with release contributors info.

=head1 AUTHORS

=over 4

=item *

Sawyer X <xsawyerx@cpan.org>

=item *

Mickey Nasriachi <mickey@cpan.org>

=back

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Sawyer X.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut