[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper



+++ Maximiliano Curia [2014-04-11 09:32 +0200]:
> In article <20140411024540.25679.92521.reportbug__44887.6658724204$1397184506$gmane$org@stoneboat.aleph1.co.uk> you wrote:
> -    return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? "m" : "j";
> +    return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? "m" : "j";


> -    return ($arch =~ /(arm|sh4)/) ? 'f' : 'd';
> +    return ($arch =~ /(arm|armel|armhf|sh4)/) ? 'f' : 'd';
> 
> Most of the changes in the patch change non anchored regexps to anchored ones
> to match the full arch name except the last one, that seems to be matching
> arm64, while it shouldn't, right?

Doh. Well spotted. Thank you. That was indeed the problem.
Changing it to 
/^(arm|armel|armhf|sh4)$/)
fixes the phonon build.

But in fact that 'arm' is pointless as the 'arm' architecture is long-dead in debian. 

So /^(armel|armhf|sh4)$/) is a better regexp. However there is one more thing to consider:

It's not clear to me whether that last regexp should be: 
/^(armel|armhf|sh4)$/)
or
/^(armel|sh4)$/)

I read here: https://lists.debian.org/debian-68k/2013/11/msg00012.html
that in QT5 qreal is a double on armhf, but on QT4 it's a float (and
it's float on both for armel). Can this helper know which it is doing
and DTRT? If not which should be the default? Lisandro's message seems
to suggest the former (and the the armhf stuff would be taken care of
with extra symbols lines, not (subst) lines).

If someone can confirm which to use I'd like to have an upload with
this patch in forthwith. I'm happy to do that as an MNU - complain if
that's not OK.

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/
diff -Nru pkg-kde-tools-0.15.13/debian/changelog pkg-kde-tools-0.15.13+arm64.1/debian/changelog
--- pkg-kde-tools-0.15.13/debian/changelog	2014-02-23 12:09:30.000000000 +0000
+++ pkg-kde-tools-0.15.13+arm64.1/debian/changelog	2014-04-11 19:22:51.000000000 +0000
@@ -1,3 +1,17 @@
+pkg-kde-tools (0.15.13+arm64.1) unreleased; urgency=low
+
+  * Non-maintainer upload.
+  * Fix last check pattern to only match whole arch names, like the rest
+
+ -- Wookey <wookey@wookware.org>  Fri, 11 Apr 2014 19:19:39 +0000
+
+pkg-kde-tools (0.15.13+arm64) unreleased; urgency=low
+
+  * Non-maintainer upload.
+  * Add arm64 and ppc64el (and armel/armhf) support to SymbolsHelper substitutions
+
+ -- Wookey <wookey@wookware.org>  Sun, 06 Apr 2014 01:31:56 +0000
+
 pkg-kde-tools (0.15.13) unstable; urgency=medium
 
   [ Maximiliano Curia ]
diff -Nru pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm pkg-kde-tools-0.15.13+arm64.1/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm
--- pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm	2014-02-23 12:09:30.000000000 +0000
+++ pkg-kde-tools-0.15.13+arm64.1/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm	2014-04-11 22:21:56.000000000 +0000
@@ -161,7 +161,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? "m" : "j";
+    return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? "m" : "j";
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::ssize_t;
@@ -180,7 +180,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'i';
+    return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'i';
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::int64_t;
@@ -199,7 +199,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'x';
+    return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'x';
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::uint64_t;
@@ -218,7 +218,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'm' : 'y';
+    return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'm' : 'y';
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::qptrdiff;
@@ -237,7 +237,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'x' : 'i';
+    return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'x' : 'i';
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::quintptr;
@@ -256,7 +256,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'y' : 'j';
+    return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'y' : 'j';
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::intptr_t;
@@ -275,7 +275,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'i';
+    return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'i';
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::qreal;
@@ -294,7 +294,7 @@
 
 sub _expand {
     my ($self, $arch) = @_;
-    return ($arch =~ /(arm|sh4)/) ? 'f' : 'd';
+    return ($arch =~ /^(armel|armhf|sh4)$/) ? 'f' : 'd';
 }
 
 package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst;

Reply to: