Archive-BagIt
view release on metacpan or search on metacpan
README.mkdn view on Meta::CPAN
The actual development version is available at [https://git.fsfe.org/art1pirat/Archive-BagIt](https://git.fsfe.org/art1pirat/Archive-BagIt)
# Conformance to RFC8493
The module should fulfill the RFC requirements, with following limitations:
- only encoding UTF-8 is supported
- version 0.97 or 1.0 allowed
- version 0.97 requires tag-/manifest-files with md5-fixity
- version 1.0 requires tag-/manifest-files with sha512-fixity
- BOM is not supported
- Carriage Return in bagit-files are not allowed
- fetch.txt is unsupported
At the moment only filepaths in linux-style are supported.
To get an more detailled overview, see the testsuite under `t/verify_bag.t` and corresponding test bags from the BagIt conformance testsuite of Library of Congress under `bagit_conformance_suite/`.
See [https://datatracker.ietf.org/doc/rfc8493/?include\_text=1](https://datatracker.ietf.org/doc/rfc8493/?include_text=1) for details.
# TODO
lib/Archive/BagIt.pm view on Meta::CPAN
}
sub _build_bag_version {
my($self) = @_;
my ($version_string, $encoding_string, $file) = $self->__build_read_bagit_txt();
croak "Version line missed in '$file" unless defined $version_string;
if ($version_string =~ /^BagIt-Version: ([01]\.[0-9]+)$/) {
return $1;
} else {
$version_string =~ s/\r/<CR>/;
$version_string =~ s/^\N{U+FEFF}/<BOM>/;
croak "Version string '$version_string' of '$file' is incorrect";
};
}
sub _build_bag_encoding {
my($self) = @_;
my ($version_string, $encoding_string, $file) = $self->__build_read_bagit_txt();
croak "Encoding line missed in '$file" unless defined $encoding_string;
croak "Encoding '$encoding_string' of '$file' not supported by current Archive::BagIt module!" unless ($encoding_string ne "UTF-8");
return $encoding_string;
lib/Archive/BagIt.pm view on Meta::CPAN
=over
=item only encoding UTF-8 is supported
=item version 0.97 or 1.0 allowed
=item version 0.97 requires tag-/manifest-files with md5-fixity
=item version 1.0 requires tag-/manifest-files with sha512-fixity
=item BOM is not supported
=item Carriage Return in bagit-files are not allowed
=item fetch.txt is unsupported
=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/>.
( run in 0.457 second using v1.01-cache-2.11-cpan-e9daa2b36ef )