diff --git a/Makefile.in b/Makefile.in index a180d1093..be4241c81 100644 --- a/Makefile.in +++ b/Makefile.in @@ -99,24 +99,33 @@ check check_system check_cluster check_local check_lvmetad unit: all conf.generate: tools -VER = LVM2.@LVM_MAJOR@.@LVM_MINOR@.@LVM_PATCHLEVEL@ -CLEAN_TARGETS += $(VER).tgz -clean: - $(RM) -r build +# how to use parenthesis in makefiles +leftparen:=( +LVM_VER := $(firstword $(subst $(leftparen), ,$(LVM_VERSION))) +VER := LVM2.$(LVM_VER) +# release file name +FILE_VER := $(VER).tgz +CLEAN_TARGETS += $(FILE_VER) +CLEAN_DIRS += $(rpmbuilddir) dist: - @echo "Generating $(VER).tgz";\ - git ls-tree -r HEAD --name-only | xargs tar --transform "s,^,$(VER)/," -zcf $(VER).tgz + @echo "Generating $(FILE_VER)";\ + (cd $(top_srcdir); git ls-tree -r HEAD --name-only | xargs tar --transform "s,^,$(VER)/," -c) | gzip >$(FILE_VER) rpm: dist - $(MKDIR_P) build/SPECS build/SOURCES - ln -sf $(abs_top_srcdir)/spec/lvm2.spec build/SPECS - ln -sf $(abs_top_srcdir)/spec/build.inc build/SOURCES - ln -sf $(abs_top_srcdir)/spec/macros.inc build/SOURCES - ln -sf $(abs_top_srcdir)/spec/packages.inc build/SOURCES - ln -sf $(abs_top_srcdir)/spec/source.inc build/SOURCES - ln -sf $(abs_top_builddir)/$(VER).tgz build/SOURCES - rpmbuild -v --define "_topdir $(abs_top_builddir)/build" -ba build/SPECS/lvm2.spec + $(RM) -r $(rpmbuilddir)/SOURCES + $(MKDIR_P) $(rpmbuilddir)/SOURCES + $(LN_S) -f $(abs_top_builddir)/$(FILE_VER) $(rpmbuilddir)/SOURCES + $(LN_S) -f $(abs_top_srcdir)/spec/build.inc $(rpmbuilddir)/SOURCES + $(LN_S) -f $(abs_top_srcdir)/spec/macros.inc $(rpmbuilddir)/SOURCES + $(LN_S) -f $(abs_top_srcdir)/spec/packages.inc $(rpmbuilddir)/SOURCES + DM_VER=$$(cut -d- -f1 $(top_srcdir)/VERSION_DM);\ + GIT_VER=$$(cd $(top_srcdir); git describe | cut -d- --output-delimiter=. -f2,3 || echo 0);\ + sed -e "s,\(device_mapper_version\) [0-9.]*$$,\1 $$DM_VER," \ + -e "s,^\(Version:[^0-9%]*\)[0-9.]*$$,\1 $(LVM_VER)," \ + -e "s,^\(Release:[^0-9%]*\)[0-9.]\+,\1 $$GIT_VER," \ + $(top_srcdir)/spec/source.inc >$(rpmbuilddir)/SOURCES/source.inc + rpmbuild -v --define "_topdir $(abs_top_builddir)/$(rpmbuilddir)" -ba $(top_srcdir)/spec/lvm2.spec generate: conf.generate $(MAKE) -C conf generate diff --git a/WHATS_NEW b/WHATS_NEW index e4fe6b65a..d724a1b8d 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.120 - =============================== + Provide make dist and make rpm targets Configure lvm.conf for use_lvmetad and use_lvmpolld. Add lvpoll for cmdline communication with lvmpolld. Add lvmpolld acting as a free-standing version of polldaemon. diff --git a/make.tmpl.in b/make.tmpl.in index 1cac75e62..dce5b2c8a 100644 --- a/make.tmpl.in +++ b/make.tmpl.in @@ -116,6 +116,7 @@ vpath %.exported_symbols $(srcdir) interface = @interface@ interfacebuilddir = $(top_builddir)/libdm/$(interface) +rpmbuilddir = build # The number of jobs to run, if blank, defaults to the make standard ifndef MAKEFLAGS @@ -465,6 +466,7 @@ $(LIB_STATIC): $(OBJECTS) $(MSGFMT) -o $@ $< cleandir: + test -z "$(CLEAN_DIRS)" || $(RM) -r $(CLEAN_DIRS) $(RM) $(OBJECTS) $(TARGETS) $(CLEAN_TARGETS) $(CLEAN_CFLOW) $(LDDEPS) \ $(POTFILES) $(SOURCES:%.c=%.d) $(SOURCES:%.c=%.gcno) $(SOURCES:%.c=%.gcda) \ $(SOURCES2:%.c=%.o) $(SOURCES2:%.c=%.d) $(SOURCES2:%.c=%.gcno) $(SOURCES2:%.c=%.gcda) \