From 73136d4e4fe3386cc0cc5ae3ad909604590acdd3 Mon Sep 17 00:00:00 2001 From: Lennart Johansson Date: Mon, 24 Oct 2016 13:41:56 +0200 Subject: Autogenerate list of manifest files for repo cmd From the manifest, autocreate an XML file with a list of the manifest files which can be used in the repo command, and including this XML file in the release info. Signed-off-by: Lennart Johansson --- doc/Makefile | 18 ++++- .../doc/getting_enea_linux.xml | 76 ++++++---------------- 2 files changed, 35 insertions(+), 59 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index c7569e9..7982e0c 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -32,6 +32,8 @@ BUILDBOOT_TEMPLATE := book-enea-linux-release-info/doc/build_boot_template.xml PKGDIFF_GEN_XML := book-enea-linux-release-info/doc/pkgdiff_generated.xml JIRA_ISSUES_GEN_XML := book-enea-linux-release-info/doc/jiraissues_generated.xml +MANIFESTFILES_XML := book-enea-linux-release-info/doc/manifestfiles_generated.xml + # ----------------------------------------------------- #Path to DocBook make files and templates @@ -200,7 +202,7 @@ endif endif # cleaninit cleans ALL tmpcommon and all s_* -clean: cleaninit cleanbuildboot cleanpkgdiff cleanissues +clean: cleaninit cleanbuildboot cleanpkgdiff cleanissues cleanmanifest @echo "Cleaning build results and temporary files" $(VERB)rm -rf doc tmp 2>/dev/null ifneq ($(filter book-%, $(COMPONENTS)),) @@ -226,6 +228,11 @@ inittargets: s_targets s_manifest: $(TMPCLONEROOT_MANIFEST) $(VERB)rm s_manifest 2>/dev/null; ln -s $(TMPCLONEROOT_MANIFEST) s_manifest +cleanmanifest: + @echo "Cleaning generated manifestfilelist XML document file" + $(VERB)rm -f $(MANIFESTFILES_XML) 2>/dev/null + $(VERB)rm -rf "$(TMPCLONEROOT_MANIFEST)" s_manifest 2>/dev/null + $(TMPCLONEROOT_MANIFEST): $(VERB)if [ ! -d "$(TMPCLONEROOT)" ] ; then mkdir -p "$(TMPCLONEROOT)" ; fi $(VERB)if [ ! -d "$(TMPCLONEROOT_MANIFEST)" ]; then mkdir -p "$(TMPCLONEROOT_MANIFEST)" ; fi @@ -235,7 +242,14 @@ $(TMPCLONEROOT_MANIFEST): $(VERB)if [ ! -d "$(TMPCLONEROOT_MANIFEST)/$(MANIFESTDIR)" ]; then echo "ERROR: Missing $(TMPCLONEROOT_MANIFEST)/$(MANIFESTDIR)"; exit 10 ; fi ; \ TARGETDEFAULTXMLS=`cd $(TMPCLONEROOT_MANIFEST)/$(MANIFESTDIR); ls -1 */default.xml 2>/dev/null` ; \ echo "$$TARGETDEFAULTXMLS" | tr '\n' ' ' >$(TMPCLONEROOT_MANIFEST)/targetdefaultxmls.txt ; \ - echo "$$TARGETDEFAULTXMLS" | sed 's/\/.*//' | tr '\n' ' ' >$(TMPCLONEROOT_MANIFEST)/targetids.txt + echo "$$TARGETDEFAULTXMLS" | sed 's/\/.*//' | tr '\n' ' ' >$(TMPCLONEROOT_MANIFEST)/targetids.txt ; \ + echo "" >$(MANIFESTFILES_XML) ; \ + echo ">$(MANIFESTFILES_XML) ; \ + echo "\"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd\">" >>$(MANIFESTFILES_XML) ; \ + echo "
" >>$(MANIFESTFILES_XML) ; \ + echo "$$TARGETDEFAULTXMLS" >>$(MANIFESTFILES_XML) ; \ + echo "
" >>$(MANIFESTFILES_XML) + # ----------------------------------------- # Use repo to auto-clone each target separately - VERY LARGE if there are many targets (5 targets => about 1.3 Gbytes) diff --git a/doc/book-enea-linux-release-info/doc/getting_enea_linux.xml b/doc/book-enea-linux-release-info/doc/getting_enea_linux.xml index dada8bd..0f03b7d 100644 --- a/doc/book-enea-linux-release-info/doc/getting_enea_linux.xml +++ b/doc/book-enea-linux-release-info/doc/getting_enea_linux.xml @@ -41,69 +41,31 @@ $ chmod a+x ~/bin/repoThe instruction assumes that ~/bin - Use the repo tool to download the source:FIXME: Before - final release the tag for the manifest must be set in Makefile as - MANIFESTHASH, typically something like refs/tags/EL6. Before that, a - generic branch name is used instead, e.g. krogoth in - Makefile - - $ mkdir enea-linux + Use the repo tool to download the source:FIXME: At final + release the tag for the manifest must be set in mainfest_conf.mk as + MANIFESTHASH, typically something like refs/tags/EL6. Before final + release, it is possible to set MANIFESTHASH on the make command line + to override the value, e.g. with a commit hash string for a release + candidate to be tested + + $ mkdir enea-linux $ cd enea-linux $ repo init -u \ + xmlns:xi="http://www.w3.org/2001/XInclude" + xpointer="element(EneaLinux_MANIFESTURL/1)" /> \ -b \ + xmlns:xi="http://www.w3.org/2001/XInclude" + xpointer="element(EneaLinux_MANIFESTHASH/1)" /> \ -m <manifest file> -$ repo sync - - The parameter <manifest file> depends on the target. See - the following table: - - - - - - Target - - Manifest file - - - - - - P2041RDB - - p2041rdb/default.xml - - - - LS1021a-IoT - - ls1021aiot/default.xml - - - - QEMUARM - - qemuarm/default.xml - - - - QEMUPCC - - qemuppc/default.xml - +$ repo sync - - QEMUX86 + The parameter <manifest file> depends on the target. For a + target in this distribution use one + of the following manifest files: - qemux86/default.xml - - - - + -- cgit v1.2.3-54-g00ecf