Skip to contentSkip to conversation

xfstests: check for dmapi headers

PATCH In review Eric Sandeen 3 participants 5 messages Oct 25, 2008 – Oct 26, 2008 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 xfstests: check for dmapi headers

I'm no autoconf wizard, but I think this does the trick to allow xfstests build to succeed when dmapi headers are missing, as they probably will be for any distro that doesn't ship with dmapi in the kernel, or dmapi userspace.

AFAIK the dmapi-related tests all fail gracefully with "not run."

---

Makefile +2 -0
Index: xfstests/Makefile
===================================================================
@@ -25,8 +25,10 @@ else
 	$(SUBDIRS_MAKERULE)
 	# automake doesn't always support "default" target 
 	# so do dmapi make explicitly with "all"
+ifeq ($(HAVE_DMAPI), true)
 	cd $(TOPDIR)/dmapi; make all
 endif
+endif
 
 ifeq ($(HAVE_BUILDDEFS), yes)
 include $(BUILDRULES)
aclocal.m4 +5 -0
Index: xfstests/aclocal.m4
===================================================================
@@ -99,6 +99,11 @@ AC_DEFUN([AC_PACKAGE_WANT_AIO],
     AC_SUBST(have_aio)
   ])
 
+AC_DEFUN([AC_PACKAGE_WANT_DMAPI],
+  [ AC_CHECK_HEADERS(sys/dmapi/dmapi.h, [ have_dmapi=true ], [ have_dmapi=false ])
+    AC_SUBST(have_dmapi)
+  ])
+
 AC_DEFUN([AC_PACKAGE_NEED_ATTR_XATTR_H],
   [ AC_CHECK_HEADERS([attr/xattr.h])
     if test "$ac_cv_header_attr_xattr_h" != "yes"; then
configure.in +1 -0
Index: xfstests/configure.in
===================================================================
@@ -61,6 +61,7 @@ in
 
 		AC_PACKAGE_WANT_GDBM
 		AC_PACKAGE_WANT_AIO
+		AC_PACKAGE_WANT_DMAPI
 		;;
 esac
 
include/builddefs.in +1 -0
Index: xfstests/include/builddefs.in
===================================================================
@@ -50,6 +50,7 @@ RPM_VERSION     = @rpm_version@
 ENABLE_SHARED = @enable_shared@
 HAVE_DB = @have_db@
 HAVE_AIO = @have_aio@
+HAVE_DMAPI = @have_dmapi@
 HAVE_ATTR_LIST = @have_attr_list@
 
 GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall
#1 lore raw
Quoted 6 lines · Eric Sandeen

I'm no autoconf wizard, but I think this does the trick to allow xfstests build to succeed when dmapi headers are missing, as they probably will be for any distro that doesn't ship with dmapi in the kernel, or dmapi userspace.

AFAIK the dmapi-related tests all fail gracefully with "not run."

Looks sane to me, although the dmapi library can of course be shipped without kernel support - it's just rather useless that way :)

#2 lore raw
Quoted 11 lines · Christoph Hellwig
Quoted 6 lines · Eric Sandeen

I'm no autoconf wizard, but I think this does the trick to allow xfstests build to succeed when dmapi headers are missing, as they probably will be for any distro that doesn't ship with dmapi in the kernel, or dmapi userspace.

AFAIK the dmapi-related tests all fail gracefully with "not run."

Looks sane to me, although the dmapi library can of course be shipped without kernel support - it's just rather useless that way :)

true, but very, very little motivation for that :)

-Eric

#3 lore raw
Quoted 7 lines · Eric Sandeen
Quoted 6 lines · Christoph Hellwig
Quoted 5 lines · Eric Sandeen

I'm no autoconf wizard, but I think this does the trick to allow xfstests build to succeed when dmapi headers are missing, as they probably will be for any distro that doesn't ship with dmapi in the kernel, or dmapi userspace.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

AFAIK the dmapi-related tests all fail gracefully with "not run."

Looks sane to me, although the dmapi library can of course be shipped without kernel support - it's just rather useless that way :)

true, but very, very little motivation for that :)

$ dpkg -l libdm0\*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name               Version            Description
+++-==================-==================-====================================================
ii  libdm0             2.2.8-1            Data Management API runtime environment
ii  libdm0-dev         2.2.8-1            Data Management API static libraries and headers
$

Cheers,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#4 lore raw
Quoted 13 lines · Dave Chinner
Quoted 11 lines · Eric Sandeen
Quoted 9 lines · Christoph Hellwig
Quoted 6 lines · Eric Sandeen

I'm no autoconf wizard, but I think this does the trick to allow xfstests build to succeed when dmapi headers are missing, as they probably will be for any distro that doesn't ship with dmapi in the kernel, or dmapi userspace.

AFAIK the dmapi-related tests all fail gracefully with "not run."

Looks sane to me, although the dmapi library can of course be shipped without kernel support - it's just rather useless that way :)

true, but very, very little motivation for that :)

Quoted 9 lines
$ dpkg -l libdm0\*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name               Version            Description
+++-==================-==================-====================================================
ii  libdm0             2.2.8-1            Data Management API runtime environment
ii  libdm0-dev         2.2.8-1            Data Management API static libraries and headers
$

I meant my motivation ;)

-Eric