summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Lundström <thomas.lundstrom@enea.com>2016-06-22 19:24:31 +0200
committerThomas Lundström <thomas.lundstrom@enea.com>2016-06-22 19:24:31 +0200
commitb26854f76b2fa8d44937bdae0664b1a24b2c7e78 (patch)
tree0d46962f5a06c6a9bf484d3778eeb7959e1385d7
downloadel_releases-networking-b26854f76b2fa8d44937bdae0664b1a24b2c7e78.tar.gz
Initial commit
-rw-r--r--doc/Makefile321
-rw-r--r--doc/book-enea-linux-open-source/doc/README4
-rw-r--r--doc/book-enea-linux-open-source/doc/about.xml12
-rw-r--r--doc/book-enea-linux-open-source/doc/book.xml14
-rw-r--r--doc/book-enea-linux-open-source/doc/licenses.xml327
-rw-r--r--doc/book-enea-linux-open-source/swcomp.mk10
-rw-r--r--doc/book-enea-linux-release-info/doc/about_release.xml469
-rw-r--r--doc/book-enea-linux-release-info/doc/book.xml18
-rw-r--r--doc/book-enea-linux-release-info/doc/build_boot_template.xml26
-rw-r--r--doc/book-enea-linux-release-info/doc/getting_enea_linux.xml103
-rw-r--r--doc/book-enea-linux-release-info/doc/known_bugs_and_limitations.xml453
-rw-r--r--doc/book-enea-linux-release-info/doc/main_changes.xml50
-rw-r--r--doc/book-enea-linux-release-info/doc/prerequisites.xml49
-rw-r--r--doc/book-enea-linux-release-info/swcomp.mk10
-rw-r--r--doc/docsrc_common/pardoc-distro.xml44
-rw-r--r--doc/gen_known_issues.py91
-rw-r--r--doc/gen_pkgdiff.py234
-rw-r--r--doc/init.mk98
-rw-r--r--doc/initbuildboot.sh111
-rw-r--r--doc/manifest_conf.mk7
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
2SUBSYSROOT := $(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
6include 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/
10TARGETDEFAULTXMLS := 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
15include init.mk
16
17# ****************** SUPPORT FOR TARGETS ***************************
18PATH_TARGETS = $(SUBSYSROOT)/s_targets
19#Git repositories to be cloned
20NAME_TARGETS := targets
21#Path to the directory under which repos shall be cloned.
22DOCBASEDIR=$(shell pwd)
23REPODIR=$(DOCBASEDIR)/..
24TMPCLONEROOT_TARGETS := $(TMPCLONEROOT)/$(NAME_TARGETS)
25
26
27# ******************* AutoGenerated chapter from template and target READMEs *******
28BUILDBOOT_XML := book-enea-linux-release-info/doc/build_boot_generated.xml
29BUILDBOOT_TEMPLATE := book-enea-linux-release-info/doc/build_boot_template.xml
30
31PKGDIFF_GEN_XML := book-enea-linux-release-info/doc/pkgdiff_generated.xml
32JIRA_ISSUES_GEN_XML := book-enea-linux-release-info/doc/jiraissues_generated.xml
33
34
35# -----------------------------------------------------
36#Path to DocBook make files and templates
37DOCBOOKMAKE = $(SUBSYSROOT)/s_docbuild/docmake
38DOCBOOKTEMPLATE = $(SUBSYSROOT)/s_docbuild/template
39
40#Path to the OLINK database including leading part of file name (will add -$(FORMAT).db)
41DOCBOOKOLINKDB_BASE = $(SUBSYSROOT)/s_docbuild/olinkdb/olink-targetdb-master
42
43DOCBOOK_OLINKS ?= yes
44DOCBOOK_FO_USEFOP ?= yes
45DOCBOOK_TO_BOOKDIR ?= yes
46DOCBOOK_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
51COMPONENTS := $(shell ls -d book-enea* )
52
53# --------------------------------------------------------------
54ifeq ($(VERBOSE),yes)
55VERB :=
56else
57VERB := @
58endif
59MAKEFLAGS += --no-print-directory
60MAKEFLAGS += --directory $(SUBSYSROOT)
61MAKEFLAGS += --no-builtin-rules --no-builting-variables
62
63# Skip xml validation to make it possible to include xml files with unresolved links
64VALIDATE = 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
71export
72
73.PHONY: doc books docusage init initbuild inittargets initpardoc initbuildboot dist
74
75
76docusage:
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'
132ifeq ($(DOCBOOK_TOOLS_VERSIONS),yes)
133 $(VERB)$(MAKE) -f $(DOCBOOKMAKE)/tools_book_standalone.mk book_tools_versions
134endif
135
136# We rely on make doing these in order left to right
137init: initbuild inittargets initpardoc initbuildboot initpkgdiff initissues
138pullall: pullbuild pulltargets
139
140# If no COMP, iterate over books-* in COMPONENTS with make doc
141ifeq ($(COMP),)
142doc:
143ifneq ($(filter book-%, $(COMPONENTS)),)
144 $(VERB)for comp in $(filter book-%, $(COMPONENTS)); do \
145 $(MAKE) doc COMP=$$comp; \
146 done
147endif
148
149else
150include $(SUBSYSROOT)/$(COMP)/swcomp.mk
151
152doc: books
153 @#
154endif
155
156dist: 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
171ifeq ($(FORMAT),)
172FORMAT=html pdf eclipse
173endif
174
175
176books: 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
186ifeq ($(DOCBOOK_TO_BOOKDIR),yes)
187 $(VERB)rm -rf doc tmp
188else
189ifeq ($(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
192endif
193endif
194
195# cleaninit cleans ALL tmpcommon and all s_* and generated build_boot chapter xml
196clean: cleaninit cleanbuildboot cleanpkgdiff cleanissues
197 $(VERB)rm -rf doc tmp 2>/dev/null
198ifneq ($(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
203endif
204
205
206# ******************************************************************
207# ****************** SUPPORT FOR TARGETS ***************************
208inittargets: s_targets
209pulltargets:
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
218s_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
242PATH_DOCSRC_COMMON = $(SUBSYSROOT)/s_docsrc_common
243NAME_DOCSRC_COMMON = docsrc_common
244TMPCLONEROOT_DOCSRC_COMMON := $(TMPCLONEROOT)/$(NAME_DOCSRC_COMMON)
245TMPPARDOC := $(TMPCLONEROOT_DOCSRC_COMMON)/pardoc-distro.xml
246
247initpardoc: s_docsrc_common
248
249cleanpardoc:
250 $(VERB)rm -rf $(TMPCLONEROOT_DOCSRC_COMMON) ; rm s_docsrc_common
251
252s_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
277initbuildboot: $(BUILDBOOT_XML)
278
279cleanbuildboot:
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
295initpkgdiff: $(PKGDIFF_GEN_XML)
296
297cleanpkgdiff:
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
312initissues: $(JIRA_ISSUES_GEN_XML)
313
314cleanissues:
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 @@
1The licenses.xml in the git repository of Enea Linux Open Source Report
2is the frozen version belonging to the last official release of Enea Linux.
3The contents must be generated from the release script to obtain the latest
4lists 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
12supports, e.g. busybox, with a short explanatory blurb and links to package
13specific 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
49The Academic Free License
50 v. 2.0
51
52This 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
54immediately following the copyright notice for the Original Work:
55Licensed under the Academic Free License version 2.0
56
571) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free,
58non-exclusive, perpetual, sublicenseable license to do the following:
59a) to reproduce the Original Work in copies;
60
61b) to prepare derivative works ("Derivative Works") based upon the Original Work;
62
63c) to distribute copies of the Original Work and Derivative Works to the public;
64
65d) to perform the Original Work publicly; and
66
67e) to display the Original Work publicly.
68
692) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free,
70non-exclusive, perpetual, sublicenseable license, under patent claims owned or
71controlled by the Licensor that are embodied in the Original Work as furnished by the
72Licensor, to make, use, sell and offer for sale the Original Work and Derivative
73Works.
74
753) Grant of Source Code License. The term "Source Code" means the preferred form of
76the Original Work for making modifications to it and all available documentation
77describing how to modify the Original Work. Licensor hereby agrees to provide a
78machine-readable copy of the Source Code of the Original Work along with each copy of
79the Original Work that Licensor distributes. Licensor reserves the right to satisfy
80this obligation by placing a machine-readable copy of the Source Code in an
81information repository reasonably calculated to permit inexpensive and convenient
82access by You for as long as Licensor continues to distribute the Original Work, and
83by publishing the address of that information repository in a notice immediately
84following the copyright notice that applies to the Original Work.
85
864) Exclusions From License Grant. Neither the names of Licensor, nor the names of any
87contributors to the Original Work, nor any of their trademarks or service marks, may
88be used to endorse or promote products derived from this Original Work without express
89prior written permission of the Licensor. Nothing in this License shall be deemed to
90grant any rights to trademarks, copyrights, patents, trade secrets or any other
91intellectual property of Licensor except as expressly stated herein. No patent
92license is granted to make, use, sell or offer to sell embodiments of any patent
93claims other than the licensed claims defined in Section 2. No right is granted to
94the trademarks of Licensor even if such marks are included in the Original Work.
95Nothing in this License shall be interpreted to prohibit Licensor from licensing under
96different terms from this License any Original Work that Licensor otherwise would have
97a right to license.
98
995) This section intentionally omitted.
100
1016) Attribution Rights. You must retain, in the Source Code of any Derivative Works
102that You create, all copyright, patent or trademark notices from the Source Code of
103the Original Work, as well as any notices of licensing and any descriptive text
104identified therein as an "Attribution Notice." You must cause the Source Code for any
105Derivative Works that You create to carry a prominent Attribution Notice reasonably
106calculated to inform recipients that You have modified the Original Work.
107
1087) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the
109copyright in and to the Original Work and the patent rights granted herein by Licensor
110are owned by the Licensor or are sublicensed to You under the terms of this License
111with the permission of the contributor(s) of those copyrights and patent rights.
112Except as expressly stated in the immediately proceeding sentence, the Original Work
113is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either
114express or implied, including, without limitation, the warranties of NON-INFRINGEMENT,
115MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
116QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an
117essential part of this License. No license to Original Work is granted hereunder
118except under this disclaimer.
119
1208) Limitation of Liability. Under no circumstances and under no legal theory, whether
121in tort (including negligence), contract, or otherwise, shall the Licensor be liable
122to any person for any direct, indirect, special, incidental, or consequential damages
123of any character arising as a result of this License or the use of the Original Work
124including, without limitation, damages for loss of goodwill, work stoppage, computer
125failure or malfunction, or any and all other commercial damages or losses. This
126limitation of liability shall not apply to liability for death or personal injury
127resulting from Licensor`s negligence to the extent applicable law prohibits such
128limitation. Some jurisdictions do not allow the exclusion or limitation of incidental
129or consequential damages, so this exclusion and limitation may not apply to You.
130
1319) Acceptance and Termination. If You distribute copies of the Original Work or a
132Derivative Work, You must make a reasonable effort under the circumstances to obtain
133the express assent of recipients to the terms of this License. Nothing else but this
134License (or another written agreement between Licensor and You) grants You permission
135to create Derivative Works based upon the Original Work or to exercise any of the
136rights granted in Section 1 herein, and any attempt to do so except under the terms of
137this License (or another written agreement between Licensor and You) is expressly
138prohibited by U.S. copyright law, the equivalent laws of other countries, and by
139international treaty. Therefore, by exercising any of the rights granted to You in
140Section 1 herein, You indicate Your acceptance of this License and all of its terms
141and conditions.
142
14310) Termination for Patent Action. This License shall terminate automatically and You
144may no longer exercise any of the rights granted to You by this License as of the date
145You commence an action, including a cross-claim or counterclaim, for patent
146infringement (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
148excluding combinations of the Original Work with other software or hardware).
149
15011) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License
151may be brought only in the courts of a jurisdiction wherein the Licensor resides or in
152which Licensor conducts its primary business, and under the laws of that jurisdiction
153excluding its conflict-of-law provisions. The application of the United Nations
154Convention on Contracts for the International Sale of Goods is expressly excluded.
155Any use of the Original Work outside the scope of this License or after its
156termination shall be subject to the requirements and penalties of the U.S. Copyright
157Act, 17 U.S.C. ¤ 101 et seq., the equivalent laws of other countries, and
158international treaty. This section shall survive the termination of this License.
159
16012) Attorneys Fees. In any action to enforce the terms of this License or seeking
161damages relating thereto, the prevailing party shall be entitled to recover its costs
162and expenses, including, without limitation, reasonable attorneys` fees and costs
163incurred in connection with such action, including any appeal of such action. This
164section shall survive the termination of this License.
165
16613) Miscellaneous. This License represents the complete agreement concerning the
167subject matter hereof. If any provision of this License is held to be unenforceable,
168such provision shall be reformed only to the extent necessary to make it enforceable.
169
17014) Definition of "You" in This License. "You" throughout this License, whether in
171upper or lower case, means an individual or a legal entity exercising rights under,
172and complying with all of the terms of, this License. For legal entities, "You"
173includes any entity that controls, is controlled by, or is under common control with
174you. For purposes of this definition, "control" means (i) the power, direct or
175indirect, to cause the direction or management of such entity, whether by contract or
176otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares,
177or (iii) beneficial ownership of such entity.
178
17915) Right to Use. You may use the Original Work in all ways not otherwise restricted
180or conditioned by this License or by law, and Licensor promises not to interfere with
181or be responsible for such uses by You.
182
183This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved.
184Permission is hereby granted to copy and distribute this license without modification.
185This license may not be modified without the express written permission of its
186copyright 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>
203Upstream source http://dickey.his.com/byacc/byacc.html
204
205Berkeley Yacc is in the public domain; changes made to it by the current
206maintainer are likewise unrestricted. That applies to most of the files.
207A few files (currently those related to autoconf scripting) have other
208licenses as noted here.
209
210Current byacc upstream maintainer: Thomas Dickey &lt;dickey@invisible-island.net&gt;
211
212Public domain notice and no warranty:
213-------------------------------------------------------------------------------
214 Berkeley Yacc is an LALR(1) parser generator. Berkeley Yacc has been made
215as compatible as possible with AT&amp;T Yacc. Berkeley Yacc can accept any input
216specification that conforms to the AT&amp;T Yacc documentation. Specifications
217that take advantage of undocumented features of AT&amp;T Yacc will probably be
218rejected.
219
220 Berkeley Yacc is distributed with no warranty whatever. The code
221is certain to contain errors. Neither the author nor any contributor
222takes responsibility for any consequences of its use.
223
224 Berkeley Yacc is in the public domain. The data structures and algorithms
225used in Berkeley Yacc are all either taken from documents available to the
226general public or are inventions of the author. Anyone may freely distribute
227source or binary forms of Berkeley Yacc whether unchanged or modified.
228Distributers may charge whatever fees they can obtain for Berkeley Yacc.
229Programs generated by Berkeley Yacc may be distributed freely.
230
231 Please report bugs to
232
233 robert.corbett@eng.Sun.COM
234
235Include a small example if possible. Please include the banner string from
236skeleton.c with the bug report. Do not expect rapid responses.
237-------------------------------------------------------------------------------
238
239Files: aclocal.m4
240Licence: other-BSD
241Copyright: 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
266Files: install-sh
267Copyright: 1994 X Consortium
268Licence: 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
301Files: debian/*
302Copyright: 2012 Thomas E. Dickey
303Licence: 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
321On Debian systems, the complete text of the GNU General
322Public 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
4BOOK_VER ?= $(REL_VER)-dev
5
6DOCBOOK_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
8BOOKPACKAGES := book-enea-linux-open-source
9BOOKDESC_$(BOOKPACKAGES) := "Enea Linux Open Source Report"
10BOOKDEFAULTCONDITION := $(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 &amp; 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 &amp; 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 &gt; ~/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 &lt;manifest file&gt;
59$ repo sync</programlisting></para>
60
61 <para>The parameter &lt;manifest file&gt; 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 &lt;packagename&gt;.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 &lt;build_dir&gt;/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 &gt;= 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 &gt;= 2.22 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64
101 libglib-2.0-0 &gt;= 2.40.0 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64
102 bluez4 &gt;= 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 &lt;target_ip&gt; 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/&lt;filename&gt;</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
4BOOK_VER ?= $(REL_VER)-dev
5
6DOCBOOK_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
8BOOKPACKAGES := book-enea-linux-release-info
9BOOKDESC_$(BOOKPACKAGES) := "Enea Linux $(PROD_VER) Release Information"
10BOOKDEFAULTCONDITION := $(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
3from subprocess import check_output
4import json, re, datetime
5import time
6
7jd = json.JSONDecoder()
8
9def 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
27conditions = ("project=LXCR",
28 "issueType=bug",
29 "resolution=Unresolved",
30 'affectedversion="Enea Linux 6"'
31 )
32
33bugs = []
34
35time_str = time.strftime("%Y-%m-%d, %H:%M:%S (%Z)")
36
37for issue in jira_query(" and ".join(conditions)):
38 bugs.append((issue["key"], issue["fields"]["summary"]))
39
40print '<?xml version="1.0" encoding="ISO-8859-1"?>'
41print '<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"'
42print '"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">'
43print '<section id="relinfo-extracted-from-jira">'
44print ' <title>Extracted from Jira</title>'
45print
46print ' <para>'
47print ' This section lists open bugs in Jira. Extracted at %s.' % time_str
48print ' </para>'
49print
50print ' <remark>Jira query: (%s)</remark>' % "\n and ".join(conditions)
51print
52print ' <informaltable>'
53print ' <tgroup cols="2">'
54print ' <colspec colwidth="6*" colname="c1"/>'
55print
56print ' <colspec align="center" colwidth="1*" colname="c2"/>'
57print
58print ' <thead>'
59print ' <row>'
60print ' <entry align="center">Summary</entry>'
61print
62print ' <entry>Enea Ref</entry>'
63print ' </row>'
64print ' </thead>'
65print
66print ' <tbody>',
67
68if bugs:
69 for bug in sorted(bugs):
70 print
71 print ' <row>'
72 print ' <entry>%s</entry>' % bug[1]
73 print
74 print ' <entry>%s</entry>' % bug[0]
75 print ' </row>'
76
77else:
78 print ' <row>'
79 print ' <entry namest="c1" nameend="c2" align="center">'
80 print ' No issues found'
81 print ' </entry>'
82 print ' </row>'
83
84print ' </tbody>'
85print ' </tgroup>'
86print ' </informaltable>'
87
88if bugs:
89 print ' <para>Number of open bugs: %d</para>' % len(bugs)
90
91print '</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
37import os
38import sys
39import subprocess as sp
40import xml.etree.ElementTree as ET
41import re
42
43repo_root = sp.check_output(["git", "rev-parse", "--show-toplevel"]).rstrip()
44script_root = os.path.dirname(os.path.realpath(__file__))
45param_file = os.path.join(script_root, "docsrc_common/pardoc-distro.xml")
46
47def 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
58def 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 (("&rdquor;", "&quot;"), ("&rdquo;", "&quot;")):
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
103if len(sys.argv) == 3:
104 new_file, prev_file = sys.argv[1:3]
105
106elif 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
126else:
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
139sys.stderr.write("New license file : %s\n" % new_file)
140sys.stderr.write("Prev license file : %s\n" % prev_file)
141
142old_pset, old_pdict = get_pkgs(prev_file)
143new_pset, new_pdict = get_pkgs(new_file)
144
145added = new_pset - old_pset # Set subtraction
146removed = old_pset - new_pset # Set subtraction
147common = old_pset & new_pset
148changed = [ p for p in common if old_pdict[p] != new_pdict[p] ]
149
150print '<?xml version="1.0" encoding="ISO-8859-1"?>'
151print '<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"'
152print '"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">'
153print '<section id="relinfo-package-set-changes">'
154print ' <title>Changes in the Set of Provided Package</title>'
155print ' <para>'
156print ' This section describes changes in the provided packages.'
157print ' </para>'
158print ' <section id="relinfo-added-packages">'
159print ' <title>Added Packages</title>'
160print ' <informaltable>'
161print ' <tgroup cols="2">'
162print ' <thead>'
163print ' <row>'
164print ' <entry>Package</entry>'
165print ' <entry>Version(s)</entry>'
166print ' </row>'
167print ' </thead>'
168print ' <tbody>'
169
170for 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
176print ' </tbody>'
177print ' </tgroup>'
178print ' </informaltable>'
179print ' </section>'
180
181print ' <section id="relinfo-removed-packages">'
182print ' <title>Removed Packages</title>'
183print ' <informaltable>'
184print ' <tgroup cols="2">'
185print ' <thead>'
186print ' <row>'
187print ' <entry>Package</entry>'
188print ' <entry>Version(s)</entry>'
189print ' </row>'
190print ' </thead>'
191print ' <tbody>'
192for 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>'
197print ' </tbody>'
198print ' </tgroup>'
199print ' </informaltable>'
200print ' </section>'
201
202print ' <section id="relinfo-changed-packages">'
203print ' <title>Changed Package Versions</title>'
204print ' <informaltable>'
205print ' <tgroup cols="3">'
206print ' <thead>'
207print ' <row>'
208print ' <entry>Package</entry>'
209print ' <entry>Previous Version(s)</entry>'
210print ' <entry>New Version(s)</entry>'
211print ' </row>'
212print ' </thead>'
213print ' <tbody>'
214for 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
221print ' </tbody>'
222print ' </tgroup>'
223print ' </informaltable>'
224print ' </section>'
225print '</section>'
226
227sys.stderr.write("Package Summary:\n")
228sys.stderr.write(" Prev file : %3d\n" % len(old_pset))
229sys.stderr.write(" New file : %3d\n" % len(new_pset))
230sys.stderr.write(" Added : %3d\n" % len(added))
231sys.stderr.write(" Removed : %3d\n" % len(removed))
232sys.stderr.write(" Changed : %3d\n" % len(changed))
233sys.stderr.write(" Unchanged : %3d\n" % (len(common) - len(changed)))
234sys.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
7ifeq ($(VERBOSE),yes)
8VERB :=
9else
10VERB := @
11endif
12
13#Git repositories to be cloned
14REPO_DOCBUILD := build/docbuild.git
15NAME_DOCBUILD := docbuild
16REPO_DOCENEACOMMON := linux/documentation.git
17NAME_DOCENEACOMMON := doceneacommon
18
19# Set nondefault BRANCH_DOCENEACOMMON in Makefile
20BRANCH_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
22ifneq ($(BRANCH_DOCENEACOMMON),master-enea)
23NAME_DOCENEACOMMON := doceneacommon_$(BRANCH_DOCENEACOMMON)
24endif
25
26GLOBALTMPCLONEROOT = ../../tmpcommon
27ifeq ($(BOOK_GLOBALCLONEROOT),)
28 TMPCLONEROOT := tmpcommon
29else
30 ifeq ($(BOOK_GLOBALCLONEROOT),yes)
31 TMPCLONEROOT := $(GLOBALTMPCLONEROOT)
32 else
33 TMPCLONEROOT := $(BOOK_GLOBALCLONEROOT)/tmpcommon
34 endif
35endif
36DIR_TMPCLONEROOT := $(dir $(TMPCLONEROOT))
37ifeq ($(wildcard $(DIR_TMPCLONEROOT)),)
38$(error Parent of selected clone root does not exist ($(DIR_TMPCLONEROOT)))
39endif
40
41.PHONY: initbuild initcommon usageinit cleaninit
42# Keep usageinit as default target here to avoid init by mistake
43
44usageinit: 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
58initbuild: s_docbuild
59initcommon: s_doceneacommon
60pullbuild:
61 $(VERB)if [ ! -d s_docbuild ]; then echo "ERROR: No s_docbuild exists?" ; exit 10 ; fi
62 $(VERB)cd s_docbuild ; git pull
63pullcommon:
64 $(VERB)if [ ! -d s_doceneacommon ]; then echo "ERROR: No s_doceneacommon exists?" ; exit 10 ; fi
65 $(VERB)cd s_doceneacommon ; git pull
66
67s_docbuild: $(TMPCLONEROOT)/$(NAME_DOCBUILD)
68 $(VERB)rm s_docbuild 2>/dev/null; ln -s $(TMPCLONEROOT)/$(NAME_DOCBUILD) s_docbuild
69
70s_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
95cleaninit:
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
2VER="R0.06"
3
4BBTEMPLATE=
5BBXML=
6
7USAGE="`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
18while echo "x$1" | egrep '^x-' >/dev/null 2>&1
19do
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
24done
25if [ "$BBTEMPLATE" = "" ]; then echo "ERROR: Missing option -template templatefile"; exit ; fi
26if [ "$BBXML" = "" ]; then echo "ERROR: Missing option -xml buildbootxml-to-create"; exit ; fi
27if [ ! -f "$BBTEMPLATE" ]; then echo "ERROR: Missing templatefile '$BBTEMPLATE'"; exit; fi
28if [ ! -d "`dirname \"$BBXML\"`" ]; then echo "ERROR: Missing parent directory for '$BBXML'"; exit ; fi
29
30echo "`basename $0` Creating $BBXML from"
31TARGETREADMES=`cd s_targets ; ls -d */README | tr '\n' ' '`
32echo " $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
48cat $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.
55extractcmds_filter() {
56 echo " <programlisting>" | tr -d '\n'
57 sed '/^___/d;s/\&/\&amp;/g' | sed 's/</\&lt;/g;s/>/\&gt;/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
79extractcmds_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
91for targetreadme in $TARGETREADMES
92do
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
108done
109
110echo "</chapter>" >>$BBXML
111echo "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
5MANIFESTHASH := krogoth
6MANIFESTURL := git://git.enea.se/linux/manifests/el_manifests-networking.git
7PROFILE_NAME := Networking