diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-09-17 08:15:24 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-09-17 08:15:24 +0200 |
commit | 542d79b7552253b2e99fff87995d8d34bcebaa26 (patch) | |
tree | 74dce07188f3f0ea33acf65c69e8c129176006ca | |
parent | 133ed4d0a96d898f6702ad0d9f836176b66e9b0e (diff) | |
download | slackbuilder-542d79b7552253b2e99fff87995d8d34bcebaa26.tar.gz slackbuilder-542d79b7552253b2e99fff87995d8d34bcebaa26.tar.bz2 |
Fixes in package name parsing
* lib/SlackBuild/Registry/Record.pm: Allow for 'r' before version
number.
* lib/SlackBuilder.pm (file): Emit error message if unable to
parse package name.
-rw-r--r-- | lib/SlackBuild/Registry/Record.pm | 2 | ||||
-rw-r--r-- | lib/SlackBuilder.pm | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/SlackBuild/Registry/Record.pm b/lib/SlackBuild/Registry/Record.pm index 0d9b75d..4bb4af6 100644 --- a/lib/SlackBuild/Registry/Record.pm +++ b/lib/SlackBuild/Registry/Record.pm @@ -51,7 +51,7 @@ sub new { my @architectures = qw(i386 x86_64 arm noarch); my $rx = '^(?<pkg>.+)-' - . '(?<vpref>[vV]?)' + . '(?<vpref>[rvV]?)' . '(?<version>\d+(?:\.\d+)*.*?)' . '-(?<arch>' . regexp_opt(@architectures) . ')' . '-(?<build>\d+)' diff --git a/lib/SlackBuilder.pm b/lib/SlackBuilder.pm index 70e25b7..2b71738 100644 --- a/lib/SlackBuilder.pm +++ b/lib/SlackBuilder.pm @@ -179,9 +179,14 @@ sub file { if (my $tag = $self->conf->core->tag->value) { my ($base,$path) = fileparse($name); - my $r = SlackBuild::Registry::Record->split($base); - $r->tag($tag); - $name = $r->reconstruct; + if (my $r = SlackBuild::Registry::Record->split($base)) { + $r->tag($tag); + $name = $r->reconstruct; + } else { + $self->error("can't parse package name $base"); + $self->errno(E_FAIL); + return; + } } my $dst = $self->ospkgdir($name); |