[Openais] [PATCH] corosync/trunk: add support for make rpm and make srpm targets

Jim Meyering jim at meyering.net
Thu Jun 25 07:03:54 PDT 2009


Fabio M. Di Nitto wrote:

> Hi Jim,
>
> thanks for the input.. patch take2 in attachment should address all your
> bits.
...

> +$(SPEC): $(SPEC).in
> +	LC_ALL=C date="$(shell date "+%a %b %d %Y")" && \
> +	alphatag="$(shell svnversion)" && \
> +	sed \
> +		-e "s#@alphatag@#r$$alphatag#g" \
> +		-e "s#@version@#$(VERSION)#g" \
> +		-e "s#@date@#$$date#g" \
> +	$< > $@-t
> +	chmod a-w $@-t
> +	mv $@-t $@

I forgot to mention a required part of that idiom:
You have to be sure to remove both $@-t and $@ at the
beginning, or else either redirection (to read-only)
or mv can fail.  So just insert this as the first line of that rule:

	rm -f $@-t $@


> +$(TARFILE):
> +	$(MAKE) dist
> +
> +RPMBUILDOPTS	= --define "_sourcedir $(abs_builddir)" \
> +		  --define "_specdir $(abs_builddir)" \
> +		  --define "_builddir $(abs_builddir)" \
> +		  --define "_srcrpmdir $(abs_builddir)" \
> +		  --define "_rpmdir $(abs_builddir)"
> +
> +srpm: clean
> +	$(MAKE) $(SPEC) $(TARFILE)
> +	rpmbuild $(RPMBUILDOPTS) --nodeps -bs $(SPEC)
> +
> +rpm: clean
> +	$(MAKE) $(SPEC) $(TARFILE)
> +	rpmbuild $(RPMBUILDOPTS) -ba $(SPEC) 2>&1 | \
> +		tee .build-$(VERSION).log

Is creating a .build-*.log file like this something standard?
I would have thought that any logging would be
done by whoever invokes make, i.e.,

    make rpm >& .build-whatever.log

It's probably best just to omit that part.


More information about the Openais mailing list