From 745ef3d85f9b3ea2dffee6db3675673b85cb3351 Mon Sep 17 00:00:00 2001
From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Date: Thu, 23 Feb 2017 14:36:44 +0100
Subject: [PATCH] Add patches to fix publishing

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
---
 ...ro-argument-to-match-current-version.patch | 22 ++++++++++
 ...-architecture-dependent-subdirectori.patch | 43 +++++++++++++++++++
 debian/patches/series                         |  2 +
 3 files changed, 67 insertions(+)
 create mode 100644 debian/patches/Correct-reprepro-argument-to-match-current-version.patch
 create mode 100644 debian/patches/Put-binary-uploads-in-architecture-dependent-subdirectori.patch

diff --git a/debian/patches/Correct-reprepro-argument-to-match-current-version.patch b/debian/patches/Correct-reprepro-argument-to-match-current-version.patch
new file mode 100644
index 0000000000..52654d5c2e
--- /dev/null
+++ b/debian/patches/Correct-reprepro-argument-to-match-current-version.patch
@@ -0,0 +1,22 @@
+From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+Date: Thu, 23 Feb 2017 14:35:30 +0100
+Subject: Correct reprepro argument to match current version
+
+Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+---
+ src/backend/bs_publish | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/backend/bs_publish b/src/backend/bs_publish
+index 66d117a..595c13d 100755
+--- a/src/backend/bs_publish
++++ b/src/backend/bs_publish
+@@ -663,7 +663,7 @@ sub updaterepo_reprepro {
+ 
+           my @args = ('reprepro', '-b', $repo,
+             '--ignore=wrongdistribution',
+-            '--ignore=updatedarchall',
++            '--ignore=conflictingarchall',
+             '--ignore=unusedarch',
+             '--ignore=surprisingbinary',
+             '-T', $type,
diff --git a/debian/patches/Put-binary-uploads-in-architecture-dependent-subdirectori.patch b/debian/patches/Put-binary-uploads-in-architecture-dependent-subdirectori.patch
new file mode 100644
index 0000000000..02870ed63b
--- /dev/null
+++ b/debian/patches/Put-binary-uploads-in-architecture-dependent-subdirectori.patch
@@ -0,0 +1,43 @@
+From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+Date: Tue, 8 Jan 2013 15:25:14 +0100
+Subject: Put binary uploads in architecture dependent subdirectories
+
+For the binary parts of a debian upload, include the .changes file and
+put the files in an architecure specific directly. This prevent arch all
+package builds from different architectures overwriting each-other, which
+makes the changes file inconsistent
+---
+ src/backend/bs_publish | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/backend/bs_publish b/src/backend/bs_publish
+index e4ad908..66d117a 100755
+--- a/src/backend/bs_publish
++++ b/src/backend/bs_publish
+@@ -1508,7 +1508,7 @@ sub publish {
+ 	$p = "$1/$bin";
+ 	$p = $1 eq 'src' || $1 eq 'nosrc' ? "SRPMS/$bin" : "RPMS/$bin" if $repotype{'resarchhack'};
+       } elsif ($bin =~ /^.+_[^_]+_([^_\.]+)\.u+deb$/) {
+-	$p = "$1/$bin";
++	$p = "$arch/$bin";
+       } elsif ($bin =~ /\.exe$/) {
+ 	$p = "$bin";
+       } elsif ($bin =~ /\.d?rpm$/) {
+@@ -1519,7 +1519,7 @@ sub publish {
+       } elsif ($bin =~ /\.deb$/) {
+ 	# legacy format
+ 	my $q = Build::query("$r/$rbin", 'evra' => 1);
+-	$p = "$q->{'arch'}/$q->{'name'}_$q->{'version'}";
++	$p = "$arch/$q->{'name'}_$q->{'version'}";
+ 	$p .= "-$q->{'release'}" if defined $q->{'release'};
+ 	$p .= "_$q->{'arch'}.deb";
+       } elsif ($bin =~ /\.(?:pkg\.tar\.gz|pkg\.tar\.xz)$/) {
+@@ -1540,6 +1540,8 @@ sub publish {
+ 	  $p = "$bin";
+ 	} elsif ($bin =~ /\.tar(?:\.(?:gz|bz2|xz))?(?:\.sha256)?$/) {
+ 	  $p = "$bin";
++	} elsif ($bin =~ /\.changes(:?\.sha256)?$/) {
++	  $p = "$arch/$bin";
+         } elsif ($bin =~ /\.squashfs$/) {
+ 	  $p = "$bin";	# for simpleimage builds
+ 	} elsif ($bin =~ /\.diff\.(?:gz)(?:\.sha256)?$/) {
diff --git a/debian/patches/series b/debian/patches/series
index 993222bbd9..13dd14a699 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -24,3 +24,5 @@ Include_ddebs_in_reprepro_too_and_fix_inclusion_of_udebs.patch
 bs_publish_improve-logging_for_reprepro_invocations.patch
 publisher_reprepro_set_surprising_binary.patch
 Add-support-for-md5-and-sha256-cypted-passwords.patch
+Put-binary-uploads-in-architecture-dependent-subdirectori.patch
+Correct-reprepro-argument-to-match-current-version.patch
-- 
GitLab