summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2019-09-17 08:15:24 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2019-09-17 08:15:24 +0200
commit542d79b7552253b2e99fff87995d8d34bcebaa26 (patch)
tree74dce07188f3f0ea33acf65c69e8c129176006ca
parent133ed4d0a96d898f6702ad0d9f836176b66e9b0e (diff)
downloadslackbuilder-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.pm2
-rw-r--r--lib/SlackBuilder.pm11
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);

Return to:

Send suggestions and report system problems to the System administrator.