mirror of
https://github.com/rpm-software-management/tito.git
synced 2025-02-23 20:22:46 +00:00
add new tagger: zStreamTagger - bump up release part after dist tag
This commit is contained in:
parent
64fdac6c79
commit
7c3c04f796
3 changed files with 35 additions and 4 deletions
|
@ -19,7 +19,7 @@ use warnings FATAL => 'all';
|
|||
|
||||
my $command = shift @ARGV;
|
||||
if (not defined $command
|
||||
or ($command ne 'bump-version' and $command ne 'bump-release')) {
|
||||
or ($command ne 'bump-version' and $command ne 'bump-release' and $command ne 'zstream-release')) {
|
||||
usage();
|
||||
}
|
||||
my $specfile = 0;
|
||||
|
@ -32,7 +32,7 @@ if (not @ARGV) {
|
|||
}
|
||||
|
||||
sub usage {
|
||||
die "usage: $0 { bump-version | bump-release } [--specfile] file [ files ... ]\n";
|
||||
die "usage: $0 { bump-version | bump-release | zstream-release } [--specfile] file [ files ... ]\n";
|
||||
}
|
||||
|
||||
my $newfile;
|
||||
|
@ -42,8 +42,10 @@ while (<ARGV>) {
|
|||
if ($command eq 'bump-version') {
|
||||
s/^(version:\s*)(.+)/ $1 . bump_version($2) /ei;
|
||||
s/^(release:\s*)(.+)/ $1 . reset_release($2) /ei;
|
||||
} else {
|
||||
} elsif ($command eq 'bump-bump-release') {
|
||||
s/^(release:\s*)(.+)/ $1 . bump_version($2) /ei;
|
||||
} else { # zstream-release Release: 7%{?dist}
|
||||
s/^(release:\s*)(.+)/ $1 . bump_zstream($2) /ei;
|
||||
}
|
||||
push @content, $_;
|
||||
} else {
|
||||
|
@ -90,6 +92,13 @@ sub bump_version {
|
|||
$_;
|
||||
}
|
||||
|
||||
sub bump_zstream {
|
||||
my $version = shift;
|
||||
# if we do not have zstream, create .0 and then bump the version
|
||||
$version =~ s/^(.*)(%{\?dist})$/$1$2.0/i;
|
||||
return bump_version($version);
|
||||
}
|
||||
|
||||
sub reset_release {
|
||||
local $_ = shift;
|
||||
s/(^|\.)([.0-9]+)(\.|%|$)/${1}1$3/;
|
||||
|
|
|
@ -259,7 +259,7 @@ class VersionTagger(object):
|
|||
relative = current_dir[len(git_root) + 1:] + "/"
|
||||
return relative
|
||||
|
||||
def _bump_version(self, release=False):
|
||||
def _bump_version(self, release=False, zstream=False):
|
||||
"""
|
||||
Bump up the package version in the spec file.
|
||||
|
||||
|
@ -276,6 +276,8 @@ class VersionTagger(object):
|
|||
bump_type = "bump-version"
|
||||
if release:
|
||||
bump_type = "bump-release"
|
||||
elif zstream:
|
||||
bump_type = "bump-zstream"
|
||||
|
||||
script_path = get_script_path("bump-version.pl")
|
||||
cmd = "%s %s --specfile %s" % \
|
||||
|
|
20
src/tito/zstreamtagger.py
Normal file
20
src/tito/zstreamtagger.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
from tito.tagger import VersionTagger
|
||||
|
||||
class zStreamTagger(VersionTagger):
|
||||
"""
|
||||
Tagger which increments the spec file zstream number instead of version.
|
||||
|
||||
Used for:
|
||||
- Red Hat Service Packs (zstream)
|
||||
"""
|
||||
|
||||
def _tag_release(self):
|
||||
"""
|
||||
Tag a new zstream of the package. (i.e. x.y.z-r%{dist}.Z+1)
|
||||
"""
|
||||
self._make_changelog()
|
||||
new_version = self._bump_version(release=True)
|
||||
|
||||
self._check_tag_does_not_exist(self._get_new_tag(new_version))
|
||||
self._update_changelog(new_version)
|
||||
self._update_package_metadata(new_version, release=True)
|
Loading…
Add table
Reference in a new issue