On 10/18/2012 02:23 PM, Cole Robinson wrote: > AUTHORS.in tracks the maintainers, as well as some folks who were > previously in AUTHORS but don't have a git commit with proper > attribution. > > Generated output is sorted alphabetically and lacks pretty spacing, so > tweak AUTHORS.in to follow the same format. > > Additionally, drop the syntax-check rule that previously validated > AUTHORS against git log. > --- > > +The primary maintainers and people with commit access rights: > + > +Daniel Veillard <veillard@xxxxxxxxxx> > +Daniel Berrange <berrange@xxxxxxxxxx> > +Richard W.M. Jones <rjones@xxxxxxxxxx> Can we sort this portions of AUTHORS.in, to match the fact that the rest of our file will be in sorted order? > @@ -91,3 +92,12 @@ gen-ChangeLog: > rm -f $(distdir)/ChangeLog; \ > mv $(distdir)/cl-t $(distdir)/ChangeLog; \ > fi > + > +.PHONY: gen-AUTHORS > +gen-AUTHORS: > + if test -d .git; then \ > + out="$$(git log --pretty=format:'%aN <%aE>' | sort | uniq)" && \ I know we require POSIX sh in our GNUmakefile, but in Makefile.am, it's probably still safer to use `` instead of $(). Why not use 'sort -u' and shave off a process? > + cat AUTHORS.in | perl -p -e "s/#authorlist#/$$out/" > \ VPATH build needs $(srcdir)/AUTHORS.in. Useless use of cat. > + $(distdir)/AUTHORS-tmp && \ > + mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ; \ > + fi I think the use of perl is overkill; sed can do the same. Oh, and sed can also get us to aligned columns, by exploiting the fact that none of our names contain ~ (admittedly, my sed script now looks like line noise): if test -d .git; then \ out=`git log \ --pretty='%aN~~~~~~~~~~~~~~~~~~~~~~~~<%aE>\' | \ sort -u | \ sed 's/^\(.\{24\}[^~]*\)~*</\1~</; s/~/ /g'` && \ sed -e '/#authorlist#/ c\' -e "$$out" -e'' \ < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \ mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS \ fi For that matter, we can even get fancy with sed to merge both the list of git authors and old authors from AUTHORS.in in one go. First, prep AUTHORS.in correctly: ... Patches have also been contributed by: #1# older names #2# [....send patches to get your name here....] then you can do something like: if test -d .git; then \ out=`{ sed -n '/#1#/,/#2#/ < $(srcdir)/AUTHORS.in; \ git log \ --pretty='%aN~~~~~~~~~~~~~~~~~~~~~~~~<%aE>\'; } | \ sort -u | \ sed 's/^\(.\{24\}[^~]*\)~*</\1~</; s/~/ /g'` && \ sed -e '/#1#/,/#2#/ c\' -e "$$out" -e'' \ < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \ mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS \ fi (I only lightly tested the above, it may still need tweaks) > diff --git a/bootstrap.conf b/bootstrap.conf > index f8b7c4d..c40db3d 100644 > --- a/bootstrap.conf > +++ b/bootstrap.conf > @@ -223,7 +223,8 @@ if `(${PYTHON_CONFIG-python-config} --version; > PYTHON_CONFIG=true > fi > > -# Automake requires that ChangeLog exist. > +# Automake requires that ChangeLog and AUTHORS exist. > +touch AUTHORS || exit 1 > touch ChangeLog || exit 1 Merge these two lines into one: touch AUTHORS ChangeLog || exit 1 -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list