]> git.proxmox.com Git - mirror_zfs.git/blame - config/rpm.am
FreeBSD: Add zfs_link_create() error handling
[mirror_zfs.git] / config / rpm.am
CommitLineData
f3757573
BB
1###############################################################################
2# Copyright (C) 2007-2013 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
e6c093dd 9PHONY += srpm srpms srpm-kmod srpm-dkms srpm-utils
d0cea309 10PHONY += rpm rpms rpm-kmod rpm-dkms rpm-utils rpm-utils-initramfs
e6c093dd
AS
11PHONY += srpm-common rpm-common rpm-local
12
13srpm-kmod srpm-dkms srpm-utils: dist
14
f3757573
BB
15srpm-kmod:
16 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-kmod" \
17 def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_KMOD}' srpm-common
18
19srpm-dkms:
20 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-dkms" \
21 def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_DKMS}' srpm-common
c9c0d073
BB
22
23srpm-utils:
f3757573
BB
24 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \
25 def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_UTIL}' srpm-common
c9c0d073 26
f3757573
BB
27srpm: srpm-kmod srpm-dkms srpm-utils
28srpms: srpm-kmod srpm-dkms srpm-utils
c9c0d073 29
f3757573
BB
30rpm-kmod: srpm-kmod
31 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-kmod" \
32 def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_KMOD}' rpm-common
26e08952 33
f3757573
BB
34rpm-dkms: srpm-dkms
35 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-dkms" \
36 def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_DKMS}' rpm-common
c9c0d073 37
d0cea309
HD
38# The rpm-utils and rpm-utils-initramfs targets are identical except for the
39# zfs-initramfs package: rpm-utils never includes it, rpm-utils-initramfs
40# includes it if detected at configure time. The zfs-initramfs package does
41# not work on any known RPM-based distribution and the resulting RPM is only
42# used to create a Debian package. The rpm-utils-initramfs target is not
43# intended to be specified by the user directly, it is provided as a
44# dependency of the deb-utils target.
45
c9c0d073 46rpm-utils: srpm-utils
f3757573
BB
47 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \
48 def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_UTIL}' rpm-common
c9c0d073 49
d0cea309
HD
50rpm-utils-initramfs: srpm-utils
51 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \
52 def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_UTIL} ${RPM_DEFINE_INITRAMFS}' rpm-common
53
f3757573
BB
54rpm: rpm-kmod rpm-dkms rpm-utils
55rpms: rpm-kmod rpm-dkms rpm-utils
c9c0d073
BB
56
57rpm-local:
58 @(if test "${HAVE_RPMBUILD}" = "no"; then \
59 echo -e "\n" \
60 "*** Required util ${RPMBUILD} missing. Please install the\n" \
61 "*** package for your distribution which provides ${RPMBUILD},\n" \
62 "*** re-run configure, and try again.\n"; \
63 exit 1; \
64 fi; \
65 mkdir -p $(rpmbuild)/TMP && \
66 mkdir -p $(rpmbuild)/BUILD && \
67 mkdir -p $(rpmbuild)/RPMS && \
68 mkdir -p $(rpmbuild)/SRPMS && \
69 mkdir -p $(rpmbuild)/SPECS && \
f3757573 70 cp ${RPM_SPEC_DIR}/$(rpmspec) $(rpmbuild)/SPECS && \
c9c0d073 71 mkdir -p $(rpmbuild)/SOURCES && \
47a4a6fd 72 cp $(top_srcdir)/scripts/kmodtool $(rpmbuild)/SOURCES && \
c9c0d073
BB
73 cp $(distdir).tar.gz $(rpmbuild)/SOURCES)
74
e6c093dd 75srpm-common:
f3757573
BB
76 @(dist=`$(RPM) --eval %{?dist}`; \
77 rpmpkg=$(pkg)-$(VERSION)-$(RELEASE)$$dist*src.rpm; \
c9c0d073
BB
78 rpmspec=$(pkg).spec; \
79 rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \
80 $(MAKE) $(AM_MAKEFLAGS) \
81 rpmbuild="$$rpmbuild" \
82 rpmspec="$$rpmspec" \
83 rpm-local || exit 1; \
0f629346 84 LANG=C $(RPMBUILD) \
c9c0d073 85 --define "_tmppath $$rpmbuild/TMP" \
ef00da80
L
86 --define "_builddir $$rpmbuild/BUILD" \
87 --define "_rpmdir $$rpmbuild/RPMS" \
88 --define "_srcrpmdir $$rpmbuild/SRPMS" \
89 --define "_specdir $$rpmbuild/SPECS" \
90 --define "_sourcedir $$rpmbuild/SOURCES" \
c9c0d073 91 --define "_topdir $$rpmbuild" \
f3757573 92 $(def) -bs $$rpmbuild/SPECS/$$rpmspec || exit 1; \
c9c0d073 93 cp $$rpmbuild/SRPMS/$$rpmpkg . || exit 1; \
f3757573 94 rm -R $$rpmbuild)
c9c0d073
BB
95
96rpm-common:
f3757573
BB
97 @(dist=`$(RPM) --eval %{?dist}`; \
98 rpmpkg=$(pkg)-$(VERSION)-$(RELEASE)$$dist*src.rpm; \
c9c0d073
BB
99 rpmspec=$(pkg).spec; \
100 rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \
101 $(MAKE) $(AM_MAKEFLAGS) \
102 rpmbuild="$$rpmbuild" \
103 rpmspec="$$rpmspec" \
104 rpm-local || exit 1; \
0f629346 105 LANG=C ${RPMBUILD} \
c9c0d073 106 --define "_tmppath $$rpmbuild/TMP" \
ef00da80
L
107 --define "_builddir $$rpmbuild/BUILD" \
108 --define "_rpmdir $$rpmbuild/RPMS" \
109 --define "_srcrpmdir $$rpmbuild/SRPMS" \
110 --define "_specdir $$rpmbuild/SPECS" \
111 --define "_sourcedir $$rpmbuild/SOURCES" \
c9c0d073 112 --define "_topdir $$rpmbuild" \
f3757573 113 $(def) --rebuild $$rpmpkg || exit 1; \
c9c0d073 114 cp $$rpmbuild/RPMS/*/* . || exit 1; \
f3757573 115 rm -R $$rpmbuild)