OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-tools Date: 21-Jun-2006 09:48:57
Branch: HEAD Handle: 2006062108485600
Modified files:
openpkg-tools/cmd src2make.pl
Log:
fix buglet in src2make causing cyclic make dependencies which are
ignored by make. The problem was caused by variable strictness of
-version-release regex matching. Work off all similar code snippets
consequently applying "dash, nodash+, dash, nodash+, end" matching
logic which implies weaker checking but stronger flexibility
Summary:
Revision Changes Path
1.19 +9 -9 openpkg-tools/cmd/src2make.pl
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-tools/cmd/src2make.pl
============================================================================
$ cvs diff -u -r1.18 -r1.19 src2make.pl
--- openpkg-tools/cmd/src2make.pl 6 Mar 2006 18:50:24 -0000 1.18
+++ openpkg-tools/cmd/src2make.pl 21 Jun 2006 07:48:56 -0000 1.19
@@ -204,7 +204,7 @@
# parse source RPM filename into components
my ($srcrpm_name, $srcrpm_version, $srcrpm_release);
if (not (($srcrpm_name, $srcrpm_version, $srcrpm_release) =
- ($srcrpm =~
m/^(.+?)-([^-]+)-(\d+\.\d+\.\d+|\d+\.\d{8}|\d{8})\.src\.rpm$/))) {
+ ($srcrpm =~ m/^(.+?)-([^-]+)-([^-]+)\.src\.rpm$/))) {
die "malformed source RPM filename '$srcrpm'";
}
@@ -367,8 +367,8 @@
# remember package maximum version
sub pkgislessthan {
my ($a, $b) = @_;
- my ($a_v, $a_r) = ($a =~
m/^([^-]+)-(\d+\.\d+\.\d+|\d+\.\d{8}|\d{8})$/);
- my ($b_v, $b_r) = ($b =~
m/^([^-]+)-(\d+\.\d+\.\d+|\d+\.\d{8}|\d{8})$/);
+ my ($a_v, $a_r) = ($a =~ m/^([^-]+)-([^-]+)$/);
+ my ($b_v, $b_r) = ($b =~ m/^([^-]+)-([^-]+)$/);
my @a_r = split(/\./, $a_r);
my @b_r = split(/\./, $b_r);
if ($#a_r > $#b_r) {
@@ -575,7 +575,7 @@
$MF .= "# build individual-version latest packages\n";
foreach my $name (sort(keys(%{$PMV}))) {
my $V = $PMV->{$name};
- $V =~ s/-([1-9][0-9]*)?[2-9][0-9]{7}$// || $V =~
s/-[1-9][0-9]*\.[0-9]+\.[0-9]+$//;
+ $V =~ s/-[^-]+$//;
$MF .= sprintf("%-30s %s\n", "build-$name-$V:",
"build-$name-".$PMV->{$name});
push(@MFTL, "build-$name-$V");
}
@@ -600,7 +600,7 @@
$MF .= "# install individual-version latest packages\n";
foreach my $name (sort(keys(%{$PMV}))) {
my $V = $PMV->{$name};
- $V =~ s/-([1-9][0-9]*)?[2-9][0-9]{7}$// || $V =~
s/-[1-9][0-9]*\.[0-9]+\.[0-9]+$//;
+ $V =~ s/-[^-]+$//;
$MF .= sprintf("%-30s %s\n", "install-$name-$V:",
"install-$name-".$PMV->{$name});
push(@MFTL, "install-$name-$V");
}
@@ -625,7 +625,7 @@
$MF .= "# uninstall individual-version latest packages\n";
foreach my $name (sort(keys(%{$PMV}))) {
my $V = $PMV->{$name};
- $V =~ s/-([1-9][0-9]*)?[2-9][0-9]{7}$// || $V =~
s/-[1-9][0-9]*\.[0-9]+\.[0-9]+$//;
+ $V =~ s/-[^-]+$//;
$MF .= sprintf("%-30s %s\n", "uninstall-$name-$V:",
"uninstall-$name-".$PMV->{$name});
push(@MFTL, "uninstall-$name-$V");
}
@@ -650,7 +650,7 @@
$MF .= "# list individual-version latest packages\n";
foreach my $name (sort(keys(%{$PMV}))) {
my $V = $PMV->{$name};
- $V =~ s/-([1-9][0-9]*)?[2-9][0-9]{7}$// || $V =~
s/-[1-9][0-9]*\.[0-9]+\.[0-9]+$//;
+ $V =~ s/-[^-]+$//;
$MF .= sprintf("%-30s %s\n", "list-$name-$V:",
"list-$name-".$PMV->{$name});
push(@MFTL, "list-$name-$V");
}
@@ -696,7 +696,7 @@
# generate build entry for a single package
foreach my $pkg (sort(keys(%{$DGB}))) {
my ($pkg_name, $pkg_version, $pkg_release) =
- ($pkg =~ m/^(.+?)-([^-]+)-(\d+\.\d+\.\d+|\d+\.\d{8}|\d{8})$/);
+ ($pkg =~ m/^(.+?)-([^-]+)-([^-]+)$/);
$MF .= "# build: $pkg\n";
# standard packages
@@ -752,7 +752,7 @@
# generate install/uninstall entries for a single package
foreach my $pkg (sort(keys(%{$DGI}))) {
my ($pkg_name, $pkg_version, $pkg_release) =
- ($pkg =~ m/^(.+?)-([^-]+)-(\d+\.\d+\.\d+|\d+\.\d{8}|\d{8})$/);
+ ($pkg =~ m/^(.+?)-([^-]+)-([^-]+)$/);
# generate install target
$MF .= "# install: $pkg\n";
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]