]>
git.e2factory.org Git - e2factory.git/log
Tobias Ulmer [Wed, 7 Oct 2015 16:30:58 +0000 (18:30 +0200)]
luafile: open now sets FD_CLOEXEC by default
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 7 Oct 2015 16:21:05 +0000 (18:21 +0200)]
e2util: implement closefrom()
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 6 Oct 2015 12:21:58 +0000 (14:21 +0200)]
e2build: fix wrong use of shquote(), makes x86_64 chroot work
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 1 Oct 2015 14:44:45 +0000 (16:44 +0200)]
chroot arch: fix regression, make x86_64 work again
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 1 Oct 2015 12:34:48 +0000 (14:34 +0200)]
Makefile: stop exporting so many environment variables
This export business is annoying while testing e2factory during
development . It's also difficult to reason about the origin of a
variable value, since they show up by including make.vars as well as
being inherited through the environment. The only obvious user has been
converted (GENSCRIPT)
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 1 Oct 2015 12:31:46 +0000 (14:31 +0200)]
Makefile: explicitly pass build variables to genscript.sh
Use $(GENSCRIPT) to call the script from any Makefile
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 1 Oct 2015 09:43:54 +0000 (11:43 +0200)]
Makefile: remove 'tags' target
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 30 Sep 2015 12:53:23 +0000 (14:53 +0200)]
Makefile: remove unused 'check' target
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 16 Sep 2015 19:33:11 +0000 (21:33 +0200)]
hashcache: prevent erroneous same-second cache hits
One second resolution is clearly not enough. Compare nanosecond mtime
and ctime as well as size to prevent accidental cache hits.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 16 Sep 2015 18:50:41 +0000 (20:50 +0200)]
e2util.stat(): provide nanosecond precision
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 29 Jul 2015 10:31:50 +0000 (12:31 +0200)]
Reset all signal handlers to their defaults
bz#147
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 18 Jun 2014 13:10:05 +0000 (15:10 +0200)]
Fix rotating logs when the result name contains a dash
Do not rotate log if not required. General cleanup.
bz#140
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 19 Aug 2014 13:36:06 +0000 (15:36 +0200)]
Handle fetching/pushing symlinks instead of creating empty files
This makes symlinks in proj/init work, and should also fix the use of
symlinks in other place. Also, the code should now detect other
non-regular files being fetched and return an error message in this case.
Fixes bz#141
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Rolf Eike Beer [Fri, 10 Jan 2014 10:59:45 +0000 (11:59 +0100)]
mention curl as requirement
Tobias Ulmer [Tue, 25 Mar 2014 17:23:53 +0000 (18:23 +0100)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 25 Mar 2014 17:23:53 +0000 (18:23 +0100)]
release e2factory-2.3.14p0
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 25 Mar 2014 16:47:06 +0000 (17:47 +0100)]
Unbreak --wc-mode and make it work with intermediary deps
Adds a partially random buildid to scratch results, triggering a rebuild
of any result that has a scratch result in its dependency chain.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 25 Mar 2014 16:34:07 +0000 (17:34 +0100)]
Forbid --all with results and --wc-mode without results
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 25 Mar 2014 16:19:38 +0000 (17:19 +0100)]
Fix svn.sourceid(), include SVN revision in sourceid
Previously the svn plugin would not notice moving tags and branch mode
was broken. Also fixes licenseid calculation for svn sources.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 3 Mar 2014 13:30:43 +0000 (14:30 +0100)]
Add e2lib.call_tool_argv_capture()
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 29 Jan 2014 14:00:37 +0000 (15:00 +0100)]
Fix operator precedence in licence validation
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 29 Jan 2014 13:40:34 +0000 (14:40 +0100)]
Fix operator precedence in cvs and svn source validation
"not" binds higher, turning these expressions into false == "string" on
errors.
src.tag not being set causes a stack trace later on.
A regression test has been added.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 22 Jan 2014 19:23:18 +0000 (20:23 +0100)]
Fix error in tartype_by_suffix()
Found by Wolfgang Gehrhardt
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 20 Sep 2013 15:26:54 +0000 (17:26 +0200)]
Fix collect_project regression
Make collect_project work with init files again. A regression test
has been added.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 13 Jun 2013 13:51:58 +0000 (15:51 +0200)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 13 Jun 2013 13:51:58 +0000 (15:51 +0200)]
release e2factory-2.3.14
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 11 Jun 2013 17:38:48 +0000 (19:38 +0200)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 11 Jun 2013 17:38:48 +0000 (19:38 +0200)]
release e2factory-2.3.14rc1
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 11 Jun 2013 16:21:21 +0000 (18:21 +0200)]
Hash the result name.
The result name is passed into the build chroot as environment variable.
To prevent the same build ids for results that are equal in all but the
name, the name must be considered when calculating the build id.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 30 May 2013 16:34:03 +0000 (18:34 +0200)]
Remove hardcoded base chroot group from collect_project
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 9 Apr 2013 15:54:32 +0000 (17:54 +0200)]
Require tools module, fixes trace building in wc-mode
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 19 Mar 2013 16:26:47 +0000 (17:26 +0100)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 19 Mar 2013 16:26:46 +0000 (17:26 +0100)]
release e2factory-2.3.13
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 18 Mar 2013 17:20:19 +0000 (18:20 +0100)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 18 Mar 2013 17:20:19 +0000 (18:20 +0100)]
release e2factory-2.3.13rc5
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 18 Mar 2013 13:54:37 +0000 (14:54 +0100)]
Repair e2lib.islocaltool(), look at the right place
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 18 Mar 2013 13:01:18 +0000 (14:01 +0100)]
Remove regexp matching for manpages
Pretty silly, seems to be a left-over from a previous iteration of the
code.
In addition, don't mention anything about sections as there is no
support for matching them (yet). We do not have manpages with the same
name in both sections, so it's not a problem for now.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Thomas Brinker [Mon, 11 Mar 2013 12:56:09 +0000 (13:56 +0100)]
manpages: bug-fixes
Tobias Ulmer [Fri, 8 Mar 2013 17:22:35 +0000 (18:22 +0100)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 8 Mar 2013 17:22:35 +0000 (18:22 +0100)]
release e2factory-2.3.13rc4
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 8 Mar 2013 12:35:31 +0000 (13:35 +0100)]
Repair interrupt_hook() call from signal handler
Also ignore signal while interrupt_hook() is running, to prevent
cleanup from being interrupted.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 7 Mar 2013 17:25:59 +0000 (18:25 +0100)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 7 Mar 2013 17:25:59 +0000 (18:25 +0100)]
release e2factory-2.3.13rc3
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 7 Mar 2013 17:22:23 +0000 (18:22 +0100)]
Respect $EDITOR
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 6 Mar 2013 18:56:35 +0000 (19:56 +0100)]
Add git url support to git plugin
Suggested by patch from CADCON
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 6 Mar 2013 18:20:04 +0000 (19:20 +0100)]
Add http, https and svn url support to svn plugin
Suggested by a patch from CADCON
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 6 Mar 2013 17:15:55 +0000 (18:15 +0100)]
Revert "use the tools module instead of hardcoding chown"
This reverts commit
52571c840e035bf9abc4e724b453001ce7abca8d .
External tools and tools inside the chroot are different beasts. Revert
my commit as this was plain wrong.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 6 Mar 2013 16:35:11 +0000 (17:35 +0100)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 6 Mar 2013 16:35:11 +0000 (17:35 +0100)]
release e2factory-2.3.13rc2
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 4 Mar 2013 19:04:02 +0000 (20:04 +0100)]
Add XZ support for sources
This depends on a tar version in the chroot that supports xz archives.
The code has been restructured such that we don't play guessing games
based on the magic number in the file header anmore, and just go by
extension. Also, since all this extraction business is only relevant to
file sources, move it into the files plugin instead of cluttering e2lib.
To be clear, this change removes the questionable feature of detecting
that a .tar.bz2 tarball was really a .tar.gz and will instead return an
error message by he way of tar failing.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Mar 2013 15:57:27 +0000 (16:57 +0100)]
Cleanup templates, fix formating, add modelines
Also remove a few lesser used keys, they can be looked up in the manual.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Mar 2013 15:26:15 +0000 (16:26 +0100)]
Remove outdated comment
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Mar 2013 15:14:21 +0000 (16:14 +0100)]
Remove outdated bits about the documentation
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Mar 2013 15:08:05 +0000 (16:08 +0100)]
Cleanup release process information a bit.
These days it's pretty much streamlined into release.sh
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Mar 2013 15:00:32 +0000 (16:00 +0100)]
Polish the extensions README a bit
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Mar 2013 14:50:18 +0000 (15:50 +0100)]
Point to an existing manual page
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Mar 2013 14:18:52 +0000 (15:18 +0100)]
On glibc, strerror_r does not do what you think it does...
Fixes empty error messages in various places.
glibc will use the GNU version of strerror_r by default, which does not
fill the buffer but rather uses it as a temporary storage space. It
returns a pointer to the error string, which was never used.
Since e2 is not multithreaded, replace it with the simpler strerror()
and remove pointless casts.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 28 Feb 2013 19:45:37 +0000 (20:45 +0100)]
Export licenceid() function
Required by files plugin.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 28 Feb 2013 19:42:01 +0000 (20:42 +0100)]
Move check_licence() so it is declared on use
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 28 Feb 2013 18:13:03 +0000 (19:13 +0100)]
create next changelog entry
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 28 Feb 2013 18:13:03 +0000 (19:13 +0100)]
release e2factory-2.3.13rc1
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 26 Feb 2013 14:23:40 +0000 (15:23 +0100)]
Remove trailing slash from git urls, assembla.com can't handle it
While there, make generic_git.git_clone_url1() local and clean up a bit.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 22 Feb 2013 18:11:59 +0000 (19:11 +0100)]
Touch up developer documentation and code little
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 21 Feb 2013 16:49:11 +0000 (17:49 +0100)]
Document more info fields, clean umask and local_init a bit
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 21 Feb 2013 12:23:01 +0000 (13:23 +0100)]
Return false instead of nil in locate_project_root()
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 20 Feb 2013 18:57:40 +0000 (19:57 +0100)]
Remove outdated comments
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 20 Feb 2013 18:38:52 +0000 (19:38 +0100)]
Document info.local_template_path field
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 20 Feb 2013 16:46:52 +0000 (17:46 +0100)]
Introduce e2-cf to source and result groups...
Add a large dose of error checking.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 19 Feb 2013 20:04:41 +0000 (21:04 +0100)]
Remove slashToDot() and export two replacements
Results/source names can now reliably be converted into a file system
path or into e2factory group notation using
e2tool.src_res_name_to_path() and e2tool.src_res_path_to_name()
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 18 Feb 2013 19:08:58 +0000 (20:08 +0100)]
Clarify and limit valid src/res paths and names
Backwards compatibility change ahead:
Disallow result and source pathnames that contain a dot (.) as this is
an endless source of pain. Dots may now only be used to group results
and sources. This makes reliable translation from file paths to result
groups and back possible.
Rename the functions doing the validation, add documentation, and make
them available outside of the e2tool module. Improve error messages.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 18 Feb 2013 16:39:59 +0000 (17:39 +0100)]
Don't limit slashToDot() to 100 replacements
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Mon, 18 Feb 2013 16:22:18 +0000 (17:22 +0100)]
Remove generatePath(), drop postfix param in resultdir() etc
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 15 Feb 2013 16:38:08 +0000 (17:38 +0100)]
Switch --help over to display the man page of the tool
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 15 Feb 2013 16:19:17 +0000 (17:19 +0100)]
Add basic ldoc comments, just to get an overview
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 14 Feb 2013 18:44:58 +0000 (19:44 +0100)]
Install e2 and e2-help man pages
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 14 Feb 2013 18:44:17 +0000 (19:44 +0100)]
Add e2-help man page
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 14 Feb 2013 18:43:27 +0000 (19:43 +0100)]
Install e2-help as a local tool
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 14 Feb 2013 18:41:14 +0000 (19:41 +0100)]
Add e2-help, makes it easier to view e2 documentation
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 14 Feb 2013 18:37:35 +0000 (19:37 +0100)]
Add manpage for e2
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 8 Feb 2013 11:58:32 +0000 (12:58 +0100)]
Improve plugin module documentation
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 7 Feb 2013 16:36:36 +0000 (17:36 +0100)]
Repair error propagation from sub-makes
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 7 Feb 2013 11:19:33 +0000 (12:19 +0100)]
Clean up git.check_workingcopy(), improve error handling
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 6 Feb 2013 19:25:52 +0000 (20:25 +0100)]
Improve read_line doc and return a sensible error message
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 5 Feb 2013 19:25:08 +0000 (20:25 +0100)]
Remove e2lib.e2_su()
The tool does not exist any more, remove the function call as well.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 5 Feb 2013 19:07:05 +0000 (20:07 +0100)]
Cast argv to the right pointer type
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 5 Feb 2013 19:05:48 +0000 (20:05 +0100)]
Drop unused variable rc
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 5 Feb 2013 17:41:50 +0000 (18:41 +0100)]
Remove warning when hardlinking fails
Also remove bogus error catenation. Link failures will still be logged
by the kernel, but they are harmless.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Tue, 5 Feb 2013 16:59:41 +0000 (17:59 +0100)]
Add files to ignore on newly created projects.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 17:49:34 +0000 (18:49 +0100)]
Remove e2option.documentation
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 18:56:32 +0000 (19:56 +0100)]
Make sure new-source gets the correct number of arguments
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 18:51:29 +0000 (19:51 +0100)]
Rename arg in e2lib.parse_server_location(), add assert
arg is used as a hidden parameter by Lua.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 17:52:46 +0000 (18:52 +0100)]
e2: call usage() with the proper exit code
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 17:44:46 +0000 (18:44 +0100)]
Add tools.isinitialized()
Return whether the tools module still needs to be initialized or not.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 17:42:05 +0000 (18:42 +0100)]
tools: add "man" tool.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 17:34:38 +0000 (18:34 +0100)]
Undeclared field access is ok unless field is a string.
strict does not have the ability to declare fields like arr[1]. Until
functionality is added that allows this, disable the fatal error for all
non-string types.
Also fix up a couple of comments.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Fri, 1 Feb 2013 17:29:56 +0000 (18:29 +0100)]
e2lib: add isglobaltool() and isglocaltool()
A tool may also be neither global nor local. An example would be "e2"
itself.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Wed, 23 Jan 2013 16:15:24 +0000 (17:15 +0100)]
Move defaultoptions() and userdefaultoptions() out of parse()
Makes it clear that nothing fancy is going on, these are just factored
out for clarity.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 24 Jan 2013 17:56:26 +0000 (18:56 +0100)]
Remove e2lib.chomp() and e2lib.read_configuration()
Both are unused.
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 24 Jan 2013 17:15:39 +0000 (18:15 +0100)]
Add (minimal) documentation to all e2lib functions
Signed-off-by: Tobias Ulmer <tu@emlix.com>
Tobias Ulmer [Thu, 24 Jan 2013 13:57:14 +0000 (14:57 +0100)]
Convert locate_project_root() documentation to ldoc.
Signed-off-by: Tobias Ulmer <tu@emlix.com>