Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37691230
en ru br
Репозитории ALT
S:1.0.0-alt1
5.1: 1.0.0-alt1
www.altlinux.org/Changes

Группа :: Разработка/Perl
Пакет: perl-RPM-Header-Alt

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

RPM-Header-Alt-1.0.0/000075500000000000000000000000001120357155300140525ustar00rootroot00000000000000RPM-Header-Alt-1.0.0/Changes000064400000000000000000000003311120357155300153420ustar00rootroot00000000000000Revision history for Perl extension RPM::Header::Alt.

1.0.0 Sat May 16 18:38:34 2009
- original version; created by h2xs 1.23 with options
-A -P -X -n RPM::Header::Alt -v 1.0.0 --skip-exporter --skip-autoloader

RPM-Header-Alt-1.0.0/MANIFEST000064400000000000000000000001151120357155300152000ustar00rootroot00000000000000Changes
Makefile.PL
MANIFEST
README
t/RPM-Header-Alt.t
lib/RPM/Header/Alt.pm
RPM-Header-Alt-1.0.0/Makefile.PL000064400000000000000000000010621120357155300160230ustar00rootroot00000000000000use 5.008000;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'RPM::Header::Alt',
VERSION_FROM => 'lib/RPM/Header/Alt.pm', # finds $VERSION
PREREQ_PM => {}, # e.g., Module::Name => 1.1
($] >= 5.005 ? ## Add these new keywords supported since 5.005
(ABSTRACT_FROM => 'lib/RPM/Header/Alt.pm', # retrieve abstract from module
AUTHOR => 'Vladimir Lettiev <crux@altlinux.ru>') : ()),
);
RPM-Header-Alt-1.0.0/README000064400000000000000000000022371120357155300147360ustar00rootroot00000000000000RPM-Header-Alt version 1.0.0
============================

The README is used to introduce the module and provide instructions on
how to install the module, any machine dependencies it may have (for
example C compilers and installed libraries) and any other information
that should be provided before the module is installed.

A README file is required for CPAN modules since CPAN extracts the
README file from a module distribution so that people browsing the
archive can use it get an idea of the modules uses. It is usually a
good idea to provide version information here so that people can
decide whether fixes for the module are worth downloading.

INSTALLATION

To install this module type the following:

perl Makefile.PL
make
make test
make install

DEPENDENCIES

This module requires these other modules and libraries:

blah blah blah

COPYRIGHT AND LICENCE

Put the correct copyright and licence information here.

Copyright (C) 2009 by A. U. Thor

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.0 or,
at your option, any later version of Perl 5 you may have available.


RPM-Header-Alt-1.0.0/lib/000075500000000000000000000000001120357155300146205ustar00rootroot00000000000000RPM-Header-Alt-1.0.0/lib/RPM/000075500000000000000000000000001120357155300152565ustar00rootroot00000000000000RPM-Header-Alt-1.0.0/lib/RPM/Header/000075500000000000000000000000001120357155300164465ustar00rootroot00000000000000RPM-Header-Alt-1.0.0/lib/RPM/Header/Alt.pm000064400000000000000000000415001120357155300175240ustar00rootroot00000000000000# Copyright (C) 2001,2002,2006 Troels Liebe Bentsen
# Copyright (C) 2009 Vladimir Lettiev
# This library is free software; you can redistribute it and/or modify
# it under the same terms as Perl itself.

=head1 NAME

RPM::Header::Alt - Alternative pure perl RPM header reader for ALTLinux fork of RPM

=head1 VERSION

Version 1.0.0

=head1 SYNOPSIS

use RPM::Header::Alt;
$rpm = new RPM::Header::Alt;

# Open rpm file
open(RPM,"<", "rpm-4.0.4-alt98.9.src.rpm");
while (1) {
$read = read(RPM,$data,4096);
# read 4096 bytes from file
last unless ($read);
# process chunk of readed data
$read = $rpm->process_chunk($data);
# read == 0 -> error while process a chunk
# read == 1 -> full rpm header was analysed, so we can close file now
# read == 2 -> need another portion of data
die $rpm->error_str unless ($read);
last if ($read == 1);
}
close(RPM);

# get hash with RPM TAGs
$ref_to_hash = $rpm->get_hash;

# print all rpm tags readed from rpm file.
print $rpm->dump_tags;

=head1 DESCRIPTION

RPM::Header::Alt is alternative implementation of RPM::Header written in only Perl.
Its based on RPM::Header::PurePerl, but adopted to ALTLinux fork of RPM

=head1 PUBLIC METHODS

new - create RPM::Header::Alt object;

process_chunk($data) - process another chunk of RPM file stored in $data

return 0 if there is error ocurred (use error_str() method to get error message)
return 1 if full header was analysed
return 2 if another chunk needed

get_hash - return ref to hash where keys are RPM TAGS

dump_tags - dump all analyzed tags (via Data::Dumper)

error_str - return error message

get_raw_header - return raw rpm header. This can be stored in file and analyzed again.

=head1 AUTHOR

Troels Liebe Bentsen <tlb@rapanden.dk>
Vladimir Lettiev <crux@altlinux.ru>

=head1 COPYRIGHT AND LICENCE

Copyright (C) 2001,2002,2006 Troels Liebe Bentsen
Copyright (C) 2009 Vladimir Lettiev

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

=cut

package RPM::Header::Alt;
use strict;
use Data::Dumper;
use vars '$VERSION';
$VERSION = q{1.0.0};
my %hdr_tags;

use constant FAIL => 0;
use constant OK => 1;
use constant WAIT_DATA => 2;

use constant RPM_FILE_MAGIC => pack("C4",0xed,0xab,0xee,0xdb);
use constant RPM_HEADER_MAGIC => pack("C3",0x8e,0xad,0xe8);

sub new {
my ($class, %opts) = @_;
my $self = {
"hash" => {},
"data" => "",
"offset" => 0
};
bless $self, $class;
$self->init_hdr;
return $self;
}

sub dump_tags {
my $self=shift;
return &Dumper($self->{hash});
}

sub process_chunk {
my ($self) = shift;
$self->{data} .= shift;
if ($self->{offset} == 0) {
if (length($self->{data})<96) {
return WAIT_DATA;
}
($self->{'hash'}->{'LEAD_MAGIC'}, # unsigned char[4], М╚Нш == rpm
$self->{'hash'}->{'LEAD_MAJOR'}, # unsigned char, 3 == rpm version 3.x
$self->{'hash'}->{'LEAD_MINOR'}, # unsigned char, 0 == rpm version x.0
$self->{'hash'}->{'LEAD_TYPE'}, # short(int16), 0 == binary, 1 == source
$self->{'hash'}->{'LEAD_ARCHNUM'}, # short(int16), 1 == i386
$self->{'hash'}->{'LEAD_NAME'}, # char[66], rpm name
$self->{'hash'}->{'LEAD_OSNUM'}, # short(int16), 1 == Linux
$self->{'hash'}->{'LEAD_SIGNATURETYPE'}, # short(int16), 1280 == rpm 4.0
$self->{'hash'}->{'LEAD_RESERVED'} # char[16] future expansion
) = unpack("a4CCssA66ssA16", $self->{data});
if ($self->{'hash'}->{'LEAD_MAGIC'} ne RPM_FILE_MAGIC) {
$self->set_error("Invalid file magick");
return FAIL;
}
$self->{offset} = 96;
}
while (1) {
return WAIT_DATA if (length($self->{data})<$self->{offset}+16);
my ($header_magic, $header_version, $header_reserved, $header_entries,
$header_size) = unpack("a3CNNN", substr($self->{data},$self->{offset},16));
my $offset = $self->{offset}+16+$header_entries*16+$header_size;
if ($self->{offset} == 96) {
$offset += 8 - ($header_size % 8) if (($header_size % 8)!=0);
}
return WAIT_DATA if (length($self->{data})<$offset);
$self->{offset} += 16;
if ($header_magic ne RPM_HEADER_MAGIC) {
$self->set_error("Invalid header magick");
return FAIL;
}
$self->process_tags($header_entries);
if ($self->{offset} == 112) {
$self->{offset} = $offset;
} else {
$self->{offset} = $offset;
$self->{data} = substr($self->{data},0,$offset);
$self->post_process;
return OK;
}
}
}

sub set_error {
my $self = shift;
$self->{err_str} = shift;
}

sub error_str {
my $self = shift;
return $self->{err_str};
}

sub process_tags {
my $self = shift;
my $header_entries = shift;
my $buff_offset = $self->{offset}+$header_entries*16;
for (my $record_num=0; $record_num < $header_entries; $record_num++) {
my ($tag, $type, $offset, $count) =
unpack("NNNN", substr($self->{data}, $self->{offset}+$record_num*16, 16));

# 10x if signature header.
if ($self->{offset} == 112) { $tag = $tag*10; }
#print "Process TAG: $hdr_tags{$tag}->{'TAGNAME'} ($tag), TYPE: $type, OFFSET: $offset, COUNT: $count\n";
my @value;

# Unknown tag
if (!defined($hdr_tags{$tag})) {
$hdr_tags{$tag}->{
'TAGNAME' => $tag,
'GROUP' => 'UNKNOWN',
'NAME' => ''
};
}
# Null type
if ($type == 0) {
@value = ('');
}
# Char type
elsif ($type == 1) {
print "Char $count $hdr_tags{$tag}{'TAGNAME'}\n";
#for (my $i=0; $i < $count; $i++) {
#push(@value, substr($buff, $offset, $count));
# $header_info{$record}{'offset'} += $count;
#}
}
# int8
elsif ($type == 2) {
@value = unpack("C*", substr($self->{data}, $buff_offset+$offset, 1*$count));
$offset = 1*$count;
}
# int16
elsif ($type == 3) {
@value = unpack("n*", substr($self->{data},$buff_offset+$offset, 2*$count));
$offset = 2*$count;
}
# int32
elsif ($type == 4) {
@value = unpack("N*", substr($self->{data},$buff_offset+$offset, 4*$count));
$offset = 4*$count;
}
# int64
elsif ($type == 5) {
print "Int64(Not supported): ".
"$count $hdr_tags{$tag}{'TAGNAME'}\n";
#@value = unpack("N*", substr($buff, $offset, 4*$count));
#$offset = 4*$count;
}
# String, String array, I18N string array
elsif ($type == 6 or $type == 8 or $type == 9) {
for(my $i=0;$i<$count;$i++) {
my $length = index($self->{data}, "\0", $buff_offset+$offset)-($buff_offset+$offset);
# unpack istedet for substr.
push(@value, substr($self->{data}, $buff_offset+$offset, $length));
$offset += $length+1;
}
}
# bin
elsif ($type == 7) {
#print "Bin $count $tags{$tag}{'TAGNAME'}\n";
$value[0] = substr($self->{data}, $buff_offset+$offset, $count);
}
# Find out if it's an array type or not.
if (defined($hdr_tags{$tag}{'TYPE'})
and $hdr_tags{$tag}{'TYPE'} == 1) {
#if ($count < 2 && $type != 8 && $type != 9) { print "1: type=$type, count=$count\n";}
@{$self->{'hash'}->{$hdr_tags{$tag}{'TAGNAME'}}} = @value;
}
else {
if ($count > 1) { print "0: tag=$hdr_tags{$tag}{'TAGNAME'}, type=$type, count=$count\n";}
$self->{'hash'}->{$hdr_tags{$tag}{'TAGNAME'}} = $value[0];
}
}
}

sub post_process {
my $self = shift;
# Make old packages look like new ones.
#if (defined($self->{'hash'}->{'FILENAMES'})) {
# my $count = 0;
# my %quick_dirnames;
# foreach my $filename (@{$self->{'hash'}->{'FILENAMES'}}) {
# my $file = ''; my $dir = '/';
# if($filename =~ /(.*\/)(.*$)/) {
# $file = $1; $dir = $2;
# } else {
# $file = $filename;
# }
# if (!defined($quick_dirnames{$dir})) {
# push(@{$self->{'hash'}->{'DIRNAMES'}}, $dir);
# $quick_dirnames{$dir} = $count++;
# }
# push(@{$self->{'hash'}->{'BASENAMES'}}, $file);
# push(@{$self->{'hash'}->{'DIRINDEXES'}}, $quick_dirnames{$dir});
# }
# delete($self->{'hash'}->{'FILENAMES'});
#}
#
# Wait I can beat it, a package sould also provide is's own name, sish (and only once).
#my %quick_provides = map {$_ => 1} @{$self->{'hash'}->{'PROVIDENAME'}};
#my %quick_provideflags = map {$_ => 1} @{$self->{'hash'}->{'PROVIDEFLAGS'}};
#my %quick_provideversion
# = map {$_ => 1} @{$self->{'hash'}->{'PROVIDEVERSION'}};
#if (!defined($quick_provides{$self->{'hash'}->{'NAME'}}) and
# !defined($quick_provideflags{8}) and
# !defined($quick_provideversion{$self->{'hash'}->{'VERSION'}})) {
# push(@{$self->{'hash'}->{'PROVIDENAME'}}, $self->{'hash'}->{'NAME'});
# push(@{$self->{'hash'}->{'PROVIDEFLAGS'}}, 8);
# push(@{$self->{'hash'}->{'PROVIDEVERSION'}},
# $self->{'hash'}->{'VERSION'}.'-'.$self->{'hash'}->{'RELEASE'});
#}
#
## FILEVERIFYFLAGS is signed
#if ($self->{'hash'}->{'FILEVERIFYFLAGS'}) {
# for(my $i=0;$i<int(@{$self->{'hash'}->{'FILEVERIFYFLAGS'}}); $i++) {
# my $val = @{$self->{'hash'}->{'FILEVERIFYFLAGS'}}[$i];
# if (int($val) == $val && $val >= 2147483648 &&
# $val <= 4294967295) {
# @{$self->{'hash'}->{'FILEVERIFYFLAGS'}}[$i] -= 4294967296;
# }
# }
#}

# Lets handel the SIGNATURE, this does not work, fix it please.
#if (defined($self->{'hash'}->{'SIGNATURE_MD5'})) {
# $self->{'hash'}->{'SIGNATURE_MD5'} =
# unpack("H*", $self->{'hash'}->{'SIGNATURE_MD5'});
#}

# Old stuff, so it can be a drop in replacement for RPM::HEADERS.
if (defined($self->{'hash'}->{'EPOCH'})) {
$self->{'hash'}->{'SERIAL'} = $self->{'hash'}->{'EPOCH'};
}
if (defined($self->{'hash'}->{'LICENSE'})) {
$self->{'hash'}->{'COPYRIGHT'} = $self->{'hash'}->{'LICENSE'};
}
if (defined($self->{'hash'}->{'PROVIDENAME'})) {
$self->{'hash'}->{'PROVIDES'} = $self->{'hash'}->{'PROVIDENAME'};
}
if (defined($self->{'hash'}->{'OBSOLETENAME'})) {
$self->{'hash'}->{'OBSOLETES'} = $self->{'hash'}->{'OBSOLETENAME'};
}

};

sub get_raw_header {
my $self = shift;
return $self->{data};
}

sub get_hash {
my $self = shift;
return $self->{hash};
}

sub init_hdr {
my $self = shift;

%hdr_tags = (
63 => {'TAGNAME' => 'HEADERIMMUTABLE', 'TYPE' => 1 },
100 => {'TAGNAME' => 'HEADERI18NTABLE', 'TYPE' => 1 },
620 => {'TAGNAME' => 'HEADERSIGNATURES', 'TYPE' => 1 },
1000 => {'TAGNAME' => 'NAME' },
1001 => {'TAGNAME' => 'VERSION' },
1002 => {'TAGNAME' => 'RELEASE' },
1003 => {'TAGNAME' => 'EPOCH' },
1004 => {'TAGNAME' => 'SUMMARY', 'TYPE' => 1 },
1005 => {'TAGNAME' => 'DESCRIPTION', 'TYPE' => 1 },
1006 => {'TAGNAME' => 'BUILDTIME' },
1007 => {'TAGNAME' => 'BUILDHOST' },
1008 => {'TAGNAME' => 'INSTALLTIME' },
1009 => {'TAGNAME' => 'SIZE' },
1010 => {'TAGNAME' => 'DISTRIBUTION' },
1011 => {'TAGNAME' => 'VENDOR' },
1012 => {'TAGNAME' => 'GIF' },
1013 => {'TAGNAME' => 'XPM' },
1014 => {'TAGNAME' => 'LICENSE' },
1015 => {'TAGNAME' => 'PACKAGER' },
1016 => {'TAGNAME' => 'GROUP' },
1017 => {'TAGNAME' => 'CHANGELOG' },
1018 => {'TAGNAME' => 'SOURCE', 'TYPE' => 1 },
1019 => {'TAGNAME' => 'PATCH', 'TYPE' => 1 },
1020 => {'TAGNAME' => 'URL' },
1021 => {'TAGNAME' => 'OS' },
1022 => {'TAGNAME' => 'ARCH' },
1023 => {'TAGNAME' => 'PREIN', 'TYPE' => 1 },
1024 => {'TAGNAME' => 'POSTIN', 'TYPE' => 1 },
1025 => {'TAGNAME' => 'PREUN', 'TYPE' => 1 },
1026 => {'TAGNAME' => 'POSTUN', 'TYPE' => 1 },
1027 => {'TAGNAME' => 'OLDFILENAMES', 'TYPE' => 1 },
1028 => {'TAGNAME' => 'FILESIZES', 'TYPE' => 1 },
1029 => {'TAGNAME' => 'FILESTATES', 'TYPE' => 1 },
1030 => {'TAGNAME' => 'FILEMODES', 'TYPE' => 1 },
1031 => {'TAGNAME' => 'FILEUIDS' },
1032 => {'TAGNAME' => 'FILEGIDS' },
1033 => {'TAGNAME' => 'FILERDEVS', 'TYPE' => 1 },
1034 => {'TAGNAME' => 'FILEMTIMES', 'TYPE' => 1 },
1035 => {'TAGNAME' => 'FILEMD5S', 'TYPE' => 1 },
1036 => {'TAGNAME' => 'FILELINKTOS', 'TYPE' => 1 },
1037 => {'TAGNAME' => 'FILEFLAGS', 'TYPE' => 1 },
1038 => {'TAGNAME' => 'ROOT' },
1039 => {'TAGNAME' => 'FILEUSERNAME', 'TYPE' => 1 },
1040 => {'TAGNAME' => 'FILEGROUPNAME', 'TYPE' => 1 },
1041 => {'TAGNAME' => 'EXCLUDE' },
1042 => {'TAGNAME' => 'EXCLUSIVE' },
1043 => {'TAGNAME' => 'ICON' },
1044 => {'TAGNAME' => 'SOURCERPM' },
1045 => {'TAGNAME' => 'FILEVERIFYFLAGS', 'TYPE' => 1 },
1046 => {'TAGNAME' => 'ARCHIVESIZE' },
1047 => {'TAGNAME' => 'PROVIDENAME', 'TYPE' => 1 },
1048 => {'TAGNAME' => 'REQUIREFLAGS', 'TYPE' => 1 },
1049 => {'TAGNAME' => 'REQUIRENAME', 'TYPE' => 1 },
1050 => {'TAGNAME' => 'REQUIREVERSION', 'TYPE' => 1 },
1051 => {'TAGNAME' => 'NOSOURCE' },
1052 => {'TAGNAME' => 'NOPATCH' },
1053 => {'TAGNAME' => 'CONFLICTFLAGS', 'TYPE' => 1 },
1054 => {'TAGNAME' => 'CONFLICTNAME', 'TYPE' => 1 },
1055 => {'TAGNAME' => 'CONFLICTVERSION', 'TYPE' => 1 },
1056 => {'TAGNAME' => 'DEFAULTPREFIX' },
1057 => {'TAGNAME' => 'BUILDROOT', 'TYPE' => 1 },
1058 => {'TAGNAME' => 'INSTALLPREFIX' },
1059 => {'TAGNAME' => 'EXCLUDEARCH' },
1060 => {'TAGNAME' => 'EXCLUDEOS' },
1061 => {'TAGNAME' => 'EXCLUSIVEARCH', 'TYPE' => 1 },
1062 => {'TAGNAME' => 'EXCLUSIVEOS' },
1063 => {'TAGNAME' => 'AUTOREQPROV' },
1064 => {'TAGNAME' => 'RPMVERSION' },
1065 => {'TAGNAME' => 'TRIGGERSCRIPTS', 'TYPE' => 1 },
1066 => {'TAGNAME' => 'TRIGGERNAME', 'TYPE' => 1 },
1067 => {'TAGNAME' => 'TRIGGERVERSION', 'TYPE' => 1 },
1068 => {'TAGNAME' => 'TRIGGERFLAGS', 'TYPE' => 1 },
1069 => {'TAGNAME' => 'TRIGGERINDEX', 'TYPE' => 1 },
1079 => {'TAGNAME' => 'VERIFYSCRIPT', 'TYPE' => 1 },
1080 => {'TAGNAME' => 'CHANGELOGTIME', 'TYPE' => 1 },
1081 => {'TAGNAME' => 'CHANGELOGNAME', 'TYPE' => 1 },
1082 => {'TAGNAME' => 'CHANGELOGTEXT', 'TYPE' => 1 },
1083 => {'TAGNAME' => 'BROKENMD5' },
1084 => {'TAGNAME' => 'PREREQ' },
1085 => {'TAGNAME' => 'PREINPROG', 'TYPE' => 1 },
1086 => {'TAGNAME' => 'POSTINPROG', 'TYPE' => 1 },
1087 => {'TAGNAME' => 'PREUNPROG', 'TYPE' => 1 },
1088 => {'TAGNAME' => 'POSTUNPROG', 'TYPE' => 1 },
1089 => {'TAGNAME' => 'BUILDARCHS', 'TYPE' => 1 },
1090 => {'TAGNAME' => 'OBSOLETENAME', 'TYPE' => 1 },
1091 => {'TAGNAME' => 'VERIFYSCRIPTPROG', 'TYPE' => 1 },
1092 => {'TAGNAME' => 'TRIGGERSCRIPTPROG', 'TYPE' => 1 },
1093 => {'TAGNAME' => 'DOCDIR' },
1094 => {'TAGNAME' => 'COOKIE' },
1095 => {'TAGNAME' => 'FILEDEVICES', 'TYPE' => 1 },
1096 => {'TAGNAME' => 'FILEINODES', 'TYPE' => 1 },
1097 => {'TAGNAME' => 'FILELANGS', 'TYPE' => 1 },
1098 => {'TAGNAME' => 'PREFIXES', 'TYPE' => 1 },
1099 => {'TAGNAME' => 'INSTPREFIXES', 'TYPE' => 1 },
1100 => {'TAGNAME' => 'TRIGGERIN' },
1101 => {'TAGNAME' => 'TRIGGERUN' },
1102 => {'TAGNAME' => 'TRIGGERPOSTUN' },
1103 => {'TAGNAME' => 'AUTOREQ' },
1104 => {'TAGNAME' => 'AUTOPROV' },
1105 => {'TAGNAME' => 'CAPABILITY' },
1106 => {'TAGNAME' => 'SOURCEPACKAGE' },
1107 => {'TAGNAME' => 'OLDORIGFILENAMES' },
1108 => {'TAGNAME' => 'BUILDPREREQ' },
1109 => {'TAGNAME' => 'BUILDREQUIRES' },
1110 => {'TAGNAME' => 'BUILDCONFLICTS' },
1111 => {'TAGNAME' => 'BUILDMACROS' },
1112 => {'TAGNAME' => 'PROVIDEFLAGS', 'TYPE' => 1 },
1113 => {'TAGNAME' => 'PROVIDEVERSION', 'TYPE' => 1 },
1114 => {'TAGNAME' => 'OBSOLETEFLAGS', 'TYPE' => 1 },
1115 => {'TAGNAME' => 'OBSOLETEVERSION', 'TYPE' => 1 },
1116 => {'TAGNAME' => 'DIRINDEXES', 'TYPE' => 1 },
1117 => {'TAGNAME' => 'BASENAMES', 'TYPE' => 1 },
1118 => {'TAGNAME' => 'DIRNAMES', 'TYPE' => 1 },
1119 => {'TAGNAME' => 'ORIGDIRINDEXES' },
1120 => {'TAGNAME' => 'ORIGBASENAMES' },
1121 => {'TAGNAME' => 'ORIGDIRNAMES' },
1122 => {'TAGNAME' => 'OPTFLAGS', 'TYPE' => 1 },
1123 => {'TAGNAME' => 'DISTURL' },
1124 => {'TAGNAME' => 'PAYLOADFORMAT', 'TYPE' => 1 },
1125 => {'TAGNAME' => 'PAYLOADCOMPRESSOR', 'TYPE' => 1 },
1126 => {'TAGNAME' => 'PAYLOADFLAGS', 'TYPE' => 1 },
1127 => {'TAGNAME' => 'MULTILIBS' },
1128 => {'TAGNAME' => 'INSTALLTID' },
1129 => {'TAGNAME' => 'REMOVETID' },
1130 => {'TAGNAME' => 'SHA1RHN' },
1131 => {'TAGNAME' => 'RHNPLATFORM', 'TYPE' => 1 },
1132 => {'TAGNAME' => 'PLATFORM', 'TYPE' => 1 },
1133 => {'TAGNAME' => 'PATCHESNAME' },
1134 => {'TAGNAME' => 'PATCHESFLAGS' },
1135 => {'TAGNAME' => 'PATCHESVERSION' },
1136 => {'TAGNAME' => 'CACHECTIME' },
1137 => {'TAGNAME' => 'CACHEPKGPATH' },
1138 => {'TAGNAME' => 'CACHEPKGSIZE' },
1139 => {'TAGNAME' => 'CACHEPKGMTIME' },
1140 => {'TAGNAME' => 'FILECOLORS', 'TYPE' => 4 },
1141 => {'TAGNAME' => 'FILECLASS', 'TYPE' => 4 },
1142 => {'TAGNAME' => 'CLASSDICT', 'TYPE' => 8 },
1143 => {'TAGNAME' => 'FILEDEPENDSX', 'TYPE' => 4 },
1144 => {'TAGNAME' => 'FILEDEPENDSN', 'TYPE' => 4 },
1145 => {'TAGNAME' => 'DEPENDSDICT', 'TYPE' => 4 },
1146 => {'TAGNAME' => 'SOURCEPKGID', 'TYPE' => 7 },
1177 => {'TAGNAME' => 'Filedigestalgos', 'TYPE' => 4 },
2650 => {'TAGNAME' => 'BADSHA1_2', 'TYPE' => 1 },
2670 => {'TAGNAME' => 'DSAHEADER', 'TYPE' => 1 },
2690 => {'TAGNAME' => 'SHA1HEADER', 'TYPE' => 1 },
10000 => {'TAGNAME' => 'SIGSIZE', 'TYPE' => 1 },
10010 => {'TAGNAME' => 'SIGLEMD5_1', 'TYPE' => 1 },
10020 => {'TAGNAME' => 'SIGPGP' },
10030 => {'TAGNAME' => 'SIGLEMD5_2', 'TYPE' => 1 },
10040 => {'TAGNAME' => 'SIGMD5', 'TYPE' => 1 },
10050 => {'TAGNAME' => 'SIGGPG', 'TYPE' => 1 },
10060 => {'TAGNAME' => 'SIGPGP5' },
10070 => {'TAGNAME' => 'SIGPAYLOADSIZE' },
)

}
1;
__END__
RPM-Header-Alt-1.0.0/t/000075500000000000000000000000001120357155300143155ustar00rootroot00000000000000RPM-Header-Alt-1.0.0/t/RPM-Header-Alt.t000064400000000000000000000007401120357155300170450ustar00rootroot00000000000000# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl RPM-Header-Alt.t'

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More tests => 1;
BEGIN { use_ok('RPM::Header::Alt') };

#########################

# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin