"make dist" and cunit

Greg Banks gnb at fastmail.fm
Mon Apr 23 01:05:24 EDT 2012



On Fri, Apr 20, 2012, at 12:15 PM, Дилян Палаузов wrote:
> Hello,
> 
> Can SMakefile be deleted?
> 

I hope so.  Most of what's in there is useless and the rest is wrong.

It would be nice to have an autogen.sh which does all the necessary
autotools futzery, from aclocal to configure.

> Do we need "make snapshot" in addition to "make dist"?

The current dist: target seems to be broken; it fails on the master
branch because it's expecting a git tag which doesn't exist yet.  I
would expect it to always build a tarball but in this case indicate (in
both the xversion.h and the version number of the tarball) that the
tarball does not represent a tagged release.

> Then for "make dist" I think the only missing piece is the generation of 
> xversion.h .  The file contains the git-commit-ID used, the date, and 
> the distance from the last stable branch, created with
>            @echo "#define _CYRUS_VERSION \"git$(PACKAGE_VERSION)+`git 
> log --pretty=oneline $(PACKAGE_NAME)-$(PACKAGE_VERSION)..HEAD | wc 
> -l`\"" >> snapshot/$(PACKAGE_NAME)-$(GIT_VERSION)/xversion.h
> 
> and a first line with a comment, containing either "/* Release 
> $(PACKAGE_NAME)-$(PACKAGE_VERSION) */" when the file is created by "make 
> dist(-git)", or "/* Development version */" in case of "make xversion.h" 
> or "/* $(PACKAGE_NAME)-$(PACKAGE_VERSION) */" in case of "make snapshot".
> 
> Can this distinction of the first comment line of xversion.h be 
> abolished, in the name of having a single place to generate xversion.h 
> and how do you think it shall be generated?  By make-rule (run 
> explicitly), 

Maybe.

> by git hook (which everybody working with git has to 
> install locally) 

No.

> or by some other ways?
> 

A dist-hook: target which always builds xversion.h might be better; that
way you can guarantee that xversion.h is fresh and not a relic left over
from some earlier 'make dist' run.

> Afterwards snapshot: and dist(-git): targets from Makefile.am can be 
> removed.


-- 
Greg.


More information about the Cyrus-devel mailing list