tag 531950 pending
thanks

Petr Salinger <petr.salin...@seznam.cz> (19/06/2009):
> tags 531950 +fixed-upstream
> quit
>
> http://git.savannah.gnu.org/cgit/attr.git/commit/?id=b4636a4e9e9ea69e0000a2f3301cec7f446328a6

Thanks Petr,

maintainers: I intend to NMU attr in the next days since it is becoming
a blocker on the buildd side for both kfreebsd-{i386,amd64} ports. If
you don't have any objection (or if I get an explicit ACK), it will
probably happen in the next days.

Please find attached a proposed source debdiff. (Since I wasn't going to
introduce a patch system, I've been quite verbose in the changelog to
help others understand what's going on.)

Mraw,
KiBi.
diff -u attr-2.4.43/debian/changelog attr-2.4.43/debian/changelog
--- attr-2.4.43/debian/changelog
+++ attr-2.4.43/debian/changelog
@@ -1,3 +1,15 @@
+attr (1:2.4.43-2.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Backport the following fix by Petr Salinger from upstream to fix
+    FTBFS on GNU/kFreeBSD (Closes: #531950): [git commit b4636a4e9e]
+    On Linux, ENOATTR aliases to ENODATA. On other operating systems
+    like Irix and BSD*, ENOATTR is a separate error number. Therefore,
+    protect the check on “err == ENODATA” with “#ifdef __linux__” in
+    strerror_ea() in both getfattr/getfattr.c and setfattr/setfattr.c
+
+ -- Cyril Brulebois <k...@debian.org>  Thu, 25 Jun 2009 01:46:34 +0200
+
 attr (1:2.4.43-2) unstable; urgency=high
 
   * Remove --enable-lib64=yes in Makefile (closes: #514017)
only in patch2:
unchanged:
--- attr-2.4.43.orig/getfattr/getfattr.c
+++ attr-2.4.43/getfattr/getfattr.c
@@ -93,8 +93,11 @@
 
 const char *strerror_ea(int err)
 {
+#ifdef __linux__
+	/* The Linux kernel does not define ENOATTR, but maps it to ENODATA. */
 	if (err == ENODATA)
 		return _("No such attribute");
+#endif
 	return strerror(err);
 }
 
only in patch2:
unchanged:
--- attr-2.4.43.orig/setfattr/setfattr.c
+++ attr-2.4.43/setfattr/setfattr.c
@@ -66,8 +66,11 @@
 
 const char *strerror_ea(int err)
 {
+#ifdef __linux__
+	/* The Linux kernel does not define ENOATTR, but maps it to ENODATA. */
 	if (err == ENODATA)
 		return _("No such attribute");
+#endif
 	return strerror(err);
 }
 

Attachment: signature.asc
Description: Digital signature

Reply via email to