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