summaryrefslogtreecommitdiff
path: root/Debian/Dgit.pm
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2018-08-09 09:41:39 +0100
committerSean Whitton <spwhitton@spwhitton.name>2018-08-09 09:41:39 +0100
commit49f82e7fe2131175d7c411b1016e42dcb435351d (patch)
tree581c57c05be4b782101c91008c73de0228410e4b /Debian/Dgit.pm
parent113bc577ce8a54f929a3790aedbce81ec320f0c0 (diff)
parent66d19f834577d2495c8255f042aff4d86d040049 (diff)
Merge tag 'debian/6.6' into stretch-bpo
dgit release 6.6 for unstable (sid) [dgit] [dgit distro=debian] # gpg: Signature made Sun 05 Aug 2018 10:43:37 BST # gpg: using RSA key 559AE46C2D6B6D3265E7CBA1E3E3392348B50D39 # gpg: Can't check signature: No public key
Diffstat (limited to 'Debian/Dgit.pm')
-rw-r--r--Debian/Dgit.pm30
1 files changed, 30 insertions, 0 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 0e2464d..1cd765d 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -43,6 +43,8 @@ BEGIN {
dep14_version_mangle
debiantags debiantag_old debiantag_new
debiantag_maintview
+ upstreamversion
+ stripepoch source_file_leafname is_orig_file_of_p_v
server_branch server_ref
stat_exists link_ltarget
hashfile
@@ -57,6 +59,7 @@ BEGIN {
git_reflog_action_msg git_update_ref_cmd
$package_re $component_re $deliberately_re
$distro_re $versiontag_re $series_filename_re
+ $orig_f_comp_re $orig_f_sig_re $orig_f_tail_re
$extra_orig_namepart_re
$git_null_obj
$branchprefix
@@ -91,6 +94,9 @@ our $versiontag_re = qr{[-+.\%_0-9a-zA-Z/]+};
our $branchprefix = 'dgit';
our $series_filename_re = qr{(?:^|\.)series(?!\n)$}s;
our $extra_orig_namepart_re = qr{[-0-9a-z]+};
+our $orig_f_comp_re = qr{orig(?:-$extra_orig_namepart_re)?};
+our $orig_f_sig_re = '\\.(?:asc|gpg|pgp)';
+our $orig_f_tail_re = "$orig_f_comp_re\\.tar(?:\\.\\w+)?(?:$orig_f_sig_re)?";
our $git_null_obj = '0' x 40;
our $ffq_refprefix = 'ffq-prev';
our $gdrlast_refprefix = 'debrebase-last';
@@ -220,6 +226,30 @@ sub debiantags ($$) {
map { $_->($version, $distro) } (\&debiantag_new, \&debiantag_old);
}
+sub stripepoch ($) {
+ my ($vsn) = @_;
+ $vsn =~ s/^\d+\://;
+ return $vsn;
+}
+
+sub upstreamversion ($) {
+ my ($vsn) = @_;
+ $vsn =~ s/-[^-]+$//;
+ return $vsn;
+}
+
+sub source_file_leafname ($$$) {
+ my ($package,$vsn,$sfx) = @_;
+ return "${package}_".(stripepoch $vsn).$sfx
+}
+
+sub is_orig_file_of_p_v ($$$) {
+ my ($f, $package, $upstreamvsn) = @_;
+ my $base = source_file_leafname $package, $upstreamvsn, '';
+ return 0 unless $f =~ m/^\Q$base\E\.$orig_f_tail_re$/;
+ return 1;
+}
+
sub server_branch ($) { return "$branchprefix/$_[0]"; }
sub server_ref ($) { return "refs/".server_branch($_[0]); }