Fabio M. Di Nitto wrote:
> Howto:
>
> svn co...
> ./autogen.sh
> ./configure
> make rpm or make srpm
>
> The resulting srpm can be built _without_ autotools installed
> and the resulting rpm is equivalent of the one you would get from Fedora
> rawhide.

I know what you mean, but just to clarify:
  - building (i.e., creating) the srpm requires autoconf and automake.
  - building *from* the srpm (as from any distribution tarball) does not.

...
> Index: Makefile.am
> ===================================================================
...
>  clean-generic:
> -     rm -rf doc/api
> +     rm -rf doc/api $(SPEC) $(TARFILE) *.rpm .build-*

Please don't remove names via wildcards like that.
I might have a directory named PRECIOUS_IMPORTANT.rpm.build-DO_NOT_DELETE.

> +## make rpm/srpm section.
> +
> +$(SPEC): $(SPEC).in
> +     LC_ALL=C date="$(shell date "+%a %b %d %Y")" && \
> +     alphatag="$(shell svnversion)" && \
> +     cat $^ | sed \
> +             -e "s...@alphatag@#r$$alphatag#g" \
> +             -e "s...@version@#$(VERSION)#g" \
> +             -e "s...@date@#$$date#g" \
> +     > $@

You can save a process, i.e., remove the cat:
(also,
  - using $< is slightly more precise than $^
  - don't "redirect directly to target" (for why, search for that phrase)
  - make the generated file read-only (i.e., harder to accidentally modify)

        sed \
                -e "s...@alphatag@#r$$alphatag#g" \
                -e "s...@version@#$(VERSION)#g" \
                -e "s...@date@#$$date#g" \
            $< > $...@-t
        chmod a-w $...@-t
        mv $...@-t $@

> +srpm: clean $(SPEC) $(TARFILE)
> +     rpmbuild \
> +             $(RPMBUILDOPTS) \
> +             --nodeps -bs $(SPEC)

These (above and below) don't do what you want when built with -jN.
I.e., they'll run the clean rule and the ones to create
$(SPEC) and $(TARFILE) in parallel.

You can use this in place of the above.

srpm: clean
        $(MAKE) $(SPEC) $(TARFILE)
        rpmbuild $(RPMBUILDOPTS) --nodeps -bs $(SPEC)


> +rpm: clean $(SPEC) $(TARFILE)
> +     rpmbuild \
> +             $(RPMBUILDOPTS) \
> +             -ba $(SPEC) 2>&1 | \
> +     tee .build-$(VERSION).log
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to