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

Bug#618587: armhf support



Package: lintian
Version: 2.4.3
Severity: wishlist
Tags: patch
User: debian-arm@lists.debian.org
Usertags: armhf

        Hey there

 While working on adding armhf to control files, I got some warnings
 from lintian that armhf is an unknown architecture.  I see most
 occurrences in lintian are from autogenerated data coming from
 dpkg-architecture, except for the expected output of the "file"
 command.  dpkg.git just got support for armhf, so this should land in
 the next upload, but I've built and installed a dpkg here and ran the
 lintian update scripts.

 I'm attaching a patch which updates all mentions of armel in lintian to
 also cover armhf; you probably want to wait for the dpkg upload to
 merge this though.

 Concerning the output of "file" on armhf binaries, I looked at
 patching the file magic to detect hard-float versus soft-float
 binaries, but while detecting EABI (arm versus armel) is reasonnably
 easy, it's much harder to detect the floating point ABI as it's in an
 "aeabi" section of the ELF file which requires parsing of the ELF
 string tables to find out the right section, and then the right tags
 need to be located in the section.  It would be much easier to use
 readelf -A to detect these binaries instead.

 So this means that %ARCH_REGEX has duplicate entries for armel and
 armhf, just as for i386 and lpia.


 For my own reference, this is the snippet to have file's ELF snippet
 detect ARM EABI binaries:
    # ARM EABI
    >>18    leshort         40
    >>>4    byte            1
    >>>>36  lelong&0xff000000       >0      EABI,

   Thanks!
-- 
Loïc Minier
diff -Nru lintian-2.5.0~rc1/checks/binaries lintian-2.5.0~rc1armhf1/checks/binaries
--- lintian-2.5.0~rc1/checks/binaries	2011-02-20 10:23:45.000000000 +0100
+++ lintian-2.5.0~rc1armhf1/checks/binaries	2011-03-16 18:29:20.000000000 +0100
@@ -39,6 +39,7 @@
 	'arm'            => qr'ELF 32-bit LSB .* ARM, version \d,',
 	'armeb'          => qr'ELF 32-bit MSB .* ARM',
 	'armel'          => qr'ELF 32-bit LSB .* ARM, .* \(SYSV\)',
+	'armhf'          => qr'ELF 32-bit LSB .* ARM, .* \(SYSV\)',
 #	'avr32'          => qr'ELF 32-bit MSB .* \(SYSV\)',
 	'hppa'           => qr'ELF 32-bit MSB .* PA-RISC',
 	'hppa64'         => qr'ELF 64-bit MSB .* PA-RISC',
diff -Nru lintian-2.5.0~rc1/data/fields/architectures lintian-2.5.0~rc1armhf1/data/fields/architectures
--- lintian-2.5.0~rc1/data/fields/architectures	2011-02-20 10:23:45.000000000 +0100
+++ lintian-2.5.0~rc1armhf1/data/fields/architectures	2011-03-16 18:29:20.000000000 +0100
@@ -1,5 +1,5 @@
 # List of known architectures as provided by dpkg-architecture
-# Last updated: 2011-02-19
+# Last updated: 2011-03-16
 # With: Debian dpkg-architecture version 1.15.8.10.
 
 all
@@ -9,6 +9,7 @@
 arm
 armeb
 armel
+armhf
 avr32
 darwin-alpha
 darwin-amd64
diff -Nru lintian-2.5.0~rc1/data/files/triplets lintian-2.5.0~rc1armhf1/data/files/triplets
--- lintian-2.5.0~rc1/data/files/triplets	2011-02-20 10:23:45.000000000 +0100
+++ lintian-2.5.0~rc1armhf1/data/files/triplets	2011-03-16 18:29:20.000000000 +0100
@@ -1,6 +1,6 @@
 # List of "triplet architecture" relationships as provided by
 # dpkg-architecture
-# Last updated: 2011-02-19
+# Last updated: 2011-03-16
 # With: Debian dpkg-architecture version 1.15.8.10.
 
 alpha-darwin darwin-alpha
@@ -23,6 +23,7 @@
 arm-kopensolaris-gnu kopensolaris-arm
 arm-linux-gnu arm
 arm-linux-gnueabi armel
+arm-linux-gnueabihf armhf
 arm-linux-uclibc uclibc-linux-arm
 arm-linux-uclibceabi uclibc-linux-armel
 arm-netbsd netbsd-arm
diff -Nru lintian-2.5.0~rc1/debian/changelog lintian-2.5.0~rc1armhf1/debian/changelog
--- lintian-2.5.0~rc1/debian/changelog	2011-02-23 03:28:50.000000000 +0100
+++ lintian-2.5.0~rc1armhf1/debian/changelog	2011-03-16 18:29:38.000000000 +0100
@@ -1,3 +1,12 @@
+lintian (2.5.0~rc1armhf1) UNRELEASED; urgency=low
+
+  * check/binaries: add support for armhf with the same pattern as armel for
+    now.
+  * Run "private/refresh-archs data" with an armhf-aware dpkg-architecture to
+    refresh data/fields/architectures and data/files/triplets.
+
+ -- Loïc Minier <loic.minier@linaro.org>  Wed, 16 Mar 2011 18:29:28 +0100
+
 lintian (2.5.0~rc1) experimental; urgency=low
 
   The "welcome Niels Thykier!" release.

Reply to: