mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
Meta.pm: Use decimal versions only for version but semver in x_version in some cases
git-svn-id: https://svn.fhem.de/fhem/trunk@18873 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
ae8dc456e1
commit
4ca9a044fc
@ -493,7 +493,8 @@ sub Load(;$$) {
|
|||||||
push @rets, $@ if ( $@ && $@ ne '' );
|
push @rets, $@ if ( $@ && $@ ne '' );
|
||||||
push @rets, $ret if ( $ret && $ret ne '' );
|
push @rets, $ret if ( $ret && $ret ne '' );
|
||||||
|
|
||||||
$modules{$modName}{META}{generated_by} = $META{name} . " $v, $t"
|
$modules{$modName}{META}{generated_by} =
|
||||||
|
$META{name} . ' ' . version->parse($v)->normal . ", $t"
|
||||||
if ( defined( $modules{$modName}{META} ) );
|
if ( defined( $modules{$modName}{META} ) );
|
||||||
|
|
||||||
foreach my $devName ( devspec2array( 'TYPE=' . $modName ) ) {
|
foreach my $devName ( devspec2array( 'TYPE=' . $modName ) ) {
|
||||||
@ -993,8 +994,14 @@ m/(^#\s+(?:\d{1,2}\.\d{1,2}\.(?:\d{2}|\d{4})\s+)?[^v\d]*(v?(?:\d{1,3}\.\d{1,3}(?
|
|||||||
# Get some other info about fhem.pl
|
# Get some other info about fhem.pl
|
||||||
if ( $modMeta->{x_file}[2] eq 'fhem.pl' ) {
|
if ( $modMeta->{x_file}[2] eq 'fhem.pl' ) {
|
||||||
$versionFrom = 'attr/featurelevel+vcs';
|
$versionFrom = 'attr/featurelevel+vcs';
|
||||||
$version = 'v' . $1 . '.' . $vcs[5]
|
if ( $modules{'Global'}{AttrList} =~ m/\W*featurelevel:((\d)\.(\d))/ ) {
|
||||||
if ( $modules{'Global'}{AttrList} =~ m/\W*featurelevel:([^,]+)/ );
|
my $fl = $1;
|
||||||
|
my $major = $2;
|
||||||
|
my $minor = $3;
|
||||||
|
my $patch = $vcs[5];
|
||||||
|
$version =
|
||||||
|
version->parse( $major . '.' . $minor . '.' . $patch )->numify;
|
||||||
|
}
|
||||||
$modMeta->{version} = $version;
|
$modMeta->{version} = $version;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1032,33 +1039,30 @@ m/(^#\s+(?:\d{1,2}\.\d{1,2}\.(?:\d{2}|\d{4})\s+)?[^v\d]*(v?(?:\d{1,3}\.\d{1,3}(?
|
|||||||
# seems the author didn't put any explicit
|
# seems the author didn't put any explicit
|
||||||
# version number we could find ...
|
# version number we could find ...
|
||||||
else {
|
else {
|
||||||
$modMeta->{version} = '0.';
|
|
||||||
|
|
||||||
if ( defined( $modMeta->{x_vcs} )
|
if ( defined( $modMeta->{x_vcs} )
|
||||||
&& $modMeta->{x_vcs}[5] ne '' )
|
&& $modMeta->{x_vcs}[5] ne '' )
|
||||||
{
|
{
|
||||||
$versionFrom = 'generated/vcs';
|
$versionFrom = 'generated/vcs';
|
||||||
$modMeta->{version} .= $modMeta->{x_vcs}[5];
|
$modMeta->{version} = '0.' . $modMeta->{x_vcs}[5];
|
||||||
}
|
}
|
||||||
|
|
||||||
# we don't know anything about this module at all
|
# we don't know anything about this module at all
|
||||||
else {
|
else {
|
||||||
$versionFrom = 'generated/blank';
|
$versionFrom = 'generated/blank';
|
||||||
$modMeta->{version} .= '.0';
|
$modMeta->{version} = '0.000000001';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
push @{ $modMeta->{x_file} }, $versionFrom;
|
push @{ $modMeta->{x_file} }, $versionFrom;
|
||||||
push @{ $modMeta->{x_file} }, $version;
|
push @{ $modMeta->{x_file} }, $version;
|
||||||
|
|
||||||
# Do not use repeating 0 in version
|
# Standardize version number
|
||||||
$modMeta->{version} = version->parse( $modMeta->{version} )->stringify
|
$modMeta->{version} = version->parse( $modMeta->{version} )->numify
|
||||||
if ( defined( $modMeta->{version} ) );
|
if ( defined( $modMeta->{version} ) );
|
||||||
|
|
||||||
$@ .=
|
$@ .=
|
||||||
$modMeta->{x_file}[2] . ": Invalid version format '$modMeta->{version}'"
|
$modMeta->{x_file}[2] . ": Invalid version format '$modMeta->{version}'"
|
||||||
if ( defined( $modMeta->{version} )
|
if ( defined( $modMeta->{version} )
|
||||||
&& $modMeta->{version} !~ m/^v\d+\.\d+(?:\.\d+)*$/
|
|
||||||
&& $modMeta->{version} !~ m/^\d+\.\d+$/ );
|
&& $modMeta->{version} !~ m/^\d+\.\d+$/ );
|
||||||
|
|
||||||
# meta name
|
# meta name
|
||||||
@ -1145,9 +1149,6 @@ m/(^#\s+(?:\d{1,2}\.\d{1,2}\.(?:\d{2}|\d{4})\s+)?[^v\d]*(v?(?:\d{1,3}\.\d{1,3}(?
|
|||||||
if ( defined( $modMeta->{x_vcs} ) ) {
|
if ( defined( $modMeta->{x_vcs} ) ) {
|
||||||
$modMeta->{x_fhem_maintainer} = [ $modMeta->{x_vcs}[15] ];
|
$modMeta->{x_fhem_maintainer} = [ $modMeta->{x_vcs}[15] ];
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
$modMeta->{x_fhem_maintainer} = ['<unknown>'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unless ( defined( $modMeta->{resources} )
|
unless ( defined( $modMeta->{resources} )
|
||||||
@ -1471,7 +1472,12 @@ sub __SetXVersion {
|
|||||||
|
|
||||||
# Special handling for fhem.pl
|
# Special handling for fhem.pl
|
||||||
if ( $modMeta->{x_file}[2] eq 'fhem.pl' ) {
|
if ( $modMeta->{x_file}[2] eq 'fhem.pl' ) {
|
||||||
$modMeta->{x_version} = 'fhem.pl:' . $modMeta->{version};
|
|
||||||
|
# only show maximum featurelevel
|
||||||
|
# and add revision separately
|
||||||
|
$modMeta->{x_version} = 'fhem.pl:' . $1 . '-s' . $modMeta->{x_vcs}[5]
|
||||||
|
if ( version->parse( $modMeta->{version} )->normal =~
|
||||||
|
m/^(v\d+\.\d+).*/ );
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generate extended version info based
|
# Generate extended version info based
|
||||||
@ -1481,10 +1487,13 @@ sub __SetXVersion {
|
|||||||
$modMeta->{x_version} =
|
$modMeta->{x_version} =
|
||||||
$modMeta->{x_file}[2] . ':'
|
$modMeta->{x_file}[2] . ':'
|
||||||
. (
|
. (
|
||||||
$modMeta->{version} =~ m/^v0+\.0+(?:\.0+)*?$/
|
$modMeta->{version} eq '0.000000001' ? '?'
|
||||||
? '?'
|
: (
|
||||||
|
$modMeta->{x_file}[7] ne 'generated/vcs'
|
||||||
|
? version->parse( $modMeta->{version} )->normal
|
||||||
: $modMeta->{version}
|
: $modMeta->{version}
|
||||||
)
|
)
|
||||||
|
)
|
||||||
. (
|
. (
|
||||||
$modMeta->{x_file}[7] ne 'generated/vcs'
|
$modMeta->{x_file}[7] ne 'generated/vcs'
|
||||||
&& $modMeta->{x_vcs}[5] ne ''
|
&& $modMeta->{x_vcs}[5] ne ''
|
||||||
@ -1560,7 +1569,8 @@ sub __SetXVersion {
|
|||||||
"GPUtils": 0,
|
"GPUtils": 0,
|
||||||
"File::stat": 0,
|
"File::stat": 0,
|
||||||
"Data::Dumper": 0,
|
"Data::Dumper": 0,
|
||||||
"Encode": 0
|
"Encode": 0,
|
||||||
|
"version": 0
|
||||||
},
|
},
|
||||||
"recommends": {
|
"recommends": {
|
||||||
"JSON": 0,
|
"JSON": 0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user