Bug#636814: gpart: FTBFS on !linux-any

Samuel Thibault sthibault at debian.org
Sat Aug 6 02:19:34 UTC 2011


Package: gpart
Version: 0.1h-11
Severity: important
Tags: patch

Hello,

gpart currently FTBFS on !linux-any because it uses linux-specific
endian functions and does not use -ldl. The attached patch fixes hurd
and kfreebsd, both also based on glibc which provides standard endian
functions.

Samuel

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.0.0 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- 
Samuel Thibault <samuel.thibault at fnac.net>
Fatal Error: Found [MS-Windows] System -> Repartitioning Disk for Linux...
(By cbbrown at io.org, Christopher Browne)
-------------- next part --------------
--- debian/patches/01-conglomeration.patch.orig	2011-08-06 02:09:55.000000000 +0000
+++ debian/patches/01-conglomeration.patch	2011-08-06 02:16:04.000000000 +0000
@@ -121,9 +121,12 @@
 diff -Naurp gpart.orig/src/Makefile gpart/src/Makefile
 --- gpart.orig/src/Makefile	2001-01-30 17:01:08.000000000 +0000
 +++ gpart/src/Makefile	2008-09-19 06:13:18.000000000 +0000
-@@ -7,6 +7,8 @@ include ../make.defs
+@@ -7,8 +7,10 @@ include ../make.defs
+ include ../make.defs
+ 
  CFLAGS+=-DVERSION=\"$(version)\"
- ifeq ($(shell uname),Linux)
+-ifeq ($(shell uname),Linux)
++ifneq ($(findstring $(shell uname),Linux GNU GNU/kFreeBSD),)
  LIBS=-ldl
 +CFLAGS += -D__USE_FILE_OFFSET64 -D__USE_LARGEFILE64
 +CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
@@ -189,7 +192,7 @@
   */
  
 +#include <stdint.h>
-+#include <asm/byteorder.h>
++#include <endian.h>
 +
  #ifndef _GM_NTFS_H
  #define _GM_NTFS_H
@@ -231,13 +234,13 @@
 -#define NTFS_GETS24(p)		(NTFS_GETU24(p) < 0x800000 ? (int)NTFS_GETU24(p) :
 -
  
-+#define CPU_TO_LE16(a) __cpu_to_le16(a)
-+#define CPU_TO_LE32(a) __cpu_to_le32(a)
-+#define CPU_TO_LE64(a) __cpu_to_le64(a)
++#define CPU_TO_LE16(a) htole16(a)
++#define CPU_TO_LE32(a) htole32(a)
++#define CPU_TO_LE64(a) htole64(a)
 +
-+#define LE16_TO_CPU(a) __cpu_to_le16(a)
-+#define LE32_TO_CPU(a) __cpu_to_le32(a)
-+#define LE64_TO_CPU(a) __cpu_to_le64(a)
++#define LE16_TO_CPU(a) le16toh(a)
++#define LE32_TO_CPU(a) le32toh(a)
++#define LE64_TO_CPU(a) le64toh(a)
 +
 +/* Macros reading unsigned integers */
 +#define NTFS_GETU8(p)      (*(ntfs_u8*)(p))


More information about the forensics-devel mailing list