From patchwork Sun Jul 7 12:27:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1957686 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20230601 header.b=N2/9wJxq; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::340; helo=mail-wm1-x340.google.com; envelope-from=swupdate+bncbd2zdgn6sekrbq4tvk2amgqerck7goa@googlegroups.com; receiver=patchwork.ozlabs.org) Received: from mail-wm1-x340.google.com (mail-wm1-x340.google.com [IPv6:2a00:1450:4864:20::340]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WH63J1dWjz1xrJ for ; Sun, 7 Jul 2024 22:27:54 +1000 (AEST) Received: by mail-wm1-x340.google.com with SMTP id 5b1f17b1804b1-4265f3e966esf9468025e9.0 for ; Sun, 07 Jul 2024 05:27:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1720355269; cv=pass; d=google.com; s=arc-20160816; b=g3I0XM/8BBW6P2Rw3lRF+Jm4W0cN8HqcgL294Y76aExsQHEUIqkbnFDHuj3h4pX19H IVFQogxuzDjY8JZ73WuQW53xq9jDHl4BruM5wLrHcD0Pu+kHjwSoU2GA9Q8vj5xM/cib fH+H4UduPo+9aTH04/fOSAl66H2b+pKoUgyYeGEVBG3p3EnbHZYrjdyocwvarTTa9WFP qC3WnRyIiGGSixmkUlQr8t4onQZQz7NdkFdQjD0znW8dJz20D2mjikoupyEJ2eqgPi+Y a4Z0ResoXtwNV07XMGAcNxXXXBNxGq4CxGw6RO4Qsv2mGLlHmgFBxixuGrL98r8K7ka9 CtUA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:ui-outboundreport:mime-version :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=Menr0dpIM6Yh7hRCwWEIBAV0t+l6rN6D22RUxmQ9tfs=; fh=oNOXkaD2nS2bi0Vhq0IYDHJit9Tldj1kwEtnuQNKne4=; b=meo8JmX/eHcNdhQnqFs9NqFTRuym9mHYWwsloVdTMbN0hinx4aBAa0/jRpZyomMTQT jNz5mG9OM6Kn4+rPC0KpLcnlZKtGYc+1sbvm2S7uNxwI8d6jr4BAGMUJwMCpqj62e5Yw nIiL5OzTFKQjLAHhIIHEuz55VI4Et+TNX12Ue4ylSoFhM9bX/8fLVbhoGSuFTux+WoUZ TS4cFetoCzi87FIZgeWKHZpYJWvQja2GvXiLyh+s45YxisF0stmn0z7kKPLS1LfT8GgP SehM8aoULqmI63HqX6WCbtJ9qhUnoJ+ofiLxVU6KlYoAPR+S7H9NAqAT/P0NsaF4zZbH JjMQ==; darn=patchwork.ozlabs.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@swupdate.org header.s=s1-ionos header.b=QrO5pxs3; spf=pass (google.com: domain of stefano.babic@swupdate.org designates 212.227.17.13 as permitted sender) smtp.mailfrom=stefano.babic@swupdate.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1720355269; x=1720960069; darn=patchwork.ozlabs.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:ui-outboundreport:mime-version:message-id:date :subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=Menr0dpIM6Yh7hRCwWEIBAV0t+l6rN6D22RUxmQ9tfs=; b=N2/9wJxq32hZql79hj2FzHOKXH/e9EZ9K561cBwgKvGP6tVDYr3Ar1ONSsYvXoX4VM MZEv3eI9m+Hubd2Y+tChd3Jt9oHzMJwaAhN+NzVIyPCwoCXlGaGqB/VfqQlHSoprBdYr DVYC2g/FXiD+rixhprFh9l8bCRF47XnpxdrmtxqHyol06PNhOUOORq01Ws+/cfTIl8oH yyOVJZqrvyLZzVuefAj96otL7GD+nI6Wo/wOegNzHUycMHX38RFE2AIKDNG0vXPYrgd9 /Ce4xXHXDaOrbk5HSM3iIAYQ3yQqKz+3lDGiCfLvk36bKQwUDIVhbhcs7NlqcHmQfOcn C6VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720355269; x=1720960069; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender :ui-outboundreport:mime-version:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=Menr0dpIM6Yh7hRCwWEIBAV0t+l6rN6D22RUxmQ9tfs=; b=LNMSzFNc5f2W1iRGt6TO0mgCSVe3iD5Lw8cVHGk+oNDfiXw2I82QP3C2t0J7iunt2B sSQIQVbQiMFYF/wwICnGfkzy+pM69g/w2LVWRPMu+Ev/rlKI0Bi9mX06Uu5GqbNbnOUt GY7dkl7HI4ynAUFHW4IrjwDsn/bna1IHr3FRgDUYI7pr9/0NC850V+4JtPwULnns/d75 7l9y8AvGlfPM8HPiA52H8+u4U5H49DtHVy0bhRjS/5unWDat1tmH/AZe3udNGHN+UaY+ buPf3c1PPtkqagAml9nGpFSbs+UkhuYVqxQwB/k/25HoPpZGCK5xvIf1cwe5uGrcH8n5 LZgw== Sender: swupdate@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCUrRxLSt1f0HkNq29LPVFPVJWvp1RA81+KG+vMF9sTj0G+ikeWp5+K0OjGr9Nb12TveWg2mGAwdnJPQ7zdnvqCbfPfq1WO3ULbWWcQ4+A== X-Gm-Message-State: AOJu0YwCNiBvzZRVpW2XuJZFg/rszh/8zN/J7AuduJ8op4g/HdrMs9qr AgBabEZBuNM+rhLZ3v9o7Ee/F2hFlr0GdqtgbjDpQBU+CTjeLJ9m X-Google-Smtp-Source: AGHT+IHi/lDStgM8GZSECjBRHWhbWKAsvPY/9OzPWJqil/baTKtEAlxP7DIz2UWQrqjRZnYmFpmMzQ== X-Received: by 2002:a05:600c:48a1:b0:426:5471:12e2 with SMTP id 5b1f17b1804b1-4265471145emr45254345e9.4.1720355268105; Sun, 07 Jul 2024 05:27:48 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:600c:1990:b0:425:5e94:382e with SMTP id 5b1f17b1804b1-42649795054ls13034965e9.0.-pod-prod-09-eu; Sun, 07 Jul 2024 05:27:45 -0700 (PDT) X-Received: by 2002:a05:600c:78a:b0:426:5f36:247b with SMTP id 5b1f17b1804b1-4265f3625cdmr23806135e9.39.1720355265294; Sun, 07 Jul 2024 05:27:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1720355265; cv=none; d=google.com; s=arc-20160816; b=omAE3qb88+Ss0SF0FeidSgh4pAKiWI9S24fccB4DhFw+KRVq+yFZxY/A6qPgk1wfl1 I4csqWy9ZgFeuyYNLP0wt1B42J8gMiL95Da7vm1jDwkJ8oYt17Fy69WlO6qUgr1xotgz 8t3voU67jpix/OxkRTy0tUpkltDSxygti2heZ2FYYDpUKuoaAJMMjmQiYzk390L5HCqF 7oOk7sGe2d+7q46W4+9RZlLbObCYIuYU9BYp1HRwYQn+tjJNr9jJBuqUqqOjSGaKTwcm 88fFyeLvRkC3vHhtp00t+YmGa1Jj41bh0iPBrJPbCDTay2Gney+JMz+8ezPJcbId3FgA 0s7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=ui-outboundreport:content-transfer-encoding:mime-version:message-id :date:subject:cc:to:from:dkim-signature; bh=i6T4Bcd7oIZJkcmZrch7CMPieo5IQTMyJrEZYYaqaCg=; fh=TiEWcqMcKpHk5s7uErzpntoONrNfOXwKpI5P8bIlggk=; b=Z9TMZo3pYH6CPODb71cppGKewbXJo/BlwhqGqjqqI3O8NEElg5l08DhII8lB+QwaOO 0FCkLNOr4re3t7nwpLGSIrWAiygrmfGmvzgEm4FehqqubjJ4wXXFpY8BFI+Ty5bQWiHb LuX10jvW9Z2RpqNt2VYuEvVO4qIG+Rc2PTT18DSjnuzxWItWcmDd8xL1J+gtNfk5faCU CQNmlbTgPV7Nqvmkd1EZHzjsHizL5l5ZPeatd8T29C72QH4IAhPw/h/OsKWb6OekqlfZ YouHb0stJpzcZIWdolc7cc2wbTFTUlAmx4f1uMMAOHu1HuKMaaYTVgdrSLNELUOVuwyT NxdQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@swupdate.org header.s=s1-ionos header.b=QrO5pxs3; spf=pass (google.com: domain of stefano.babic@swupdate.org designates 212.227.17.13 as permitted sender) smtp.mailfrom=stefano.babic@swupdate.org Received: from mout.kundenserver.de (mout.kundenserver.de. [212.227.17.13]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-42662c6a252si886095e9.0.2024.07.07.05.27.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jul 2024 05:27:45 -0700 (PDT) Received-SPF: pass (google.com: domain of stefano.babic@swupdate.org designates 212.227.17.13 as permitted sender) client-ip=212.227.17.13; X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6 Received: from paperino.fritz.box ([88.217.136.221]) by mrelayeu.kundenserver.de (mreue108 [213.165.67.113]) with ESMTPSA (Nemesis) id 1MZTua-1svuQI2KHO-00PKn0; Sun, 07 Jul 2024 14:27:44 +0200 From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH] doc: provide more details and info to the proposals Date: Sun, 7 Jul 2024 14:27:41 +0200 Message-Id: <20240707122741.158905-1-stefano.babic@swupdate.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:k+9UROCHI+JmHfDsnzk7zq9uum2bWamf778DBRB3nJf22/6F/z/ mAhzMDONvET7XANgBCWo2h705E4EONbVtBboEckIvhPewqZreVL2GiwNhdg7OLp5OOnhmkw e5102yuWUZllz1o/9ecJy02JsMORcfJuIOWypQyucQqysxTeQl26njzMJk0q0imgcEvyHfb mEeKpzitIQdzhFaV60sKQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:1JYPMdBkIV0=;nCrKApM7Dx6FK0teszVwdw93cm4 bvT0Vqe9uSmdo8w7eH518xLZZFQIuaUmscDCEzd+Q2Dy9keyXNhw4XUCdJqvF7xyTmCE6Faa/ UkhqiTIAlDfKvUl2ksiAO3dU0pQyl1sSO4WjLCoKN/q4Icso4+ZY9hYACFLJDawHAvJWKc3t0 eynWfRvq+RVoRb9TJHSv6zv51C50Lkez6CZF5EdUWkzhcdu2OtDZ0ilQM6xP27ls/1BD7MXYS IAMtbYfb5dxjqL0xKAM3oiWbcPL/ni62U95OgAGmucHRkL1hOuOnxkOA7roBV92buvZTMaW8V yN5WC2Dnpf8jSGxoEogkGuYxsOUOH+PrKkPyyWAzPlRnhvjwKM+xErvRagblDtIMIc93fCg5C 03WxC6f8TpE2x+DZ746bgdjz2ATee7o9smegf1yvDuJPGRnXUxswSxWkZdF7z7ccvq6upHA0W t3v4qWlrCTzHFDjJCkBa3JBA+HWJ295i3RMjJ8yir83Yvkg2Uy85fSNGIkGDU3Lsz9oc0Q2nK Ry+4Bq7fCu5W7eLjaT2sqNaGXq7l6AM4gQNLp4sEwvxmmc+iVChZyknkaEDA3/NSVlYqLv98j PRtk3QosWl5lWF8+yI4GaxyhicJWyeDOY/MKs/5szFkiV/bEHQz2h5Nd5dYOpbeMfaPslDdxy mBtaKu+lK+wTdO4vqOeX/punjjGio2ec92SI6S59drRcWtqHX1l3BEN1g8SfbNy3ryJtn40jr hYJVAlogUrLG5SmAHYnMeszpI10s4Q5p0p+sfmXnUWwwkjAPrqs0eU= X-Original-Sender: stefano.babic@swupdate.org X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@swupdate.org header.s=s1-ionos header.b=QrO5pxs3; spf=pass (google.com: domain of stefano.babic@swupdate.org designates 212.227.17.13 as permitted sender) smtp.mailfrom=stefano.babic@swupdate.org Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Try to better describe possible improvements for the project. Add status for each feature to notify if something is already planned to be implemented or is waiting for interest and/or sponsors. This should clarify if a feature is already planned and will be part of a next release. Signed-off-by: Stefano Babic --- doc/source/improvement_proposals.rst | 201 ++++++++++++++++++++++++++- 1 file changed, 194 insertions(+), 7 deletions(-) -- 2.34.1 diff --git a/doc/source/improvement_proposals.rst b/doc/source/improvement_proposals.rst index 87fb6582..29de551e 100644 --- a/doc/source/improvement_proposals.rst +++ b/doc/source/improvement_proposals.rst @@ -1,4 +1,4 @@ -.. SPDX-FileCopyrightText: 2013-2021 Stefano Babic +.. SPDX-FileCopyrightText: 2013-2024 Stefano Babic .. SPDX-License-Identifier: GPL-2.0-only ============================= @@ -11,10 +11,63 @@ There is no plan when these features will be implemented - this depends if there will be contribution to the project in terms of patches or financial contributions to develop a feature. +Each item listed here contains a status and if the feature is already planned or +I am looking for sponsor to implement it. This should avoid double work and make +more transparent what is going on with the project. + +If you have further ideas about the project, just send your proposal to the +Mailing List or post a patch for this document. + Thanks again to all companies that have supported my work up now and to everybody who has contributed to the project, let me bring SWUpdate to the current status ! +Legende +======= + +.. table:: Feature's status + + +-------------+---------------------------------------------------------------+ + | Value | Description | + +=============+===============================================================+ + | Wait | No activity is planned, just proposal | + +-------------+---------------------------------------------------------------+ + | Design | Design / Concept is done | + +-------------+---------------------------------------------------------------+ + | Planned | Feature will be implemented soon | + +-------------+---------------------------------------------------------------+ + | WIP | Feature is current to be implemented and will be posted | + +-------------+---------------------------------------------------------------+ + | Running | Implemented | + +-------------+---------------------------------------------------------------+ + +.. table:: Request for Support + + +-------------+---------------------------------------------------------------+ + | Value | Description | + +=============+===============================================================+ + | None | No sponsoring required | + +-------------+---------------------------------------------------------------+ + | Sponsor | Looking for sponsors to finance the feature | + +-------------+----------+----------------------------------------------------+ + | Planned | Feature is already sponsored | + +-------------+---------------------------------------------------------------+ + + +.. table:: Priority + + +-------------+---------------------------------------------------------------+ + | Value | Description | + +=============+===============================================================+ + | Low | Probably just an idea, feedback from community asked | + +-------------+---------------------------------------------------------------+ + | Medium | Not critical, but nice feature to have | + +-------------+----------+----------------------------------------------------+ + | High | Critical feature, it should be implemented soon | + +-------------+---------------------------------------------------------------+ + + + Main goal ========= @@ -23,6 +76,9 @@ SWUpdate suitable for a large number of products. This will help to build a community around the project itself. +* Status : Running +* Request for Support : None + Core features ============= @@ -31,6 +87,10 @@ Support for OpenWRT OpenWRT is used on many routers and has its own way for updating that is not power-cut safe. +* Status: Wait +* Request for Support : Sponsor +* Priority : Low + Software-Software compatibility ------------------------------- @@ -40,6 +100,10 @@ a sort of software compatibility check. For example, SWUpdate verifies if a comp (like an application) is compatible with a runningOS and reject the update in case of mismatch. +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium + Support files bigger than 4GB ----------------------------- @@ -47,6 +111,10 @@ SWUpdate currently uses CPIO to pack updates in the 'newc' and 'crc' formats. These formats limit single files to 4GB - 1byte in size, which could become a problem as update size grows. +* Status: Wait +* Request for Support : Sponsor +* Priority : High + Parser ====== @@ -54,15 +122,67 @@ SWUpdate supports two parsers : libconfig and JSON. It would be nice if tools ca be used to convert from one format to the other one. Currently, due to some specialties in libconfig, a manual conversion is still required. +* Status: Wait +* Request for Support : None +* Priority : Medium + Fetcher and interfaces ====================== -- No plan +Selective downloading +--------------------- + +SWUpdate starts to fetch the whole SWU and process it until an error is found. There are some requests +to have a selective downloading, that means SWUpdate will load just the chunks are needed and not +the whole SWU. An example for this use case is in case a single SWU contains software for +multiple devices, and each of them needs a subset of the whole SWU. Like the delta handler, +SWUpdate knows from sw-description which artifacts are to be installed, and reading the stream +could decide to skip unnecessary components. + +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium Tools and utilities =================== -- No plan +Single tool to create SWU +------------------------- + +SWUGenerator is a separate project that helps to create SWUs. It is used on not OE projects. In OE, +the SWU is created using code in meta-swupdate. This leads to a duplication of code with higher +effort to maintain. + +Even if it was tried to have the same features, there are some important differences: + +- SWUGenerator is able to full understand a sw-description written in libconfig language and to rewrite it. + This means it is not yet possible to write sw-description using JSON if SWUGenerato is planned. + However, it is possible to split sww-description in small files (for example for the embedded Lua code), + and SWUGenerato is able to write the final sw-description combined all include files. +- meta-swupdate is just able to replace variables known by bitbake, but it has no semantic knowledge. + It is not possible to use @include directive, but it is possible to use JSON as language. + +The logical step will be to use a single tool (SWUGenerator), and let meta-swupdate to use it. To do this, +SWUGenerator should be enhance to understand and write sw-description in JSON, too. + +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium + +Further enhancement to SWUGenerator +----------------------------------- + +SWUGenerator is thought to support multiple subcommands, but it currently supports just "create". +It is thinkable, even if this can be done with other tools, to implement further commands like: + +- extract: take a SWU and extracts all artifacts in a directory +- sign: take a SWU and resign with a new key. This is useful when it is required to install a new + Software, but the certificate or the key on the device is older and rejects the installation. +- verify: just verify if the SWU is correctly signed. + +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium Lua === @@ -70,6 +190,10 @@ Lua - API between SWUpdate and Lua is poorly documented. - Store in SWUpdate's repo Lua libraries and common functions to be reused by projects. +* Status : Running +* Request for Support : None +* Priority : Medium + Handlers: ========= @@ -87,6 +211,10 @@ Some ideas for new handlers: - Lua handlers should be added if possible to the project to show how to solve custom install. +* Status : Running +* Request for Support : None +* Priority : Low + Handlers installable as plugin at runtime ------------------------------------------ @@ -103,6 +231,9 @@ Current release supports verified images. That means that a handler written in Lua could be now be part of the compound image, because a unauthenticated handler cannot run. +* Status : Running +* Request for Support : None + Support for BTRFS snapshot -------------------------- @@ -110,20 +241,28 @@ BTRFS supports subvolume and delta backup for volumes - supporting subvolumes is to move the delta approach to filesystems, while SWUpdate should apply the deltas generated by BTRFS utilities. +* Status: Design +* Request for Support : Planned +* Priority : Medium + Security / Crypto engines ========================= - add support for asymmetryc decryption - rework support for crypto engine - let possible to load multiple libraries at the same time. Currently, there is support for openSSL, WolfSSL and mbedTLS. - However, WolfSSL are mising together. There should be a way to select one or more + However, WolfSSL are missing together. There should be a way to select one or more libraries and independently the algorithms that SWUpdate should support. Some hacks are currently built to avoid conflicts (pkcs#7 and CMS are the same thing, but supported by different libraries), and they should be solved. -- add more algorythms for decryption, as AES-CTR can be very useful to decrypt +- add more algorithms for decryption, as AES-CTR can be very useful to decrypt chunks in delta updates. - Support for TPM2 to store secrets (requires rework above). +* Status: Wait +* Request for Support : Sponsor +* Priority : High + Back-end support (suricatta mode) ================================= @@ -135,6 +274,10 @@ This means that the IPC does not answer if Suricatta is doing something, special downloading and upgrading the system. This can be enhanced adding a separate thread for IPC and of course all required synchronization with the main modules. +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium + Back-end: check before installing --------------------------------- @@ -143,6 +286,10 @@ if an update must be installed instead of installing and performs checks later. If SWUpdate provides a way to inform a checker if an update can be accepted before downloading, a download is only done when it is really necessary. +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium + Back-end: hawkBit Offline support --------------------------------- @@ -152,13 +299,33 @@ the hawkBit's server. Currently, hawkBit thinks to be the only one deploying software. hawkBit DDI API should be extended, and afterwards changes must be implemented in SWUpdate. -Back-end: support for generic down-loader +* Status: Wait +* Request for Support : Sponsor +* Priority : Low + +Back-end: support for generic down-loader ----------------------------------------- SWUpdate in down-loader mode works as one-shot: it simply try to download a SWU from a URL. For simple applications, it could be moved into `suricatta` to detect if a new version is available before downloading and installing. +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium + +Back-end: further connectors +---------------------------- + +Further connectors could be implemented. The structure in SWUpdate +is modular, and allows to write new connectors, even in Lua. New connectors could be +added if there are requests in this direction. + +* Status: Wait +* Request for Support : Sponsor +* Priority : Low + + Test and Continuous Integration =============================== @@ -170,9 +337,29 @@ More in this direction must be done to perform test on targets. A suitable test should be found. Scope is to have a "SWUpdate factory" where patches are fast integrated and tested on real hardware. +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium + +Binding to languages +==================== + +libswupdate allows to write an application that can control SWUpdate's behavior and be informed +about a running update. There are bindings for C/C++, Lua and nodejs (just progress). + +Applications can be written in other languages, and binding to Python and Rust can be +implemented, too. + +* Status: Wait +* Request for Support : Sponsor +* Priority : Medium + Documentation ============= -Documentation is a central point in SWUpdate - maintaining it up to date is a must in this project. +Documentation is a central point in SWUpdate - maintaining it up to date is a must in this project. Help from any user fixing wrong sentence, bad english, adding missing topics is high appreciated. + +* Status : Running +* Request for Support : None