Red Hat Bugzilla – Bug 1024048
[xfsprogs] Move xfs_types.h from xfsprogs-qa-devel to xfsprogs-devel
Last modified: 2014-06-18 00:55:02 EDT
Description of problem:
The new xfsprogs 3.2.0-alpha1 includes <xfs/xfs_types.h> in <xfs/xfs.h>. Please, move the file from xfsprogs-qa-devel to xfsprogs-devel so that the compilation of utilities using <xfs/xfs.h> does not fail.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Compile a C program with #include <xfs/xfs.h>
The compilation fails with /usr/include/xfs/xfs.h:37:27: fatal error: xfs/xfs_types.h: No such file or directory.
The compilation succeeds.
This seems like a problem with the rpm build? The include/Makefile defines xfs_types.h as a header file that should be installed via the install-dev makefile rule. Indeed, the install-qa makefile rule does *not* install xfs_types.h, so perhaps the rpm build scripts are getting the install directives wrong?
FWIW, the Debian xfslibs-dev package build out of the upstream repository for 3.2.0-alpha installs /usr/include/xfs/xfs_types.h correctly, which further points to an rpm build problem....
For rpm spec files, there is no mapping from install-$FOO targets to subpackage AFAIK. We just have to run every install-$FOO we want, and sort the results into subpackages in %file lists.
I'm not sure if there are any better tools now, but from the old RPM book, "At present, the best way to create the file list is to read the makefile to see what files it installs, verify this against the files installed on the build system, and create the list." Not terribly robust.
In any case, yeah, it's a packaging problem, not a Makefile or code problem.
I did double check that other than this xfs_types.h problem, each subpackage does now have the proper set of files installed by each install-$FOO target.
*** Bug 1058014 has been marked as a duplicate of this bug. ***
This request was resolved in Red Hat Enterprise Linux 7.0.
Contact your manager or support representative in case you have further questions about the request.