view release on metacpan or search on metacpan
This file contains message digests of all files listed in MANIFEST,
signed via the Module::Signature module, version 0.81.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
% cpansign -v
It will check each file's integrity, as well as the signature's
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/remarkpl/public/remark.min.js view on Meta::CPAN
require=function e(t,a,r){function s(i,l){if(!a[i]){if(!t[i]){var o="function"==typeof require&&require;if(!l&&o)return o(i,!0);if(n)return n(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var d=a[i]={exports:{}...
a.relevance>r.relevance&&(s=r,r=a)}),s.language&&(r.second_best=s),r}function u(e){return N.tabReplace||N.useBR?e.replace(x,function(e,t){return N.useBR&&"\n"===e?"<br>":N.tabReplace?t.replace(/\t/g,N.tabReplace):void 0}):e}function h(e,t,a){var r=t?...
}),e.COMMENT("#cs","#ce"),e.COMMENT("#comments-start","#comments-end")]},n={begin:"\\$[A-z0-9_]+"},i={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},l={va...
beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:]/,contains:[e.TITLE_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),...
},a={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0},r={className:"symbol",variants:[{begin:/\=[lgenxc]=/},{begin:/\$/}]},s={className:"comment",variants:[{begin:"'",end:"'"},{begin:'"',end:'"'}],illegal:"\\n",contains:[e.BACKSL...
},{begin:":\\s*"+t}]}]}}},{name:"hsp",create:function(e){return{case_insensitive:!0,lexemes:/[\w\._]+/,keywords:"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mca...
},contains:[t,{className:"keyword",begin:"\\bend\\sif\\b"},{className:"function",beginKeywords:"function",end:"$",contains:[t,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,r]},{className:"function",begin:"\\bend\\s+",e...
contains:[{className:"comment",begin:/\(\*/,end:/\*\)/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{begin:/\{/,end:/\}/,illegal:/:/}]}}},{name:"matlab",create:function(e){var t=[e.C_NUMBER_MODE,{className:"string",begin:"'",end:"'",contai...
illegal:"</",contains:[e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_M...
contains:[i]});return{aliases:["ps"],lexemes:/-?[A-z\.\-]+/,case_insensitive:!0,keywords:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try...
},{className:"meta",begin:"#\\!?\\[",end:"\\]",contains:[{className:"meta-string",begin:/"/,end:/"/}]},{className:"class",beginKeywords:"type",end:";",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"\\S"},{className:"class",beg...
literal:"true false nil"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.NUMBER_MODE,a,t.preprocessor],illegal:/#/}}},{name:"sql",create:function(e){var t=e.COMMENT("--","$");return{case_insensitive:!0,illegal:/[<>{}*#]/,contains:[{beginKey...
return{aliases:["styl"],case_insensitive:!1,keywords:"if else for in",illegal:"("+o.join("|")+")",contains:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+i,returnBegin:!0,cont...
built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx...
"atelier-lakeside-light":".hljs-atelier-lakeside-light .hljs-comment,.hljs-atelier-lakeside-light .hljs-quote{color:#5a7b8c}.hljs-atelier-lakeside-light .hljs-variable,.hljs-atelier-lakeside-light .hljs-template-variable,.hljs-atelier-lakeside-light ...
grayscale:".hljs-grayscale .hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#fff}.hljs-grayscale .hljs-comment,.hljs-grayscale .hljs-quote{color:#777;font-style:italic}.hljs-grayscale .hljs-keyword,.hljs-grayscale .hljs-selector...
"solarized-dark":".hljs-solarized-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#002b36;color:#839496}.hljs-solarized-dark .hljs-comment,.hljs-solarized-dark .hljs-quote{color:#586e75}.hljs-solarized-dark .hljs-keyword,.hljs-solari...
view all matches for this distribution
view release on metacpan or search on metacpan
share/revealjs/plugin/highlight/highlight.esm.js view on Meta::CPAN
function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(...
/*!
* reveal.js plugin that adds syntax highlight support.
*/
var of={id:"highlight",HIGHLIGHT_STEP_DELIMITER:"|",HIGHLIGHT_LINE_DELIMITER:",",HIGHLIGHT_LINE_RANGE_DELIMITER:"-",hljs:rf,init:function(e){var t=e.getConfig().highlight||{};t.highlightOnLoad="boolean"!=typeof t.highlightOnLoad||t.highlightOnLoad,t....
view all matches for this distribution
view release on metacpan or search on metacpan
=head2 GitHub Attestations
This distribution now uses
L<GitHub Attestations|https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/>,
which allow you to verify that the archive file you have was made from
the official repo.
You need a GitHub account and the L<gh tool|https://github.com/larsks/ghcli>.
# download the distro file from GitHub, MetaCPAN, or a CPAN mirror
$ gh auth login
...follow instructions...
$ gh attestation verify App-rhich-1.23.tar.gz --owner briandfoy
=head2 Getting help
Although I'm happy to hear from module users in private email,
that's the best way for me to forget to do something.
view all matches for this distribution
view release on metacpan or search on metacpan
=head2 GitHub Attestations
This distribution now uses
L<GitHub Attestations|https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/>,
which allow you to verify that the archive file you have was made from
the official repo.
You need a GitHub account and the L<gh tool|https://github.com/larsks/ghcli>.
# download the distro file from GitHub, MetaCPAN, or a CPAN mirror
$ gh auth login
...follow instructions...
$ gh attestation verify App-scriptdist-1.23.tar.gz --owner briandfoy
=head2 Getting help
Although I'm happy to hear from module users in private email,
that's the best way for me to forget to do something.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/EasyDNS/DDNS/HTTP.pm view on Meta::CPAN
my $timeout = $args{timeout} // 10;
my $http = $args{http} || HTTP::Tiny->new(
timeout => $timeout,
verify_SSL => 1,
agent => $args{agent} // 'sdseasydyn/0.001',
);
my $retry = $args{retry} || Retry::Policy->new(
max_attempts => $args{max_attempts} // 5,
view all matches for this distribution
view release on metacpan or search on metacpan
script/skos2jskos view on Meta::CPAN
if ( $opt{sparql} ) {
info "Getting RDF from SPARQL endpoint " . $opt{sparql};
}
elsif ( $ARGV[0] =~ qr{^https?://} ) {
info "Reading RDF from $ARGV[0]";
RDF::Trine->default_useragent->ssl_opts( verify_hostname => 0 );
RDF::Trine::Parser->parse_url_into_model( $ARGV[0], $source );
debug $source->size . " triples";
}
else {
info "Reading RDF files";
view all matches for this distribution
view release on metacpan or search on metacpan
This file contains message digests of all files listed in MANIFEST,
signed via the Module::Signature module, version 0.73.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
% cpansign -v
It will check each file's integrity, as well as the signature's
view all matches for this distribution
view release on metacpan or search on metacpan
$hash =~ m/^(..)(..)/;
my $dir = File::Spec->catdir( opt( 'certsdir' ), $1, $2 );
if ($create) {
make_path $dir;
###TODO: verify success!
}
return File::Spec->catfile( $dir, "$hash.json");
}
sub cert_load_from_path($path) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/sslmaker.pm view on Meta::CPAN
This is currently just an empty file.
=item * nginx.config
Used to render an example nginx config. C<%stash> should contain C<cert>,
C<client_certificate>, C<crl>, C<key>, C<server_name> and C<verify_client>.
=item * openssl.cnf
Creates a config file for openssl. TODO: Descrive stash values.
lib/App/sslmaker.pm view on Meta::CPAN
ssl on;
ssl_certificate_key <%= $stash->{key} %>;
ssl_certificate <%= $stash->{cert} %>;
ssl_client_certificate <%= $stash->{ca_cert} %>;
ssl_crl <%= $stash->{crl} || 'TODO' %>;
ssl_verify_client <%= $stash->{verify_client} || 'optional' %>;
ssl_verify_depth 2;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-Proto "https";
proxy_set_header X-SSL-Client-S-DN $ssl_client_s_dn; # /C=US/ST=Florida/L=Orlando/O=CLIENT NAME/CN=CLIENT NAME
proxy_set_header X-SSL-Client-Verified $ssl_client_verify; # SUCCESS, FAILED, NONE
}
}
@@ openssl.cnf
HOME = <%= Path::Tiny->new($stash->{home})->absolute->stringify %>
RANDFILE = $ENV::HOME/.rnd
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/tldr.pm view on Meta::CPAN
my $URL = "https://raw.githubusercontent.com/tldr-pages/tldr/main/pages%s/%s/%s.md";
sub new {
my ($class, %option) = @_;
my $http = HTTP::Tiny->new(verify_SSL => 1);
bless { http => $http, %option }, $class;
}
sub parse_options {
my ($self, @argv) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
This script uses the program *sox* (sound exchange)
L<http://sox.sourceforge.net/> to play sounds in your
earphones. Please verify that you have it installed in your system.
Afterwards:
Install the package automatically using
view all matches for this distribution
view release on metacpan or search on metacpan
} elsif (my $e = ($status >> 8)) {
abend(EX_UNAVAILABLE, "$cmd exited with status $e");
}
}
# verify
# ------
# Verifies the tarball. Determines canonical package name, extracts the POT
# file and checks if it lists the correct package name in its
# "Project-Id-Version" header and that its msgids differ from the ones
# already registered on the TP.
sub verify {
my ($in, $out);
my $pid = open2($out, $in, "m4 -P - $files{'configure.ac'}")
or abend(EX_NOINPUT, "can't open $files{'configure.ac'}: $!");
print $in <<'EOT';
m4_divert(-1)
}
my $potfile = "po/$package_tarname.pot";
unless ($files{$potfile}) {
abend(EX_DATAERR, "potfile $potfile not found in archive");
}
verify_potfile($files{$potfile});
}
# po_header($FILENAME)
# --------------------
# Extract the PO header from the POT file $FILENAME.
sub po_cmp {
my ($a,$b) = @_;
po_serialize($a) eq po_serialize($b);
}
# verify_potfile($FILENAME)
# -------------------------
# Verifies the potfile extracted from the archive.
# Checks if the POT file mentions the correct package string in its
# Project-Id-Version header. Downloads the POT file registered on the
# TP and makes sure its msgids are not the same as defined in the POT
# file from the archive.
sub verify_potfile {
my $potname = shift;
my $hdr = po_header($potname);
my $vs = $hdr->{'project-id-version'};
if ($vs ne "$package_name $package_version") {
err("$potname: Project-Id-Version does not match \"$package_name $package_version\"");
$wd = tempdir()
or abend(EX_CANTCREAT, "can't create temporary directory: $!");
chdir($wd) or abend(EX_OSERR, "can't change to temporary directory $wd: $!");
get_sources($archive_url);
verify;
notify;
__END__
=head1 NAME
view all matches for this distribution
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
EXE_FILES => [
'script/traveller',
],
PREREQ_PM => {
'Modern::Perl' => 1.20180701, # for '2018'
'Mojolicious' => 9.00, # removed tls_verify from Mojo::IOLoop::TLS 9.0
},
TEST_REQUIRES => {
'Test::Memory::Cycle' => 0,
},
META_MERGE => {
view all matches for this distribution
view release on metacpan or search on metacpan
reason not to do this. Every URL is checked with a I<If-Modified-Since>
header, so you still get always the most up-to-date timeline.
=item ca_file
Path to TLS certificate authority file used to verify the peer
certificate. Also activates hostname verification. Defaults to
I</etc/ssl/certs/ca-certificates.crt>. The file does not have to exist
to activate hostname verification. Setting this to an empty value
disables hostname verification on a global basis which is definitely
not recommended.
view all matches for this distribution
view release on metacpan or search on metacpan
=head2 GitHub Attestations
This distribution now uses
L<GitHub Attestations|https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/>,
which allow you to verify that the archive file you have was made from
the official repo.
You need a GitHub account and the L<gh tool|https://github.com/larsks/ghcli>.
# download the distro file from GitHub, MetaCPAN, or a CPAN mirror
$ gh auth login
...follow instructions...
$ gh attestation verify App-unichar-1.23.tar.gz --owner briandfoy
=head2 Getting help
Although I'm happy to hear from module users in private email,
that's the best way for me to forget to do something.
view all matches for this distribution
view release on metacpan or search on metacpan
=head2 GitHub Attestations
This distribution now uses
L<GitHub Attestations|https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/>,
which allow you to verify that the archive file you have was made from
the official repo.
You need a GitHub account and the L<gh tool|https://github.com/larsks/ghcli>.
# download the distro file from GitHub, MetaCPAN, or a CPAN mirror
$ gh auth login
...follow instructions...
$ gh attestation verify App-url-1.23.tar.gz --owner briandfoy
=head2 Getting help
Although I'm happy to hear from module users in private email,
that's the best way for me to forget to do something.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/whichdll.pm view on Meta::CPAN
foreach my $name (@ARGV)
{
my @result;
if($opts{a} || $name eq '*')
{
@result = find_lib( lib => '*', verify => sub { ($name eq '*') || ($_[0] eq $name) }, @extra_args);
}
else
{
my $result = find_lib( lib => $name, @extra_args );
push @result, $result if defined $result;
view all matches for this distribution
view release on metacpan or search on metacpan
This file contains message digests of all files listed in MANIFEST,
signed via the Module::Signature module, version 0.93.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
% cpansign -v
It will check each file's integrity, as well as the signature's
view all matches for this distribution
view release on metacpan or search on metacpan
bin/zipdetails view on Meta::CPAN
use constant WIN_FILE_ATTRIBUTE_HIDDEN => 0x0002;
use constant WIN_FILE_ATTRIBUTE_SYSTEM => 0x0004;
use constant WIN_FILE_ATTRIBUTE_LABEL => 0x0008; # Unused?
use constant WIN_FILE_ATTRIBUTE_DIRECTORY => 0x0010;
use constant WIN_FILE_ATTRIBUTE_ARCHIVE => 0x0020;
use constant WIN_FILE_ATTRIBUTE_DEVICE_OR_SYMBOLIC_LINK => 0x0040; # Not clear if this is used for a symbolic link. Needs a real use case to verify.
use constant WIN_FILE_ATTRIBUTE_NORMAL_OR_EXECUTABLE => 0x0080; # Not clear if this is used for a executable. Needs a real use case to verify.
use constant WIN_FILE_ATTRIBUTE_TEMPORARY => 0x0100;
use constant WIN_FILE_ATTRIBUTE_SPARSE_FILE => 0x0200;
use constant WIN_FILE_ATTRIBUTE_REPARSE_POINT => 0x0400;
use constant WIN_FILE_ATTRIBUTE_COMPRESSED => 0x0800;
use constant WIN_FILE_ATTRIBUTE_OFFLINE => 0x1000;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Devel/PPPort.pm view on Meta::CPAN
|>F<ppport.h> on your source code. See the next section for
|>details.
|>
|>=head1 EXAMPLES
|>
|>To verify whether F<ppport.h> is needed for your module, whether you
|>should make any changes to your code, and whether any special defines
|>should be used, F<ppport.h> can be run as a Perl script to check your
|>source code. Simply say:
|>
|> perl ppport.h
inc/Devel/PPPort.pm view on Meta::CPAN
vmess||5.006000|
vnewSVpvf|5.006000|5.004000|p
vnormal||5.009002|
vnumify||5.009000|
vstringify||5.009000|
vverify||5.009003|
vwarner||5.006000|
vwarn||5.006000|
wait4pid|||
warn_nocontext|||vn
warn_sv||5.013001|
view all matches for this distribution
view release on metacpan or search on metacpan
share/files/public/skins/default/jquery-ui-1.9.1.custom/development-bundle/external/jshint.js view on Meta::CPAN
scrollTo, scrollbar, search, seal, self, send, serialize, sessionStorage, setInterval, setTimeout,
setter, setterToken, shift, slice, smarttabs, sort, spawn, split, statement, statementCount, stack,
status, start, strict, sub, substr, supernew, shadow, supplant, sum, sync, test, toLowerCase,
toString, toUpperCase, toint32, token, tokens, top, trailing, type, typeOf, Uint16Array,
Uint32Array, Uint8Array, undef, undefs, unused, urls, validthis, value, valueOf, var, vars,
version, verifyMaxParametersPerFunction, verifyMaxStatementsPerFunction,
verifyMaxComplexityPerFunction, verifyMaxNestedBlockDepthPerFunction, WebSocket, withstmt, white,
window, windows, Worker, worker, wsh, yui, YUI, Y, YUI_config*/
/*global exports: false */
// We build the application inside a function so that we produce only a single
share/files/public/skins/default/jquery-ui-1.9.1.custom/development-bundle/external/jshint.js view on Meta::CPAN
}
var n = 0;
if (arguments.length > 0) {
n = Number(arguments[1]);
if (n != n) { // shortcut for verifying if it's NaN
n = 0;
} else if (n !== 0 && n != Infinity && n != -Infinity) {
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}
}
share/files/public/skins/default/jquery-ui-1.9.1.custom/development-bundle/external/jshint.js view on Meta::CPAN
nonadjacent(token, nexttoken);
t = nexttoken;
var metrics = funct["(metrics)"];
metrics.nestedBlockDepth += 1;
metrics.verifyMaxNestedBlockDepthPerFunction();
if (nexttoken.id === "{") {
advance("{");
line = token.line;
if (nexttoken.id !== "}") {
share/files/public/skins/default/jquery-ui-1.9.1.custom/development-bundle/external/jshint.js view on Meta::CPAN
if (name) {
addlabel(name, "function");
}
funct["(params)"] = functionparams();
funct["(metrics)"].verifyMaxParametersPerFunction(funct["(params)"]);
block(false, false, true);
funct["(metrics)"].verifyMaxStatementsPerFunction();
funct["(metrics)"].verifyMaxComplexityPerFunction();
scope = oldScope;
option = oldOption;
funct["(last)"] = token.line;
funct["(lastcharacter)"] = token.character;
share/files/public/skins/default/jquery-ui-1.9.1.custom/development-bundle/external/jshint.js view on Meta::CPAN
function createMetrics(functionStartToken) {
return {
statementCount: 0,
nestedBlockDepth: -1,
ComplexityCount: 1,
verifyMaxStatementsPerFunction: function () {
if (option.maxstatements &&
this.statementCount > option.maxstatements) {
var message = "Too many statements per function (" + this.statementCount + ").";
warning(message, functionStartToken);
}
},
verifyMaxParametersPerFunction: function (params) {
params = params || [];
if (option.maxparams && params.length > option.maxparams) {
var message = "Too many parameters per function (" + params.length + ").";
warning(message, functionStartToken);
}
},
verifyMaxNestedBlockDepthPerFunction: function () {
if (option.maxdepth &&
this.nestedBlockDepth > 0 &&
this.nestedBlockDepth === option.maxdepth + 1) {
var message = "Blocks are nested too deeply (" + this.nestedBlockDepth + ").";
warning(message);
}
},
verifyMaxComplexityPerFunction: function () {
var max = option.maxcomplexity;
var cc = this.ComplexityCount;
if (max && cc > max) {
var message = "Cyclomatic complexity is too high per function (" + cc + ").";
warning(message, functionStartToken);
view all matches for this distribution
view release on metacpan or search on metacpan
tests/shared-primes-1 view on Meta::CPAN
if ($auto_test) {
my $exp_num_keys = 41;
my $exp_values_str = "11110111101011010111001011010110101010010";
my $exp_num_primes = 25;
my $exp_primes_str = "2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97";
is($num_keys, $exp_num_keys, "verify num_keys (odd non *5 numbers)");
is($num_values1, $exp_num_keys, "verify number of values (1)");
is($values1_str, $exp_values_str, "verify values (1)");
is($num_values1, $exp_num_keys, "verify number of values (2)");
is($values2_str, $exp_values_str, "verify values (2)");
is($num_primes, $exp_num_primes, "verify number of primes");
is($primes_str, $exp_primes_str, "verify primes");
} else {
printf "Number of keys (odd non *5 numbers): %d\n", $num_keys;
printf "Values (1-st): %d - %s\n", $num_values1, $values1_str;
printf "Values (2-nd): %d - %s\n", $num_values2, $values2_str;
printf "Primes: %d - %s\n", $num_primes, $primes_str;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archer/ConfigLoader.pm view on Meta::CPAN
File::Spec->catdir(dist_dir('Archer'), 'assets');
}->();
$context->log('debug' => "assets path: $config->{global}->{assets_path}");
# verify
my $schema_file = file( $config->{global}->{assets_path}, 'kwalify', 'schema.yaml' );
my $res = validate( $yaml_class->can('LoadFile')->($schema_file), $config );
$context->log( error => $res ) unless $res == 1;
return $config;
view all matches for this distribution
view release on metacpan or search on metacpan
xs/ppport.h view on Meta::CPAN
F<xs/ppport.h> on your source code. See the next section for
details.
=head1 EXAMPLES
To verify whether F<xs/ppport.h> is needed for your module, whether you
should make any changes to your code, and whether any special defines
should be used, F<xs/ppport.h> can be run as a Perl script to check your
source code. Simply say:
perl xs/ppport.h
xs/ppport.h view on Meta::CPAN
vTHX|5.006000||Viu
VT_NATIVE|5.021004||Viu
vtohl|5.003007||Viu
vtohs|5.003007||Viu
VUTIL_REPLACE_CORE|5.019008||Viu
vverify|5.009003|5.009003|
VVERIFY|5.019008||Viu
vwarn|5.006000|5.006000|
vwarner|5.006000|5.004000|p
wait4pid|5.003007||Viu
wait|5.005000||Viu
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/BagIt/App/Verify.pm view on Meta::CPAN
use MooseX::App::Command;
parameter 'bag_path' => (
is=>'rw',
isa=>'Str',
documentation => q[This is the path to run verify on],
required => 1,
);
option 'return_all_errors' => (
is => 'rw',
lib/Archive/BagIt/App/Verify.pm view on Meta::CPAN
}
else {
$bag = Archive::BagIt->new($bag_path);
}
eval {
$bag->verify_bag();
};
if ($@) {
print "FAIL: ".$bag_path." : $! $@\n";
}
else {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/BagIt/Fast.pm view on Meta::CPAN
}
else {
$digest = $digestobj->get_hash_string($fh);
}
my $finish_time = time();
$self->{stats}->{files}->{"$filename"}->{verify_time}= ($finish_time - $start_time);
$self->{stats}->{verify_time} += ($finish_time-$start_time);
close($fh);
return $digest;
};
return $sub;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/BagIt.pm view on Meta::CPAN
return $ret;
}
###############################################
sub _verify_baginfo {
my ($self, $info) = @_;
my $ret = 1;
if (!defined $info) {
if (exists $self->{bag_info_file}) {
lib/Archive/BagIt.pm view on Meta::CPAN
return $ret;
}
###############################################
sub verify_baginfo {
my ($self) = @_;
my $info = $self->bag_info();
if (List::Util::any { /the baginfo file .* could not be parsed correctly/ } @{$self->{'errors'}}) {
return;
}
return $self->_verify_baginfo($info);
}
###############################################
lib/Archive/BagIt.pm view on Meta::CPAN
}
###############################################
sub verify_bag {
my ($self,$opts) = @_;
#removed the ability to pass in a bag in the parameters, but might want options
#like $return all errors rather than dying on first one
my $bagit = $self->bag_path;
my $version = $self->bag_version(); # to call trigger
my $encoding = $self->bag_encoding(); # to call trigger
my $baginfo = $self->verify_baginfo(); #to call trigger
my $fetch_file = File::Spec->catfile($self->metadata_path, "fetch.txt");
my $payload_dir = $self->payload_path;
my $return_all_errors = $opts->{return_all_errors};
lib/Archive/BagIt.pm view on Meta::CPAN
my @errors;
# check for manifests
foreach my $algorithm ( keys %{ $self->manifests }) {
my $res = $self->manifests->{$algorithm}->verify_manifest($self->payload_files, $return_all_errors);
if ((defined $res) && ($res ne "1")) { push @errors, $res; }
}
#check for tagmanifests
foreach my $algorithm ( keys %{ $self->manifests }) {
my $res = $self->manifests->{$algorithm}->verify_tagmanifest($self->non_payload_files, $return_all_errors);
if ((defined $res) && ($res ne "1")) { push @errors, $res; }
}
push @{$self->{errors}}, @errors;
my $err = $self->errors();
my @err = @{ $err };
if (scalar( @err ) > 0) {
croak join("\n","bag verify for bagit version '$version' failed with invalid files.", @err);
}
return 1;
}
lib/Archive/BagIt.pm view on Meta::CPAN
=back
At the moment only filepaths in linux-style are supported.
To get an more detailled overview, see the testsuite under F<t/verify_bag.t> and corresponding test bags from the BagIt conformance testsuite of Library of Congress under F<bagit_conformance_suite/>.
See L<https://datatracker.ietf.org/doc/rfc8493/?include_text=1> for details.
=head1 TODO
lib/Archive/BagIt.pm view on Meta::CPAN
=item reduce complexity
=item use modern perl code
=item add flag to enable very strict verify
=back
=head1 Backward Compatibility
lib/Archive/BagIt.pm view on Meta::CPAN
=item loading the files referenced in the manifest files was previously done serially and using synchronous I/O. By
using the L<IO::Async> module, the files are loaded asynchronously, the performance gain is huge.
=back
On my system with 8cores, SSD and a large 9GB bag with 568 payload files the results for C<verify_bag()> are:
processing time run time throughput
Version user time system time total time total MB/s
v0.71 38.31s 1.60s 39.938s 100% 230
v0.81 25.48s 1.68s 27.1s 67% 340
v0.82 48.85s 3.89s 6.84s 17% 1346
=head2 How fast is L<Archive::BagIt::Fast>?
It depends. On my system with 8cores, SSD and a 38MB bag with 48 payload files the results for C<verify_bag()> are:
Rate Base Fast
Base 3.01/s -- -21%
Fast 3.80/s 26% --
On my system with 8cores, SSD and a large 9GB bag with 568 payload files the results for C<verify_bag()> are:
s/iter Base Fast
Base 74.6 -- -9%
Fast 68.3 9% --
lib/Archive/BagIt.pm view on Meta::CPAN
Without the support of my colleagues at SLUB Dresden, the project would never have made it this far.
=head1 SYNOPSIS
This modules will hopefully help with the basic commands needed to create
and verify a bag. This part supports BagIt 1.0 according to RFC 8493 ([https://tools.ietf.org/html/rfc8493](https://tools.ietf.org/html/rfc8493)).
You only need to know the following methods first:
=head2 read a BagIt
lib/Archive/BagIt.pm view on Meta::CPAN
=head2 construct a BagIt around a payload
use Archive::BagIt;
my $bag2 = Archive::BagIt->make_bag($bag_dir);
=head2 verify a BagIt-dir
use Archive::BagIt;
# Validate a BagIt archive against its manifest
my $bag3 = Archive::BagIt->new($bag_dir);
my $is_valid1 = $bag3->verify_bag();
# Validate a BagIt archive against its manifest, report all errors
my $bag4 = Archive::BagIt->new($bag_dir);
my $is_valid2 = $bag4->verify_bag( {report_all_errors => 1} );
=head2 read a BagIt-dir, change something, store
Because all methods operate lazy, you should ensure to parse parts of the bag *BEFORE* you modify it.
Otherwise it will be overwritten!
lib/Archive/BagIt.pm view on Meta::CPAN
=item C<force_utf8> - if set the warnings about non portable filenames are disabled (default: enabled)
=item C<use_plugins> - expected manifest plugin strings, if set it uses the requested plugins,
example C<Archive::BagIt::Plugin::Manifest::SHA256>.
HINT: this option *disables* the forced fixity check in C<verify_bag()>!
=back
The bag object will use $bag_dir, BUT an existing $bag_dir is not read. If you use C<store()> an existing bag will be overwritten!
lib/Archive/BagIt.pm view on Meta::CPAN
returns true if bag info exists.
=head2 errors()
Getter to return collected errors after a C<verify_bag()> call with Option C<report_all_errors>
=head2 warnings()
Getter to return collected warnings after a C<verify_bag()> call
=head2 digest_callback()
This method could be reimplemented by derived classes to handle fixity checks in own way. The
getter returns an anonymous function with following interface:
lib/Archive/BagIt.pm view on Meta::CPAN
=head2 is_baginfo_key_reserved( $searchkey )
returns true if key is reserved
=head2 verify_baginfo()
checks baginfo-keys, returns true if all fine, otherwise returns undef and the message is pushed to C<errors()>.
Warnings pushed to C< warnings() >
=head2 delete_baginfo_by_key( $searchkey )
lib/Archive/BagIt.pm view on Meta::CPAN
=head2 load()
Triggers loading of an existing bag
=head2 verify_bag($opts)
A method to verify a bag deeply. If C<$opts> is set with C<{return_all_errors}> all fixity errors are reported.
The default ist to croak with error message if any error is detected.
HINT: You might also want to check L<Archive::BagIt::Fast> to see a more direct way of accessing files (and thus faster).
=head2 calc_payload_oxum()
view all matches for this distribution
view release on metacpan or search on metacpan
1.12 Fri 3 Aug 2007
- Fixing a small bug in archive file generation (Jeffery Candiloro)
1.11 Tue 8 May 2007
- Adding a test to verify the file sorted works implemented
in the previous version works as expected.
- No functional changes.
1.10 Fri 4 May 2007
- Due to the fixing of some fairly major issues that caused
view all matches for this distribution
view release on metacpan or search on metacpan
t/02-crunch.t view on Meta::CPAN
#########################
use Archive::ByteBoozer2 qw(:crunch :rcrunch);
use File::Slurp;
use Test::More tests => 2;
#########################
sub verify {
my $expected = join '', map { chr hex } @_;
my $got = read_file 't/test.prg.b2';
is $got, $expected, 'compressed data';
unlink 't/test.prg.b2';
}
#########################
{
crunch('t/test.prg');
verify(qw(fe 0f 00 10 54 4c 05 10 00 00 ee 20 d0 84 7f ff));
}
#########################
{
rcrunch('t/test.prg', 0x4000);
verify(qw(f2 3f 00 10 54 4c 05 10 00 00 ee 20 d0 84 7f ff));
}
#########################
view all matches for this distribution