[Lsb-messages] /var/www/bzr/lsb/devel/componenttodb r54: Fix processing of requires/provides for Deb packages
Denis Silakov
dsilakov at gmail.com
Thu Jul 14 11:59:04 UTC 2016
------------------------------------------------------------
revno: 54
committer: Denis Silakov <dsilakov at gmail.com>
branch nick: componenttodb
timestamp: Thu 2016-07-14 14:59:04 +0300
message:
Fix processing of requires/provides for Deb packages
modified:
Upload.pm
upload_distr_data.pl
-------------- next part --------------
=== modified file 'Upload.pm'
--- a/Upload.pm 2016-06-20 14:34:48 +0000
+++ b/Upload.pm 2016-07-14 11:59:04 +0000
@@ -1082,6 +1082,9 @@
elsif( $elf_arch =~ /ARM/ ) {
return "ARM";
}
+ elsif( $elf_arch =~ /AArch64/ ) {
+ return "AArch64";
+ }
return 0;
}
=== modified file 'upload_distr_data.pl'
--- a/upload_distr_data.pl 2016-06-20 14:34:48 +0000
+++ b/upload_distr_data.pl 2016-07-14 11:59:04 +0000
@@ -297,7 +297,10 @@
$lib_arch_id = $row[0];
}
else {
- die "Unknown architecture name: $lib_arch";
+ warn "Cannot determine db architecture name for $lib_arch; the file will be skipped";
+ # Set cmd to 1, so the wile will not be treated as library and will not be uploaded
+ $cmd=1;
+ next;
}
add_library($RLname, $RLversion, $RLrunname, $RLpath, $RLabitag, $RLsoname, $lib_arch_id);
@@ -1147,19 +1150,28 @@
# Add CompProvides record
sub add_comp_provides($ ) # args: (provided capability name)
{
- my ($cap) = ($_[0]);
- my ($flag, $name, $ver) = parse_req_version($cap);
-
- my $flag_ins = $flag ? "'$flag'" : "NULL";
- my $ver_ins = $ver ? "'$ver'" : "NULL";
- if( $DBmode eq "patch" ) {
- push( @comp_provides, "(\@C,'$name',$flag_ins,$ver_ins)" );
- }
- else {
- push( @comp_provides, "($ComponentId,'$name',$flag_ins,$ver_ins)" );
- }
-
- print "'$cap' capability has been assigned to the component\n" if(not $quiet);
+ my ($caps) = ($_[0]);
+
+ my @capabilities = split( /,/, $caps);
+
+ foreach my $cap (@capabilities) {
+ $cap =~ s/<</</;
+ $cap =~ s/>>/>/;
+ # Deb packages has versions in brackets - drop the brackets
+ $cap =~ s/\(((>|<|=).*)\)/$1/;
+ $cap = trim($cap);
+
+ my ($flag, $name, $ver) = parse_req_version($cap);
+ my $flag_ins = $flag ? "'$flag'" : "NULL";
+ my $ver_ins = $ver ? "'$ver'" : "NULL";
+ if( $DBmode eq "patch" ) {
+ push( @comp_provides, "(\@C,'$name',$flag_ins,$ver_ins)" );
+ }
+ else {
+ push( @comp_provides, "($ComponentId,'$name',$flag_ins,$ver_ins)" );
+ }
+ print "'$cap' capability has been assigned to the component\n" if(not $quiet);
+ }
}
# Add CompFile record
@@ -1182,18 +1194,27 @@
# Add CompRequires record
sub add_comp_requires($ ) # args: (dependency name)
{
- my ($compdep) = ($_[0]);
- my ($flag, $name, $ver) = parse_req_version($compdep);
-
- if( $compdep ) {
+ my ($compdeps) = ($_[0]);
+
+ # Debian can have alternative dependencies joined by "|", let's treat them as separate ones
+ my @deps = split( / \| /, $compdeps);
+
+ foreach my $compdep (@deps) {
+ $compdep =~ s/<</</;
+ $compdep =~ s/>>/>/;
+ # Deb packages has versions in brackets - drop the brackets
+ $compdep =~ s/\(((>|<|=).*)\)/$1/;
+ $compdep = trim($compdep);
+
+ my ($flag, $name, $ver) = parse_req_version($compdep);
my $flag_ins = $flag ? "'$flag'" : "NULL";
my $ver_ins = $ver ? "'$ver'" : "NULL";
if( $DBmode eq "patch" ) {
- push( @comp_requires, "(\@C,'$name',$flag_ins,$ver_ins)" );
+ push( @comp_requires, "(\@C,'$name',$ver_ins,$flag_ins)" );
}
else {
- push( @comp_requires, "($ComponentId,'$name',$flag_ins,$ver_ins)" );
+ push( @comp_requires, "($ComponentId,'$name',$ver_ins,$flag_ins)" );
}
print "'$compdep' dependency has been assigned to the component\n" if(not $quiet);
More information about the lsb-messages
mailing list