From 016432fbeb625f3588039017c682f5df260c86d4 Mon Sep 17 00:00:00 2001 From: Etienne Dechamps Date: Tue, 17 Jul 2012 10:08:22 +0200 Subject: [PATCH] Don't build packages that haven't been selected. Currently, when configure --with-config is used, selective compilation is only effective for the simple "make" case. Package builders (e.g. make rpm) still build everything (utils and modules). This patch fixes that. This patch also drops the duplicate rpm-modules build target. Signed-off-by: Brian Behlendorf Signed-off-by: Prakash Surya Issue zfsonlinux/zfs#851 --- Makefile.in | 70 ++++++++++++++++++++++++-------------------------- config/arch.am | 4 +++ config/deb.am | 4 +++ config/rpm.am | 10 ++++++-- config/tgz.am | 4 +++ 5 files changed, 54 insertions(+), 38 deletions(-) diff --git a/Makefile.in b/Makefile.in index 5fd793e6..a7007989 100644 --- a/Makefile.in +++ b/Makefile.in @@ -845,20 +845,18 @@ uninstall-am: srpm-modules: - $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" srpm-common +@CONFIG_KERNEL_TRUE@ $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" srpm-common srpm-utils: - $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" srpm-common +@CONFIG_USER_TRUE@ $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" srpm-common srpm: srpm-modules srpm-utils rpm-modules: srpm-modules - $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" rpm-common +@CONFIG_KERNEL_TRUE@ $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" rpm-common rpm-utils: srpm-utils - $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" rpm-common - -rpm-modules: srpm-modules +@CONFIG_USER_TRUE@ $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" rpm-common rpm: rpm-modules rpm-utils @@ -936,22 +934,22 @@ deb-local: fi) deb-modules: deb-local rpm-modules - name=${PACKAGE}-modules; \ - version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ - release=`echo ${LINUX_VERSION} | $(SED) -e "s/-/_/g"`; \ - arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ - pkg1=$${name}-$${version}_$${release}.$${arch}.rpm; \ - pkg2=$${name}-devel-$${version}_$${release}.$${arch}.rpm; \ - fakeroot $(ALIEN) --scripts --to-deb $$pkg1 $$pkg2; \ - $(RM) $$pkg1 $$pkg2 +@CONFIG_KERNEL_TRUE@ name=${PACKAGE}-modules; \ +@CONFIG_KERNEL_TRUE@ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ +@CONFIG_KERNEL_TRUE@ release=`echo ${LINUX_VERSION} | $(SED) -e "s/-/_/g"`; \ +@CONFIG_KERNEL_TRUE@ arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ +@CONFIG_KERNEL_TRUE@ pkg1=$${name}-$${version}_$${release}.$${arch}.rpm; \ +@CONFIG_KERNEL_TRUE@ pkg2=$${name}-devel-$${version}_$${release}.$${arch}.rpm; \ +@CONFIG_KERNEL_TRUE@ fakeroot $(ALIEN) --scripts --to-deb $$pkg1 $$pkg2; \ +@CONFIG_KERNEL_TRUE@ $(RM) $$pkg1 $$pkg2 deb-utils: deb-local rpm-utils - name=${PACKAGE}; \ - version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ - arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ - pkg1=$${name}-$${version}.$${arch}.rpm; \ - fakeroot $(ALIEN) --scripts --to-deb $$pkg1; \ - $(RM) $$pkg1 +@CONFIG_USER_TRUE@ name=${PACKAGE}; \ +@CONFIG_USER_TRUE@ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ +@CONFIG_USER_TRUE@ arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ +@CONFIG_USER_TRUE@ pkg1=$${name}-$${version}.$${arch}.rpm; \ +@CONFIG_USER_TRUE@ fakeroot $(ALIEN) --scripts --to-deb $$pkg1; \ +@CONFIG_USER_TRUE@ $(RM) $$pkg1 deb: deb-modules deb-utils @@ -965,22 +963,22 @@ tgz-local: fi) tgz-modules: tgz-local rpm-modules - name=${PACKAGE}-modules; \ - version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ - release=`echo ${LINUX_VERSION} | $(SED) -e "s/-/_/g"`; \ - arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ - pkg1=$${name}-$${version}_$${release}.$${arch}.rpm; \ - pkg2=$${name}-devel-$${version}_$${release}.$${arch}.rpm; \ - fakeroot $(ALIEN) --scripts --to-tgz $$pkg1 $$pkg2; \ - $(RM) $$pkg1 $$pkg2 +@CONFIG_KERNEL_TRUE@ name=${PACKAGE}-modules; \ +@CONFIG_KERNEL_TRUE@ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ +@CONFIG_KERNEL_TRUE@ release=`echo ${LINUX_VERSION} | $(SED) -e "s/-/_/g"`; \ +@CONFIG_KERNEL_TRUE@ arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ +@CONFIG_KERNEL_TRUE@ pkg1=$${name}-$${version}_$${release}.$${arch}.rpm; \ +@CONFIG_KERNEL_TRUE@ pkg2=$${name}-devel-$${version}_$${release}.$${arch}.rpm; \ +@CONFIG_KERNEL_TRUE@ fakeroot $(ALIEN) --scripts --to-tgz $$pkg1 $$pkg2; \ +@CONFIG_KERNEL_TRUE@ $(RM) $$pkg1 $$pkg2 tgz-utils: tgz-local rpm-utils - name=${PACKAGE}; \ - version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ - arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ - pkg1=$${name}-$${version}.$${arch}.rpm; \ - fakeroot $(ALIEN) --scripts --to-tgz $$pkg1; \ - $(RM) $$pkg1 +@CONFIG_USER_TRUE@ name=${PACKAGE}; \ +@CONFIG_USER_TRUE@ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ +@CONFIG_USER_TRUE@ arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ +@CONFIG_USER_TRUE@ pkg1=$${name}-$${version}.$${arch}.rpm; \ +@CONFIG_USER_TRUE@ fakeroot $(ALIEN) --scripts --to-tgz $$pkg1; \ +@CONFIG_USER_TRUE@ $(RM) $$pkg1 tgz: tgz-modules tgz-utils @@ -993,10 +991,10 @@ sarch-utils: sarch: sarch-modules sarch-utils arch-modules: - $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" arch-common +@CONFIG_KERNEL_TRUE@ $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" arch-common arch-utils: - $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" arch-common +@CONFIG_USER_TRUE@ $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" arch-common arch: arch-modules arch-utils diff --git a/config/arch.am b/config/arch.am index 591013af..da43fe73 100644 --- a/config/arch.am +++ b/config/arch.am @@ -13,10 +13,14 @@ sarch-utils: sarch: sarch-modules sarch-utils arch-modules: +if CONFIG_KERNEL $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" arch-common +endif arch-utils: +if CONFIG_USER $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" arch-common +endif arch: arch-modules arch-utils diff --git a/config/deb.am b/config/deb.am index ce84cfa9..75e31dfe 100644 --- a/config/deb.am +++ b/config/deb.am @@ -29,6 +29,7 @@ deb-local: fi) deb-modules: deb-local rpm-modules +if CONFIG_KERNEL name=${PACKAGE}-modules; \ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ release=`echo ${LINUX_VERSION} | $(SED) -e "s/-/_/g"`; \ @@ -37,13 +38,16 @@ deb-modules: deb-local rpm-modules pkg2=$${name}-devel-$${version}_$${release}.$${arch}.rpm; \ fakeroot $(ALIEN) --scripts --to-deb $$pkg1 $$pkg2; \ $(RM) $$pkg1 $$pkg2 +endif deb-utils: deb-local rpm-utils +if CONFIG_USER name=${PACKAGE}; \ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ pkg1=$${name}-$${version}.$${arch}.rpm; \ fakeroot $(ALIEN) --scripts --to-deb $$pkg1; \ $(RM) $$pkg1 +endif deb: deb-modules deb-utils diff --git a/config/rpm.am b/config/rpm.am index 7dfe4fd9..a0a4ed14 100644 --- a/config/rpm.am +++ b/config/rpm.am @@ -7,20 +7,26 @@ ############################################################################### srpm-modules: +if CONFIG_KERNEL $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" srpm-common +endif srpm-utils: +if CONFIG_USER $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" srpm-common +endif srpm: srpm-modules srpm-utils rpm-modules: srpm-modules +if CONFIG_KERNEL $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" rpm-common +endif rpm-utils: srpm-utils +if CONFIG_USER $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" rpm-common - -rpm-modules: srpm-modules +endif rpm: rpm-modules rpm-utils diff --git a/config/tgz.am b/config/tgz.am index bbc204a6..1aaf4dde 100644 --- a/config/tgz.am +++ b/config/tgz.am @@ -22,6 +22,7 @@ tgz-local: fi) tgz-modules: tgz-local rpm-modules +if CONFIG_KERNEL name=${PACKAGE}-modules; \ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ release=`echo ${LINUX_VERSION} | $(SED) -e "s/-/_/g"`; \ @@ -30,13 +31,16 @@ tgz-modules: tgz-local rpm-modules pkg2=$${name}-devel-$${version}_$${release}.$${arch}.rpm; \ fakeroot $(ALIEN) --scripts --to-tgz $$pkg1 $$pkg2; \ $(RM) $$pkg1 $$pkg2 +endif tgz-utils: tgz-local rpm-utils +if CONFIG_USER name=${PACKAGE}; \ version=${SPL_META_VERSION}-${SPL_META_RELEASE}; \ arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ pkg1=$${name}-$${version}.$${arch}.rpm; \ fakeroot $(ALIEN) --scripts --to-tgz $$pkg1; \ $(RM) $$pkg1 +endif tgz: tgz-modules tgz-utils