summaryrefslogtreecommitdiffstats
path: root/package/swupdate
Commit message (Collapse)AuthorAgeFilesLines
* package/swupdate: fix static build without luaFabrice Fontaine2019-03-281-0/+62
| | | | | | | | | | | | | | The lua_swupdate.so library was still built (without any object files) and linked against swupdate even when HAVE_LUA was not set. This fails in some static-only configurations. Fixes: - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> (cherry picked from commit b251f50c8d555bdbbd2f7bd378fdb3d3de7fe84d) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/swupdate: update license filesFabrice Fontaine2019-02-202-3/+7
| | | | | | | | | | | | | | COPYING contains only the license for GPL-2.0 so use the new license files that have been added in the Licenses directory since version 2018.03 and https://github.com/sbabic/swupdate/commit/32c1f98eaca69e362be074197f84a59d994c0876 Also update GPL-2.0+ to "GPL-2.0+ with OpenSSL exception" and add Exceptions file, see: https://github.com/sbabic/swupdate/commit/66d0dbe80f49eb49f8999c9d738579651fc38134 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* package/swupdate: disable lua in static buildFabrice Fontaine2019-01-121-1/+1
| | | | | | | | | | | | | Since version 2018.11 and https://github.com/sbabic/swupdate/commit/624904cc18003fae413011563dac83a333f10509, bindings for LUA is a shared library so disable lua if BR2_STATIC_LIBS is set Fixes: - http://autobuild.buildroot.org/results/55767e58c211656558af7916a4e0975089a2785b Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* swupdate: ensure TARGET_CC is used for compiling/linkingPeter Korsgaard2018-12-181-0/+5
| | | | | | | | | | | | | Fixes: http://autobuild.buildroot.net/results/e302d0edb59ff7617b5f2d21f06eb65ae04981fe http://autobuild.buildroot.net/results/dbb69acadc20b4bb559311348eca276c1e6343f7 Swupdate uses $CROSS-cc instead of $CROSS-gcc, which is not available in all external toolchains, and use CC for linking. Ensure TARGET_CC is used for both. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/swupdate: Update to version 2018.11Jared Bents2018-12-132-2/+3
| | | | | | | | | | | | | | | | | | Update to version 2018.11 to resolve the following build failure: corelib/channel_curl.c: In function ‘channel_map_curl_error’: corelib/channel_curl.c:298:2: error: duplicate case value case CURLE_SSL_CACERT: ^ corelib/channel_curl.c:297:2: error: previously used here case CURLE_PEER_FAILED_VERIFICATION: ^ when building with CONFIG_DOWNLOAD=y. This issue is happening since the libcurl bump to 7.62.0. Signed-off-by: Jared Bents <jared.bents@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/swupdate: default website have a new APIJulien Corjon2018-04-161-1/+1
| | | | | | | | | | 2018.03 introduce a new website with Websocket asynchronous communication[1] [1] https://github.com/sbabic/swupdate/blob/master/doc/source/mongoose.rst Signed-off-by: Julien Corjon <corjon.j@ecagroup.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* swupdate: bump to version 2018.03Jörg Krause2018-04-155-214/+13
| | | | | | | | | | | | | | | | | | | | | | Remove upstream patches: * 0001-compat.h-introduce-compatibility-header.patch * 0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch Update note about bundled modified version of mongoose 6.11. Update licenses. Some files are LGPL-2.1+ now. Remove Public Domain as the relevant bundled sqlite3 code was removed some time age. Regenerated the .config file by doing: ``` make swupdate-menuconfig make swupdate-update-config ``` .. and removing the paths for the build options manually. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* swupdate: add upstream patch to fix build errorJörg Krause2018-01-271-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building SWUpdate with the following defconfig: ``` CONFIG_DOWNLOAD=y ``` .. the build process breaks with: ``` corelib/channel_curl.c:27:10: fatal error: json-c/json.h: No such file or directory #include <json-c/json.h> ``` Looking at the SWUpdate Kconfig based build system shows that `CONFIG_DOWNLOAD` depends on `HAVE_LIBCURL`, which selects CURL, which eventually enables the (unnecessary) build of channel_curl.o. The upstream fixes the condition for building channel_curl.o by adding a new hidden config option `CHANNEL_CURL`, which is only selected by the dependent options. Backported from: https://github.com/sbabic/swupdate/commit/37a6666a532e9cbc42b56301f27919ae7c00d2eb Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* swupdate: add upstream patch to fix musl build issueJörg Krause2018-01-181-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | Add upstream patch to fix build issue with the musl C library, as musl does not provide the GNU extension `strndupa()` breaking the build with an undefined reference: ``` ipc/lib.a(network_ipc.o): In function `ipc_postupdate': network_ipc.c:(.text.ipc_postupdate+0x39): undefined reference to `strndupa' ``` The upstream patch provides a compatibility header file adding a definition of `strndupa` if it is not already defined. Backported from: https://github.com/sbabic/swupdate/commit/9867a9d6a21e6b0b9bcba57c3e2398fe671cea17 Fixes: http://autobuild.buildroot.net/results/f674219225d0b67d0bc78fd10b47a865250746f4/ http://autobuild.buildroot.net/results/d2b0cfcfec583d203af1b26152f14ded3ebd3eee/ http://autobuild.buildroot.net/results/1d0cbd1eb9b1b70bd9f4d1c4fae431baee9d105c/ Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: remove empty lineJörg Krause2018-01-151-1/+0
| | | | | | | | | | | | | | | | Reported by Yann E. Morin running: ``` $ ./utils/check-package package/swupdate/swupdate.mk package/swupdate/swupdate.mk:42: consecutive empty lines 140 lines processed 1 warnings generated ``` Reported-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* swupdate: bump to version 2017.11Jörg Krause2018-01-125-133/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove upstream patch 0001-Fix-SHA256-hash-verification.patch. Re-enable support for Lua 5.1 and LuaJIT, which was removed in version 2017.09 because of compatibility issues [1]. Meanwhile, the issues have been resolved upstream [2]. Note, that `CONFIG_HANDLER_IN_LUA` is now supported by Lua 5.1/LuaJIT, too. Add a fixup command `SWUPDATE_SET_LUA_VERSION` to set the correct base name for the Lua/LuaJIT pkg-config file used by the swupdates config option `LUAPKG`. Fix a small type in the help text: 'in my mind' -> 'in mind'. Regenerated the .config script by doing: ``` make swupdate-menuconfig make swupdate-update-config ``` .. and removing the paths for the build options manually. [1] http://patchwork.ozlabs.org/patch/795958/ [2] https://github.com/sbabic/swupdate/commit/7b49b8dc59acc0591fe9823f1739ba7422eb30c7 Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/*/Config.in: fix help text check-package warningsThomas Petazzoni2017-12-181-30/+33
| | | | | | | | | | | | | This commit fixes the warnings reported by check-package on the help text of all package Config.in files, related to the formatting of the help text: should start with a tab, then 2 spaces, then at most 62 characters. The vast majority of warnings fixed were caused by too long lines. A few warnings were related to spaces being used instead of a tab to indent the help text. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: Fix SHA256 hash verificationMaksim Salau2017-10-311-0/+119
| | | | | | | | | | | | swupdate 2017.07 has a bug which makes hash verification faulty. The commit adds a patch to fix the issue. The fix has already been pushed to upstream and is a copy of the commit dba95dcd3739c604a81ffa2df2545e7a4cd430cf in the swupdate repo [1]. [1] https://github.com/sbabic/swupdate Signed-off-by: Maksim Salau <msalau@iotecha.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* swupdate: Lua 5.1 / LuaJIT are not supportedJörg Krause2017-08-102-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before commit 87b6ac1478821351c92f7ca1c3154550e4713b28 support for Lua was always disabled by the default config file: ``` CONFIG_LUA is not set ``` The commit removed this setting and Lua support is now enabled if a Lua interpreter is enabled. As the swupdate build system uses pkg-config to check for the lua library by default (LUAPKG="lua") this throws a lot of undefined referenced in case LuaJIT is uses as Lua interpreter, e.g.: ``` corelib/lib.a(lua_interface.o): In function `l_info': lua_interface.c:(.text.l_info+0x14): undefined reference to `luaL_checklstring' ``` In addition, since version 2017.07, Lua 5.1 really isn't supported any more (before this version, it was only unsupported if the option CONFIG_HANDLER_IN_LUA was set). Therefore, remove support for Lua 5.1 and LuaJIT in the swupdate package for now until upstream might fix this issue. Reported upstream: https://groups.google.com/forum/#!topic/swupdate/WAm8npAOd6o Fixes: http://autobuild.buildroot.net/results/df2/df2a71efe5af52d7b8721a355c49934b1be197a3/ http://autobuild.buildroot.net/results/400/4006225c8a47eb0b56399c83bd6d00406a0f62c2/ http://autobuild.buildroot.net/results/098/098f9d6cd905359adac4fb15e1d54c5022757325/ http://autobuild.buildroot.net/results/e5f/e5f6f99d96d9c661454335e7f931a03c3ae6a9e2/ http://autobuild.buildroot.net/results/f3a/f3a0abe8d5e35c85da40d20dab260c28506a0d4c/ Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* swupdate: bump to version 2017.07Jörg Krause2017-07-294-52/+20
| | | | | | | | * Remove patch applied upstream * Update the default config file Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: don't link with librtBaruch Siach2017-06-201-1/+1
| | | | | | | | | | Buildroot no longer supports toolchains with glibc older than 2.17, so there is no need to link with librt for clock_* system calls. Cc: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: switch to local config librt dependencyBaruch Siach2017-06-082-35/+1
| | | | | | | | | | | | | | | | | | Upstream rejected[1] the patch added in commit 6a1aa4e2daf0 (swupdate: fix build with older glibc). Instead of carrying this patch going forward, make librt an extra library dependency in the Buildroot local swupdate .config. This solution is somewhat less optimal than the patch, because it always adds librt regardless of whether SURICATTA_HAWKBIT is enabled. In theory we could add a test for (BR2_PACKAGE_JSON_C && BR2_PACKAGE_LIBCURL), which are the SURICATTA_HAWKBIT dependencies, and edit .config at build time. But this adds much complexity for little gain. [1] https://groups.google.com/forum/?hl=en#!topic/swupdate/77QWIka27es Cc: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: fix build with older glibcBaruch Siach2017-06-071-0/+34
| | | | | | | | | | | Add -lrt that is needed for clock_gettime() with glibc before 2.17. Fixes: http://autobuild.buildroot.net/results/034/0345814c0b0023e124992974c0600bdda0824dbf/ Cc: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* swupdate: fix build without json-cBaruch Siach2017-06-021-0/+39
| | | | | | | | | | | | | swupdate enables SURICATTA_HAWKBIT by default, which unconditionally selects JSON. This breaks the build when the optional json-c dependency is not built. Add a patch fixing SURICATTA_HAWKBIT dependencies. Fixes: http://autobuild.buildroot.net/results/e61/e6179f515589a42a9aee16b54b897ef9111e7f4b/ http://autobuild.buildroot.net/results/dba/dba54b00c81f62d957a8c189dde39ba0db8864e6/ Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* swupdate: bump to version 2017.04Jörg Krause2017-05-293-2/+11
| | | | | | | | Add optional dependency on zeromq which was already added in version 2016.10. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* boot, linux, package: use SPDX short identifier for GPLv2/GPLv2+Rahul Bedarkar2017-04-011-1/+1
| | | | | | | | | | | We want to use SPDX identifier for license strings as much as possible. SPDX short identifier for GPLv2/GPLv2+ is GPL-2.0/GPL-2.0+. This change is done by using following command. find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\<GPLv2\>/GPL-2.0/g' Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: bump to version 2017.01Jörg Krause2017-03-102-2/+2
| | | | | Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: replace BR2_PREFER_STATIC_LIB with BR2_STATIC_LIBSDanomi Manchego2016-12-101-1/+1
| | | | | | | | The symbol to control static compilation was renamed in 2015.02, but missed when swupdate was added. Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* swupdate: bump to version 2016.10Gary Bisson2016-11-092-2/+2
| | | | | | | | | | | | | | | | | | | | | | | A short list of new features: - progress interface as general way to signalize the update status outside of the process. - support encrypted artifacts (encryption via simmetric keys) - host verification for swu images (-c option) - configuration file to configure the update process - HAwkbit backend: API extended, support for configData messages - Hawkbit backend: supports SSL certificates - remote handler : general interface to connect external installers. Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: improved help text for Lua supportJordan Yelloz2016-10-251-1/+5
| | | | | | | | It now explains limitations of building against Lua < 5.2 interpreters and how to link to LuaJIT library. Signed-off-by: Jordan Yelloz <jordan@yelloz.me> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: update lua check for libconfigJordan Yelloz2016-10-251-1/+2
| | | | | | | | | Most probably this was missed in commit 65b2ae49feb310d3272a47c44cf3b406646b25c1 which removed pinning to Lua 5.2. Signed-off-by: Jordan Yelloz <jordan@yelloz.me> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: allow luajit to enable HAVE_LUAJordan Yelloz2016-10-251-2/+2
| | | | | | | | | | | | | | | Until now, HAVE_LUA=y was only passed when BR2_PACKAGE_LUA=y. However, swupdate can also use LuaJIT instead of the classic Lua. Therefore, this commit updates the package to use BR2_PACKAGE_HAS_LUAINTERPRETER and the luainterpreter virtual package. Note that the swupdate configuration needs to be updated separately (via swupdate-menuconfig) to enable Lua support, and to specify the Lua version (which should be jit-5.1 to link against LuaJIT). Signed-off-by: Jordan Yelloz <jordan@yelloz.me> [Thomas: use the luainterpreter virtual package, expand commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/swupdate: bump to version 2016.07Jörg Krause2016-07-154-41/+13
| | | | | | | | | | * Remove fetching upstream patch to fix build without MTD support * Update .config * Update help text as SSL support is now needed for other features than the webserver too Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: bump to version 2016.04Jörg Krause2016-05-074-13/+61
| | | | | | | | | | | | | | | | | | | | | | | | | Also: * Update the .config file * Update the help text: - Lua support is not restricted to Lua 5.2 - U-Boot supports needs now BR2_PACKAGE_UBOOT_TOOLS additionally * Remove comment about bundled lsqlite3, it has been removed. * Remove upstream patches: - "Kbuild: Fix link error for CONFIG_UBOUT and missing libz" [1] - "Kbuild: Link with GCC instead of LD" [2] * Add patch from upstream: - "Fix build without MTD support" [3] * Add optional dependency for libarchive * Add optional dependency for uboot-tools [1] https://github.com/sbabic/swupdate/commit/5a5ef5909f5da5b2070d58ffaee924bb8e6a51e1 [2] https://github.com/sbabic/swupdate/commit/f26577423eb65728fcd10f78f9978dd07d51dcb9 [3] https://github.com/sbabic/swupdate/commit/69c0e66994f01ce1bf2299fbce86aee7a1baa37b Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> [Thomas: add host-pkgconf in the dependency when Lua is enabled, as it is used to find Lua.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/swupdate: fix build issue with some toolchainsJörg Krause2015-11-022-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add patch from upstream to fix build issue with some toolchains. For some toolchains used in Buildroot (x86_64 and mips64) partial linking using 'ld' directly doesn't work well, as the 'ld' default emulation may not necessarily be the correct one. Note, that the default emulation depends upon how the linker was configured at build time. The leads to different kind of build errors, like: * /usr/bin/i686-pc-linux-gnu-ld: Relocatable linking with relocations from format elf64-x86-64 (core/swupdate.o) to format elf32-i386 (core/built-in.o) is not supported. * /usr/bin/mips-linux-gnu-ld: handlers/raw_handler.o: endianness incompatible with that of the selected emulation * /usr/bin/mips64el-linux-ld: core/swupdate.o: ABI is incompatible with that of the selected Linking with gcc will pass all the appropriate linker flags to the linker. '-nostdlib' has to be added to ldflags-y to link properly without pulling in GCC libs during partial linking. Note, for Kbuild ldflags-y is prefered over the deprecated EXTRA_LDFLAGS. Build config for x86_64: BR2_x86_64=y BR2_x86_corei7=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209=y Runtime test: $ output/build/swupdate-2015.07/swupdate -v Swupdate v2015.07.0 Licensed under GPLv2. See source distribution for detailed copyright notices. Registered handlers: rawfile raw Note, that a previous patch [1] had to be reverted [2] because ld does not take gcc's constructor functions into account and so none of the handlers have been registered at runtime. Fixes: http://autobuild.buildroot.net/results/de9/de920298075d32f3de83a0cfb7417846eb833425/ http://autobuild.buildroot.net/results/975/975915aa33005806e78260bae385cd4b3e359ca8/ http://autobuild.buildroot.net/results/c54/c54e7a2ea353d95d41a1e966de0dffa7b6ac432e/ http://autobuild.buildroot.net/results/019/0198596ebfed05ab86552b628da2274d55bf42ae/ and many more. [1] https://patchwork.ozlabs.org/patch/532542/ [2] https://patchwork.ozlabs.org/patch/535408/ Cc: Bjørn Forsman <bjorn.forsman@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Revert "package/swupdate: add patch to fix build issue with some toolchains"Bjørn Forsman2015-10-262-2/+0
| | | | | | | | | | | | | | | | This patch caused an unfortunate regression that prevents any handlers from being registered (runtime issue). This means swupdate cannot perform any update. Upstream has reverted it. See discussion: https://groups.google.com/d/msg/swupdate/oVIhJmYPT8A/eq3uZvYVDQAJ This reverts commit a8cc6eeec5a665db5689083312beef14a9afbafa. Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/swupdate: add patch to fix link error for CONFIG_UBOOT and missing libzJörg Krause2015-10-192-1/+4
| | | | | | | | | | | | | | | | | CONFIG_UBOOT needs libz [1]. So CONFIG_UBOUT mustn't be available when HAVE_ZLIB=n. Add patch from upstream to fix a link error for CONFIG_UBOOT and missing libz. Note, that this link error does not affect the default config provided by Buildroot. [1] https://github.com/sbabic/swupdate/commit/cf495e23ad117f4cae9c429e80714fe9c18f2d6a [Thomas: use a single <pkg>_PATCH variable.] Reported-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/swupdate: add patch to fix build issue with some toolchainsJörg Krause2015-10-192-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some toolchains used in Buildroot (x86-64 and mips64) have a problem to compile a set of object files into one object file as it is done for the `builtin-target` declared in swupdate's Kbuild Makefile.build. This target collects all object files from every subdirectory declared in `objs-dir` and compiles them into a single object file named `build-in.o` using the linker ld. For the addressed toolchains the default emulation of ld is not the correct one leading to different kind of relocation errors: /usr/bin/i686-pc-linux-gnu-ld: Relocatable linking with relocations from format elf64-x86-64 (core/swupdate.o) to format elf32-i386 (core/built-in.o) is not supported. or /usr/bin/mips-linux-gnu-ld: handlers/raw_handler.o: endianness incompatible with that of the selected emulation or /usr/bin/mips64el-linux-ld: core/swupdate.o: ABI is incompatible with that of the selected As there is no need to have single object file `built-in.o` to be compiled for the subdirectories core and handlers we can easily allow swupdate to be built with these toolchains by compiling the source files from core and handlers with the `lib-target` target by assigning them to the `libs-y` variable as it is done for all other subdirectories. The `lib-target` compiles a set of object files into one archive file. With this target we avoid using the ld linker and use the ar archiver instead. Add a patch from upstream to fix a whole bunch of autobuild errors. Fixes: http://autobuild.buildroot.net/results/de9/de920298075d32f3de83a0cfb7417846eb833425/ http://autobuild.buildroot.net/results/975/975915aa33005806e78260bae385cd4b3e359ca8/ http://autobuild.buildroot.net/results/c54/c54e7a2ea353d95d41a1e966de0dffa7b6ac432e/ http://autobuild.buildroot.net/results/019/0198596ebfed05ab86552b628da2274d55bf42ae/ and many more. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/swupdate: add hash fileJörg Krause2015-10-191-0/+2
| | | | | Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: fix description typoBaruch Siach2015-10-091-1/+1
| | | | | Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* swupdate: provide sensible error message if no config file is specifiedPeter Korsgaard2015-10-031-0/+8
| | | | | | Similar to how we do it for the other kconfig packages. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/swupdate: new packageJörg Krause2015-10-033-0/+223
swupdate provides a reliable way to update the software on an embedded system. Note that swupdates has a reworked Kbuild/Kconfig system. It has now support for the 'option' and 'env' symbols as well for the 'savedefconfig' target. This makes dependency handling much easier. We're now able to pass which dependencies are available through the environment, as suggested by Arnout Vandecappelle [1]. In previous version of this patch we had a configuration setting where all package dependencies except Lua were selected by default. This has changed with v7 as we are now able to pass dependencies to the swupdate build system through the environment. For useful operation swupdate requires a parser which depends by default on libconfig, but can be replaced by a json-c or Lua parser. To provide a reasonable firmware update system we enable the embedded webserver based on mongoose (also see notes about mongoose below), a parser as stated above and a handler for raw NAND or NOR flash. The user can modify this configuration by selecting the appropriate dependencies before running `make swupdate-menuconfig`. The help text contains information about which packages may be of interest for the user. The embedded web server requires a website for proper operation. We install the included website by default, however the user may choose to install a custom website on the post-build scripts. Note, swupdate includes some old versions of mongoose and lsqlite3: - mongoose is version 3.8 from year 2013 - lsqlite3 is version 0.8 from year 2011 Currently, swupdate does not provide a way to replace these with external packages. This patch is based on a WIP version submitted by Romain Naour, commented by Arnout Vandecappelle [2]. [1] http://lists.busybox.net/pipermail/buildroot/2015-March/122981.html [2] https://patchwork.ozlabs.org/patch/401270/ Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Cc: Romain Naour <romain.naour@openwide.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Tested-by: Mike Williams <mike@mikebwilliams.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
OpenPOWER on IntegriCloud