Skip to contentSkip to conversation

drbd-utils: Add support for building without manuals

PATCH In review Bart Van Assche 2 participants 2 messages Sep 10, 2015 – Sep 11, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 drbd-utils: Add support for building without manuals

When building DRBD for installation on e.g. an appliance no manuals are needed. Hence add an option to the spec file to build the drbd-utils RPM without manuals.

---
 Makefile.in  | 13 +++++++++----
 drbd.spec.in | 19 ++++++++++++++++++-
 2 files changed, 27 insertions(+), 5 deletions(-)
Makefile.in +9 -4
index 5365a2c..b80ac52 100644
@@ -45,7 +45,9 @@ WITH_84_SUPPORT = @WITH_84_SUPPORT@
 # and not in e.g. dash. I'm too lazy to fix it to be compatible.
 SHELL=/bin/bash
 
-SUBDIRS     = user/shared user/v9 user/v84 user/v83 scripts documentation/v83 documentation/v84 documentation/v9
+TOOLS_DIRS  = user/shared user/v9 user/v84 user/v83 scripts
+DOC_DIRS    = documentation/v83 documentation/v84 documentation/v9
+SUBDIRS     = $(TOOLS_DIRS) $(DOC_DIRS)
 
 REL_VERSION := $(shell $(SED) -ne '/^AC_INIT/{s/^[^,]*, *\([^,]*\) *,.*/\1/;p;q}' configure.ac)
 ifdef FORCE
@@ -69,7 +71,7 @@ all: check-submods configure tools
 
 .PHONY: all tools doc
 tools:
-	@ set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i ; done
+	@ set -e; for i in $(TOOLS_DIRS); do $(MAKE) -C $$i ; done
 	@ echo -e "\n\tUserland tools build was successful."
 
 doc:
@@ -105,10 +107,13 @@ ifeq ($(WITH_84_SUPPORT),yes)
 	$(MAKE) -C documentation/v84 doc-clean
 endif
 
-install: install-tools
+install: install-tools install-doc
 
 install-tools:
-	@ set -e; for i in $(patsubst drbd,,$(SUBDIRS)); do $(MAKE) -C $$i install; done
+	@ set -e; for i in $(patsubst drbd,,$(TOOLS_DIRS)); do $(MAKE) -C $$i install; done
+
+install-doc:
+	@ set -e; for i in $(patsubst drbd,,$(DOC_DIRS)); do $(MAKE) -C $$i install; done
 
 .NOTPARALLEL clean:
 	@ set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
drbd.spec.in +18 -1
index 0271640..300698a 100644
@@ -23,6 +23,7 @@
 # Conditionals
 # Invoke "rpmbuild --without <feature>" or "rpmbuild --with <feature>"
 # to disable or enable specific features
+%bcond_without manual
 %bcond_without udev
 %bcond_without pacemaker
 %bcond_with rgmanager
@@ -181,11 +182,14 @@ This packages includes the DRBD administration tools.
 %config(noreplace) %{_sysconfdir}/drbd.conf
 %dir %{_sysconfdir}/drbd.d
 %config(noreplace) %{_sysconfdir}/drbd.d/global_common.conf
+%if %{without manual}
+%else
 %{_mandir}/man8/drbd-*
 %{_mandir}/man8/drbdsetup-*
 %{_mandir}/man8/drbdadm-*
 %{_mandir}/man5/drbd.conf-*
 %{_mandir}/man8/drbdmeta-*
+%endif
 %doc scripts/drbd.conf.example
 %doc COPYING
 %doc ChangeLog
@@ -310,7 +314,10 @@ resource manager (in v1 compatibility mode).
 %{_sysconfdir}/ha.d/resource.d/drbdupper
 
 %defattr(-,root,root,-)
+%if %{without manual}
+%else
 %{_mandir}/man8/drbddisk-*
+%endif
 %endif # with heartbeat
 
 %if %{with bashcompletion}
@@ -352,11 +359,18 @@ autoconf
     %{?_tmpfilesdir:--with-tmpfilesdir=%{_tmpfilesdir}} \
     --with-initscripttype=%{initscripttype}
 make %{?_smp_mflags}
+%if %{without manual}
+%else
 make doc
+%endif
 
 %install
 rm -rf %{buildroot}
-make install DESTDIR=%{buildroot} CREATE_MAN_LINK=no
+make install-tools DESTDIR=%{buildroot} CREATE_MAN_LINK=no
+%if %{without manual}
+%else
+make install-doc DESTDIR=%{buildroot} CREATE_MAN_LINK=no
+%endif
 
 %if %{with sbinsymlinks}
 # Don't do this if you are already on a /sbin -=> /usr/sbin distro
@@ -380,10 +394,13 @@ rm -rf %{buildroot}
 %else
 chkconfig --add drbd
 %endif
+%if %{without manual}
+%else
 for f in drbd drbdadm drbdmeta drbdsetup; do
     ln -sf $f-8.4.8.gz %{_mandir}/man8/$f.8.gz
 done
 ln -sf drbd.conf-8.4.5.gz %{_mandir}/man5/drbd.conf.5.gz
+%endif
 %if %{without udev}
 for i in `seq 0 15` ; do
     test -b /dev/drbd$i || mknod -m 0660 /dev/drbd$i b 147 $i;
Signature · 1 line
2.1.4
maintainer
#1 lore raw
Quoted 3 lines · Bart Van Assche

When building DRBD for installation on e.g. an appliance no manuals are needed. Hence add an option to the spec file to build the drbd-utils RPM without manuals.

Ok.
Thank you,

Lars