Commit Graph

42 Commits

Author SHA1 Message Date
Eric Biggers fb05a91808 build: remove IRIX-specific build logic
As xfstests is no longer supported on IRIX, remove the ability to build
xfstests for IRIX.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-07-28 18:53:50 +08:00
Theodore Ts'o d0ef33ce97 build: Stop relying on OpenSSL
The OpenSSL dependency was added for one program, fssum, and it needs
it only because it needs a md5 implementation.  Use Solar Designer's
openssl compatible implementation of md5 so we no longer need to
depend on OpenSSL.

Since the OpenSSL libraries are not always available, we had to add
extra complexity to test to see whether fssum exists.

The other problem with depending on the OpenSSL libraries is that
shared library compatibility situation is terrible; a fssum binary
built on a system using libssl1.0.0 is *NOT* run on a system with
libssl1.0.2, since the shared libraries are incompatible even across a
minor version bump.  (Sigh.)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-05-26 15:27:22 +08:00
Eric Biggers adcc60c6bf build: allow building with latest xfslibs on 32-bit Linux
The next version of xfslibs will require that its users enable
transparent largefile support.  This broke building xfstests on
32-bit Linux because _FILE_OFFSET_BITS=64 was not getting defined
when testing for xfs headers.  Fix this by defining
_FILE_OFFSET_BITS=64 when doing configure checks for the xfs
headers.

It was not necessary to define _FILE_OFFSET_BITS=64 for the actual
build because it's already done, in builddefs.in.

The problem could also be solved by adding AC_SYS_LARGEFILE to
configure.ac.  It's debatable, but I chose not to do that because it
might give the impression that it affects the actual compilation of
the test programs and not just the configure checks.  (Since not all
.c files include config.h first, a _FILE_OFFSET_BITS definition in
config.h wouldn't always take effect.)

Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-12-02 19:31:02 +08:00
Eryu Guan 219077fcb8 fstests: update autoconf rules to define _GNU_SOURCE where needed
Starting from xfsprogs commit cb898f157f84 ("linux.h: Use off64_t
instead of loff_t") in v4.5-rc1, fstests failed to build because of
configure error:

    checking xfs/xfs.h usability... no
    checking xfs/xfs.h presence... yes
    configure: WARNING: xfs/xfs.h: present but cannot be compiled
    configure: WARNING: xfs/xfs.h:     check for missing prerequisite headers?
    configure: WARNING: xfs/xfs.h: see the Autoconf documentation
    configure: WARNING: xfs/xfs.h:     section "Present But Cannot Be Compiled"
    configure: WARNING: xfs/xfs.h: proceeding with the compiler's result
    checking for xfs/xfs.h... no

    FATAL ERROR: cannot find a valid <xfs/xfs.h> header file.
    Run "make install-qa" from the xfsprogs source.

and that's because off64_t is not defined without _GNU_SOURCE being set.

Fix it by updating the autoconf rules adding _GNU_SOURCE define for the
following checks:

xfs.h libxfs.h xfs_log_format.h xlog_assign_lsn xqm.h xfsctl

Suggested-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-02-29 10:19:05 +11:00
Theodore Ts'o 2345aae984 build: Fix test for libgdbm_compat when building statically
When building statically, -lgdbm_compat will not automatically pull in
-lgdbm.  So this needs to be specified explicitly in AC_CHECK_LIB and
in the list of libraries passed to the linker.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2014-08-13 11:20:54 +10:00
Stanislav Kholmanskikh f1d5892e28 xfstests: Incorrect check for gdbm/ndbm.h
Current version of AC_PACKAGE_WANT_NDBM has following bugs:
* a typo (',') next to 'gdbm/ndbm.h', so C compiler fails
  with a syntax error when trying to compile
  "#include <gdbm/ndbm.h,>"

* autoconf never defines HAVE_GDBM_NDBM_H_ because it
  converts both header names (gdbm/ndbm.h, gdbm-ndbm.h)
  to GDBM_NDBM_H

Because of these bugs 'dbtest' can't be compiled on systems where
'gdbm-ndbm.h' header is absent but 'gdbm/ndbm.h' is present.

Fixed this.

Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2013-10-16 15:20:35 -05:00
Jan Schmidt df0fd18101 xfstests: add fssum tool
fssum is a tool to build a recursive checksum for a file system. The home
repository of fssum is

    git://git.kernel.org/pub/scm/linux/kernel/git/arne/far-progs.git

Signed-off-by: Jan Schmidt <list.xfs@jan-o-sch.net>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2013-08-13 17:08:56 -05:00
Rich Johnston 871be1d8b5 xfstests: Use installed libraries only
The xfstests autotools currently searches locally in
   ../{acl,attr,dmapi,xfsprogs}
for libraries that xfstests depends upon, in addition to searching for them in
their regular installed locations on a system, e.g. /usr/lib.  It appears this
feature was added (but not documented) so that xfs developers can build and run
xfstests without having to install the libraries.  This can lead to trouble if
you expect that xfstests is using the versions of the libraries installed on
the system.

If a local library was found and not installed, libtool will create a wrapper
script to call the binary from the .libs directory.  This patch will remove
searching for local libraries so that the installed libraries are always used.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Ben Myer <bpm@sgi.com>
2012-09-06 12:33:57 -05:00
Dave Chinner ec12fcb0c2 xfstests: detect gdbm library correctly
Debian unstable has move the location of the gdbm libraries as part
of it's multi-arch conversion. The libraries are now only found by
the configured library search path in /etc/ld.conf.d, so change the
autoconf macros to test and find the libraries by link tests rather
than hard coding library paths when a header is found.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2011-11-20 19:44:30 +00:00
Dave Chinner 3f99d87418 xfsqa: build dbtest on debian platforms
Set up autoconf to find the correct headers and compat libraries for
debian squeeze, and massage the includes to ensure the right headers get
included. Also fix a compile warning that was emitted now that it is being
compiled.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-05-04 16:01:26 +10:00
Dave Chinner 76f1b870d9 xfstests: Automatic build dependency calculations
Currently the xfstest builds do not have any automatic dependency
calculations. It relies on a separate make depend run to build or
update dependency information. It also relies on an external
makedepend binary. If that binary does not exist, the dependencies
do not get calculated.

To remove the dependency on makedepend, gcc can be used instead as
it has a command to generate dependency information. This patch
changes the dependency rule building to use gcc.

In case anyone uses an old (several years) gcc compiler or a
compiler that doesn't support gcc compatible dependency generation,
a new configure check is added to turn off dependency checking so
builds can still be done.

To use the dependencies automatically, we need to use a special
include makefile directive to include the build dependencies into
the current makefile.  Essentially once the dependencies are
calculated, they can be included into the makefile and make will
recalculate the build dependencies automatically based on that
information.

Hence we get a build that automatically calculates and keeps
dependencies up to date without dependence on any external tools.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-01-26 14:22:35 +11:00
Dave Chinner 82e1e14dba xfstests: rebuild aclocal.m4
The local m4 configuration has not been built in a long time.
Trying to rebuild it results in failures with dmapi library
detection and libxfs.h detection macros. Fix the errors and rebuild
it.

Note: the new format for the aclocal.m4 file uses m4_include
directives which means it is much smaller than before and won't
need updating unless we include new m4 macro files.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-01-26 14:21:47 +11:00
Eric Sandeen 5dc4b247f2 xfstests: fix up have_xlog_assign_lsn config test for loggen
Without this we weren't building src/loggen

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-11-03 09:38:07 -06:00
Eric Sandeen dcb3106e20 Check for xlog_assign_lsn in xfs headers
Checking for libxfs.h isn't enough; some debian installs
have libxfs.h but no xlog_assign_lsn, and the loggen build still
fails.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-03 15:15:15 -05:00
Eric Sandeen 1e814bd4f3 libxfs.h is really only needed for the loggen test;
make it config-time optional.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@infradead.org>
2009-06-02 15:36:13 -05:00
Eric Sandeen 7a2ae4184b Use xfs.h rather than libxfs.h
Use xfs/xfs.h when possible rather than xfs/libxfs.h,
now that libxfs.h isn't part of a normal xfsprogs-devel
install.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-05-28 11:36:27 -05:00
Mike Frysinger 67f19adfc6 fix number of arguments to AC_DEFINE
aclocal hates when you only specify one parameter to AC_DEFINE ... simple patch
to add the other two parameters

fixes for acl and xfstests

[hch: added nfs4acl]

Reviewed-by: Christoph Hellwig <hch@lst.de>
2008-12-30 23:21:52 +01:00
Barry Naujok 2c578cb87f Update xfsprogs to latest kernel headers and functions
Merge of master-melb:xfs-cmds:32070a by kenmcd.
2008-09-08 06:18:43 +00:00
Nathan Scott 7eac835b57 Merge the uid/gid username/groupname install target fixup to all packages.
Merge of master-melb:xfs-cmds:26582a by kenmcd.
2006-08-04 13:42:00 +00:00
Nathan Scott af59350a27 Make xfstests build use -O2 by default.
Merge of master-melb:xfs-cmds:25677a by kenmcd.
2006-04-05 03:55:41 +00:00
Tim Shimmin e11d0477a1 fix lib64 installs
Merge of master-melb:xfs-cmds:25657a by kenmcd.
2006-04-04 06:06:00 +00:00
Nathan Scott d402691053 Fix up accidental configure/m4 macro removal.
Merge of master-melb:xfs-cmds:25231a by kenmcd.
2006-02-18 03:03:21 +00:00
Nathan Scott 2164ebf911 Fix up a configure diagnostic when detecting attr/acl headers.
Merge of master-melb:xfs-cmds:25114a by kenmcd.
2006-02-06 02:50:10 +00:00
Nathan Scott de6d86177f QA test updates - fixes for pquota, extsize, fsstress, and ensure mount options passed through to test_dev.
Merge of master-melb:xfs-cmds:24763a by kenmcd.
2005-12-09 02:52:22 +00:00
Nathan Scott c15833f024 Update copyright annotations and license boilerplates to correspond with SGI Legals preferences.
Merge of master-melb:xfs-cmds:24326a by kenmcd.
2005-11-09 02:48:08 +00:00