From a7c5f488c14ac3555af5ce9ff08f767b96d3b8e7 Mon Sep 17 00:00:00 2001 From: Thomas Brinker Date: Thu, 10 Jan 2013 10:38:17 +0100 Subject: [PATCH] documentation: remove the outdated mark-down-based docs --- doc/manual/Makefile | 97 -------------------- doc/manual/basic-concepts.text | 30 ------- doc/manual/basic.text | 42 --------- doc/manual/buildid.odg | Bin 11721 -> 0 bytes doc/manual/buildid.png | Bin 24822 -> 0 bytes doc/manual/buildid.text | 26 ------ doc/manual/chroot.text | 61 ------------- doc/manual/e2factory_logo.png | Bin 28460 -> 0 bytes doc/manual/environment.text | 39 -------- doc/manual/faq.text | 35 -------- doc/manual/footer.html | 2 - doc/manual/header.html | 10 --- doc/manual/licences.text | 34 ------- doc/manual/manual.css | 12 --- doc/manual/manual.text | 29 ------ doc/manual/migration.text | 160 --------------------------------- doc/manual/project.text | 44 --------- doc/manual/release.text | 26 ------ doc/manual/results.text | 73 --------------- doc/manual/sources.text | 108 ---------------------- 20 files changed, 828 deletions(-) delete mode 100644 doc/manual/Makefile delete mode 100644 doc/manual/basic-concepts.text delete mode 100644 doc/manual/basic.text delete mode 100644 doc/manual/buildid.odg delete mode 100644 doc/manual/buildid.png delete mode 100644 doc/manual/buildid.text delete mode 100644 doc/manual/chroot.text delete mode 100644 doc/manual/e2factory_logo.png delete mode 100644 doc/manual/environment.text delete mode 100644 doc/manual/faq.text delete mode 100644 doc/manual/footer.html delete mode 100644 doc/manual/header.html delete mode 100644 doc/manual/licences.text delete mode 100644 doc/manual/manual.css delete mode 100644 doc/manual/manual.text delete mode 100644 doc/manual/migration.text delete mode 100644 doc/manual/project.text delete mode 100644 doc/manual/release.text delete mode 100644 doc/manual/results.text delete mode 100644 doc/manual/sources.text diff --git a/doc/manual/Makefile b/doc/manual/Makefile deleted file mode 100644 index 11cd3db..0000000 --- a/doc/manual/Makefile +++ /dev/null @@ -1,97 +0,0 @@ -# -# e2factory, the emlix embedded build system -# -# Copyright (C) 2007-2009 Gordon Hecker , emlix GmbH -# Copyright (C) 2007-2009 Oskar Schirmer , emlix GmbH -# Copyright (C) 2007-2008 Felix Winkelmann, emlix GmbH -# -# For more information have a look at http://www.e2factory.org -# -# e2factory is a registered trademark by emlix GmbH. -# -# This file is part of e2factory, the emlix embedded build system. -# -# e2factory is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -SUBDIRS = -TOPLEVEL = ../.. - -include $(TOPLEVEL)/make.vars - -HTML = manual.html \ - basic-concepts.html buildid.html \ - basic.html environment.html project.html chroot.html licences.html \ - sources.html results.html release.html migration.html \ - faq.html - -IMAGES = e2factory_logo.png buildid.png - -.PHONY: all install local install-local clean localdist uninstall doc - -default: doc - -all: - for s in $(SUBDIRS) ; do \ - $(MAKE) -C $$s $@ ;\ - done - -install: - for s in $(SUBDIRS) ; do \ - $(MAKE) -C $$s $@ ;\ - done - -uninstall: - for s in $(SUBDIRS) ; do \ - $(MAKE) -C $$s $@ ;\ - done - -local: - for s in $(SUBDIRS) ; do \ - $(MAKE) -C $$s $@ ;\ - done - -install-local: - for s in $(SUBDIRS) ; do \ - $(MAKE) -C $$s $@ ;\ - done - -doc: manual.tar.gz - for s in $(SUBDIRS) ; do \ - $(MAKE) -C $$s $@ ;\ - done - -install-doc: $(HTML) - install -d -m 755 $(DOCDIR)/manual - for f in $(HTML) ; do \ - install -m 644 $$f $(DOCDIR)/manual/ ; \ - done - for f in $(IMAGES) ; do \ - install -m 644 $$f $(DOCDIR)/manual/ ; \ - done - install -m 644 manual.css $(DOCDIR)/manual/ - -%.html: %.text header.html footer.html - cat header.html >$@ - markdown $< >>$@ - cat footer.html >>$@ - -manual.tar.gz: $(HTML) - make DOCDIR=./tmp install-doc - cp tmp/manual/manual.html tmp/manual/index.html - tar -C tmp -czf manual.tar.gz manual - rm -fr tmp - -clean: - rm -f $(HTML) manual.tar.gz diff --git a/doc/manual/basic-concepts.text b/doc/manual/basic-concepts.text deleted file mode 100644 index 158bcc8..0000000 --- a/doc/manual/basic-concepts.text +++ /dev/null @@ -1,30 +0,0 @@ -Basic Concepts --------------- - - -*e2factory* is a tool about reliably building results from sources. That is a short -and correct description. But let's have a look step-by-step. - -Building embedded systems from source usually means taking a lot of steps, -building different parts of the system, starting with a toolchain, going -on building the root filesystem and finally creating a flash image, for -example. You may even want to build an up-to-date set of documentation -with the final result. - -The items mentionen above, toolchain, root filesystem and flash image, -are usually results in *e2factory*. Each of them usually consists of one -or more other results, a compiler and assembler and the c library will -make up the toolchain while the root filesystem could consist of some -libraries, e.g. zlib and the busybox. - -Zlib and busybox are usually results again, but they are built from -sources (that may or may not be named like the results in those cases). - -Thats basically the whole concept: Configure sources and configure -results using sources and other results as dependencies and *e2factory* -will build the system taking dependencies into account automatically -and with no chance of doing mistakes, once the configuration is correctly -set up. - -prev [manual](manual.html) -next [buildid](buildid.html) diff --git a/doc/manual/basic.text b/doc/manual/basic.text deleted file mode 100644 index 305fb05..0000000 --- a/doc/manual/basic.text +++ /dev/null @@ -1,42 +0,0 @@ -Basic configuration -------------------- - - -*e2factory* requires some basic settings in configuration files in the -project: - -* .e2/e2version configures the version of e2factory to be used with - the project (the local tools) -* .e2/syntax holds the syntax version the project requires -* .e2/extensions lists zero or more extensions to be installed with - e2factory (local tools) - -.e2/e2version holds a single line specifying a branch and a tag. -e2factory (the e2-install-e2 tool) installs the version according to the -tag unless the special tag '^' is used. - -Example: - - master e2factory-2.3.1 - -.e2/syntax holds a single line specifying the required syntax version - -Example: - - 2_3_0 - -.e2/extensions holds a table specifying a list of extensions. The ref -must be a valid git ref. If the string has a '/' the ref is passed to -git as-is, otherwise it is translated into a tag by prepending 'refs/tags/' - -Example: - - extensions { - { - name="e2factory-extension", - ref="refs/tags/e2factory-extension-2.3.1", - }, - } - -prev [buildid](buildid.html) -next [environment](environment.html) diff --git a/doc/manual/buildid.odg b/doc/manual/buildid.odg deleted file mode 100644 index ed6157ad5fcfed3c0d77ba4c312d417ef4fb80ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11721 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 Uym^|wLt;iWFX)^vP%#PoFLzktd;kCd diff --git a/doc/manual/buildid.text b/doc/manual/buildid.text deleted file mode 100644 index bee7188..0000000 --- a/doc/manual/buildid.text +++ /dev/null @@ -1,26 +0,0 @@ -buildid -------- - - -A buildid is calculated for each result that is built. The buildid, -technically being a sha1 hash, identifies all configuration values -that influence the build process. That key is used to store the -result. - -That means, if the user requests building a result, *e2factory* may -check if the result already exists and simply skip building it if -it does. This feature offers the unique combination of being sure to -build exactly all results that are influenced by changes done to the -project configuration or sources. - -That makes the workflow as easy as just doing changes and requesting -the tool to build the system (or a specific set of results). *e2factory* -minimizes the time by rebuilding exactly the results that are influenced -by the changes. - -The picture shows a quick overview of how the buildid is composed: - -![buildid.png](buildid.png "buildid calculation") - -prev [basic-concepts](basic-concepts.html) -next [basic](basic.html) diff --git a/doc/manual/chroot.text b/doc/manual/chroot.text deleted file mode 100644 index fc60189..0000000 --- a/doc/manual/chroot.text +++ /dev/null @@ -1,61 +0,0 @@ -Chroot ------- - - -The build environment, called chroot, is organzied in groups. A result -specifies its chroot groups and the tool will setup the build environment -using all files from the groups. - -The groups listed in the default_groups list are used with all results. - -The chroot groups are set up in the order they appear in the configuration -file. - -To setup the chroot configuration call the e2chroot function with a -table argument. - -The table must specify the following keys: - -* default_groups: list of strings -* groups: list of groups specifications - -A group specification must specify the following keys: - -* name: group name -* server: server name -* files: list of file locations, relative to the server - -Example: - - e2chroot { - default_groups = { "base", }, - groups = { - { name = "base", - server = "chroot", - files = { - { - location = "chroot/20080916/base.tar.gz", - sha1 = "adc83b19e793491b1c6ea0fd8b46cd9f32e592fc", - }, - }, - }, - { name = "host-gcc", - server = "chroot", - files = { - { - -- server is inherited from the group if not configured here - server = "chroot", - location = "chroot/20080916/binutils.tar.gz", - sha1 = "55b6aaa6f91b7cd6bf7e47dbb7af548ef8bb85e8", - }, - { - location = "chroot/20080916/gcc34.tar.gz", - sha1 = "7f69da1b33b39f124cc37331711de8e12bbbc758", - }, - }, - }, - } - } - -prev [project](project.html) -next [licences](licences.html) diff --git a/doc/manual/e2factory_logo.png b/doc/manual/e2factory_logo.png deleted file mode 100644 index 0b177fea394fa67c13d7a950a6e6c16819aa2855..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28460 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
YAomwnn8Z>?$`6b9rukq&jJg_B%GHSd@#W@_QA^ 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 - diff --git a/doc/manual/header.html b/doc/manual/header.html deleted file mode 100644 index 0712287..0000000 --- a/doc/manual/header.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - -

Users manual

- diff --git a/doc/manual/licences.text b/doc/manual/licences.text deleted file mode 100644 index c6861d6..0000000 --- a/doc/manual/licences.text +++ /dev/null @@ -1,34 +0,0 @@ -Licences --------- - - -*e2factory* allows configuring licences that may can be referenced in source -configurations later on. - -To configure licences call the e2licence function with a table argument. -The table must specify keys with table values. The keys are used as -the licence identifier, that can be referenced in source configurations. -The table assigns files to the licence: - -* server string: speficy the server name -* files table: a list of files located on that server - -Example: - - e2licence { - gpl_2 = { - server = ".", - files = { - { - -- server is inherited if not given here - server = ".", - location = "licence/gpl-2/COPYING", - -- sha1 is required when the server is not "." - -- sha1 = "bd3c28b6df9c950cc68d5141c65acfc661779f5e", - }, - } - } - } - -prev [chroot](chroot.html) -next [sources](sources.html) diff --git a/doc/manual/manual.css b/doc/manual/manual.css deleted file mode 100644 index ff27551..0000000 --- a/doc/manual/manual.css +++ /dev/null @@ -1,12 +0,0 @@ -/* manual.css -*- Java -*- */ - -pre { - border-style: dashed; - border-color: black; - border-width: 1; - width: 70%; - position: relative; - left: 5%; - padding: 1em; - background-color: #eee; -} diff --git a/doc/manual/manual.text b/doc/manual/manual.text deleted file mode 100644 index 8ed065c..0000000 --- a/doc/manual/manual.text +++ /dev/null @@ -1,29 +0,0 @@ -Content ------------------ - -+ Concepts - * [basic-concepts](basic-concepts.html) - * [buildid](buildid.html) - -+ Configuration - - * [basic](basic.html) - * [environment](environment.html) - * [project](project.html) - * [chroot](chroot.html) - * [licences](licences.html) - * [sources](sources.html) - * [results](results.html) - -+ Tools - * e2-ls-project - * e2-build - -+ Advanced topics - * [building releases](release.html) - * [migrating to newer versions of e2factory](migration.html) - -+ FAQ - * [FAQ](faq.html) - -next [basic-concepts](basic-concepts.html) diff --git a/doc/manual/migration.text b/doc/manual/migration.text deleted file mode 100644 index 4ee9a1e..0000000 --- a/doc/manual/migration.text +++ /dev/null @@ -1,160 +0,0 @@ -Migrating to newer versions of e2factory ------------------------------ - -### Migrating from e2factory-2.3.5 to e2factory-2.3.6 ### - -* configure a list of results to be deployed in release mode in the - `deploy_results` attribute in the project configuration according to - [project](project.html). -* optional: consider moving environment configuration from `proj/env` - to source- or result configuration. -* change the syntax version to `2_3_6` to acknowledge that you changed - the configuration. - -### Migrating from e2factory-2.3.4 to e2factory-2.3.5 ### - -* No changes required - -### Migrating from e2factory-2.3.3 to e2factory-2.3.4 ### - -* The file `.e2/version` was maintained with the project configuration - in versions up to 2.3.3. This is no longer the case now. - -Remove the `.e2/version` file from the repository - - $ git rm .e2/version - $ git commit - -* A file `.e2/global-version` is automatically created on project - checkout, using the server side project descriptor file. - This file must not be checked into the project repository. - If it is not possible to re-checkout the project, copy the file - `.e2/version` to `.e2/global-version` manually before removing - it, or fetching the update from upstream. - -### Migrating from e2factory-2.3.2 to e2factory-2.3.3 ### - -* No changes required - -### Migrating from e2factory-2.3.1 to e2factory-2.3.2 ### - -* change the chroot configuration format according to the documentation - [chroot](chroot.html) -* change the licence configuration format according to the documentation - [licences](licences.html) -* in the chroot-, licence-, files source configuration the sha1 checksum - must be configured using the `sha1` attribute for files not located - on the `'.'` server. -* change the syntax version to `2_3_2` to acknowledge that you changed - the configuration. - -Change the syntax compatibility version and the version of your local tools - - $ echo '2_3_2' >.e2/syntax - $ echo 'master e2factory-2.3.2' >.e2/e2version - -* Do not forget to commit your changes. - -### Migrating from e2-2.1 to e2-2.2.x or up to e2factory-2.3.1 ### - -#### Prerequisites: Cleanup the project state: #### - -* all project members push valuable changes to sources or the project - repository to the server -* all project members except the one doing the migration delete their - full project working copies. - They become unusable during the migration to e2-2.2.x. -* be sure the project is in a state that builds without errors -* tag the project repository -* install e2-2.2.x global tools - -#### Migrate the project, 1st part #### - -* switch the project to use e2-2.2.x local tools: - Change .e2/e2version to hold 'e2-2.2 e2-2.2.0', commit and push -* the old project checkout is no longer used now. Remove it. - -The commands: - - $ echo 'e2-2.2 e2-2.2.0' >.e2/e2version - $ git commit -m 'switch the project to use e2-2.2.0' .e2/e2version - $ git push - -#### Migrate the project 2nd part #### - -* checkout the project again. That will install the e2-2.2.x local tools -* run e2-build. It will complain about .e2/syntax not matching the local - tools. -* Create the .e2/syntax file holding the syntax identifier string - mentioned by e2-build (Something like `2_2_x`). -* Now the configuration syntax itself must be fixed to match the syntax - identifier. - -The commands: - - $ e2-fetch-project ... - $ cd ... - $ e2-build - $ echo '2_2_0' >.e2/syntax - $ git add .e2/syntax - -#### Migrate the project 3rd part #### - -Some details of the project configuration change. Follow the steps below -to change your project configuration to fit e2-2.2.x. -Please `git add` all of your changed files immediately, to create a clean -commit once the migration is successful. - -sed scripts listed in the *Useful Commands* section may help you doing the -work. - -* create `proj/config` - + see [project](project.html) - + `proj/name` and `proj/default-results` become obsolete. Remove them. -* fix the chroot configuration (proj/chroot) - + see [chroot](chroot.html) -* fix the licence configuration (proj/licences) - + see [licences](licences.html) -* fix the source configuration files (src/*/config) - + see [sources](sources.html) - + rename the `name` attribute to `location` for *files* sources - + the `server` attribute can now be specified once on the top-level - and is inherited by each single file, for *files* sources - + rename the `remote` attribute to `location` for git sources - + the `working` attribute for all scm sources has a builtin default - now: `in/`. No need to specify it any more. -* fix the result configuration (res/*/config) - + see [results](results.html) - + the `files` attribute was removed. The tools will only warn, but - work anyway. - -#### Finish the migration #### - -* fetch sources and build with all warnings enabled -* read the warnings and error messages - -The commands: - - $ e2-fetch-sources - $ e2-build --Wall - -The basic migration is done now. Create the commit now and push: - - $ git commit -m 'migrate to e2-2.2.0' - $ git push - -#### Useful commands #### - -Be careful when using these commands. They will do in many cases, but they -are not reliable. They will even do nonsense, if the patterns match in the -wrong places. Review the resulting diff before committing changes! - - $ sed -i s,'group=','name=', proj/chroot - $ sed -i s,'group =','name =', proj/chroot - $ sed -i s,'name =','location =', src/*/config - $ sed -i s,'name=','location=', src/*/config - $ sed -i s,'remote =','location =', src/*/config - $ sed -i s,'remote=','location=', src/*/config - -prev [release](release.html) -next [faq](faq.html) diff --git a/doc/manual/project.text b/doc/manual/project.text deleted file mode 100644 index cc87133..0000000 --- a/doc/manual/project.text +++ /dev/null @@ -1,44 +0,0 @@ -Project -------- - - -*e2factory* needs some configuration information to run, that is collected in the -project configuration. - -To setup the project configuration call the e2project function with a -table argument. - -The table must specify the following keys: - -* release_id string: release identifier -* name string: project name -* default_results table: list of results to build by default -* deploy_results table: list of results to deploy to archive in release mode - -The table may specify the following additional keys: - -* chroot\_arch string: architecture to use when running the build process - x86\_64 or x86\_32 may be used, the latter is the builtin default. - -The `release_id` and `name` settings appear as `E2_RELEASE_ID` and -`E2_PROJECT_NAME` respectively in the environment when the build script runs. -The `release_id` is used to compute the path where the results are stored -when building in release mode. The `name` is used to compute the path to -the chroot build environment. - -Example: - - e2project { - name = "foo", - release_id = "foo-1.0beta", - default_results = { - "foo", - }, - deploy_results = { - "bar", - }, - chroot_arch = "x86_32", - } - -prev [environment](environment.html) -next [chroot](chroot.html) diff --git a/doc/manual/release.text b/doc/manual/release.text deleted file mode 100644 index 8dfd8d5..0000000 --- a/doc/manual/release.text +++ /dev/null @@ -1,26 +0,0 @@ -Building releases ------------------ - - -Prepare building a release with *e2factory*: - -* for each scm source: - * make sure the source is tagged and the tag is configured in the - source configuration -* change the release_id attribute in proj/config to the release string -* commit the file -* push -* build in release mode -* e2factory will store the results listed in the `deploy_results` - attribute in the project configuration to the releases server. - The location will be `releases:/archive//` - -Example: - - $ e2-fetch-project project - $ cd project - $ e2-fetch-sources - $ e2-build --build-mode=release - -prev [results](results.html) -next [Migrating to newer versions of e2factory](migration.html) diff --git a/doc/manual/results.text b/doc/manual/results.text deleted file mode 100644 index f4c0c23..0000000 --- a/doc/manual/results.text +++ /dev/null @@ -1,73 +0,0 @@ -Results -------- - - -To create a result in the configuration call the e2result function -with a table argument. Usually a source configures one or more of the -following keys: - -* sources list of sources -* chroot list of chroot groups -* depends list of dependencies -* env dictionary of environment variables - -To use the `collect_project` feature the following keys must be used -in addition: - -* `collect_project` boolean: enable the collect_project flag for this result -* `collect_project_default_result` string: name of the result that should - be reproducable - -In addition creating a `build-script` is required. The build script must -be stored in `./res//build-script` and runs in the build environment. - -It is possible to group the results in subfolders. When a folder for a result does -NOT contain a config file e2 factory tries to search its subfolders for further -results. To name results in subfolders you have to add the foldername to the result name -separated with a dot (e.g. xorg.libXau). This occurrs when specify dependencies oder sources. - -The `collect_project` flag provides a tree holding everything to rebuild -the result configured in `collect_project_default_result` in $E2_TMPDIR/project. -The user must write a build-script to package that tree to a file in -$E2_TMPDIR/out - -All configuration options can be combined. And even a configuration with -no keys is valid: The `base` chroot group is used automatically, and the -`build-script` runs and may create a result. - -Example configuration: - - e2result { - chroot = { - "autotools", - }, - sources = { - "hello", - "hello-config", - }, - depends = { - "toolchain", - }, - env = { - key = "val", - }, - } - -Example (using the `collect_project` flag) - - e2result { - collect_project = true, - collect_project_default_result = "bsp", - sources = { }, - depends = { }, - } - -Example build script: - - DESTDIR=$E2_TMPDIR/root - make hello - make DESTDIR=$DESTDIR install - tar -C $DESTDIR -czf $E2_TMPDIR/out/$E2_RESULT.tar.gz . - -prev [sources](sources.html) -next [release](release.html) diff --git a/doc/manual/sources.text b/doc/manual/sources.text deleted file mode 100644 index 26eb139..0000000 --- a/doc/manual/sources.text +++ /dev/null @@ -1,108 +0,0 @@ -Sources -------- - - -To create a source from the configuration call the e2source function, -with a table argument. The table must use the following keys: - -generic configuration: - -* type: string -* server: string -* licences: (old: licence) table of strings -* env: dictionary, merged into result specific env for results that use - this source - -files source (type = files, default) - -* file: file configuration table - * server string: server name (optional, inherited from top-level) - * licences table of strings (optional, inherited from top-level) - * location (old: name) string: file location - * unpack string: the directory included in the source package - * patch string: strip n directories when - * copy string: the directory to copy the file into, relative to - -Example: - - e2source { - type = "files", - server = "upstream", - licences = { "gpl2" }, - file = { - { - location = "z/zlib/1.2.3/zlib-1.2.3.tar.gz", - unpack = "zlib-1.2.3", - -- sha1 is required if server is not "." - sha1 = "60faeaaf250642db5c0ea36cd6dcc9f99c8f3902", - }, - } - } - -cvs source (type = cvs) - -* server -* cvsroot -* module -* working -* branch -* tag - -Example: - - e2source { - type = "cvs", - licence = "gpl2", - server = "cvs-server", - cvsroot = ".", - module = "hello", - branch = "HEAD", - tag = "hello-1.0", - } - -svn source (type = svn) - -* server -* location -* branch -* tag -* workingcopy_subdir - -Example: - - e2source { - type = "svn", - licence = "gpl2", - server = "svn-server", - location = "svn-repo", - branch = "trunk", - --branch = "branches/hello-1.0", - tag = "tags/hello-1.0", - --workingcopy_subdir = "trunk", -- defaults to the branch directory - } - -git source (type = git) - -* server -* remote (rename to: location) -* working -* branch -* tag table: list of tags, the last one is used for building - -Example: - - e2source { - type = "git", - licence = "gpl2", - server = "git-server", - remote = "git/h/hello.git", - branch = "master", - tag = "hello-1.0", - } - -subversion source (type = svn) - -* ... - -prev [licences](licences.html) -next [results](results.html) -- 2.39.5