From 84ad516166ff223e6e1091cef03c22d7299aa76e Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Thu, 28 Jun 2007 19:27:58 +0000 Subject: [PATCH] Added mechanism for writing "svn info" output to a file and then reading URLs for repository paths from that. Creates a new .svninfo.xml target for distrib builds. This mechanism is intended to be useful as a way of keeping the generation of the NEWS.xml file as portable as possible (e.g., for builds from branches instead of just from the trunk). --- releasetools/Targets.mk | 13 ++++++++++--- releasetools/Variables.mk | 9 +++++++-- xsl/.cvsignore | 1 + 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/releasetools/Targets.mk b/releasetools/Targets.mk index 8fdc47c6a..d86c43db6 100644 --- a/releasetools/Targets.mk +++ b/releasetools/Targets.mk @@ -5,7 +5,7 @@ debug: -.PHONY: ChangeLog.xml ChangeHistory.xml +.PHONY: ChangeLog.xml ChangeHistory.xml $(SVN_INFO_FILE) RELEASE-NOTES.html: RELEASE-NOTES.xml NEWS.xml $(XINCLUDE) $< > RELEASE-NOTES-TMP.xml @@ -38,6 +38,8 @@ $(MARKUP_XSL): NEWS.xml: ChangeLog.xml $(XSLT) $< $(SVNLOG2DOCBOOK) $@ \ + repositoryRoot="$(REPOSITORY_ROOT)" \ + distroParentUrl="$(DISTRO_PARENT_URL)" \ distro="$(DISTRO)" \ previous-release="$(PREVIOUS_RELEASE)" \ release-version="$(RELVER)" \ @@ -50,10 +52,14 @@ NEWS.html: NEWS.xml $(NEWSFILE): NEWS.html LANG=C $(BROWSER) $(BROWSER_OPTS) $< > $@ -ChangeLog.xml: +$(SVN_INFO_FILE): + $(SVN) $(SVN_OPTS) info --xml \ + | $(XMLLINT) $(XMLLINT_OPTS) --format - > $@ + +ChangeLog.xml: $(SVN_INFO_FILE) $(SVN) $(SVN_OPTS) log --xml --verbose \ -r HEAD:$(PREVIOUS_REVISION) \ - $(REPOSITORY_ROOT)/trunk \ + $(DISTRO_PARENT_URL) \ $(DISTRO) $(DISTRIB_CHANGELOG_INCLUDES) \ | $(XMLLINT) $(XMLLINT_OPTS) --format - > $@ @@ -240,6 +246,7 @@ release-clean: clean $(RM) ChangeHistory.xml $(RM) ChangeHistory.xml.zip $(RM) ChangeLog.xml + $(RM) $(SVN_INFO_FILE) $(RM) RELEASE-NOTES.txt $(RM) RELEASE-NOTES.html $(RM) RELEASE-NOTES.fo diff --git a/releasetools/Variables.mk b/releasetools/Variables.mk index b36c0ab73..586a56941 100644 --- a/releasetools/Variables.mk +++ b/releasetools/Variables.mk @@ -10,8 +10,6 @@ include $(DOCBOOK_SVN)/buildtools/Makefile.incl -REPOSITORY_ROOT=https://docbook.svn.sourceforge.net/svnroot/docbook - CATALOGMANAGER=$(DOCBOOK_SVN)/releasetools/.CatalogManager.properties.example INSTALL_SH=$(DOCBOOK_SVN)/releasetools/install.sh MAKECATALOG=$(DOCBOOK_SVN)/releasetools/make-catalog.xsl @@ -62,8 +60,14 @@ MARKUP_XSL=$(DOCBOOK_SVN)/contrib/tools/tennison/modified-markup.xsl # to generate NEWS file(s) and releases notes SVNLOG2DOCBOOK=$(DOCBOOK_SVN)/releasetools/svnlog2docbook.xsl +SVN_INFO_FILE=.svninfo.xml + PREVIOUS_RELEASE=$(shell $(XSLTPROC) --stringparam param 'PreviousRelease' $(GETPARAM) VERSION) +REPOSITORY_ROOT=$(shell $(XSLTPROC) --stringparam element root $(GETELEMENT) $(SVN_INFO_FILE)) +DISTRO_URL=$(shell $(XSLTPROC) --stringparam element url $(GETELEMENT) $(SVN_INFO_FILE)) +DISTRO_PARENT_URL=$(dir $(basename $(DISTRO_URL))) + # stylesheet for stripping DB5 namespace STRIP_NS=$(DOCBOOK_SVN)/xsl/common/stripns.xsl @@ -192,6 +196,7 @@ XSLTPROC=xsltproc XSLTPROC_OPTS= GETPARAM=$(DOCBOOK_SVN)/releasetools/get-param.xsl +GETELEMENT=$(DOCBOOK_SVN)/releasetools/get-element.xsl XMLLINT=xmllint XMLLINT_OPTS= diff --git a/xsl/.cvsignore b/xsl/.cvsignore index c0d8f3e83..3150127ec 100644 --- a/xsl/.cvsignore +++ b/xsl/.cvsignore @@ -6,6 +6,7 @@ RELEASE-NOTES.txt RELEASE-NOTES.pdf RELEASE-NOTES.fo ChangeLog.xml +.svninfo.xml ChangeHistory.xml.zip NEWS.html NEWS.xml -- 2.40.0