kumquat-buildroot/package/swupdate/Config.in

62 lines
2.2 KiB
Plaintext
Raw Normal View History

package/swupdate: new package 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>
2015-07-31 22:45:43 +02:00
config BR2_PACKAGE_SWUPDATE
bool "swupdate"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
# swupdate requires a parser and uses libconfig as default
select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \
swupdate: Lua 5.1 / LuaJIT are not supported 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>
2017-07-31 23:18:00 +02:00
!BR2_PACKAGE_LUA_5_2 && !BR2_PACKAGE_LUA_5_3
package/swupdate: new package 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>
2015-07-31 22:45:43 +02:00
help
swupdate provides a reliable way to update the software on an
embedded system.
swupdate is highly configurable to fit the targets requirements and
to minimize the footprint. The provided default configuration file
BR2_PACKAGE_SWUPDATE_CONFIG will enable swupdate with an embedded
webserver, a parser and a handler for raw NAND or NOR flash.
The default configuration file builds a reasonable firmware update
system with minimal external dependencies in my mind. If you like to
use your own modified configuration, you have to select the
necessary packages manually:
swupdate: Lua 5.1 / LuaJIT are not supported 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>
2017-07-31 23:18:00 +02:00
* Select BR2_PACKAGE_LUA_5_2 or BR2_PACKAGE_LUA_5_3 if you want
to have Lua support.
package/swupdate: new package 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>
2015-07-31 22:45:43 +02:00
* Select BR2_LIBCURL if you want to use the download feature.
* Select BR2_PACKAGE_OPENSSL is you want to add encryption support.
package/swupdate: new package 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>
2015-07-31 22:45:43 +02:00
* Select BR2_PACKAGE_MTD if you want to use swupdate with UBI
partitions.
* Select BR2_PACKAGE_ZLIB if you want to deal with gzip compressed
package/swupdate: new package 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>
2015-07-31 22:45:43 +02:00
archives.
* Select BR2_PACKAGE_UBOOT_TOOLS and BR2_PACKAGE_ZLIB to add support
for setting the U-Boot environment.
* Select BR2_PACKAGE_ZEROMQ to add support for using a remote
handler.
package/swupdate: new package 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>
2015-07-31 22:45:43 +02:00
https://sbabic.github.io/swupdate
if BR2_PACKAGE_SWUPDATE
config BR2_PACKAGE_SWUPDATE_CONFIG
string "swupdate configuration file"
default "package/swupdate/swupdate.config"
help
Path to the swupdate configuration file.
I you wish to use your own modified swupdate configuration file
specify the config file location with this option.
config BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE
bool "install default website"
default y
help
Install the provided website to /var/www/swupdate.
This is necessary if you want to run swupdate with the embedded
webserver and do not provide an own website to be installed to
/var/www/swupdate.
endif
comment "swupdate needs a toolchain w/ threads"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS