]> granicus.if.org Git - zfs/blob - config/rpm.am
Cleanly support debug packages
[zfs] / config / rpm.am
1 ###############################################################################
2 # Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
3 # Copyright (C) 2007 The Regents of the University of California.
4 # Written by Brian Behlendorf <behlendorf1@llnl.gov>.
5 ###############################################################################
6 # Build targets for RPM packages.
7 ###############################################################################
8
9 srpm-modules:
10         $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" srpm-common
11
12 srpm-utils:
13         $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" srpm-common
14
15 srpm: srpm-modules srpm-utils
16
17 rpm-modules: srpm-modules
18         $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" rpm-common
19
20 rpm-utils: srpm-utils
21         $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" rpm-common
22
23 rpm-modules: srpm-modules
24
25 rpm: rpm-modules rpm-utils
26
27 rpm-local:
28         @(if test "${HAVE_RPMBUILD}" = "no"; then \
29                 echo -e "\n" \
30         "*** Required util ${RPMBUILD} missing.  Please install the\n" \
31         "*** package for your distribution which provides ${RPMBUILD},\n" \
32         "*** re-run configure, and try again.\n"; \
33                 exit 1; \
34         fi; \
35         mkdir -p $(rpmbuild)/TMP && \
36         mkdir -p $(rpmbuild)/BUILD && \
37         mkdir -p $(rpmbuild)/RPMS && \
38         mkdir -p $(rpmbuild)/SRPMS && \
39         mkdir -p $(rpmbuild)/SPECS && \
40         cp $(rpmspec) $(rpmbuild)/SPECS && \
41         mkdir -p $(rpmbuild)/SOURCES && \
42         cp $(distdir).tar.gz $(rpmbuild)/SOURCES)
43
44 srpm-common: dist
45         rpmpkg=$(pkg)-$(SPL_META_VERSION)-$(SPL_META_RELEASE).src.rpm; \
46         rpmspec=$(pkg).spec; \
47         rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \
48         $(MAKE) $(AM_MAKEFLAGS) \
49                 rpmbuild="$$rpmbuild" \
50                 rpmspec="$$rpmspec" \
51                 rpm-local || exit 1; \
52         $(RPMBUILD) \
53                 --define "_tmppath $$rpmbuild/TMP" \
54                 --define "_topdir $$rpmbuild" \
55                 --define "build_src_rpm 1" \
56                 --define "dist %{nil}" \
57                 --nodeps -bs $$rpmbuild/SPECS/$$rpmspec || exit 1; \
58         cp $$rpmbuild/SRPMS/$$rpmpkg . || exit 1; \
59         $(RM) -R $$rpmbuild
60
61 rpm-common: 
62         rpmpkg=$(pkg)-$(SPL_META_VERSION)-$(SPL_META_RELEASE).src.rpm; \
63         rpmspec=$(pkg).spec; \
64         rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \
65         $(MAKE) $(AM_MAKEFLAGS) \
66                 rpmbuild="$$rpmbuild" \
67                 rpmspec="$$rpmspec" \
68                 rpm-local || exit 1; \
69         ${RPMBUILD} \
70                 --define "_tmppath $$rpmbuild/TMP" \
71                 --define "_topdir $$rpmbuild" \
72                 --define "dist %{nil}" \
73                 --define "require_kdir $(LINUX)" \
74                 --define "require_kobj $(LINUX_OBJ)" \
75                 --define "require_kver $(LINUX_VERSION)" \
76                 --define "$(DEBUG_SPL) 1" \
77                 --define "$(DEBUG_LOG) 1" \
78                 --define "$(DEBUG_KMEM) 1" \
79                 --define "$(DEBUG_KMEM_TRACKING) 1" \
80                 --nodeps --rebuild $$rpmpkg || exit 1; \
81         cp $$rpmbuild/RPMS/*/* . || exit 1; \
82         $(RM) -R $$rpmbuild