diff options
| author | Thomas Lundström <thomas.lundstrom@enea.com> | 2016-06-22 19:24:31 +0200 |
|---|---|---|
| committer | Thomas Lundström <thomas.lundstrom@enea.com> | 2016-06-22 19:24:31 +0200 |
| commit | b26854f76b2fa8d44937bdae0664b1a24b2c7e78 (patch) | |
| tree | 0d46962f5a06c6a9bf484d3778eeb7959e1385d7 | |
| download | el_releases-networking-b26854f76b2fa8d44937bdae0664b1a24b2c7e78.tar.gz | |
Initial commit
20 files changed, 2451 insertions, 0 deletions
diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..4c81dfc --- /dev/null +++ b/doc/Makefile | |||
| @@ -0,0 +1,321 @@ | |||
| 1 | #Path to this subsystem's root directory | ||
| 2 | SUBSYSROOT := $(shell pwd) | ||
| 3 | |||
| 4 | # NOTE: MANIFESTHASH in manifest_conf.mk needs to be updated with final release tag before a release | ||
| 5 | # The manifest_conf.mk defines MANIFESTHASH and MANIFESTURL and PROFILE_NAME | ||
| 6 | include manifest_conf.mk | ||
| 7 | |||
| 8 | # An alternative is to clone the manifest repository and extract the list of target manifest files from that | ||
| 9 | # We need all to get all README, but only first in alphabetic list is used to extract info from poky/ | ||
| 10 | TARGETDEFAULTXMLS := p2041rdb/default.xml | ||
| 11 | |||
| 12 | |||
| 13 | # ***************** Generic docbuild.git auto-clone + s_docbuild symlink *** | ||
| 14 | # This also defines TMPCLONEROOT which optionally can be nondefault using BOOK_GLOBALCLONEROOT=yes or a path | ||
| 15 | include init.mk | ||
| 16 | |||
| 17 | # ****************** SUPPORT FOR TARGETS *************************** | ||
| 18 | PATH_TARGETS = $(SUBSYSROOT)/s_targets | ||
| 19 | #Git repositories to be cloned | ||
| 20 | NAME_TARGETS := targets | ||
| 21 | #Path to the directory under which repos shall be cloned. | ||
| 22 | DOCBASEDIR=$(shell pwd) | ||
| 23 | REPODIR=$(DOCBASEDIR)/.. | ||
| 24 | TMPCLONEROOT_TARGETS := $(TMPCLONEROOT)/$(NAME_TARGETS) | ||
| 25 | |||
| 26 | |||
| 27 | # ******************* AutoGenerated chapter from template and target READMEs ******* | ||
| 28 | BUILDBOOT_XML := book-enea-linux-release-info/doc/build_boot_generated.xml | ||
| 29 | BUILDBOOT_TEMPLATE := book-enea-linux-release-info/doc/build_boot_template.xml | ||
| 30 | |||
| 31 | PKGDIFF_GEN_XML := book-enea-linux-release-info/doc/pkgdiff_generated.xml | ||
| 32 | JIRA_ISSUES_GEN_XML := book-enea-linux-release-info/doc/jiraissues_generated.xml | ||
| 33 | |||
| 34 | |||
| 35 | # ----------------------------------------------------- | ||
| 36 | #Path to DocBook make files and templates | ||
| 37 | DOCBOOKMAKE = $(SUBSYSROOT)/s_docbuild/docmake | ||
| 38 | DOCBOOKTEMPLATE = $(SUBSYSROOT)/s_docbuild/template | ||
| 39 | |||
| 40 | #Path to the OLINK database including leading part of file name (will add -$(FORMAT).db) | ||
| 41 | DOCBOOKOLINKDB_BASE = $(SUBSYSROOT)/s_docbuild/olinkdb/olink-targetdb-master | ||
| 42 | |||
| 43 | DOCBOOK_OLINKS ?= yes | ||
| 44 | DOCBOOK_FO_USEFOP ?= yes | ||
| 45 | DOCBOOK_TO_BOOKDIR ?= yes | ||
| 46 | DOCBOOK_CLEANTMP ?= yes | ||
| 47 | |||
| 48 | #Components (books) in this subsystem. Now use all books found here | ||
| 49 | # COMPONENTS := book-enea-linux-release-info book-enea-linux-open-source | ||
| 50 | # COMPONENTS += book-enea-linux-eclipse-open-source | ||
| 51 | COMPONENTS := $(shell ls -d book-enea* ) | ||
| 52 | |||
| 53 | # -------------------------------------------------------------- | ||
| 54 | ifeq ($(VERBOSE),yes) | ||
| 55 | VERB := | ||
| 56 | else | ||
| 57 | VERB := @ | ||
| 58 | endif | ||
| 59 | MAKEFLAGS += --no-print-directory | ||
| 60 | MAKEFLAGS += --directory $(SUBSYSROOT) | ||
| 61 | MAKEFLAGS += --no-builtin-rules --no-builting-variables | ||
| 62 | |||
| 63 | # Skip xml validation to make it possible to include xml files with unresolved links | ||
| 64 | VALIDATE = no | ||
| 65 | |||
| 66 | # BL_LABEL is either given on make command line or using BOOK_VER which have defaults below or a timestamp | ||
| 67 | |||
| 68 | # ****************************************************************** | ||
| 69 | |||
| 70 | # Export all parameters including those on the command line | ||
| 71 | export | ||
| 72 | |||
| 73 | .PHONY: doc books docusage init initbuild inittargets initpardoc initbuildboot dist | ||
| 74 | |||
| 75 | |||
| 76 | docusage: | ||
| 77 | @echo 'make docusage #Shows this help text' | ||
| 78 | @echo ' DOCBOOK_TOOLS_VERSIONS=yes #Displays DocBook tools versions in this machine' | ||
| 79 | @echo 'make doc #Builds the userdoc, does autoinit if needed' | ||
| 80 | @echo 'make dist BOOK_DIST_DIR=xx/doc #Builds all and copies results to BOOK_DIST_DIR' | ||
| 81 | @echo ' #Does not work with DOCBOOK_TO_BOOKDIR or BOOK_BUILD_DIR' | ||
| 82 | @echo ' #Currently EclipseHelp formated doc will not be in BOOK_DIST_DIR' | ||
| 83 | @echo ' # unless BOOK_DIST_ECLIPSE is set to yes' | ||
| 84 | @echo 'make init #Init all needed init* below' | ||
| 85 | @echo 'make initbuild #Init s_docbuild Docbook build system and central files' | ||
| 86 | @echo 'make inittargets #Init s_targets using repo tool Targets in this distro with poky' | ||
| 87 | @echo 'make initpardoc #Init s_docsrc_common using info from poky/' | ||
| 88 | @echo 'make initbuildboot #Init build_boot chapter from READMEs and template in release info' | ||
| 89 | @echo ' DOCBOOK_CLEANTMP=no #Option to keep temp files in doc/ and tmp/' | ||
| 90 | @echo ' BOOK_GLOBALCLONEROOT=yes #Option for all init above to clone all outside the doc directory' | ||
| 91 | @echo ' BOOK_GLOBALCLONEROOT=otherpath #Option for all init above to clone all' | ||
| 92 | @echo 'make pullbuild #git pull in s_docbuild' | ||
| 93 | @echo 'make pulltargets #git pull in s_targets. You need also initpardoc initbuildboot' | ||
| 94 | @echo 'make clean #Clean. Also clean s_* but not any external clones' | ||
| 95 | @echo '' | ||
| 96 | @echo 'Optional parameters for make doc:' | ||
| 97 | @echo ' COMP=<book-directory> #Component (book) to build. Book component names are book-*' | ||
| 98 | @echo ' #Default component/s:' | ||
| 99 | @echo ' $(COMPONENTS)' | ||
| 100 | @echo ' FORMAT=<format> #One of: pdf, html, or eclipse (Default all are built)' | ||
| 101 | @echo ' BL_LABEL=<baseline> #Becomes footer in book (default: from poky enea.conf MAJORMINOR' | ||
| 102 | @echo ' # and with profile name taken from the manifest repo name)' | ||
| 103 | @echo ' DOCBOOK_TO_BOOKDIR=no #(default yes) Avoid moving result to book directory' | ||
| 104 | @echo ' # and avoid erasing common doc and tmp directories' | ||
| 105 | @echo ' BOOKFORCE=yes #Force rebuilding (ignore dependency on file times or BL_LABEL)' | ||
| 106 | @echo ' # Dependency only works if common doc directory is kept' | ||
| 107 | @echo ' BOOKCONDITION="xx;yy;.." #Include XML elements with condition any of xx or yy' | ||
| 108 | @echo ' # (if rebuilding, BOOKFORCE=yes may be needed)' | ||
| 109 | @echo ' # Empty=only default. none=none, all=everything.' | ||
| 110 | @echo ' BOOKDEFAULTCONDITION #Default conditions, if no BOOKCONDITION. Used in book-*/swcomp.mk' | ||
| 111 | @echo ' SHOW_COMMENTS=yes #For proofread. Unhide <remark>..</remark> comments Only PDF' | ||
| 112 | @echo ' BOOKVERBOSE=yes #Verbose info building books' | ||
| 113 | @echo ' DOCBOOK_OLINKS=no #Avoid the olink database in Makefile (in book not using it)' | ||
| 114 | @echo ' DOCBOOK_OLINK_TARGETDB=only #Build a target db for this book (for links into it)' | ||
| 115 | @echo ' DOCBOOK_OLINK_TARGETDB=yes #Build a target db AND build the book' | ||
| 116 | @echo ' #Master olinkdb defined in this Makefile, one per generated format, is:' | ||
| 117 | @echo ' $(DOCBOOKOLINKDB_BASE)_*.db' | ||
| 118 | @echo ' Typical examples:' | ||
| 119 | @echo ' make doc Creates all books, all formats' | ||
| 120 | @echo ' make doc COMP=book-xxxx FORMAT=html' | ||
| 121 | @echo ' make doc COMP=book-xxxx FORMAT=pdf' | ||
| 122 | @echo ' make doc BL_LABEL="Version 1.2.3" Creates all with version in footers and front' | ||
| 123 | |||
| 124 | @echo ' Requires docbook-xsl-1.76.1 or later, docbook-xml 4.2, svg1.1, fop-1.0 + fop-hyph.jar' | ||
| 125 | @echo ' fop + the separate fop-hyph can be found together in package "libfop-java"' | ||
| 126 | @echo ' otherwise fetch fop-hyph.jar and place in same place as fop.jar' | ||
| 127 | @echo ' Requires libxml2-2.7.8 or later, libxslt-1.1.26 or later' | ||
| 128 | @echo ' Requires java machine to run fop (creating PDF). jar for optional FORMAT=eclipse' | ||
| 129 | @echo ' Without jar, the optional EclipseHelp format can not be built' | ||
| 130 | @echo ' tools_book_standalone.mk => libxml2, libxslt, and fop (and to catalog-el.xml)' | ||
| 131 | @echo ' catalog-el.xml => svg, docbook-xml, docbook-xsl' | ||
| 132 | ifeq ($(DOCBOOK_TOOLS_VERSIONS),yes) | ||
| 133 | $(VERB)$(MAKE) -f $(DOCBOOKMAKE)/tools_book_standalone.mk book_tools_versions | ||
| 134 | endif | ||
| 135 | |||
| 136 | # We rely on make doing these in order left to right | ||
| 137 | init: initbuild inittargets initpardoc initbuildboot initpkgdiff initissues | ||
| 138 | pullall: pullbuild pulltargets | ||
| 139 | |||
| 140 | # If no COMP, iterate over books-* in COMPONENTS with make doc | ||
| 141 | ifeq ($(COMP),) | ||
| 142 | doc: | ||
| 143 | ifneq ($(filter book-%, $(COMPONENTS)),) | ||
| 144 | $(VERB)for comp in $(filter book-%, $(COMPONENTS)); do \ | ||
| 145 | $(MAKE) doc COMP=$$comp; \ | ||
| 146 | done | ||
| 147 | endif | ||
| 148 | |||
| 149 | else | ||
| 150 | include $(SUBSYSROOT)/$(COMP)/swcomp.mk | ||
| 151 | |||
| 152 | doc: books | ||
| 153 | @# | ||
| 154 | endif | ||
| 155 | |||
| 156 | dist: doc | ||
| 157 | @echo "Copying resulting built documents to $(BOOK_DIST_DIR)" | ||
| 158 | $(VERB)if [ "$(BOOK_DIST_DIR)" = "" ]; then echo "ERROR: Missing BOOK_DIST_DIR parameter, typically shall be xxx/doc"; exit 10; fi | ||
| 159 | $(VERB)if [ ! -d "`dirname $(BOOK_DIST_DIR)`" ]; then echo "ERROR: Missing parent for BOOK_DIST_DIR"; exit 10; fi | ||
| 160 | $(VERB)if [ -f "$(BOOK_DIST_DIR)/Makefile" ]; then echo "ERROR: Wrong BOOK_DIST_DIR, contains a Makefile?"; exit 10; fi | ||
| 161 | $(VERB)if [ ! -d "$(BOOK_DIST_DIR)" ]; then mkdir -p "$(BOOK_DIST_DIR)" ; fi | ||
| 162 | $(VERB)for book in $(COMPONENTS); do \ | ||
| 163 | if ls -d $$book/book*.pdf >/dev/null 2>&1; then cp --preserve=timestamps $$book/book*.pdf "$(BOOK_DIST_DIR)" ; fi ; \ | ||
| 164 | if ls -d $$book/html >/dev/null 2>&1; then cp -r --preserve=timestamps $$book/html "$(BOOK_DIST_DIR)" ; fi ; \ | ||
| 165 | if [ "$(BOOK_DIST_ECLIPSE)" = "yes" ]; then \ | ||
| 166 | if ls -d $$book/eclipse >/dev/null 2>&1; then cp -r --preserve=timestamps $$book/eclipse "$(BOOK_DIST_DIR)" ; fi ; \ | ||
| 167 | fi ; \ | ||
| 168 | done | ||
| 169 | |||
| 170 | # Default FORMATs | ||
| 171 | ifeq ($(FORMAT),) | ||
| 172 | FORMAT=html pdf eclipse | ||
| 173 | endif | ||
| 174 | |||
| 175 | |||
| 176 | books: init | ||
| 177 | # BOOKPACKAGES is defined in all book-*/swcomp.mk | ||
| 178 | $(VERB)DISTRO_VERSION_MAJOR=`egrep '"EneaLinux_DISTRO_VERSION_MAJOR"' s_docsrc_common/pardoc-distro.xml | sed 's/.*<phrase>//;s/<\/phrase>.*//'` ; \ | ||
| 179 | DISTRO_VERSION_MINOR=`egrep '"EneaLinux_DISTRO_VERSION_MINOR"' s_docsrc_common/pardoc-distro.xml | sed 's/.*<phrase>//;s/<\/phrase>.*//'` ; \ | ||
| 180 | BOOKVER="Profile $(PROFILE_NAME)-$$DISTRO_VERSION_MAJOR$$DISTRO_VERSION_MINOR" ; \ | ||
| 181 | for book in $(BOOKPACKAGES); do \ | ||
| 182 | for format in $(FORMAT); do \ | ||
| 183 | $(MAKE) -f $(DOCBOOKMAKE)/make_docbook_standalone.mk BOOK=$$book FORMAT=$$format BOOK_VER="$$BOOKVER" books || exit 10; \ | ||
| 184 | done ; \ | ||
| 185 | done | ||
| 186 | ifeq ($(DOCBOOK_TO_BOOKDIR),yes) | ||
| 187 | $(VERB)rm -rf doc tmp | ||
| 188 | else | ||
| 189 | ifeq ($(DOCBOOK_CLEANTMP),yes) | ||
| 190 | # keep only doc/pdf/book-*.pdf doc/eclipse/plugins/com.enea.doc.book-* but delete doc/eclipse/plugins/com.enea.doc.book-*/done* | ||
| 191 | $(VERB)rm -rf tmp 2>/dev/null ; rm -rf doc/pdf/book-*/ ; rm -rf doc/eclipse/plugins/com.enea.doc.book-*/done* 2>/dev/null | ||
| 192 | endif | ||
| 193 | endif | ||
| 194 | |||
| 195 | # cleaninit cleans ALL tmpcommon and all s_* and generated build_boot chapter xml | ||
| 196 | clean: cleaninit cleanbuildboot cleanpkgdiff cleanissues | ||
| 197 | $(VERB)rm -rf doc tmp 2>/dev/null | ||
| 198 | ifneq ($(filter book-%, $(COMPONENTS)),) | ||
| 199 | $(VERB)for comp in $(filter book-%, $(COMPONENTS)); do \ | ||
| 200 | rm -rf $$comp/book*.pdf $$comp/html $$comp/eclipse 2>/dev/null; \ | ||
| 201 | done | ||
| 202 | $(VERB)rm -rf doc tmp 2>/dev/null | ||
| 203 | endif | ||
| 204 | |||
| 205 | |||
| 206 | # ****************************************************************** | ||
| 207 | # ****************** SUPPORT FOR TARGETS *************************** | ||
| 208 | inittargets: s_targets | ||
| 209 | pulltargets: | ||
| 210 | $(VERB)if [ ! -d s_targets ]; then echo "ERROR: No s_targets exists?" ; exit 10 ; fi | ||
| 211 | $(VERB)cd s_targets; for targ in *; do ( cd $targ ; git pull ) | ||
| 212 | |||
| 213 | |||
| 214 | # ----------------------------------------- | ||
| 215 | |||
| 216 | # Use repo to auto-clone each target separately - VERY LARGE if there are many targets (5 targets => about 1.3 Gytes) | ||
| 217 | |||
| 218 | s_targets: $(TMPCLONEROOT_TARGETS) | ||
| 219 | $(VERB)rm s_targets 2>/dev/null; ln -s $(TMPCLONEROOT_TARGETS) s_targets | ||
| 220 | |||
| 221 | |||
| 222 | $(TMPCLONEROOT_TARGETS): | ||
| 223 | $(VERB)if [ ! -d "$(TMPCLONEROOT)" ] ; then mkdir -p "$(TMPCLONEROOT)" ; fi | ||
| 224 | $(VERB)if [ ! -d $(TMPCLONEROOT_TARGETS) ]; then mkdir -p $(TMPCLONEROOT_TARGETS) ; fi | ||
| 225 | @echo "**** Cloning all targets using repo tool into $(TMPCLONEROOT_TARGETS)" | ||
| 226 | @echo "TARGETDEFAULTXMLS is <$(TARGETDEFAULTXMLS)>" | ||
| 227 | $(VERB)for target_default_xml in $(TARGETDEFAULTXMLS); \ | ||
| 228 | do \ | ||
| 229 | TARGDIR=$(TMPCLONEROOT_TARGETS)/`dirname $$target_default_xml` ; \ | ||
| 230 | echo "TARGDIR=<$$TARGDIR>" ; \ | ||
| 231 | if [ ! -d $$TARGDIR ]; then mkdir -p $$TARGDIR ; fi ; \ | ||
| 232 | ( cd $$TARGDIR ; \ | ||
| 233 | echo "*** Doing repo init -u $(MANIFESTURL) -b $(MANIFESTHASH) -m $$target_default_xml ; repo sync"; \ | ||
| 234 | repo init -u $(MANIFESTURL) -b $(MANIFESTHASH) -m $$target_default_xml ; repo sync ; \ | ||
| 235 | ) ; \ | ||
| 236 | done | ||
| 237 | |||
| 238 | # **************************************************************************** | ||
| 239 | # ******************** SUPPORT FOR dynamic pardoc with added parameters ****** | ||
| 240 | # pardoc-distro can contain MAJOR.MINOR-xxxxx keeping -xxxx when replacing MINOR.MINOR from enea.conf | ||
| 241 | |||
| 242 | PATH_DOCSRC_COMMON = $(SUBSYSROOT)/s_docsrc_common | ||
| 243 | NAME_DOCSRC_COMMON = docsrc_common | ||
| 244 | TMPCLONEROOT_DOCSRC_COMMON := $(TMPCLONEROOT)/$(NAME_DOCSRC_COMMON) | ||
| 245 | TMPPARDOC := $(TMPCLONEROOT_DOCSRC_COMMON)/pardoc-distro.xml | ||
| 246 | |||
| 247 | initpardoc: s_docsrc_common | ||
| 248 | |||
| 249 | cleanpardoc: | ||
| 250 | $(VERB)rm -rf $(TMPCLONEROOT_DOCSRC_COMMON) ; rm s_docsrc_common | ||
| 251 | |||
| 252 | s_docsrc_common: $(TMPCLONEROOT_DOCSRC_COMMON) | ||
| 253 | $(VERB)rm s_docsrc_common 2>/dev/null; ln -s $(TMPCLONEROOT_DOCSRC_COMMON) s_docsrc_common | ||
| 254 | |||
| 255 | $(TMPCLONEROOT_DOCSRC_COMMON): s_targets | ||
| 256 | $(VERB)if [ ! -d "$(TMPCLONEROOT)" ] ; then mkdir -p "$(TMPCLONEROOT)" ; fi | ||
| 257 | $(VERB)if [ ! -d $(TMPCLONEROOT_DOCSRC_COMMON) ]; then mkdir -p $(TMPCLONEROOT_DOCSRC_COMMON) ; fi | ||
| 258 | @echo "**** Copy and patch docsrc_common/ files to $(TMPCLONEROOT_DOCSRC_COMMON)" | ||
| 259 | @echo "*** Add parameters from first target's enea.conf and add manifest parameters" | ||
| 260 | $(VERB)FIRSTTARGET=`ls -1 s_targets/ | head -1`; \ | ||
| 261 | ENEACONF=s_targets/$$FIRSTTARGET/poky/meta-el-common/conf/distro/enea.conf ; \ | ||
| 262 | DISTRO_VERSION_MAJOR=`egrep '^DISTRO_VERSION_MAJOR' $$ENEACONF | sed 's/^[^"]*"//;s/".*//'` ; \ | ||
| 263 | DISTRO_VERSION_MINOR=`egrep '^DISTRO_VERSION_MINOR' $$ENEACONF | sed 's/^[^"]*"//;s/".*//'` ; \ | ||
| 264 | cat docsrc_common/pardoc-distro.xml | sed '/<\/section>/d' | \ | ||
| 265 | sed '/<!ENTITY ENEA_LINUX_REL_VER/s/MAJOR.MINOR/'"$$DISTRO_VERSION_MAJOR$$DISTRO_VERSION_MINOR"'/' | \ | ||
| 266 | sed '/<!ENTITY . common_poky_entities SYSTEM/s/s_targets\/[^\/]*\/poky/s_targets\/'"$$FIRSTTARGET"'\/poky/' >$(TMPPARDOC) ; \ | ||
| 267 | echo "<para id=\"EneaLinux_DISTRO_VERSION_MAJOR\"><phrase>$$DISTRO_VERSION_MAJOR</phrase></para>" >>$(TMPPARDOC) ; \ | ||
| 268 | echo "<para id=\"EneaLinux_DISTRO_VERSION_MINOR\"><phrase>$$DISTRO_VERSION_MINOR</phrase></para>" >>$(TMPPARDOC) ; \ | ||
| 269 | echo "<para id=\"EneaLinux_PROFILE_NAME\"><phrase>$(PROFILE_NAME)</phrase></para>" >>$(TMPPARDOC) ; \ | ||
| 270 | echo "<para id=\"EneaLinux_MANIFESTURL\"><phrase>$(MANIFESTURL)</phrase></para>" >>$(TMPPARDOC) ; \ | ||
| 271 | echo "<para id=\"EneaLinux_MANIFESTHASH\"><phrase>$(MANIFESTHASH)</phrase></para>" >>$(TMPPARDOC) ; \ | ||
| 272 | echo "</section>" >>$(TMPPARDOC) | ||
| 273 | |||
| 274 | # **************************************************************************** | ||
| 275 | # ***** Create XML chapter with build/boot commands from all README files in s_targets | ||
| 276 | |||
| 277 | initbuildboot: $(BUILDBOOT_XML) | ||
| 278 | |||
| 279 | cleanbuildboot: | ||
| 280 | $(VERB)rm -f $(BUILDBOOT_XML) 2>/dev/null | ||
| 281 | |||
| 282 | |||
| 283 | $(BUILDBOOT_XML): s_targets $(BUILDBOOT_TEMPLATE) | ||
| 284 | @echo "**** Creating $(BUILDBOOT_XML) from READMEs" | ||
| 285 | $(VERB)INITBB_CMD=initbuildboot.sh ; \ | ||
| 286 | if [ -f "$$INITBB_CMD" ]; then \ | ||
| 287 | sh "$$INITBB_CMD" -xml $(BUILDBOOT_XML) -template $(BUILDBOOT_TEMPLATE) ; \ | ||
| 288 | else \ | ||
| 289 | echo "ERROR: Missing $$INITBB_CMD, can not create $(BUILDBOOT_XML)"; exit 10; \ | ||
| 290 | fi | ||
| 291 | |||
| 292 | # **************************************************************************** | ||
| 293 | # ***** Create Package DIFF XML section | ||
| 294 | |||
| 295 | initpkgdiff: $(PKGDIFF_GEN_XML) | ||
| 296 | |||
| 297 | cleanpkgdiff: | ||
| 298 | $(VERB)rm -f $(PKGDIFF_GEN_XML) 2>/dev/null | ||
| 299 | |||
| 300 | $(PKGDIFF_GEN_XML): | ||
| 301 | $(VERB)PREVIOUS_BL=`egrep '"prev_baseline"' docsrc_common/pardoc-distro.xml | sed 's/^.*<phrase>//;s/<\/phrase>.*$$//'` ; \ | ||
| 302 | echo "**** Generating $(PKGDIFF_GEN_XML) compared to $$PREVIOUS_BL, using gen_pkgdiff.py" ; \ | ||
| 303 | python gen_pkgdiff.py >$(PKGDIFF_GEN_XML) | ||
| 304 | |||
| 305 | |||
| 306 | # **************************************************************************** | ||
| 307 | # ***** Create Jira Issues XML section for the known bugs chapter | ||
| 308 | |||
| 309 | .PHONY: $(JIRA_ISSUES_GEN_XML) | ||
| 310 | # We want new issue list to be generated also at build, not only at init | ||
| 311 | |||
| 312 | initissues: $(JIRA_ISSUES_GEN_XML) | ||
| 313 | |||
| 314 | cleanissues: | ||
| 315 | $(VERB)rm -f $(JIRA_ISSUES_GEN_XML) 2>/dev/null | ||
| 316 | |||
| 317 | $(JIRA_ISSUES_GEN_XML): | ||
| 318 | @echo "**** Generating $(JIRA_ISSUES_GEN_XML), fetching from Jira using gen_known_issues.py" | ||
| 319 | $(VERB)python gen_known_issues.py >$(JIRA_ISSUES_GEN_XML) | ||
| 320 | |||
| 321 | # **************************************************************************** | ||
diff --git a/doc/book-enea-linux-open-source/doc/README b/doc/book-enea-linux-open-source/doc/README new file mode 100644 index 0000000..c40a2d9 --- /dev/null +++ b/doc/book-enea-linux-open-source/doc/README | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | The licenses.xml in the git repository of Enea Linux Open Source Report | ||
| 2 | is the frozen version belonging to the last official release of Enea Linux. | ||
| 3 | The contents must be generated from the release script to obtain the latest | ||
| 4 | lists of packages and licenses. | ||
diff --git a/doc/book-enea-linux-open-source/doc/about.xml b/doc/book-enea-linux-open-source/doc/about.xml new file mode 100644 index 0000000..f2f863f --- /dev/null +++ b/doc/book-enea-linux-open-source/doc/about.xml | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="enea-linux-open-source-packages-and-licenses"> | ||
| 5 | <title>About this Report</title> | ||
| 6 | |||
| 7 | <para>This document contains the open source and license information | ||
| 8 | pertaining to packages provided with Enea Linux <xi:include | ||
| 9 | href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 10 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 11 | xpointer="element(EneaLinux_REL_VER/1)" />.</para> | ||
| 12 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-linux-open-source/doc/book.xml b/doc/book-enea-linux-open-source/doc/book.xml new file mode 100644 index 0000000..d5da88e --- /dev/null +++ b/doc/book-enea-linux-open-source/doc/book.xml | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ | ||
| 4 | <!ENTITY % local.common.attrib "xml:base CDATA #IMPLIED"> | ||
| 5 | ]> | ||
| 6 | <book id="book_enea_linux_open_source"> | ||
| 7 | <title><trademark class="registered">Enea</trademark> Linux Open Source Report</title> | ||
| 8 | <subtitle>Release Version | ||
| 9 | <xi:include href="../../s_docsrc_common/pardoc-distro.xml" xpointer="element(EneaLinux_REL_VER/1)" | ||
| 10 | xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> | ||
| 11 | <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 12 | <xi:include href="about.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 13 | <xi:include href="licenses.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 14 | </book> | ||
diff --git a/doc/book-enea-linux-open-source/doc/licenses.xml b/doc/book-enea-linux-open-source/doc/licenses.xml new file mode 100644 index 0000000..d9d138c --- /dev/null +++ b/doc/book-enea-linux-open-source/doc/licenses.xml | |||
| @@ -0,0 +1,327 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="enea_linux_packages"> | ||
| 5 | <title>Packages and Licenses</title> | ||
| 6 | <section id="licenses_packages"> | ||
| 7 | |||
| 8 | <title>Packages</title> | ||
| 9 | |||
| 10 | |||
| 11 | <!--This chapter contains a generated list of all packages that Enea Linux | ||
| 12 | supports, e.g. busybox, with a short explanatory blurb and links to package | ||
| 13 | specific documentation.--> | ||
| 14 | |||
| 15 | <para>Invalid example!</para> | ||
| 16 | <informaltable> | ||
| 17 | <tgroup cols="4"> | ||
| 18 | <colspec colwidth="2*"/> | ||
| 19 | <colspec colwidth="1*"/> | ||
| 20 | <colspec colwidth="5*"/> | ||
| 21 | <colspec colwidth="2*"/> | ||
| 22 | |||
| 23 | <thead> | ||
| 24 | <row> | ||
| 25 | <entry align="center">Package Name</entry> | ||
| 26 | <entry align="center">Version</entry> | ||
| 27 | <entry align="center">Description</entry> | ||
| 28 | <entry align="center">License</entry> | ||
| 29 | </row> | ||
| 30 | </thead> | ||
| 31 | |||
| 32 | <tbody valign="top"> | ||
| 33 | <row> | ||
| 34 | <entry>X</entry> | ||
| 35 | <entry>x.y</entry> | ||
| 36 | <entry>-</entry> | ||
| 37 | <entry>X</entry> | ||
| 38 | </row> | ||
| 39 | </tbody> | ||
| 40 | </tgroup> | ||
| 41 | </informaltable> | ||
| 42 | </section> | ||
| 43 | <section id="open_source_license"> | ||
| 44 | <title>Open Source Licenses</title> | ||
| 45 | <section id="lic_0"> | ||
| 46 | <title>AFL-2.0</title> | ||
| 47 | <para><programlisting> | ||
| 48 | |||
| 49 | The Academic Free License | ||
| 50 | v. 2.0 | ||
| 51 | |||
| 52 | This Academic Free License (the "License") applies to any original work of authorship | ||
| 53 | (the "Original Work") whose owner (the "Licensor") has placed the following notice | ||
| 54 | immediately following the copyright notice for the Original Work: | ||
| 55 | Licensed under the Academic Free License version 2.0 | ||
| 56 | |||
| 57 | 1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, | ||
| 58 | non-exclusive, perpetual, sublicenseable license to do the following: | ||
| 59 | a) to reproduce the Original Work in copies; | ||
| 60 | |||
| 61 | b) to prepare derivative works ("Derivative Works") based upon the Original Work; | ||
| 62 | |||
| 63 | c) to distribute copies of the Original Work and Derivative Works to the public; | ||
| 64 | |||
| 65 | d) to perform the Original Work publicly; and | ||
| 66 | |||
| 67 | e) to display the Original Work publicly. | ||
| 68 | |||
| 69 | 2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, | ||
| 70 | non-exclusive, perpetual, sublicenseable license, under patent claims owned or | ||
| 71 | controlled by the Licensor that are embodied in the Original Work as furnished by the | ||
| 72 | Licensor, to make, use, sell and offer for sale the Original Work and Derivative | ||
| 73 | Works. | ||
| 74 | |||
| 75 | 3) Grant of Source Code License. The term "Source Code" means the preferred form of | ||
| 76 | the Original Work for making modifications to it and all available documentation | ||
| 77 | describing how to modify the Original Work. Licensor hereby agrees to provide a | ||
| 78 | machine-readable copy of the Source Code of the Original Work along with each copy of | ||
| 79 | the Original Work that Licensor distributes. Licensor reserves the right to satisfy | ||
| 80 | this obligation by placing a machine-readable copy of the Source Code in an | ||
| 81 | information repository reasonably calculated to permit inexpensive and convenient | ||
| 82 | access by You for as long as Licensor continues to distribute the Original Work, and | ||
| 83 | by publishing the address of that information repository in a notice immediately | ||
| 84 | following the copyright notice that applies to the Original Work. | ||
| 85 | |||
| 86 | 4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any | ||
| 87 | contributors to the Original Work, nor any of their trademarks or service marks, may | ||
| 88 | be used to endorse or promote products derived from this Original Work without express | ||
| 89 | prior written permission of the Licensor. Nothing in this License shall be deemed to | ||
| 90 | grant any rights to trademarks, copyrights, patents, trade secrets or any other | ||
| 91 | intellectual property of Licensor except as expressly stated herein. No patent | ||
| 92 | license is granted to make, use, sell or offer to sell embodiments of any patent | ||
| 93 | claims other than the licensed claims defined in Section 2. No right is granted to | ||
| 94 | the trademarks of Licensor even if such marks are included in the Original Work. | ||
| 95 | Nothing in this License shall be interpreted to prohibit Licensor from licensing under | ||
| 96 | different terms from this License any Original Work that Licensor otherwise would have | ||
| 97 | a right to license. | ||
| 98 | |||
| 99 | 5) This section intentionally omitted. | ||
| 100 | |||
| 101 | 6) Attribution Rights. You must retain, in the Source Code of any Derivative Works | ||
| 102 | that You create, all copyright, patent or trademark notices from the Source Code of | ||
| 103 | the Original Work, as well as any notices of licensing and any descriptive text | ||
| 104 | identified therein as an "Attribution Notice." You must cause the Source Code for any | ||
| 105 | Derivative Works that You create to carry a prominent Attribution Notice reasonably | ||
| 106 | calculated to inform recipients that You have modified the Original Work. | ||
| 107 | |||
| 108 | 7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the | ||
| 109 | copyright in and to the Original Work and the patent rights granted herein by Licensor | ||
| 110 | are owned by the Licensor or are sublicensed to You under the terms of this License | ||
| 111 | with the permission of the contributor(s) of those copyrights and patent rights. | ||
| 112 | Except as expressly stated in the immediately proceeding sentence, the Original Work | ||
| 113 | is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either | ||
| 114 | express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, | ||
| 115 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE | ||
| 116 | QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an | ||
| 117 | essential part of this License. No license to Original Work is granted hereunder | ||
| 118 | except under this disclaimer. | ||
| 119 | |||
| 120 | 8) Limitation of Liability. Under no circumstances and under no legal theory, whether | ||
| 121 | in tort (including negligence), contract, or otherwise, shall the Licensor be liable | ||
| 122 | to any person for any direct, indirect, special, incidental, or consequential damages | ||
| 123 | of any character arising as a result of this License or the use of the Original Work | ||
| 124 | including, without limitation, damages for loss of goodwill, work stoppage, computer | ||
| 125 | failure or malfunction, or any and all other commercial damages or losses. This | ||
| 126 | limitation of liability shall not apply to liability for death or personal injury | ||
| 127 | resulting from Licensor`s negligence to the extent applicable law prohibits such | ||
| 128 | limitation. Some jurisdictions do not allow the exclusion or limitation of incidental | ||
| 129 | or consequential damages, so this exclusion and limitation may not apply to You. | ||
| 130 | |||
| 131 | 9) Acceptance and Termination. If You distribute copies of the Original Work or a | ||
| 132 | Derivative Work, You must make a reasonable effort under the circumstances to obtain | ||
| 133 | the express assent of recipients to the terms of this License. Nothing else but this | ||
| 134 | License (or another written agreement between Licensor and You) grants You permission | ||
| 135 | to create Derivative Works based upon the Original Work or to exercise any of the | ||
| 136 | rights granted in Section 1 herein, and any attempt to do so except under the terms of | ||
| 137 | this License (or another written agreement between Licensor and You) is expressly | ||
| 138 | prohibited by U.S. copyright law, the equivalent laws of other countries, and by | ||
| 139 | international treaty. Therefore, by exercising any of the rights granted to You in | ||
| 140 | Section 1 herein, You indicate Your acceptance of this License and all of its terms | ||
| 141 | and conditions. | ||
| 142 | |||
| 143 | 10) Termination for Patent Action. This License shall terminate automatically and You | ||
| 144 | may no longer exercise any of the rights granted to You by this License as of the date | ||
| 145 | You commence an action, including a cross-claim or counterclaim, for patent | ||
| 146 | infringement (i) against Licensor with respect to a patent applicable to software or | ||
| 147 | (ii) against any entity with respect to a patent applicable to the Original Work (but | ||
| 148 | excluding combinations of the Original Work with other software or hardware). | ||
| 149 | |||
| 150 | 11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License | ||
| 151 | may be brought only in the courts of a jurisdiction wherein the Licensor resides or in | ||
| 152 | which Licensor conducts its primary business, and under the laws of that jurisdiction | ||
| 153 | excluding its conflict-of-law provisions. The application of the United Nations | ||
| 154 | Convention on Contracts for the International Sale of Goods is expressly excluded. | ||
| 155 | Any use of the Original Work outside the scope of this License or after its | ||
| 156 | termination shall be subject to the requirements and penalties of the U.S. Copyright | ||
| 157 | Act, 17 U.S.C. ¤ 101 et seq., the equivalent laws of other countries, and | ||
| 158 | international treaty. This section shall survive the termination of this License. | ||
| 159 | |||
| 160 | 12) Attorneys Fees. In any action to enforce the terms of this License or seeking | ||
| 161 | damages relating thereto, the prevailing party shall be entitled to recover its costs | ||
| 162 | and expenses, including, without limitation, reasonable attorneys` fees and costs | ||
| 163 | incurred in connection with such action, including any appeal of such action. This | ||
| 164 | section shall survive the termination of this License. | ||
| 165 | |||
| 166 | 13) Miscellaneous. This License represents the complete agreement concerning the | ||
| 167 | subject matter hereof. If any provision of this License is held to be unenforceable, | ||
| 168 | such provision shall be reformed only to the extent necessary to make it enforceable. | ||
| 169 | |||
| 170 | 14) Definition of "You" in This License. "You" throughout this License, whether in | ||
| 171 | upper or lower case, means an individual or a legal entity exercising rights under, | ||
| 172 | and complying with all of the terms of, this License. For legal entities, "You" | ||
| 173 | includes any entity that controls, is controlled by, or is under common control with | ||
| 174 | you. For purposes of this definition, "control" means (i) the power, direct or | ||
| 175 | indirect, to cause the direction or management of such entity, whether by contract or | ||
| 176 | otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, | ||
| 177 | or (iii) beneficial ownership of such entity. | ||
| 178 | |||
| 179 | 15) Right to Use. You may use the Original Work in all ways not otherwise restricted | ||
| 180 | or conditioned by this License or by law, and Licensor promises not to interfere with | ||
| 181 | or be responsible for such uses by You. | ||
| 182 | |||
| 183 | This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved. | ||
| 184 | Permission is hereby granted to copy and distribute this license without modification. | ||
| 185 | This license may not be modified without the express written permission of its | ||
| 186 | copyright owner. | ||
| 187 | |||
| 188 | </programlisting></para></section> | ||
| 189 | |||
| 190 | |||
| 191 | </section> | ||
| 192 | <section id="pd_licenses_packages"> | ||
| 193 | <title>License statements for packages with PD license</title> | ||
| 194 | <para> | ||
| 195 | This section contains license texts extracted for packages that are declared | ||
| 196 | to be entirely or partly public domain. | ||
| 197 | </para> | ||
| 198 | <section id="pd-byacc-20140422"> | ||
| 199 | <title>byacc, version 20140422</title> | ||
| 200 | <section id="pd-byacc-20140422--1"> | ||
| 201 | <title>Text 1</title> | ||
| 202 | <programlisting> | ||
| 203 | Upstream source http://dickey.his.com/byacc/byacc.html | ||
| 204 | |||
| 205 | Berkeley Yacc is in the public domain; changes made to it by the current | ||
| 206 | maintainer are likewise unrestricted. That applies to most of the files. | ||
| 207 | A few files (currently those related to autoconf scripting) have other | ||
| 208 | licenses as noted here. | ||
| 209 | |||
| 210 | Current byacc upstream maintainer: Thomas Dickey <dickey@invisible-island.net> | ||
| 211 | |||
| 212 | Public domain notice and no warranty: | ||
| 213 | ------------------------------------------------------------------------------- | ||
| 214 | Berkeley Yacc is an LALR(1) parser generator. Berkeley Yacc has been made | ||
| 215 | as compatible as possible with AT&T Yacc. Berkeley Yacc can accept any input | ||
| 216 | specification that conforms to the AT&T Yacc documentation. Specifications | ||
| 217 | that take advantage of undocumented features of AT&T Yacc will probably be | ||
| 218 | rejected. | ||
| 219 | |||
| 220 | Berkeley Yacc is distributed with no warranty whatever. The code | ||
| 221 | is certain to contain errors. Neither the author nor any contributor | ||
| 222 | takes responsibility for any consequences of its use. | ||
| 223 | |||
| 224 | Berkeley Yacc is in the public domain. The data structures and algorithms | ||
| 225 | used in Berkeley Yacc are all either taken from documents available to the | ||
| 226 | general public or are inventions of the author. Anyone may freely distribute | ||
| 227 | source or binary forms of Berkeley Yacc whether unchanged or modified. | ||
| 228 | Distributers may charge whatever fees they can obtain for Berkeley Yacc. | ||
| 229 | Programs generated by Berkeley Yacc may be distributed freely. | ||
| 230 | |||
| 231 | Please report bugs to | ||
| 232 | |||
| 233 | robert.corbett@eng.Sun.COM | ||
| 234 | |||
| 235 | Include a small example if possible. Please include the banner string from | ||
| 236 | skeleton.c with the bug report. Do not expect rapid responses. | ||
| 237 | ------------------------------------------------------------------------------- | ||
| 238 | |||
| 239 | Files: aclocal.m4 | ||
| 240 | Licence: other-BSD | ||
| 241 | Copyright: 2004-2011,2012 by Thomas E. Dickey | ||
| 242 | Permission is hereby granted, free of charge, to any person obtaining a | ||
| 243 | copy of this software and associated documentation files (the | ||
| 244 | "Software"), to deal in the Software without restriction, including | ||
| 245 | without limitation the rights to use, copy, modify, merge, publish, | ||
| 246 | distribute, distribute with modifications, sublicense, and/or sell | ||
| 247 | copies of the Software, and to permit persons to whom the Software is | ||
| 248 | furnished to do so, subject to the following conditions: | ||
| 249 | |||
| 250 | The above copyright notice and this permission notice shall be included | ||
| 251 | in all copies or portions of the Software. | ||
| 252 | |||
| 253 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
| 254 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 255 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
| 256 | IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||
| 257 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | ||
| 258 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR | ||
| 259 | THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 260 | |||
| 261 | Except as contained in this notice, the name(s) of the above copyright | ||
| 262 | holders shall not be used in advertising or otherwise to promote the | ||
| 263 | sale, use or other dealings in this Software without prior written | ||
| 264 | authorization. | ||
| 265 | |||
| 266 | Files: install-sh | ||
| 267 | Copyright: 1994 X Consortium | ||
| 268 | Licence: other-BSD | ||
| 269 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 270 | of this software and associated documentation files (the "Software"), to | ||
| 271 | deal in the Software without restriction, including without limitation the | ||
| 272 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||
| 273 | sell copies of the Software, and to permit persons to whom the Software is | ||
| 274 | furnished to do so, subject to the following conditions: | ||
| 275 | |||
| 276 | The above copyright notice and this permission notice shall be included in | ||
| 277 | all copies or substantial portions of the Software. | ||
| 278 | |||
| 279 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 280 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 281 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 282 | X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
| 283 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- | ||
| 284 | TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 285 | |||
| 286 | Except as contained in this notice, the name of the X Consortium shall not | ||
| 287 | be used in advertising or otherwise to promote the sale, use or other deal- | ||
| 288 | ings in this Software without prior written authorization from the X Consor- | ||
| 289 | tium. | ||
| 290 | |||
| 291 | FSF changes to this file are in the public domain. | ||
| 292 | |||
| 293 | Calling this script install-sh is preferred over install.sh, to prevent | ||
| 294 | `make' implicit rules from creating a file called install from it | ||
| 295 | when there is no Makefile. | ||
| 296 | |||
| 297 | This script is compatible with the BSD install script, but was written | ||
| 298 | from scratch. It can only install one file at a time, a restriction | ||
| 299 | shared with many OS's install programs. | ||
| 300 | |||
| 301 | Files: debian/* | ||
| 302 | Copyright: 2012 Thomas E. Dickey | ||
| 303 | Licence: other-BSD | ||
| 304 | Permission to use, copy, modify, and distribute this software and its | ||
| 305 | documentation for any purpose and without fee is hereby granted, | ||
| 306 | provided that the above copyright notice appear in all copies and that | ||
| 307 | both that copyright notice and this permission notice appear in | ||
| 308 | supporting documentation, and that the name of the above listed | ||
| 309 | copyright holder(s) not be used in advertising or publicity pertaining | ||
| 310 | to distribution of the software without specific, written prior | ||
| 311 | permission. | ||
| 312 | |||
| 313 | THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD | ||
| 314 | TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | ||
| 315 | AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE | ||
| 316 | LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 317 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 318 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| 319 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 320 | |||
| 321 | On Debian systems, the complete text of the GNU General | ||
| 322 | Public License can be found in '/usr/share/common-licenses/GPL-2' | ||
| 323 | </programlisting> | ||
| 324 | </section> | ||
| 325 | </section> | ||
| 326 | </section> | ||
| 327 | </chapter> | ||
diff --git a/doc/book-enea-linux-open-source/swcomp.mk b/doc/book-enea-linux-open-source/swcomp.mk new file mode 100644 index 0000000..d978b48 --- /dev/null +++ b/doc/book-enea-linux-open-source/swcomp.mk | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | # Component build specification | ||
| 2 | |||
| 3 | # Version of THIS book | ||
| 4 | BOOK_VER ?= $(REL_VER)-dev | ||
| 5 | |||
| 6 | DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) | ||
| 7 | |||
| 8 | BOOKPACKAGES := book-enea-linux-open-source | ||
| 9 | BOOKDESC_$(BOOKPACKAGES) := "Enea Linux Open Source Report" | ||
| 10 | BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) | ||
diff --git a/doc/book-enea-linux-release-info/doc/about_release.xml b/doc/book-enea-linux-release-info/doc/about_release.xml new file mode 100644 index 0000000..15d676c --- /dev/null +++ b/doc/book-enea-linux-release-info/doc/about_release.xml | |||
| @@ -0,0 +1,469 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="relinfo-about-release"> | ||
| 5 | <title>About This Release</title> | ||
| 6 | |||
| 7 | <para>This release of Enea Linux <xi:include | ||
| 8 | href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 9 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 10 | xpointer="element(EneaLinux_REL_VER/1)" /> provides a publicly available | ||
| 11 | Enea Linux distribution for a selected set of targets. This release is | ||
| 12 | generated from the yocto distribution using the branch <xi:include | ||
| 13 | href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 14 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 15 | xpointer="element(Yocto_NAME/1)" />.<remark>INFO Yocto distro autopicked | ||
| 16 | from poky.ent as DISTRO_NAME_NO_CAP</remark></para> | ||
| 17 | |||
| 18 | <section id="relinfo-provided-contents"> | ||
| 19 | <title>Provided Contents</title> | ||
| 20 | |||
| 21 | <informaltable> | ||
| 22 | <tgroup cols="1"> | ||
| 23 | <thead> | ||
| 24 | <row> | ||
| 25 | <entry>Item</entry> | ||
| 26 | </row> | ||
| 27 | </thead> | ||
| 28 | |||
| 29 | <tbody> | ||
| 30 | <row> | ||
| 31 | <entry><para>Source code, recipes, scripts, etc for building the | ||
| 32 | distro and SDKs. See <xref | ||
| 33 | linkend="relinfo-getting-enea-linux" />.</para></entry> | ||
| 34 | </row> | ||
| 35 | |||
| 36 | <row> | ||
| 37 | <entry><para>Documentation. See <xref | ||
| 38 | linkend="relinfo-documentation" />.</para></entry> | ||
| 39 | </row> | ||
| 40 | |||
| 41 | <row> | ||
| 42 | <entry>Pre-built binaries (kernel image, dtb & rootfs)</entry> | ||
| 43 | </row> | ||
| 44 | |||
| 45 | <row> | ||
| 46 | <entry>Pre-built packages (RPM)</entry> | ||
| 47 | </row> | ||
| 48 | |||
| 49 | <row> | ||
| 50 | <entry>Eclipse executable plus development tools for command line | ||
| 51 | and Eclipse</entry> | ||
| 52 | </row> | ||
| 53 | </tbody> | ||
| 54 | </tgroup> | ||
| 55 | </informaltable> | ||
| 56 | </section> | ||
| 57 | |||
| 58 | <section id="relinfo-supported-targets"> | ||
| 59 | <title>Supported Targets</title> | ||
| 60 | |||
| 61 | <informaltable> | ||
| 62 | <tgroup cols="3"> | ||
| 63 | <colspec align="left" colname="c1" colwidth="1*" /> | ||
| 64 | |||
| 65 | <colspec align="left" colname="c2" colwidth="1*" /> | ||
| 66 | |||
| 67 | <colspec align="left" colname="c3" colwidth="1*" /> | ||
| 68 | |||
| 69 | <thead valign="bottom"> | ||
| 70 | <row> | ||
| 71 | <entry>Target</entry> | ||
| 72 | |||
| 73 | <entry>Architecture</entry> | ||
| 74 | |||
| 75 | <entry>Specification</entry> | ||
| 76 | </row> | ||
| 77 | </thead> | ||
| 78 | |||
| 79 | <tbody> | ||
| 80 | <row> | ||
| 81 | <entry>P2041RDB</entry> | ||
| 82 | |||
| 83 | <entry><para>Power, e500mc</para></entry> | ||
| 84 | |||
| 85 | <entry>See <ulink | ||
| 86 | url="http://www.nxp.com/products/microcontrollers-and-processors/power-architecture-processors/qoriq-power-architecture-processors/p2041-qoriq-reference-design-board:RDP2041BOARD">link | ||
| 87 | to NXP's datasheet</ulink></entry> | ||
| 88 | </row> | ||
| 89 | </tbody> | ||
| 90 | </tgroup> | ||
| 91 | </informaltable> | ||
| 92 | |||
| 93 | <para><remark>FIXME should autocreate a list of targets, hopefully from | ||
| 94 | the generated README file, by using MAKEFILE to update pardoc-distro | ||
| 95 | AND/OR also auto-create an XML file to include here with description text | ||
| 96 | for each target etc..</remark></para> | ||
| 97 | </section> | ||
| 98 | |||
| 99 | <section id="relinfo-supported-host-environment"> | ||
| 100 | <title>Supported Host Environment</title> | ||
| 101 | |||
| 102 | <itemizedlist> | ||
| 103 | <listitem> | ||
| 104 | <para>Ubuntu 14.04 LTS, 64-bit<remark>was | ||
| 105 | EneaLinux_HOST_VER</remark></para> | ||
| 106 | </listitem> | ||
| 107 | </itemizedlist> | ||
| 108 | </section> | ||
| 109 | |||
| 110 | <section id="relinfo-supported-versions"> | ||
| 111 | <title>Supported Versions</title> | ||
| 112 | |||
| 113 | <informaltable> | ||
| 114 | <tgroup cols="2"> | ||
| 115 | <thead valign="bottom"> | ||
| 116 | <row> | ||
| 117 | <entry>Item</entry> | ||
| 118 | |||
| 119 | <entry>Version</entry> | ||
| 120 | </row> | ||
| 121 | </thead> | ||
| 122 | |||
| 123 | <tbody> | ||
| 124 | <row> | ||
| 125 | <entry><para>Yocto</para></entry> | ||
| 126 | |||
| 127 | <entry><xi:include href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 128 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 129 | xpointer="element(Yocto_VER/1)" /> (<xi:include | ||
| 130 | href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 131 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 132 | xpointer="element(Yocto_NAME/1)" />)<remark>INFO: Auto-fetched | ||
| 133 | from poky.ent via pardoc-distro.xml</remark></entry> | ||
| 134 | </row> | ||
| 135 | |||
| 136 | <row> | ||
| 137 | <entry>Poky source</entry> | ||
| 138 | |||
| 139 | <entry><xi:include href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 140 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 141 | xpointer="element(Poky_VER/1)" /><remark>INFO: Auto-fetched from | ||
| 142 | poky.ent via pardoc-distro.xml</remark></entry> | ||
| 143 | </row> | ||
| 144 | |||
| 145 | <row> | ||
| 146 | <entry>GCC version</entry> | ||
| 147 | |||
| 148 | <entry>5.3<remark>was EneaLinux_GCC_VER Not in poky.ent | ||
| 149 | </remark></entry> | ||
| 150 | </row> | ||
| 151 | |||
| 152 | <row> | ||
| 153 | <entry>Linux kernel version<remark>was EneaLinux_KERNEL_VER Not in | ||
| 154 | poky.ent</remark></entry> | ||
| 155 | |||
| 156 | <entry><para>3.12 (P2041RDB & LS1021a-IoT)</para><para>4.4 | ||
| 157 | (QEmu targets)</para></entry> | ||
| 158 | </row> | ||
| 159 | |||
| 160 | <row> | ||
| 161 | <entry>Eclipse</entry> | ||
| 162 | |||
| 163 | <entry>4.5 (Mars)<remark>was Eclipse_VER and was Eclipse_NAME Not | ||
| 164 | in poky.ent</remark></entry> | ||
| 165 | </row> | ||
| 166 | |||
| 167 | <row> | ||
| 168 | <entry>Packages</entry> | ||
| 169 | |||
| 170 | <entry>See <xref linkend="relinfo-packages" /></entry> | ||
| 171 | </row> | ||
| 172 | </tbody> | ||
| 173 | </tgroup> | ||
| 174 | </informaltable> | ||
| 175 | </section> | ||
| 176 | |||
| 177 | <section id="relinfo-packages"> | ||
| 178 | <title>Provided Packages</title> | ||
| 179 | |||
| 180 | <para><informaltable> | ||
| 181 | <tgroup cols="2"> | ||
| 182 | <colspec align="left" colname="c1" colwidth="3*" /> | ||
| 183 | |||
| 184 | <colspec align="left" colname="c2" colwidth="6*" /> | ||
| 185 | |||
| 186 | <thead valign="bottom"> | ||
| 187 | <row> | ||
| 188 | <entry>Type of Packages and Provider</entry> | ||
| 189 | |||
| 190 | <entry>Reference</entry> | ||
| 191 | </row> | ||
| 192 | </thead> | ||
| 193 | |||
| 194 | <tbody> | ||
| 195 | <row> | ||
| 196 | <entry>Packages in Enea Linux images</entry> | ||
| 197 | |||
| 198 | <entry><para>See the <olink | ||
| 199 | targetdoc="book_enea_linux_open_source" | ||
| 200 | targetptr="book_enea_linux_open_source"><trademark | ||
| 201 | class="registered">Enea</trademark> Linux Open Source | ||
| 202 | Report</olink></para></entry> | ||
| 203 | </row> | ||
| 204 | |||
| 205 | <row> | ||
| 206 | <entry>Tools in the Eclipse tarball provided with Enea | ||
| 207 | Linux</entry> | ||
| 208 | |||
| 209 | <entry><para>See the <olink | ||
| 210 | targetdoc="book_enea_linux_eclipse_open_source" | ||
| 211 | targetptr="book_enea_linux_eclipse_open_source"><trademark | ||
| 212 | class="registered">Enea</trademark> Linux Eclipse Open Source | ||
| 213 | Report</olink></para></entry> | ||
| 214 | </row> | ||
| 215 | |||
| 216 | <row> | ||
| 217 | <entry>Packages provided by Yocto</entry> | ||
| 218 | |||
| 219 | <entry><para>See the Yocto "Release Notes" <xi:include | ||
| 220 | href="../../docsrc_common/pardoc-distro.xml" | ||
| 221 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 222 | xpointer="element(ULINK_YOCTO_RELEASE_NOTES/1)" /></para></entry> | ||
| 223 | </row> | ||
| 224 | </tbody> | ||
| 225 | </tgroup> | ||
| 226 | </informaltable></para> | ||
| 227 | </section> | ||
| 228 | |||
| 229 | <section id="relinfo-provided-sdk"> | ||
| 230 | <title>Provided Toolchain/s (SDK)</title> | ||
| 231 | |||
| 232 | <para>The SDK contains toolchains supporting cross-compilation of | ||
| 233 | applications for the targets on an x86_64 host. See the <olink | ||
| 234 | targetdoc="book_enea_linux_app_dev_guide" | ||
| 235 | targetptr="book_enea_linux_app_dev_guide"><trademark | ||
| 236 | class="registered">Enea</trademark> Linux Application Development | ||
| 237 | Guide</olink> for information on how to build and install a | ||
| 238 | toolchain.</para> | ||
| 239 | </section> | ||
| 240 | |||
| 241 | <section id="relinfo-provided-drivers"> | ||
| 242 | <title>Supported Drivers</title> | ||
| 243 | |||
| 244 | <informaltable> | ||
| 245 | <tgroup cols="2"> | ||
| 246 | <colspec align="left" colwidth="3*" /> | ||
| 247 | |||
| 248 | <colspec align="center" colwidth="2*" /> | ||
| 249 | |||
| 250 | <thead> | ||
| 251 | <row> | ||
| 252 | <entry>Driver</entry> | ||
| 253 | |||
| 254 | <entry>P2041RDB</entry> | ||
| 255 | </row> | ||
| 256 | </thead> | ||
| 257 | |||
| 258 | <tbody> | ||
| 259 | <row> | ||
| 260 | <entry>Ethernet</entry> | ||
| 261 | |||
| 262 | <entry>X</entry> | ||
| 263 | </row> | ||
| 264 | |||
| 265 | <row> | ||
| 266 | <entry>I2C</entry> | ||
| 267 | |||
| 268 | <entry>X</entry> | ||
| 269 | </row> | ||
| 270 | |||
| 271 | <row> | ||
| 272 | <entry>SPI</entry> | ||
| 273 | |||
| 274 | <entry>X</entry> | ||
| 275 | </row> | ||
| 276 | |||
| 277 | <row> | ||
| 278 | <entry>PCI Express</entry> | ||
| 279 | |||
| 280 | <entry>X</entry> | ||
| 281 | </row> | ||
| 282 | |||
| 283 | <row> | ||
| 284 | <entry>USB</entry> | ||
| 285 | |||
| 286 | <entry>X</entry> | ||
| 287 | </row> | ||
| 288 | |||
| 289 | <row> | ||
| 290 | <entry>Flash</entry> | ||
| 291 | |||
| 292 | <entry>X</entry> | ||
| 293 | </row> | ||
| 294 | |||
| 295 | <row> | ||
| 296 | <entry>SD/SDHC/SDXC</entry> | ||
| 297 | |||
| 298 | <entry>X</entry> | ||
| 299 | </row> | ||
| 300 | |||
| 301 | <row> | ||
| 302 | <entry>RTC</entry> | ||
| 303 | |||
| 304 | <entry>X</entry> | ||
| 305 | </row> | ||
| 306 | </tbody> | ||
| 307 | </tgroup> | ||
| 308 | </informaltable> | ||
| 309 | </section> | ||
| 310 | |||
| 311 | <section id="relinfo-documentation"> | ||
| 312 | <title>Provided Documentation</title> | ||
| 313 | |||
| 314 | <para>The following Enea Linux manuals are available:</para> | ||
| 315 | |||
| 316 | <itemizedlist spacing="compact"> | ||
| 317 | <listitem> | ||
| 318 | <para>README.htm - top page of the documentation<remark>FIXME Needs to | ||
| 319 | be fixed (= created and added to make dist). OR remove this | ||
| 320 | line?</remark></para> | ||
| 321 | </listitem> | ||
| 322 | |||
| 323 | <listitem> | ||
| 324 | <para>README - text files describing various details like build- and | ||
| 325 | boot-commands - the commands are also seen in <xref | ||
| 326 | linkend="relinfo-build-boot" />.</para> | ||
| 327 | </listitem> | ||
| 328 | |||
| 329 | <listitem> | ||
| 330 | <para><trademark class="registered">Enea</trademark> Linux Release | ||
| 331 | Information (this document)</para> | ||
| 332 | </listitem> | ||
| 333 | |||
| 334 | <listitem> | ||
| 335 | <para><olink targetdoc="book_enea_linux_open_source" | ||
| 336 | targetptr="book_enea_linux_open_source"><trademark | ||
| 337 | class="registered">Enea</trademark> Linux Open Source | ||
| 338 | Report</olink></para> | ||
| 339 | </listitem> | ||
| 340 | |||
| 341 | <listitem> | ||
| 342 | <para><olink targetdoc="book_enea_linux_eclipse_open_source" | ||
| 343 | targetptr="book_enea_linux_eclipse_open_source"><trademark | ||
| 344 | class="registered">Enea</trademark> Linux Eclipse Open Source | ||
| 345 | Report</olink></para> | ||
| 346 | </listitem> | ||
| 347 | |||
| 348 | <listitem> | ||
| 349 | <para><olink targetdoc="book_enea_linux_platforms_dev_guide" | ||
| 350 | targetptr="book_enea_linux_platforms_dev_guide"><trademark | ||
| 351 | class="registered">Enea</trademark> Linux Platforms Development | ||
| 352 | Guide</olink> - Generic version included in this distribution</para> | ||
| 353 | </listitem> | ||
| 354 | |||
| 355 | <listitem> | ||
| 356 | <para><olink targetdoc="book_enea_linux_app_dev_guide" | ||
| 357 | targetptr="book_enea_linux_app_dev_guide"><trademark | ||
| 358 | class="registered">Enea</trademark> Linux Application Development | ||
| 359 | Guide</olink> - Generic version included in this distribution</para> | ||
| 360 | </listitem> | ||
| 361 | |||
| 362 | <listitem> | ||
| 363 | <para><emphasis role="bold"><trademark | ||
| 364 | class="registered">Enea</trademark> Linux Real-Time Guide</emphasis> | ||
| 365 | can be read at <ulink | ||
| 366 | url="http://linuxrealtime.org">http://linuxrealtime.org</ulink>.</para> | ||
| 367 | </listitem> | ||
| 368 | </itemizedlist> | ||
| 369 | |||
| 370 | <para>In addition to the local versions of the generic guides reached via | ||
| 371 | the above links, you can also read the latest versions via the direct | ||
| 372 | online links below. When accessing them via the links below, you need to | ||
| 373 | logon to the portal.enea.com. These online versions may be | ||
| 374 | updated/improved asynchronously with the releases.<remark>INFO: Should be | ||
| 375 | accessable to all customer's with Enea Linux 6 or later</remark> | ||
| 376 | <remark>INFO: On portal, generic guides can NOT link TO the distro | ||
| 377 | specific guides, but the distro specific guides can link to the generic - | ||
| 378 | HOWEVER these links (found above) will go to the versions inside the | ||
| 379 | delivery, instead of to the latest versions.</remark></para> | ||
| 380 | |||
| 381 | <itemizedlist spacing="compact"> | ||
| 382 | <listitem> | ||
| 383 | <para><ulink | ||
| 384 | url="https://portal.enea.com/wp-content/uploads/_mediavault/book-enea-linux-application-dev-guide.pdf">Enea | ||
| 385 | Linux Application Development Guide</ulink> - Latest generic version | ||
| 386 | online</para> | ||
| 387 | </listitem> | ||
| 388 | |||
| 389 | <listitem> | ||
| 390 | <para><ulink | ||
| 391 | url="https://portal.enea.com/wp-content/uploads/_mediavault/book-enea-linux-platforms-dev-guide.pdf">Enea | ||
| 392 | Linux Platforms Development Guide</ulink> - Latest generic version | ||
| 393 | online</para> | ||
| 394 | </listitem> | ||
| 395 | </itemizedlist> | ||
| 396 | |||
| 397 | <para>How to use Eclipse is described inside the Enea Linux user's guides. | ||
| 398 | Eclipse's own documentation is available in directory | ||
| 399 | <filename>eclipse/readme</filename>.</para> | ||
| 400 | </section> | ||
| 401 | |||
| 402 | <section id="relinfo-provided-other"> | ||
| 403 | <title>Other Provided Functionality</title> | ||
| 404 | |||
| 405 | <para>The functionality in a distribution depends on included packages in | ||
| 406 | the default image. In addition to the supported features, the following | ||
| 407 | functionality is also available, among other:</para> | ||
| 408 | |||
| 409 | <itemizedlist spacing="compact"> | ||
| 410 | <listitem> | ||
| 411 | <para>On target T4240RDB:</para> | ||
| 412 | |||
| 413 | <itemizedlist spacing="compact"> | ||
| 414 | <listitem> | ||
| 415 | <para>SRIO support in user space (NWRITE, NREAD, msg, | ||
| 416 | doorbell)</para> | ||
| 417 | </listitem> | ||
| 418 | |||
| 419 | <listitem> | ||
| 420 | <para>USDPAA</para> | ||
| 421 | </listitem> | ||
| 422 | </itemizedlist> | ||
| 423 | </listitem> | ||
| 424 | |||
| 425 | <listitem> | ||
| 426 | <para>Smart Package Management</para> | ||
| 427 | </listitem> | ||
| 428 | |||
| 429 | <listitem> | ||
| 430 | <para>Eclipse ADT (excl. QEMU) and plug-ins for application | ||
| 431 | development: LTTng, Perf, LatencyTOP, PowerTOP, SystemTap</para> | ||
| 432 | </listitem> | ||
| 433 | </itemizedlist> | ||
| 434 | </section> | ||
| 435 | |||
| 436 | <section id="relinfo-security-fixes"> | ||
| 437 | <title>Security Fixes</title> | ||
| 438 | |||
| 439 | <para>See <ulink | ||
| 440 | url="http://www.enea.com/solutions/Enea-Linux/Security/CVEs-list">List of | ||
| 441 | CVEs addressed in Enea Linux</ulink> and <ulink | ||
| 442 | url="http://www.enea.com/solutions/Enea-Linux/Security#how-to-get-security-updates">How | ||
| 443 | to Get Security Updates</ulink>.</para> | ||
| 444 | </section> | ||
| 445 | |||
| 446 | <section id="relinfo-excluded"> | ||
| 447 | <title>Intentional Limitations</title> | ||
| 448 | |||
| 449 | <para>The following functionality supported in other Enea Linux releases | ||
| 450 | has been excluded in this release:<itemizedlist spacing="compact"> | ||
| 451 | <listitem> | ||
| 452 | <para>Eclipse plug-ins for image creation (HOB)</para> | ||
| 453 | </listitem> | ||
| 454 | |||
| 455 | <listitem> | ||
| 456 | <para>Networking features: DPDK vSwitch, DPDK</para> | ||
| 457 | </listitem> | ||
| 458 | |||
| 459 | <listitem> | ||
| 460 | <para>Real-time features: Fully Preemptible Kernel (FPK) from the | ||
| 461 | PREEMPT_RT patch</para> | ||
| 462 | </listitem> | ||
| 463 | |||
| 464 | <listitem> | ||
| 465 | <para>Memory features: NUMA</para> | ||
| 466 | </listitem> | ||
| 467 | </itemizedlist></para> | ||
| 468 | </section> | ||
| 469 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-linux-release-info/doc/book.xml b/doc/book-enea-linux-release-info/doc/book.xml new file mode 100644 index 0000000..d1226b9 --- /dev/null +++ b/doc/book-enea-linux-release-info/doc/book.xml | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ | ||
| 4 | ]> | ||
| 5 | <book id="book_enea_linux_release_info"> | ||
| 6 | <title><trademark class="registered">Enea</trademark> Linux Release Information</title> | ||
| 7 | <subtitle>Release Version | ||
| 8 | <xi:include href="../../s_docsrc_common/pardoc-distro.xml" xpointer="element(EneaLinux_REL_VER/1)" | ||
| 9 | xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> | ||
| 10 | <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 11 | <xi:include href="about_release.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 12 | <xi:include href="prerequisites.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 13 | <xi:include href="getting_enea_linux.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 14 | <xi:include href="build_boot_generated.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 15 | <xi:include href="main_changes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 16 | <xi:include href="known_bugs_and_limitations.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 17 | <xi:include href="../../s_docbuild/template/docsrc_common/contacting_enea_enea_linux.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 18 | </book> | ||
diff --git a/doc/book-enea-linux-release-info/doc/build_boot_template.xml b/doc/book-enea-linux-release-info/doc/build_boot_template.xml new file mode 100644 index 0000000..653f943 --- /dev/null +++ b/doc/book-enea-linux-release-info/doc/build_boot_template.xml | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="relinfo-build-boot"> | ||
| 5 | <title>Target Specific Instructions</title> | ||
| 6 | |||
| 7 | <para>If the source has been fetched (<xref | ||
| 8 | linkend="relinfo-getting-source" />), there will be a target specific README | ||
| 9 | file containing the build and boot instructions. To make it easier for the | ||
| 10 | reader, the contents of these build/boot instruction have been extracted | ||
| 11 | into the following sections.</para> | ||
| 12 | |||
| 13 | <para><remark>NOTE: Only EDIT THE TEMPLATE FILE! A new build_boot.xml file | ||
| 14 | is created from the template and sections are added below automatically from | ||
| 15 | the README files for each target when building the book! Only in the | ||
| 16 | template file you see a line below with SCRIPT_...._HERE and the text | ||
| 17 | telling that this is a template file.</remark></para> | ||
| 18 | |||
| 19 | <para>SCRIPT_INCLUDES_BUILD_BOOT_SECTIONS_HERE</para> | ||
| 20 | |||
| 21 | <para><emphasis role="bold">This is a template file which you can edit. When | ||
| 22 | the book is built, a new XML chapter file is created where the above part of | ||
| 23 | this file is copied to the new XML file and all from the line above is | ||
| 24 | replaced automatically by build and boot sections from the README | ||
| 25 | files!</emphasis></para> | ||
| 26 | </chapter> \ No newline at end of file | ||
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 new file mode 100644 index 0000000..f25c1a5 --- /dev/null +++ b/doc/book-enea-linux-release-info/doc/getting_enea_linux.xml | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="relinfo-getting-enea-linux"> | ||
| 5 | <title>Getting Enea Linux</title> | ||
| 6 | |||
| 7 | <section id="relinfo-getting-pre-built-images"> | ||
| 8 | <title>Getting Pre-built Binaries</title> | ||
| 9 | |||
| 10 | <para>Application developers will download pre-complied images from the | ||
| 11 | Enea Portal or will receive prebuilt images from the platform developers. | ||
| 12 | For further information on this see <olink | ||
| 13 | targetdoc="book_enea_linux_app_dev_guide" | ||
| 14 | targetptr="book_enea_linux_app_dev_guide">Enea Linux Application | ||
| 15 | Development Guide</olink>.</para> | ||
| 16 | </section> | ||
| 17 | |||
| 18 | <section id="relinfo-getting-source"> | ||
| 19 | <title>Getting the Source</title> | ||
| 20 | |||
| 21 | <para>The source for this Enea Linux release is available for cloning from | ||
| 22 | a set of Git repositories. To manage the different repositories, Google's | ||
| 23 | repo tool is used. The basic idea is to store a list with (repo-URL, | ||
| 24 | version) tuples in a separate file, known as the manifest. The repo tool | ||
| 25 | is then used to traverse the list and clone the specified versions of the | ||
| 26 | repositories. See <ulink | ||
| 27 | url="https://code.google.com/p/git-repo/">https://code.google.com/p/git-repo/</ulink> | ||
| 28 | for more info.</para> | ||
| 29 | |||
| 30 | <para>To use repo tool to download the source for Enea Linux, follow the | ||
| 31 | steps below:</para> | ||
| 32 | |||
| 33 | <orderedlist> | ||
| 34 | <listitem> | ||
| 35 | <para>Make sure that the repo tool is installed. If not, follow the | ||
| 36 | instructions below:</para> | ||
| 37 | |||
| 38 | <para><programlisting>$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
| 39 | $ chmod a+x ~/bin/repo</programlisting>The instruction assumes that ~/bin | ||
| 40 | exists and is included in the PATH variable.</para> | ||
| 41 | </listitem> | ||
| 42 | |||
| 43 | <listitem> | ||
| 44 | <para>Use the repo tool to download the source:<remark>FIXME: Before | ||
| 45 | final release the tag for the manifest must be set in Makefile as | ||
| 46 | MANIFESTHASH, typically something like refs/tags/EL6. Before that, a | ||
| 47 | generic branch name is used instead, e.g. krogoth in | ||
| 48 | Makefile</remark></para> | ||
| 49 | |||
| 50 | <para><programlisting>$ mkdir enea-linux | ||
| 51 | $ cd enea-linux | ||
| 52 | $ repo init -u <xi:include href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 53 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 54 | xpointer="element(EneaLinux_MANIFESTURL/1)" /> \ | ||
| 55 | -b <xi:include href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 56 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 57 | xpointer="element(EneaLinux_MANIFESTHASH/1)" /> \ | ||
| 58 | -m <manifest file> | ||
| 59 | $ repo sync</programlisting></para> | ||
| 60 | |||
| 61 | <para>The parameter <manifest file> depends on the target. See | ||
| 62 | the following table:</para> | ||
| 63 | |||
| 64 | <informaltable> | ||
| 65 | <tgroup cols="2"> | ||
| 66 | <thead> | ||
| 67 | <row> | ||
| 68 | <entry align="center">Target</entry> | ||
| 69 | |||
| 70 | <entry align="center">Manifest file</entry> | ||
| 71 | </row> | ||
| 72 | </thead> | ||
| 73 | |||
| 74 | <tbody> | ||
| 75 | <row> | ||
| 76 | <entry>P2041RDB</entry> | ||
| 77 | |||
| 78 | <entry><para>p2041rdb/default.xml</para></entry> | ||
| 79 | </row> | ||
| 80 | </tbody> | ||
| 81 | </tgroup> | ||
| 82 | </informaltable> | ||
| 83 | </listitem> | ||
| 84 | </orderedlist> | ||
| 85 | |||
| 86 | <para>The source code is now downloaded. Current directory will contain a | ||
| 87 | README file with instructions on how to build the distro and boot the | ||
| 88 | target. For convenience, these instructions are also copied into this | ||
| 89 | document. See <xref linkend="relinfo-build-boot" />.</para> | ||
| 90 | |||
| 91 | <para>It is not necessary to explicitly clone the manifest repository | ||
| 92 | since that is done automatically by the repo tool. To see the current | ||
| 93 | manifest, e.g. to get a list of the repositories, use the following | ||
| 94 | command:</para> | ||
| 95 | |||
| 96 | <programlisting>$ repo manifest</programlisting> | ||
| 97 | |||
| 98 | <remark>The UG should be updated with instructions on how to add | ||
| 99 | customisations. That section should also contain some more info about the | ||
| 100 | manifest: The manifest templates, using a branch instead of the tag EL6, | ||
| 101 | ... When this is done a reference from here should be added.</remark> | ||
| 102 | </section> | ||
| 103 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-linux-release-info/doc/known_bugs_and_limitations.xml b/doc/book-enea-linux-release-info/doc/known_bugs_and_limitations.xml new file mode 100644 index 0000000..5058404 --- /dev/null +++ b/doc/book-enea-linux-release-info/doc/known_bugs_and_limitations.xml | |||
| @@ -0,0 +1,453 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="bugs-limitations"> | ||
| 5 | <title>Known Problems in This Release</title> | ||
| 6 | |||
| 7 | <para>The open source projects are continuously working on correcting | ||
| 8 | reported problems. Corrections to bugs detected by Enea have been | ||
| 9 | upstreamed, and the corrections been included in Enea Linux regardless of | ||
| 10 | when they will be included by the open source project. Remaining issues are | ||
| 11 | listed below, and workarounds to some of the problems are described in | ||
| 12 | chapter <emphasis>Troubleshooting</emphasis> in the <olink | ||
| 13 | targetdoc="book_enea_linux_users_guide" | ||
| 14 | targetptr="book_enea_linux_users_guide"><trademark | ||
| 15 | class="registered">Enea</trademark> Linux User's Guide</olink>.</para> | ||
| 16 | |||
| 17 | <section id="bugs-limitations-yocto"> | ||
| 18 | <title>Yocto</title> | ||
| 19 | |||
| 20 | <para>Open source projects often use bug databases for much more than | ||
| 21 | tracking bugs. The Yocto Project's Bugzilla database also functions as a | ||
| 22 | feature tracking program, both for the current release and for future | ||
| 23 | releases, and a way to track non-software issues, like documentation | ||
| 24 | changes.</para> | ||
| 25 | |||
| 26 | <para>The following page shows a sampling of the database: <ulink | ||
| 27 | url="https://www.yoctoproject.org/tools-resources/bugs">https://www.yoctoproject.org/tools-resources/bugs</ulink>.</para> | ||
| 28 | |||
| 29 | <para>For the full database, visit <ulink | ||
| 30 | url="https://bugzilla.yoctoproject.org">https://bugzilla.yoctoproject.org</ulink>.</para> | ||
| 31 | </section> | ||
| 32 | |||
| 33 | <section id="bugs-limitations-sdk"> | ||
| 34 | <title>Toolchain / SDK</title> | ||
| 35 | |||
| 36 | <itemizedlist spacing="compact"> | ||
| 37 | <listitem> | ||
| 38 | <para>Building the kernel might fail if GNU Make of version 3.82 has | ||
| 39 | been installed on the host. The mandatory recovery action is to revert | ||
| 40 | to version 3.81.</para> | ||
| 41 | </listitem> | ||
| 42 | |||
| 43 | <listitem> | ||
| 44 | <para>Installing a second toolchain in the same directory as a | ||
| 45 | previous one will break the $PATH variable of the first | ||
| 46 | one.<remark>LXCR-3624</remark></para> | ||
| 47 | </listitem> | ||
| 48 | </itemizedlist> | ||
| 49 | </section> | ||
| 50 | |||
| 51 | <section id="bugs-package-manager"> | ||
| 52 | <title>Smart Package Manager</title> | ||
| 53 | |||
| 54 | <para>Installation of some packages might currently fail when installing | ||
| 55 | using the Smart Package Manager. An example is the qemu package. Errors | ||
| 56 | can e.g. be reported by smart about conflicts with files from other | ||
| 57 | packages.</para> | ||
| 58 | |||
| 59 | <para>The recommended solution to this problem is to install the failing | ||
| 60 | package using rpm, already available in enea-image-base. In order to | ||
| 61 | install it using rpm, first install rpm using the command <command>smart | ||
| 62 | install rpm</command>, then download the package to the target, and | ||
| 63 | finally on the target use <command>rpm -i | ||
| 64 | <packagename>.rpm</command>. If not installed, several dependencies | ||
| 65 | can be reported as "Failed dependencies" with lines "x is needed by y". In | ||
| 66 | that case, install the required packages "x" found by dependencies by | ||
| 67 | using the smart package manager. Add a channel to an accessible directory | ||
| 68 | containing all missing rpm packages. Add packages detected to be missing, | ||
| 69 | until all dependencies are resolved.<remark>FIXME It would be nice to add | ||
| 70 | also a PowerPC example with qemu failing, the example below is for | ||
| 71 | ARM.</remark></para> | ||
| 72 | |||
| 73 | <section> | ||
| 74 | <title>Example with Failing QEMU Package</title> | ||
| 75 | |||
| 76 | <para>As an example, the qemu installation can show the following | ||
| 77 | error.</para> | ||
| 78 | |||
| 79 | <note> | ||
| 80 | <para>The example below is for ARM, including the RPM names. For | ||
| 81 | PowerPC similar errors can occur and other packages are needed.</para> | ||
| 82 | </note> | ||
| 83 | |||
| 84 | <para><emphasis role="bold">error: file /var/run from install of | ||
| 85 | qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 conflicts with file from package | ||
| 86 | base-files-3.0.14-r89.0.hierofalcon</emphasis></para> | ||
| 87 | |||
| 88 | <para>A solution to this problem is to install the above qemu package | ||
| 89 | using rpm, already available in enea-image-base. In order to install it | ||
| 90 | using rpm, first install rpm using the command <command>smart install | ||
| 91 | rpm</command>, then download the above package from | ||
| 92 | <build_dir>/tmp/deploy/rpm/aarch64. On target, use <command>rpm -i | ||
| 93 | qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64.rpm</command>. If not installed, | ||
| 94 | several dependencies can be seen, e.g.:</para> | ||
| 95 | |||
| 96 | <programlisting>error: Failed dependencies: | ||
| 97 | libpixman-1-0 >= 0.32.6 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 | ||
| 98 | libpixman-1.so.0()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 | ||
| 99 | libglib-2.0.so.0()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 | ||
| 100 | libcap2 >= 2.22 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 | ||
| 101 | libglib-2.0-0 >= 2.40.0 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 | ||
| 102 | bluez4 >= 4.101 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 | ||
| 103 | libbluetooth.so.3()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 | ||
| 104 | libcap.so.2()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64</programlisting> | ||
| 105 | |||
| 106 | <para>Install the required packages found by dependencies by using the | ||
| 107 | smart package manager, as specified in the User's Guide, by adding a | ||
| 108 | channel to an accessible directory containing all of the above rpm | ||
| 109 | packages. Suggestion for installing required packages, as in the | ||
| 110 | following example for qemu and ARM:</para> | ||
| 111 | |||
| 112 | <programlisting>smart install bash | ||
| 113 | smart install libcap | ||
| 114 | smart install bluez4 | ||
| 115 | smart install libpixman-1-0 | ||
| 116 | rpm -i qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64.rpm</programlisting> | ||
| 117 | |||
| 118 | <para>Add packages detected to be missing until all dependencies are | ||
| 119 | resolved.</para> | ||
| 120 | </section> | ||
| 121 | </section> | ||
| 122 | |||
| 123 | <section id="bugs-limitations-eclipse"> | ||
| 124 | <title>Eclipse Tools</title> | ||
| 125 | |||
| 126 | <para>The Eclipse tools provided together with Enea Linux are part of the | ||
| 127 | Yocto Application Development Toolkit (ADT) and are maintained by | ||
| 128 | different open source projects. The list below outlines current problems | ||
| 129 | with the plug-ins as such, as well as kernel limitations when using a tool | ||
| 130 | towards the mentioned target:</para> | ||
| 131 | |||
| 132 | <itemizedlist spacing="compact"> | ||
| 133 | <listitem> | ||
| 134 | <para><emphasis role="bold">HOB</emphasis> is currently not supported | ||
| 135 | on Red Hat.<remark>LXCR-2994, LXCR-3222</remark></para> | ||
| 136 | </listitem> | ||
| 137 | |||
| 138 | <listitem> | ||
| 139 | <para><emphasis role="bold">SystemTap</emphasis> is currently not | ||
| 140 | supported on Red Hat.<remark>LXCR-3274</remark></para> | ||
| 141 | </listitem> | ||
| 142 | |||
| 143 | <listitem> | ||
| 144 | <para>When running <emphasis role="bold">SystemTap</emphasis> for the | ||
| 145 | first time on a target, you may need to manually ssh into the target | ||
| 146 | beforehand, in order to add the RSA key of the host to the file | ||
| 147 | known_hosts. Failing to do so will result in Eclipse freezing with the | ||
| 148 | progress window displayed, and a terminal message <literal>The | ||
| 149 | authenticity of host <target_ip> can't be | ||
| 150 | established</literal>.</para> | ||
| 151 | </listitem> | ||
| 152 | |||
| 153 | <listitem> | ||
| 154 | <para><emphasis role="bold">SystemTap</emphasis> scripts sometimes | ||
| 155 | result crosstap error messages about inaccessible variables. This is | ||
| 156 | not an issue with the tool itself, but stems from the compiler | ||
| 157 | optimizing away some of the variables. See workaround in the User's | ||
| 158 | Guide.<remark>LXCR-2204</remark></para> | ||
| 159 | </listitem> | ||
| 160 | |||
| 161 | <listitem> | ||
| 162 | <para>Currently <emphasis role="bold">BitBake Commander</emphasis> | ||
| 163 | projects can only be created for a local connection. Due to an | ||
| 164 | upstream bug, selecting a remote connection causes the Eclipse GUI to | ||
| 165 | freeze such that it must be killed.<remark>LXCR-2801</remark></para> | ||
| 166 | </listitem> | ||
| 167 | |||
| 168 | <listitem> | ||
| 169 | <para>A limitation currently makes <emphasis | ||
| 170 | role="bold">Eclipse</emphasis> non-responding when running a streaming | ||
| 171 | script, i.e. a script that runs continuously.</para> | ||
| 172 | </listitem> | ||
| 173 | |||
| 174 | <listitem> | ||
| 175 | <para>The <emphasis role="bold">LatencyTop</emphasis> plug-in for the | ||
| 176 | P2041 target reports some errors due to the permissions configuration | ||
| 177 | on the target, but it works correctly if the | ||
| 178 | <literal>latencytop</literal> command is issued from the Eclipse | ||
| 179 | console.<remark>LXCR-6303</remark></para> | ||
| 180 | </listitem> | ||
| 181 | |||
| 182 | <listitem> | ||
| 183 | <para>Currently <emphasis role="bold">LatencyTOP</emphasis> is not | ||
| 184 | available for ARM kernels built with SMP support due to an ARM | ||
| 185 | specific limitation in the Linux kernel.</para> | ||
| 186 | </listitem> | ||
| 187 | |||
| 188 | <listitem> | ||
| 189 | <para><emphasis role="bold">PowerTOP</emphasis> sometimes freezes | ||
| 190 | Eclipse after displaying a progress bar with message | ||
| 191 | <literal>Gathering powertop data file | ||
| 192 | remotely</literal>.<remark>LXCR-3143</remark></para> | ||
| 193 | </listitem> | ||
| 194 | |||
| 195 | <listitem> | ||
| 196 | <para>When running <emphasis role="bold">powertop</emphasis> from the | ||
| 197 | Eclipse terminal towards p2020rdb targets it is necessary to specify | ||
| 198 | the full path in order to find the | ||
| 199 | command.<remark>LXCR-2265</remark></para> | ||
| 200 | </listitem> | ||
| 201 | |||
| 202 | <listitem> | ||
| 203 | <para>When running <emphasis role="bold">powertop</emphasis> from the | ||
| 204 | Eclipse terminal towards zynq ZC702 targets it is necessary to specify | ||
| 205 | the full path in order to find the | ||
| 206 | command.<remark>LXCR-2265</remark></para> | ||
| 207 | </listitem> | ||
| 208 | |||
| 209 | <listitem> | ||
| 210 | <para>The <emphasis role="bold">PowerTOP</emphasis> console in Eclipse | ||
| 211 | might display messages like <literal>Cannot load | ||
| 212 | /var/cache/powertop/<filename></literal>. As a workaround, run | ||
| 213 | <emphasis role="bold">powertop --calibrate</emphasis> for a while to | ||
| 214 | generate the missing files. See <ulink | ||
| 215 | url="https://bugzilla.redhat.com/show_bug.cgi?id=698020">Bugzilla | ||
| 216 | #698020</ulink>.<remark>LXCR-3575</remark></para> | ||
| 217 | </listitem> | ||
| 218 | |||
| 219 | <listitem> | ||
| 220 | <para><emphasis role="bold">ssh-only</emphasis> is currently the only | ||
| 221 | supported connection type when running Eclipse tools towards a | ||
| 222 | target.<remark>LXCR-2799</remark></para> | ||
| 223 | </listitem> | ||
| 224 | |||
| 225 | <listitem> | ||
| 226 | <para>Hyphen character '-' in the name of the <emphasis | ||
| 227 | role="bold">Yocto ADT AutoTools project</emphasis> can cause | ||
| 228 | configuration errors.<remark>LXCR-2290</remark></para> | ||
| 229 | </listitem> | ||
| 230 | |||
| 231 | <listitem> | ||
| 232 | <para>The <emphasis role="bold">LTTng</emphasis> tool does not work on | ||
| 233 | <emphasis role="bold">ARM</emphasis> targets, neither from within | ||
| 234 | Eclipse nor when run directly on target, due to a problem with | ||
| 235 | lttng-modules and gcc-4.8.x. See <ulink | ||
| 236 | url="https://bugzilla.yoctoproject.org/show_bug.cgi?id=6015">Bugzilla | ||
| 237 | #6015</ulink>.<remark>LXCR-2653, LXCR-3053</remark></para> | ||
| 238 | </listitem> | ||
| 239 | |||
| 240 | <listitem> | ||
| 241 | <para>When running <emphasis role="bold">LTTng</emphasis> from | ||
| 242 | Eclipse, it sometimes happens that a new session created in the | ||
| 243 | Control View does not immediately appear under Sessions for that | ||
| 244 | target. However, the session is created and will appear after | ||
| 245 | right-clicking "Sessions" and selecting "Refresh".</para> | ||
| 246 | </listitem> | ||
| 247 | |||
| 248 | <listitem> | ||
| 249 | <para>The<emphasis role="bold"> yocto-bsp</emphasis> properties page | ||
| 250 | has some problems in the graphical user interface. Occasionally it is | ||
| 251 | not possible to resize and scroll which makes it impossible to see the | ||
| 252 | lower part of the properties window.<remark>LXCR-3128</remark></para> | ||
| 253 | </listitem> | ||
| 254 | |||
| 255 | <listitem> | ||
| 256 | <para>When connecting an Eclipse project configured for <emphasis | ||
| 257 | role="bold">KGDB</emphasis> (GDB Hardware Debugging) to a 64-bit | ||
| 258 | PowerPC target, GDB fails to connect unless the architecture is | ||
| 259 | specified in <filename>.gdbinit</filename>. See <ulink | ||
| 260 | url="https://bugs.eclipse.org/bugs/show_bug.cgi?id=457697">Bugzilla | ||
| 261 | #457697</ulink>.<remark>LXCR-3984</remark></para> | ||
| 262 | </listitem> | ||
| 263 | </itemizedlist> | ||
| 264 | </section> | ||
| 265 | |||
| 266 | <section id="bugs-limitations-target-side-tools"> | ||
| 267 | <title>Target-Side Tools</title> | ||
| 268 | |||
| 269 | <para>The target-side tools can be run stand-alone on target or from | ||
| 270 | Eclipse on host. The issues below are only observed when running the tools | ||
| 271 | directly on target:</para> | ||
| 272 | |||
| 273 | <itemizedlist spacing="compact"> | ||
| 274 | <listitem> | ||
| 275 | <para>The <emphasis role="bold">perf report</emphasis> command hangs | ||
| 276 | or crashes due to segmentation fault on ARM | ||
| 277 | targets.<remark>LXCR-2708</remark></para> | ||
| 278 | </listitem> | ||
| 279 | |||
| 280 | <listitem> | ||
| 281 | <para>The <emphasis role="bold">perf report</emphasis> does not show | ||
| 282 | any output for the PandaBoard target.<remark>LXCR-2710</remark></para> | ||
| 283 | </listitem> | ||
| 284 | |||
| 285 | <listitem> | ||
| 286 | <para><emphasis role="bold">perf top</emphasis> displays for a few | ||
| 287 | seconds the error message <literal>Failed to open | ||
| 288 | /tmp/perf-388.map</literal>. Any attempt to exit the subsequent window | ||
| 289 | causes the system to hang.<remark>LXCR-3113</remark></para> | ||
| 290 | </listitem> | ||
| 291 | |||
| 292 | <listitem> | ||
| 293 | <para>When running the <command>perf top</command> command on the i.MX | ||
| 294 | 6Quad SABRE Lite target, the console text may become red after running | ||
| 295 | for some time (~ 1 minute).<remark>LXCR-3631</remark></para> | ||
| 296 | </listitem> | ||
| 297 | |||
| 298 | <listitem> | ||
| 299 | <para>The <emphasis role="bold">LTTng</emphasis> tool does not work on | ||
| 300 | <emphasis role="bold">ARM</emphasis> targets, neither from within | ||
| 301 | Eclipse nor when run directly on target, due to a problem with | ||
| 302 | lttng-modules and gcc-4.8.x. See <ulink | ||
| 303 | url="https://bugzilla.yoctoproject.org/show_bug.cgi?id=6015">Bugzilla | ||
| 304 | #6015</ulink>.<remark>LXCR-2653, LXCR-3053</remark></para> | ||
| 305 | </listitem> | ||
| 306 | |||
| 307 | <listitem> | ||
| 308 | <para>The <emphasis role="bold">powertop --calibrate</emphasis> | ||
| 309 | command does not work on the Keystone k2hk-evm | ||
| 310 | target.<remark>LXCR-2660</remark></para> | ||
| 311 | </listitem> | ||
| 312 | |||
| 313 | <listitem> | ||
| 314 | <para>The <emphasis role="bold">powertop</emphasis> command run with | ||
| 315 | <emphasis role="bold">--calibrate</emphasis> or -<emphasis | ||
| 316 | role="bold">-time</emphasis> arguments may show some warnings on | ||
| 317 | PowerPC targets.</para> | ||
| 318 | </listitem> | ||
| 319 | |||
| 320 | <listitem> | ||
| 321 | <para>When running <emphasis role="bold">powertop</emphasis> on | ||
| 322 | <emphasis role="bold">ARM</emphasis> targets, the following | ||
| 323 | warning/error is repeated: <literal>clk_set_rate: failed to set | ||
| 324 | i2c0_aper rate</literal> . Then powertop stops and the statistics are | ||
| 325 | no longer updated. What probably happens here is that the cpufreq | ||
| 326 | governor tries to scale the CPU frequency, but since the I2C clock is | ||
| 327 | derived from the CPU frequency, the I2C driver implements some policy | ||
| 328 | to stay within legal frequency limits and rejects the frequency | ||
| 329 | changes, ending up with the warning message. A <ulink | ||
| 330 | url="https://github.com/Xilinx/linux-xlnx/commit/0fdd34575efae5c8eced09b6b0a1b723bff4d225">fix</ulink> | ||
| 331 | has been merged in the linux-xlnx kernel but is not yet propagated | ||
| 332 | into meta-xilinx.<remark>LXCR-3205, LXCR-3106, | ||
| 333 | LXCR-2660</remark></para> | ||
| 334 | </listitem> | ||
| 335 | |||
| 336 | <listitem> | ||
| 337 | <para>If you get an error message like <literal>Cannot load from file | ||
| 338 | /var/cache/powertop/saved_results.powertop</literal> when running | ||
| 339 | <emphasis role="bold">powertop</emphasis>, there is most likely not | ||
| 340 | enough measurement data collected yet. All you have to do is to keep | ||
| 341 | powertop running for a certain time.<remark>LXCR-2176, LXCR-2660, | ||
| 342 | LXCR-3106</remark></para> | ||
| 343 | </listitem> | ||
| 344 | |||
| 345 | <listitem> | ||
| 346 | <para>The message <literal>Model-specific registers (MSR) not found | ||
| 347 | (try enabling CONFIG_X86_MSR)</literal> appears when you run <emphasis | ||
| 348 | role="bold">powertop</emphasis> on <emphasis | ||
| 349 | role="bold">non-x86</emphasis> targets. powertop is mainly an x86n | ||
| 350 | tool, so it expects X*^_MSR config to be enabled in the kernel. For | ||
| 351 | non-x86 targets this config is not available in the kernel, hence, | ||
| 352 | powertop warns about it, but the message can be ignored on those | ||
| 353 | targets.<remark> LXCR-2176, LXCR-2660, LXCR-3106</remark></para> | ||
| 354 | </listitem> | ||
| 355 | |||
| 356 | <listitem> | ||
| 357 | <para><emphasis role="bold">powertop</emphasis> issues a message | ||
| 358 | <literal>sh: /usr/bin/xset: No such file or directory</literal> when | ||
| 359 | it tries to use xset to configure X display preferences but cannot | ||
| 360 | find the binary since the image by default contains no X system. The | ||
| 361 | message can simply be ignored.<remark>LXCR-2176</remark></para> | ||
| 362 | </listitem> | ||
| 363 | </itemizedlist> | ||
| 364 | </section> | ||
| 365 | |||
| 366 | <section id="bugs-limitations-virtualization"> | ||
| 367 | <title>Virtualization</title> | ||
| 368 | |||
| 369 | <itemizedlist spacing="compact"> | ||
| 370 | <listitem> | ||
| 371 | <para><emphasis role="bold">virtualization</emphasis>: CONFIG_BRIDGE | ||
| 372 | is not included in the default p2020rdb | ||
| 373 | kernel.<remark>LXVTCR-273</remark></para> | ||
| 374 | </listitem> | ||
| 375 | |||
| 376 | <listitem> | ||
| 377 | <para><emphasis role="bold">lxc</emphasis>:</para> | ||
| 378 | |||
| 379 | <itemizedlist spacing="compact"> | ||
| 380 | <listitem> | ||
| 381 | <para>User namespace is not available on PowerPC targets as it is | ||
| 382 | an experimental feature in the 3.8 kernel.</para> | ||
| 383 | </listitem> | ||
| 384 | |||
| 385 | <listitem> | ||
| 386 | <para>If multiple Linux containers are started from the same | ||
| 387 | process and share resources, destroying the containers might | ||
| 388 | result in a race condition with error message "Error in | ||
| 389 | `./lxc-test-concurrent': double free or corruption (fasttop)" | ||
| 390 | followed by an application | ||
| 391 | crash."<remark>LXVTCR-365</remark></para> | ||
| 392 | </listitem> | ||
| 393 | </itemizedlist> | ||
| 394 | </listitem> | ||
| 395 | |||
| 396 | <listitem> | ||
| 397 | <para><emphasis role="bold">libvirt</emphasis>: Default network does | ||
| 398 | not start.<remark>LXVTCR-240</remark></para> | ||
| 399 | </listitem> | ||
| 400 | </itemizedlist> | ||
| 401 | </section> | ||
| 402 | |||
| 403 | <section id="bugs-limitations-doc"> | ||
| 404 | <title>Documentation</title> | ||
| 405 | |||
| 406 | <itemizedlist spacing="compact"> | ||
| 407 | <listitem> | ||
| 408 | <para><emphasis role="bold">PDF navigation</emphasis>: When using | ||
| 409 | links to open other PDFs, or jump to another place in the same PDF, | ||
| 410 | jumping back sometimes fails. This has been observed when opening a | ||
| 411 | PDF in Adobe Reader, inside a browser with PDF add-on, as well as when | ||
| 412 | the browser is configured to open PDF files in an external PDF reader. | ||
| 413 | As a workaround, open the HTML version of the | ||
| 414 | document.<remark>LXCR-3283</remark></para> | ||
| 415 | </listitem> | ||
| 416 | |||
| 417 | <listitem> | ||
| 418 | <para><emphasis role="bold">Internet Explorer (IE) cannot display some | ||
| 419 | web pages</emphasis>: It is recommended to use Firefox or another | ||
| 420 | non-IE browser for opening external links. If you prefer reading the | ||
| 421 | documentation in PDF format in Adobe Reader (not in an Adobe plug-in | ||
| 422 | in a browser), remember to configure a non-IE browser as default | ||
| 423 | browser to be able to follow all links from within Adobe Reader. | ||
| 424 | Example of a link that does not work in IE: <ulink | ||
| 425 | url="https://rt.wiki.kernel.org/">https://rt.wiki.kernel.org/</ulink>. | ||
| 426 | <remark>LXCR-3281</remark></para> | ||
| 427 | </listitem> | ||
| 428 | </itemizedlist> | ||
| 429 | </section> | ||
| 430 | |||
| 431 | <section id="bugs-limitations-other"> | ||
| 432 | <title>Miscellaneous</title> | ||
| 433 | |||
| 434 | <itemizedlist spacing="compact"> | ||
| 435 | <listitem> | ||
| 436 | <para>Running <emphasis role="bold">QEMU from an exported | ||
| 437 | rootfs</emphasis> requires sudo privileges on the host.</para> | ||
| 438 | </listitem> | ||
| 439 | |||
| 440 | <listitem> | ||
| 441 | <para><emphasis role="bold">menuconfig</emphasis> requires <emphasis | ||
| 442 | role="bold">Ncurses</emphasis>. If the terminal that pops up | ||
| 443 | immediately closes instead of showing the menuconfig interface, check | ||
| 444 | that the Ncurses development library is installed.</para> | ||
| 445 | </listitem> | ||
| 446 | </itemizedlist> | ||
| 447 | </section> | ||
| 448 | |||
| 449 | <!-- The file with a section below is autocreated by make init --> | ||
| 450 | |||
| 451 | <xi:include href="jiraissues_generated.xml" | ||
| 452 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 453 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-linux-release-info/doc/main_changes.xml b/doc/book-enea-linux-release-info/doc/main_changes.xml new file mode 100644 index 0000000..da302c1 --- /dev/null +++ b/doc/book-enea-linux-release-info/doc/main_changes.xml | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="relinfo-changes"> | ||
| 5 | <title>Main Changes</title> | ||
| 6 | |||
| 7 | <para>This chapter describes the major changes and additions in the Enea | ||
| 8 | Linux release compared to the previous release (Enea Linux 5.0-ppc).</para> | ||
| 9 | |||
| 10 | <section id="relinfo-changes-other"> | ||
| 11 | <title>New Functionality/Enhancements</title> | ||
| 12 | |||
| 13 | <remark>Based in the Jira query: 'project = CPDX and fixVersion = "Enea | ||
| 14 | Linux 6"'</remark> | ||
| 15 | |||
| 16 | <itemizedlist spacing="compact"> | ||
| 17 | <listitem> | ||
| 18 | <para>New Yocto version (<xi:include | ||
| 19 | href="../../s_docsrc_common/pardoc-distro.xml" | ||
| 20 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 21 | xpointer="element(Yocto_VER/1)" />). See <ulink | ||
| 22 | url="https://www.yoctoproject.org/downloads/core/krogoth21">https://www.yoctoproject.org/downloads/core/krogoth21</ulink>.</para> | ||
| 23 | </listitem> | ||
| 24 | |||
| 25 | <listitem> | ||
| 26 | <para>Introduction of the repo tool to manage the Git | ||
| 27 | repositories.</para> | ||
| 28 | </listitem> | ||
| 29 | </itemizedlist> | ||
| 30 | |||
| 31 | <para>For details, see the Git logs for the repositories specified in the | ||
| 32 | manifest files. See <xref linkend="relinfo-getting-source" /> for more inf | ||
| 33 | on repos and the manifest.</para> | ||
| 34 | </section> | ||
| 35 | |||
| 36 | <section id="relinfo-fixed"> | ||
| 37 | <title>Problems Fixed in this Release</title> | ||
| 38 | |||
| 39 | <para>TBD <remark>FIXME or set condition hidden</remark></para> | ||
| 40 | </section> | ||
| 41 | |||
| 42 | <section id="relinfo-added-drivers"> | ||
| 43 | <title>Added Drivers</title> | ||
| 44 | |||
| 45 | <para>TBD <remark>FIXME or set condition hidden</remark></para> | ||
| 46 | </section> | ||
| 47 | |||
| 48 | <xi:include href="pkgdiff_generated.xml" | ||
| 49 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 50 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-linux-release-info/doc/prerequisites.xml b/doc/book-enea-linux-release-info/doc/prerequisites.xml new file mode 100644 index 0000000..587b812 --- /dev/null +++ b/doc/book-enea-linux-release-info/doc/prerequisites.xml | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <chapter id="prerequisites"> | ||
| 5 | <title>Prerequisites</title> | ||
| 6 | |||
| 7 | <para>Building Enea Linux or compiling applications requires some packages | ||
| 8 | to be installed on your Linux development host. See the list of Required | ||
| 9 | Packages for Host Development System, found in the Yocto 2.1 document: | ||
| 10 | <ulink | ||
| 11 | url="https://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#required-packages-for-the-host-development-system">https://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#required-packages-for-the-host-development-system</ulink>. | ||
| 12 | If needed, replace 2.1 with the actual Yocto version in your Enea Linux | ||
| 13 | distribution.<remark>Sorry by the list in the Yocto document do not seem to | ||
| 14 | be enough at all at least for platform building! Therefore we need to add a | ||
| 15 | complete list here, and we actually have a bigger list than we needed, but | ||
| 16 | it's better to have more and not be needed than to lack | ||
| 17 | information.</remark></para> | ||
| 18 | |||
| 19 | <para>Install Host Packages</para> | ||
| 20 | |||
| 21 | <note> | ||
| 22 | <para>The list below is generic and might contain packages that are not | ||
| 23 | necessary. Additional packages might be required to build for some | ||
| 24 | targets. See the Enea Linux Release Information if more packages are | ||
| 25 | needed and which hosts have been tested by Enea for this Enea Linux | ||
| 26 | release.<remark>QUEST: Are the lists below ok? The lists below try to | ||
| 27 | cover ALL normal use cases for both ApplGuide and PlatfGuide, incl. | ||
| 28 | Eclipse, instead of limiting to some use case. Easier to keep | ||
| 29 | updated.</remark></para> | ||
| 30 | </note> | ||
| 31 | |||
| 32 | <section id="inst-host-packages-ubuntu-debian"> | ||
| 33 | <title>Ubuntu 14.04 LTS, 64-bit</title> | ||
| 34 | |||
| 35 | <para>Ensure the system is up-to-date:</para> | ||
| 36 | |||
| 37 | <programlisting>$ sudo apt-get update</programlisting> | ||
| 38 | |||
| 39 | <para>For a supported <emphasis role="bold">Ubuntu</emphasis><indexterm> | ||
| 40 | <primary>Ubuntu</primary> | ||
| 41 | </indexterm> distribution you need the following packages:</para> | ||
| 42 | |||
| 43 | <programlisting># sudo apt-get install sed wget subversion git-core | ||
| 44 | coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk | ||
| 45 | python-pysqlite2 diffstat make gcc build-essential xsltproc g++ | ||
| 46 | desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev autoconf automake | ||
| 47 | groff libtool xterm libxml-parser-perl</programlisting> | ||
| 48 | </section> | ||
| 49 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-linux-release-info/swcomp.mk b/doc/book-enea-linux-release-info/swcomp.mk new file mode 100644 index 0000000..6e86ff1 --- /dev/null +++ b/doc/book-enea-linux-release-info/swcomp.mk | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | # Component build specification | ||
| 2 | |||
| 3 | # Version of THIS book | ||
| 4 | BOOK_VER ?= $(REL_VER)-dev | ||
| 5 | |||
| 6 | DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) | ||
| 7 | |||
| 8 | BOOKPACKAGES := book-enea-linux-release-info | ||
| 9 | BOOKDESC_$(BOOKPACKAGES) := "Enea Linux $(PROD_VER) Release Information" | ||
| 10 | BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) | ||
diff --git a/doc/docsrc_common/pardoc-distro.xml b/doc/docsrc_common/pardoc-distro.xml new file mode 100644 index 0000000..ad16c98 --- /dev/null +++ b/doc/docsrc_common/pardoc-distro.xml | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ | ||
| 4 | <!-- Version and name entities | ||
| 5 | ============================== | ||
| 6 | --> | ||
| 7 | <!-- Distribution and release --> | ||
| 8 | <!ENTITY ENEA_LINUX_REL_VER "MAJOR.MINOR"> <!-- TEMPLATE LINE, IS PATCHED by Makefile with values from enea.conf in poky/ --> | ||
| 9 | <!ENTITY % common_poky_entities SYSTEM "../s_targets/p2041rdb/poky/documentation/poky.ent"> | ||
| 10 | %common_poky_entities; | ||
| 11 | ]> | ||
| 12 | |||
| 13 | <!-- Declarations to inherit by xi:include | ||
| 14 | ========================================== --> | ||
| 15 | <section id="pardoc_names"> | ||
| 16 | <title>Enea Linux DocBook XML Based UserDoc Names and Parameters</title> | ||
| 17 | |||
| 18 | <para>NOTE: DO NOT EDIT THIS FILE IN xmlmind but you can open it to see any errors, don't save!!!!</para> | ||
| 19 | |||
| 20 | <para>NOTE: Use xi:include to include parameters into a docbook XML file. | ||
| 21 | Note: Only full elements can be included and the included element must | ||
| 22 | be allowed in that place. Example: For ulink, entire ulink elements | ||
| 23 | must be included, not just parts of them.</para> | ||
| 24 | |||
| 25 | <para>**** The phrase elements below can be used as variables in several | ||
| 26 | places in XML files ****</para> | ||
| 27 | |||
| 28 | <para>You can add more elements using ENTITY lines in poky.ent, e.g. like Poky_VER below</para> | ||
| 29 | |||
| 30 | <!-- Distribution and release --> | ||
| 31 | <para id="EneaLinux_REL_VER"><phrase>&ENEA_LINUX_REL_VER;</phrase></para> | ||
| 32 | <para id="ULINK_ENEA_LINUX_URL"><ulink url='https://linux.enea.com/&ENEA_LINUX_REL_VER;'>https://linux.enea.com/&ENEA_LINUX_REL_VER;</ulink></para> | ||
| 33 | <para id="Poky_VER"><phrase>&POKYVERSION;</phrase></para> | ||
| 34 | <para id="Yocto_VER"><phrase>&DISTRO;</phrase></para> | ||
| 35 | <para id="Yocto_NAME"><phrase>&DISTRO_NAME_NO_CAP;</phrase></para> | ||
| 36 | <para id="ULINK_YOCTO_RELEASE_NOTES"><ulink url='&YOCTO_RELEASE_NOTES;'>&YOCTO_RELEASE_NOTES;</ulink></para> | ||
| 37 | |||
| 38 | <!-- | ||
| 39 | The parameter 'prev_baseline' is intentionally undefined here since this | ||
| 40 | is the first release of the networking profile. | ||
| 41 | --> | ||
| 42 | <para id="prev_lic_file"><phrase>doc/book-enea-linux-open-source/doc/licenses.xml</phrase></para> | ||
| 43 | <para id="new_lic_file"><phrase>doc/book-enea-linux-open-source/doc/licenses.xml</phrase></para> | ||
| 44 | </section> | ||
diff --git a/doc/gen_known_issues.py b/doc/gen_known_issues.py new file mode 100644 index 0000000..a400577 --- /dev/null +++ b/doc/gen_known_issues.py | |||
| @@ -0,0 +1,91 @@ | |||
| 1 | #!/usr/bin/python | ||
| 2 | |||
| 3 | from subprocess import check_output | ||
| 4 | import json, re, datetime | ||
| 5 | import time | ||
| 6 | |||
| 7 | jd = json.JSONDecoder() | ||
| 8 | |||
| 9 | def jira_query(query): | ||
| 10 | jira_url = "http://eneaissues.enea.com" | ||
| 11 | fields = "key,summary" | ||
| 12 | query = query.replace(" ", "+") | ||
| 13 | |||
| 14 | cmd = ["curl", | ||
| 15 | "-s", | ||
| 16 | "-D-", | ||
| 17 | "-u", "rest_reader:jira123", | ||
| 18 | "-X", "GET", | ||
| 19 | "-H", "Content-Type: application/json", | ||
| 20 | jira_url + "/rest/api/2/search?jql=" + query + "&fields=" + fields | ||
| 21 | ] | ||
| 22 | |||
| 23 | tmp = check_output(cmd).splitlines() | ||
| 24 | tmp = jd.decode(tmp[-1]) | ||
| 25 | return tmp["issues"] | ||
| 26 | |||
| 27 | conditions = ("project=LXCR", | ||
| 28 | "issueType=bug", | ||
| 29 | "resolution=Unresolved", | ||
| 30 | 'affectedversion="Enea Linux 6"' | ||
| 31 | ) | ||
| 32 | |||
| 33 | bugs = [] | ||
| 34 | |||
| 35 | time_str = time.strftime("%Y-%m-%d, %H:%M:%S (%Z)") | ||
| 36 | |||
| 37 | for issue in jira_query(" and ".join(conditions)): | ||
| 38 | bugs.append((issue["key"], issue["fields"]["summary"])) | ||
| 39 | |||
| 40 | print '<?xml version="1.0" encoding="ISO-8859-1"?>' | ||
| 41 | print '<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"' | ||
| 42 | print '"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">' | ||
| 43 | print '<section id="relinfo-extracted-from-jira">' | ||
| 44 | print ' <title>Extracted from Jira</title>' | ||
| 45 | |||
| 46 | print ' <para>' | ||
| 47 | print ' This section lists open bugs in Jira. Extracted at %s.' % time_str | ||
| 48 | print ' </para>' | ||
| 49 | |||
| 50 | print ' <remark>Jira query: (%s)</remark>' % "\n and ".join(conditions) | ||
| 51 | |||
| 52 | print ' <informaltable>' | ||
| 53 | print ' <tgroup cols="2">' | ||
| 54 | print ' <colspec colwidth="6*" colname="c1"/>' | ||
| 55 | |||
| 56 | print ' <colspec align="center" colwidth="1*" colname="c2"/>' | ||
| 57 | |||
| 58 | print ' <thead>' | ||
| 59 | print ' <row>' | ||
| 60 | print ' <entry align="center">Summary</entry>' | ||
| 61 | |||
| 62 | print ' <entry>Enea Ref</entry>' | ||
| 63 | print ' </row>' | ||
| 64 | print ' </thead>' | ||
| 65 | |||
| 66 | print ' <tbody>', | ||
| 67 | |||
| 68 | if bugs: | ||
| 69 | for bug in sorted(bugs): | ||
| 70 | |||
| 71 | print ' <row>' | ||
| 72 | print ' <entry>%s</entry>' % bug[1] | ||
| 73 | |||
| 74 | print ' <entry>%s</entry>' % bug[0] | ||
| 75 | print ' </row>' | ||
| 76 | |||
| 77 | else: | ||
| 78 | print ' <row>' | ||
| 79 | print ' <entry namest="c1" nameend="c2" align="center">' | ||
| 80 | print ' No issues found' | ||
| 81 | print ' </entry>' | ||
| 82 | print ' </row>' | ||
| 83 | |||
| 84 | print ' </tbody>' | ||
| 85 | print ' </tgroup>' | ||
| 86 | print ' </informaltable>' | ||
| 87 | |||
| 88 | if bugs: | ||
| 89 | print ' <para>Number of open bugs: %d</para>' % len(bugs) | ||
| 90 | |||
| 91 | print '</section>' | ||
diff --git a/doc/gen_pkgdiff.py b/doc/gen_pkgdiff.py new file mode 100644 index 0000000..11b3809 --- /dev/null +++ b/doc/gen_pkgdiff.py | |||
| @@ -0,0 +1,234 @@ | |||
| 1 | #!/bin/python | ||
| 2 | ############################################################################### | ||
| 3 | # | ||
| 4 | # Diff two licenses.xml files. There are two cases: | ||
| 5 | # * Two arguments | ||
| 6 | # In this case, the two arguments are the two files to compare | ||
| 7 | # | ||
| 8 | # * No arguments | ||
| 9 | # In this casem the license files are specified by the following | ||
| 10 | # parameters in pardoc-distro.xml: | ||
| 11 | # - prev_baseline | ||
| 12 | # - prev_lic_file | ||
| 13 | # - new_lic_file | ||
| 14 | # | ||
| 15 | # The result is presented as three sets: | ||
| 16 | # 1) Removed | ||
| 17 | # Packages present in the previous file, but not in the new. | ||
| 18 | # | ||
| 19 | # 2) Added | ||
| 20 | # Packages present in the new file, but not in the previous. | ||
| 21 | # | ||
| 22 | # 3) Changed | ||
| 23 | # Packages present in both files, but with different versions. If more than | ||
| 24 | # one version of a package is included, then all difference in the version | ||
| 25 | # set causes the package to be listed as changed. | ||
| 26 | # E.g. | ||
| 27 | # (v1) -> (v2) | ||
| 28 | # (v1, v2) -> (v2, v3) | ||
| 29 | # | ||
| 30 | # Note that packages with the unchanged version is not listed. | ||
| 31 | # | ||
| 32 | # The output is presented as XML code printed to stdout. A summary is printed | ||
| 33 | # to STDERR at the end. | ||
| 34 | # | ||
| 35 | ############################################################################### | ||
| 36 | |||
| 37 | import os | ||
| 38 | import sys | ||
| 39 | import subprocess as sp | ||
| 40 | import xml.etree.ElementTree as ET | ||
| 41 | import re | ||
| 42 | |||
| 43 | repo_root = sp.check_output(["git", "rev-parse", "--show-toplevel"]).rstrip() | ||
| 44 | script_root = os.path.dirname(os.path.realpath(__file__)) | ||
| 45 | param_file = os.path.join(script_root, "docsrc_common/pardoc-distro.xml") | ||
| 46 | |||
| 47 | def get_param(param_name): | ||
| 48 | pat = re.compile("%s.*>([^<>]+)</" % param_name) | ||
| 49 | |||
| 50 | with open(param_file) as f: | ||
| 51 | for line in f: | ||
| 52 | m = pat.search(line) | ||
| 53 | if m: | ||
| 54 | return m.group(1) | ||
| 55 | |||
| 56 | return None | ||
| 57 | |||
| 58 | def get_pkgs(file_spec): | ||
| 59 | if file_spec.find(":") >= 0: | ||
| 60 | s = sp.check_output(("git", "show", file_spec)) | ||
| 61 | else: | ||
| 62 | f = open(file_spec) | ||
| 63 | s = f.read() | ||
| 64 | f.close() | ||
| 65 | del f | ||
| 66 | |||
| 67 | # ET can't handle some special quotes | ||
| 68 | for old, new in (("”", """), ("”", """)): | ||
| 69 | s = s.replace(old, new) | ||
| 70 | |||
| 71 | root = ET.fromstring(s) | ||
| 72 | |||
| 73 | for node in root.iter("section"): | ||
| 74 | if "id" in node.attrib: | ||
| 75 | if node.attrib["id"] == "licenses_packages": | ||
| 76 | break | ||
| 77 | |||
| 78 | else: | ||
| 79 | return None | ||
| 80 | |||
| 81 | for node in node: | ||
| 82 | if node.tag == "informaltable": | ||
| 83 | break | ||
| 84 | else: | ||
| 85 | return None | ||
| 86 | |||
| 87 | tab = node[0][-1] | ||
| 88 | |||
| 89 | plist = dict() | ||
| 90 | for row in tab: | ||
| 91 | pname = row[0].text | ||
| 92 | pver = row[1].text | ||
| 93 | if not pname in plist: | ||
| 94 | plist[pname] = set() | ||
| 95 | |||
| 96 | plist[pname].add(pver) | ||
| 97 | |||
| 98 | return set(plist), plist | ||
| 99 | |||
| 100 | #---------------------------------------- | ||
| 101 | |||
| 102 | |||
| 103 | if len(sys.argv) == 3: | ||
| 104 | new_file, prev_file = sys.argv[1:3] | ||
| 105 | |||
| 106 | elif len(sys.argv) == 1: | ||
| 107 | prev_baseline = get_param("prev_baseline") | ||
| 108 | prev_lic_file = get_param("prev_lic_file") | ||
| 109 | new_lic_file = get_param("new_lic_file") | ||
| 110 | |||
| 111 | if not (prev_baseline and prev_lic_file and new_lic_file): | ||
| 112 | print '<?xml version="1.0" encoding="ISO-8859-1"?>' | ||
| 113 | print '<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"' | ||
| 114 | print '"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">' | ||
| 115 | print '<section id="relinfo-package-set-changes">' | ||
| 116 | print ' <title>Changes in the Set of Provided Package</title>' | ||
| 117 | print ' <para>' | ||
| 118 | print ' N/A. No previous baseline defined.' | ||
| 119 | print ' </para>' | ||
| 120 | print '</section>' | ||
| 121 | exit(0) | ||
| 122 | |||
| 123 | new_file = os.path.relpath(os.path.join(repo_root, new_lic_file)) | ||
| 124 | prev_file = "%s:%s" % (prev_baseline, prev_lic_file) | ||
| 125 | |||
| 126 | else: | ||
| 127 | sys.stderr.write("Usage:\n") | ||
| 128 | sys.stderr.write(" 1) %s\n" % sys.argv[0]) | ||
| 129 | sys.stderr.write(" 2) %s " % sys.argv[0]) | ||
| 130 | sys.stderr.write("<new license file> <old license file>\n") | ||
| 131 | sys.stderr.write("\n") | ||
| 132 | sys.stderr.write("In case 1, the files are specified using the following\n") | ||
| 133 | sys.stderr.write("parameters in pardoc-distro.xml:\n") | ||
| 134 | sys.stderr.write(" - prev_baseline\n") | ||
| 135 | sys.stderr.write(" - prev_lic_file\n") | ||
| 136 | sys.stderr.write(" - new_lic_file\n") | ||
| 137 | exit() | ||
| 138 | |||
| 139 | sys.stderr.write("New license file : %s\n" % new_file) | ||
| 140 | sys.stderr.write("Prev license file : %s\n" % prev_file) | ||
| 141 | |||
| 142 | old_pset, old_pdict = get_pkgs(prev_file) | ||
| 143 | new_pset, new_pdict = get_pkgs(new_file) | ||
| 144 | |||
| 145 | added = new_pset - old_pset # Set subtraction | ||
| 146 | removed = old_pset - new_pset # Set subtraction | ||
| 147 | common = old_pset & new_pset | ||
| 148 | changed = [ p for p in common if old_pdict[p] != new_pdict[p] ] | ||
| 149 | |||
| 150 | print '<?xml version="1.0" encoding="ISO-8859-1"?>' | ||
| 151 | print '<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"' | ||
| 152 | print '"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">' | ||
| 153 | print '<section id="relinfo-package-set-changes">' | ||
| 154 | print ' <title>Changes in the Set of Provided Package</title>' | ||
| 155 | print ' <para>' | ||
| 156 | print ' This section describes changes in the provided packages.' | ||
| 157 | print ' </para>' | ||
| 158 | print ' <section id="relinfo-added-packages">' | ||
| 159 | print ' <title>Added Packages</title>' | ||
| 160 | print ' <informaltable>' | ||
| 161 | print ' <tgroup cols="2">' | ||
| 162 | print ' <thead>' | ||
| 163 | print ' <row>' | ||
| 164 | print ' <entry>Package</entry>' | ||
| 165 | print ' <entry>Version(s)</entry>' | ||
| 166 | print ' </row>' | ||
| 167 | print ' </thead>' | ||
| 168 | print ' <tbody>' | ||
| 169 | |||
| 170 | for p in sorted(list(added)): | ||
| 171 | print ' <row>' | ||
| 172 | print ' <entry>%s</entry>' % p | ||
| 173 | print ' <entry>%s</entry>' % ", ".join(sorted(new_pdict[p])) | ||
| 174 | print ' </row>' | ||
| 175 | |||
| 176 | print ' </tbody>' | ||
| 177 | print ' </tgroup>' | ||
| 178 | print ' </informaltable>' | ||
| 179 | print ' </section>' | ||
| 180 | |||
| 181 | print ' <section id="relinfo-removed-packages">' | ||
| 182 | print ' <title>Removed Packages</title>' | ||
| 183 | print ' <informaltable>' | ||
| 184 | print ' <tgroup cols="2">' | ||
| 185 | print ' <thead>' | ||
| 186 | print ' <row>' | ||
| 187 | print ' <entry>Package</entry>' | ||
| 188 | print ' <entry>Version(s)</entry>' | ||
| 189 | print ' </row>' | ||
| 190 | print ' </thead>' | ||
| 191 | print ' <tbody>' | ||
| 192 | for p in sorted(list(removed)): | ||
| 193 | print ' <row>' | ||
| 194 | print ' <entry>%s</entry>' % p | ||
| 195 | print ' <entry>%s</entry>' % ", ".join(sorted(old_pdict[p])) | ||
| 196 | print ' </row>' | ||
| 197 | print ' </tbody>' | ||
| 198 | print ' </tgroup>' | ||
| 199 | print ' </informaltable>' | ||
| 200 | print ' </section>' | ||
| 201 | |||
| 202 | print ' <section id="relinfo-changed-packages">' | ||
| 203 | print ' <title>Changed Package Versions</title>' | ||
| 204 | print ' <informaltable>' | ||
| 205 | print ' <tgroup cols="3">' | ||
| 206 | print ' <thead>' | ||
| 207 | print ' <row>' | ||
| 208 | print ' <entry>Package</entry>' | ||
| 209 | print ' <entry>Previous Version(s)</entry>' | ||
| 210 | print ' <entry>New Version(s)</entry>' | ||
| 211 | print ' </row>' | ||
| 212 | print ' </thead>' | ||
| 213 | print ' <tbody>' | ||
| 214 | for p in sorted(list(changed)): | ||
| 215 | print ' <row>' | ||
| 216 | print ' <entry>%s</entry>' % p | ||
| 217 | print ' <entry>%s</entry>' % ", ".join(sorted(old_pdict[p])) | ||
| 218 | print ' <entry>%s</entry>' % ", ".join(sorted(new_pdict[p])) | ||
| 219 | print ' </row>' | ||
| 220 | |||
| 221 | print ' </tbody>' | ||
| 222 | print ' </tgroup>' | ||
| 223 | print ' </informaltable>' | ||
| 224 | print ' </section>' | ||
| 225 | print '</section>' | ||
| 226 | |||
| 227 | sys.stderr.write("Package Summary:\n") | ||
| 228 | sys.stderr.write(" Prev file : %3d\n" % len(old_pset)) | ||
| 229 | sys.stderr.write(" New file : %3d\n" % len(new_pset)) | ||
| 230 | sys.stderr.write(" Added : %3d\n" % len(added)) | ||
| 231 | sys.stderr.write(" Removed : %3d\n" % len(removed)) | ||
| 232 | sys.stderr.write(" Changed : %3d\n" % len(changed)) | ||
| 233 | sys.stderr.write(" Unchanged : %3d\n" % (len(common) - len(changed))) | ||
| 234 | sys.stderr.write("Done\n") | ||
diff --git a/doc/init.mk b/doc/init.mk new file mode 100644 index 0000000..252409c --- /dev/null +++ b/doc/init.mk | |||
| @@ -0,0 +1,98 @@ | |||
| 1 | # Makefile including this should first set nondefault BRANCH_DOCENEACOMMON before including it | ||
| 2 | # and should have targets init: s_docbuild and optional initcommon: s_doceneacommon | ||
| 3 | # Typically let doc: depend on init and initcommon inside Makefile | ||
| 4 | # Manually optionally set GLOBALTMPCLONEROOT to yes or to a parent dir for tmpcommon | ||
| 5 | # This init.mk file ver R1.00/2016-04-29 | ||
| 6 | |||
| 7 | ifeq ($(VERBOSE),yes) | ||
| 8 | VERB := | ||
| 9 | else | ||
| 10 | VERB := @ | ||
| 11 | endif | ||
| 12 | |||
| 13 | #Git repositories to be cloned | ||
| 14 | REPO_DOCBUILD := build/docbuild.git | ||
| 15 | NAME_DOCBUILD := docbuild | ||
| 16 | REPO_DOCENEACOMMON := linux/documentation.git | ||
| 17 | NAME_DOCENEACOMMON := doceneacommon | ||
| 18 | |||
| 19 | # Set nondefault BRANCH_DOCENEACOMMON in Makefile | ||
| 20 | BRANCH_DOCENEACOMMON ?= master-enea | ||
| 21 | # Separate clones of documentation.git with different branches, needed if cloned globally with risk that different distros can be at same place | ||
| 22 | ifneq ($(BRANCH_DOCENEACOMMON),master-enea) | ||
| 23 | NAME_DOCENEACOMMON := doceneacommon_$(BRANCH_DOCENEACOMMON) | ||
| 24 | endif | ||
| 25 | |||
| 26 | GLOBALTMPCLONEROOT = ../../tmpcommon | ||
| 27 | ifeq ($(BOOK_GLOBALCLONEROOT),) | ||
| 28 | TMPCLONEROOT := tmpcommon | ||
| 29 | else | ||
| 30 | ifeq ($(BOOK_GLOBALCLONEROOT),yes) | ||
| 31 | TMPCLONEROOT := $(GLOBALTMPCLONEROOT) | ||
| 32 | else | ||
| 33 | TMPCLONEROOT := $(BOOK_GLOBALCLONEROOT)/tmpcommon | ||
| 34 | endif | ||
| 35 | endif | ||
| 36 | DIR_TMPCLONEROOT := $(dir $(TMPCLONEROOT)) | ||
| 37 | ifeq ($(wildcard $(DIR_TMPCLONEROOT)),) | ||
| 38 | $(error Parent of selected clone root does not exist ($(DIR_TMPCLONEROOT))) | ||
| 39 | endif | ||
| 40 | |||
| 41 | .PHONY: initbuild initcommon usageinit cleaninit | ||
| 42 | # Keep usageinit as default target here to avoid init by mistake | ||
| 43 | |||
| 44 | usageinit: docusage | ||
| 45 | @echo 'make initbuild Create s_docbuild and if not exists, clone docbuild.git' | ||
| 46 | @echo 'make initcommon Create s_doceneacommon and if not exists, clone documentation.git' | ||
| 47 | @echo ' Default clone in tmpcommon' | ||
| 48 | @echo ' BOOK_GLOBALCLONEROOT=yes Clone in $(GLOBALTMPCLONEROOT)' | ||
| 49 | @echo ' BOOK_GLOBALCLONEROOT=parentdir Clone in parentdir/tmpcommon' | ||
| 50 | @echo ' Default branch for documentation.git is master-enea' | ||
| 51 | @echo ' BRANCH_DOCENEACOMMON=... If another branch, Makefile should set this' | ||
| 52 | @echo 'make pullbuild git pull in s_docbuild' | ||
| 53 | @echo 'make pullcommon git pull in s_doceneacommon' | ||
| 54 | @echo 'make cleaninit Delete all s_* symlinks and local tmpcommon/' | ||
| 55 | |||
| 56 | |||
| 57 | # MOVE these to Makefile and set also non-default BRANCH_DOCENEACOMMON in Makefile | ||
| 58 | initbuild: s_docbuild | ||
| 59 | initcommon: s_doceneacommon | ||
| 60 | pullbuild: | ||
| 61 | $(VERB)if [ ! -d s_docbuild ]; then echo "ERROR: No s_docbuild exists?" ; exit 10 ; fi | ||
| 62 | $(VERB)cd s_docbuild ; git pull | ||
| 63 | pullcommon: | ||
| 64 | $(VERB)if [ ! -d s_doceneacommon ]; then echo "ERROR: No s_doceneacommon exists?" ; exit 10 ; fi | ||
| 65 | $(VERB)cd s_doceneacommon ; git pull | ||
| 66 | |||
| 67 | s_docbuild: $(TMPCLONEROOT)/$(NAME_DOCBUILD) | ||
| 68 | $(VERB)rm s_docbuild 2>/dev/null; ln -s $(TMPCLONEROOT)/$(NAME_DOCBUILD) s_docbuild | ||
| 69 | |||
| 70 | s_doceneacommon: $(TMPCLONEROOT)/$(NAME_DOCENEACOMMON) | ||
| 71 | $(VERB)rm s_doceneacommon 2>/dev/null; ln -s $(TMPCLONEROOT)/$(NAME_DOCENEACOMMON) s_doceneacommon | ||
| 72 | |||
| 73 | $(TMPCLONEROOT)/$(NAME_DOCBUILD): | ||
| 74 | $(VERB)if [ ! -d "$(TMPCLONEROOT)" ] ; then mkdir -p "$(TMPCLONEROOT)" ; fi | ||
| 75 | $(VERB)if [ -d "$(TMPCLONEROOT)/$(NAME_DOCBUILD)" ] ; then \ | ||
| 76 | echo "Already exists $(TMPCLONEROOT)/$(NAME_DOCBUILD)" ; \ | ||
| 77 | echo "Doing git pull instead"; cd $(TMPCLONEROOT)/$(NAME_DOCBUILD) ; git pull ; \ | ||
| 78 | else \ | ||
| 79 | echo "Cloning $(REPO_DOCBUILD) in $(TMPCLONEROOT)" ; \ | ||
| 80 | cd "$(TMPCLONEROOT)" ; \ | ||
| 81 | git clone -b master-enea git@git.enea.se:$(REPO_DOCBUILD) $(NAME_DOCBUILD) ; \ | ||
| 82 | fi | ||
| 83 | |||
| 84 | $(TMPCLONEROOT)/$(NAME_DOCENEACOMMON): | ||
| 85 | $(VERB)if [ ! -d "$(TMPCLONEROOT)" ] ; then mkdir -p "$(TMPCLONEROOT)" ; fi | ||
| 86 | $(VERB)if [ -d "$(TMPCLONEROOT)/$(NAME_DOCENEACOMMON)" ] ; then \ | ||
| 87 | echo "Already exists $(TMPCLONEROOT)/$(NAME_DOCENEACOMMON)" ; \ | ||
| 88 | echo "Doing git pull instead"; cd $(TMPCLONEROOT)/$(NAME_DOCENEACOMMON) ; git pull ; \ | ||
| 89 | else \ | ||
| 90 | echo "Cloning $(REPO_DOCENEACOMMON) in $(TMPCLONEROOT) as $(NAME_DOCENEACOMMON)" ; \ | ||
| 91 | cd "$(TMPCLONEROOT)"; \ | ||
| 92 | git clone -b $(BRANCH_DOCENEACOMMON) git@git.enea.se:$(REPO_DOCENEACOMMON) $(NAME_DOCENEACOMMON) ; \ | ||
| 93 | fi | ||
| 94 | |||
| 95 | cleaninit: | ||
| 96 | @echo "Clean only local tmpcommon/ and all local temporary symlinks s_docbuild s_targets etc." | ||
| 97 | $(VERB)rm -rf tmpcommon 2>/dev/null ; true | ||
| 98 | $(VERB)rm s_* 2>/dev/null ; true | ||
diff --git a/doc/initbuildboot.sh b/doc/initbuildboot.sh new file mode 100644 index 0000000..ea8dc12 --- /dev/null +++ b/doc/initbuildboot.sh | |||
| @@ -0,0 +1,111 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | VER="R0.06" | ||
| 3 | |||
| 4 | BBTEMPLATE= | ||
| 5 | BBXML= | ||
| 6 | |||
| 7 | USAGE="`basename $0` -xml buildbootxml-to-create -template templatexml-file ($VER) | ||
| 8 | Currently only supports sequence types Build-command: and Boot-command: | ||
| 9 | Both files should have path book-*release-info/doc/ | ||
| 10 | Creates the XML file from the template, inserting build/boot commands | ||
| 11 | from the various s_targets/XXXtargetXXX/README files | ||
| 12 | at the place in template with >SCRIPT_INCLUDES_BUILD_BOOT_SECTIONS_HERE< | ||
| 13 | ignoring rest of template | ||
| 14 | The code tries to fold too long lines, but this is not perfect. Best would | ||
| 15 | be if the command lines already in README are short enough, e.g. by | ||
| 16 | using short variables, which work both on shell and uboot command lines" | ||
| 17 | |||
| 18 | while echo "x$1" | egrep '^x-' >/dev/null 2>&1 | ||
| 19 | do | ||
| 20 | OPT="$1" ; shift | ||
| 21 | if [ "$OPT" = "--help" -o "$OPT" = "-h" -o "$OPT" = "-help" ] ; then echo "$USAGE" ; exit ; fi | ||
| 22 | if [ "$OPT" = "-xml" ] ; then BBXML="$1" ; shift; fi | ||
| 23 | if [ "$OPT" = "-template" ] ; then BBTEMPLATE="$1" ; shift; fi | ||
| 24 | done | ||
| 25 | if [ "$BBTEMPLATE" = "" ]; then echo "ERROR: Missing option -template templatefile"; exit ; fi | ||
| 26 | if [ "$BBXML" = "" ]; then echo "ERROR: Missing option -xml buildbootxml-to-create"; exit ; fi | ||
| 27 | if [ ! -f "$BBTEMPLATE" ]; then echo "ERROR: Missing templatefile '$BBTEMPLATE'"; exit; fi | ||
| 28 | if [ ! -d "`dirname \"$BBXML\"`" ]; then echo "ERROR: Missing parent directory for '$BBXML'"; exit ; fi | ||
| 29 | |||
| 30 | echo "`basename $0` Creating $BBXML from" | ||
| 31 | TARGETREADMES=`cd s_targets ; ls -d */README | tr '\n' ' '` | ||
| 32 | echo " $TARGETREADMES" | ||
| 33 | |||
| 34 | # README file formats: | ||
| 35 | # a) Sequence starts: ___ XXXX:yyyy or ___ XXXX:yyyy conffile | ||
| 36 | # where XXXX is a type, yyyy is text to be in title | ||
| 37 | # b) Inside sequence: ___ END ends the sequence (ignore rest of line) | ||
| 38 | # c) Inside sequence: # Documentation line | ||
| 39 | # d) Inside sequence: Anything else is command or config lines | ||
| 40 | # Conv.to XML: ">" "<" "&" and put all inside <programlisting> | ||
| 41 | # *) Anywhere ____xxxx Leading 4 underlines or more, always ignored | ||
| 42 | # unless one of the recognized XXXX | ||
| 43 | # *) Anywhere outside sequence, ignore all | ||
| 44 | # *) There can be multiple of each type of sequence in each README file | ||
| 45 | # with different yyyy | ||
| 46 | |||
| 47 | |||
| 48 | cat $BBTEMPLATE | awk ' | ||
| 49 | />SCRIPT_INCLUDES_BUILD_BOOT_SECTIONS_HERE</ {exit 0; } | ||
| 50 | { print $0; } | ||
| 51 | ' >$BBXML | ||
| 52 | |||
| 53 | |||
| 54 | # Long command lines: The awk code below breaks too long lines, but this is not perfect. | ||
| 55 | extractcmds_filter() { | ||
| 56 | echo " <programlisting>" | tr -d '\n' | ||
| 57 | sed '/^___/d;s/\&/\&/g' | sed 's/</\</g;s/>/\>/g;/^$/d' | \ | ||
| 58 | awk 'BEGIN { MAX=90; } | ||
| 59 | ( length($0) > MAX ) { | ||
| 60 | LINE=$0; | ||
| 61 | while (length(LINE) > MAX) { | ||
| 62 | if (index(LINE," ") == 0 ) { | ||
| 63 | print "ERROR: PROBLEM: No space in too long line:" LINE > "/dev/stderr"; | ||
| 64 | print $LINE; | ||
| 65 | next; | ||
| 66 | } | ||
| 67 | i=MAX; while ( substr(LINE,i,1) != " " ) { i=i-1; if (i==0) {break;} } | ||
| 68 | print substr(LINE,0,i) "\\"; | ||
| 69 | REST=substr(LINE,i+1); | ||
| 70 | if ( length(REST) == 0 ) { next ; } | ||
| 71 | LINE=" " REST; | ||
| 72 | } | ||
| 73 | if ( length(LINE) > 0 ) { print LINE; next ; } | ||
| 74 | } | ||
| 75 | { print;}' | ||
| 76 | echo "</programlisting>" | ||
| 77 | } | ||
| 78 | |||
| 79 | extractcmds_for_type() { # target/README BOOTorBUILD | ||
| 80 | README=s_targets/"$1" | ||
| 81 | CMDTYPE="$2" | ||
| 82 | COMMANDSFOR=`egrep "___$CMDTYPE:" $README` | ||
| 83 | for CMDS in $COMMANDSFOR | ||
| 84 | do | ||
| 85 | cmdsfor=`echo "$CMDS" | sed 's/[^:]*://'` | ||
| 86 | #-- echo " <para>$CMDTYPE for $cmdsfor</para>" | ||
| 87 | cat "$README" | sed -n "/$COMMANDSFOR/,/___END/p" | extractcmds_filter | ||
| 88 | done | ||
| 89 | } | ||
| 90 | |||
| 91 | for targetreadme in $TARGETREADMES | ||
| 92 | do | ||
| 93 | TARGET=`dirname $targetreadme` | ||
| 94 | echo "" >>$BBXML | ||
| 95 | echo " <section id=\"target_$TARGET\">" >>$BBXML | ||
| 96 | echo " <title>Target $TARGET</title>" >>$BBXML | ||
| 97 | echo " <remark>NOTE: DO NOT EDIT THIS GENERATED FILE! Only edit the template file.</remark>" >>$BBXML | ||
| 98 | echo " <section>" >>$BBXML | ||
| 99 | echo " <title>Build Instructions for $TARGET</title>" >>$BBXML | ||
| 100 | extractcmds_for_type $targetreadme Build-command >>$BBXML | ||
| 101 | echo " </section>" >>$BBXML | ||
| 102 | echo "" >>$BBXML | ||
| 103 | echo " <section>" >>$BBXML | ||
| 104 | echo " <title>Boot Instructions for $TARGET</title>" >>$BBXML | ||
| 105 | extractcmds_for_type $targetreadme Boot-command >>$BBXML | ||
| 106 | echo " </section>" >>$BBXML | ||
| 107 | echo " </section>" >>$BBXML | ||
| 108 | done | ||
| 109 | |||
| 110 | echo "</chapter>" >>$BBXML | ||
| 111 | echo "Ready created $BBXML" | ||
diff --git a/doc/manifest_conf.mk b/doc/manifest_conf.mk new file mode 100644 index 0000000..686f101 --- /dev/null +++ b/doc/manifest_conf.mk | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | # To be included in Makefile | ||
| 2 | # NOTE: MANIFESTHASH needs to be changed to final release tag in format refs/tags/ELnnn before a release | ||
| 3 | # The values are shown in the release info | ||
| 4 | # The manifest is used to fetch information into the release info from the distro files | ||
| 5 | MANIFESTHASH := krogoth | ||
| 6 | MANIFESTURL := git://git.enea.se/linux/manifests/el_manifests-networking.git | ||
| 7 | PROFILE_NAME := Networking | ||
