From 607fec3e7965e3d38d764008e2b0c29757d90777 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 13 Apr 2016 11:13:32 +0200
Subject: [PATCH] Use pkg-config for libkmod CFLAGS and LIBS
---
Makefile | 4 ++--
configure | 7 +++++++
dracut.spec | 9 ++++++---
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 0a1ae6c..d28e4cf 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ pkglibdir ?= ${libdir}/dracut
sysconfdir ?= ${prefix}/etc
bindir ?= ${prefix}/bin
mandir ?= ${prefix}/share/man
-CFLAGS ?= -O2 -g -Wall
+CFLAGS ?= -O2 -g -Wall $(KMOD_CFLAGS)
CFLAGS += -std=gnu99 -D_FILE_OFFSET_BITS=64 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
bashcompletiondir ?= ${datadir}/bash-completion/completions
pkgconfigdatadir ?= $(datadir)/pkgconfig
@@ -61,7 +61,7 @@ install/util.o: install/util.c install/util.h install/macro.h install/log.h
install/strv.o: install/strv.c install/strv.h install/util.h install/macro.h install/log.h
install/dracut-install: $(DRACUT_INSTALL_OBJECTS)
- $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) -lkmod
+ $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(KMOD_LIBS)
dracut-install: install/dracut-install
ln -fs $< $@
diff --git a/configure b/configure
index 0bd3d2d..c92cb99 100755
--- a/configure
+++ b/configure
@@ -50,6 +50,11 @@ while (($# > 0)); do
shift
done
+if ! pkg-config --exists --print-errors " libkmod >= 15 "; then
+ echo "dracut needs pkg-config and libkmod >= 15." >&2
+ exit 1
+fi
+
cat > Makefile.inc.$$ <<EOF
prefix ?= ${prefix}
libdir ?= ${libdir:-${prefix}/lib}
@@ -59,6 +64,8 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
mandir ?= ${mandir:-${prefix}/share/man}
enable_documentation ?= ${enable_documentation:-yes}
bindir ?= ${bindir:-${prefix}/bin}
+KMOD_CFLAGS ?= $(pkg-config --cflags " libkmod >= 15 ")
+KMOD_LIBS ?= $(pkg-config --libs " libkmod >= 15 ")
EOF
{
diff --git a/dracut.spec b/dracut.spec
index 9e19fcc..7b9d675 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -39,6 +39,7 @@ Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
BuildRequires: bash git
+BuildRequires: kmod-devel >= 15
%if 0%{?fedora} || 0%{?rhel}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -46,7 +47,6 @@ BuildRequires: pkgconfig
%endif
%if 0%{?fedora}
BuildRequires: bash-completion
-BuildRequires: pkgconfig
%endif
%if 0%{?suse_version}
@@ -223,10 +223,13 @@ This package contains tools to assemble the local initrd and host configuration.
cp %{SOURCE1} .
%build
-%configure --systemdsystemunitdir=%{_unitdir} --bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) --libdir=%{_prefix}/lib \
+%configure --systemdsystemunitdir=%{_unitdir} \
+ --bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) \
+ --libdir=%{_prefix}/lib \
%if %{without doc}
- --disable-documentation
+ --disable-documentation \
%endif
+ ${NULL}
make %{?_smp_mflags}