From patchwork Wed Jun 5 10:45:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "vincent....@gmail.com" X-Patchwork-Id: 1943794 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=dKvnAIIa; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=Wdd3b6TZ; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::239; helo=mail-lj1-x239.google.com; envelope-from=swupdate+bncbdylnjxztmcrb2mdqgzqmgqeoxhfvyy@googlegroups.com; receiver=patchwork.ozlabs.org) Received: from mail-lj1-x239.google.com (mail-lj1-x239.google.com [IPv6:2a00:1450:4864:20::239]) (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 4VvPJc12b6z20WK for ; Wed, 5 Jun 2024 20:46:07 +1000 (AEST) Received: by mail-lj1-x239.google.com with SMTP id 38308e7fff4ca-2ea89b7451bsf38378101fa.1 for ; Wed, 05 Jun 2024 03:46:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717584364; cv=pass; d=google.com; s=arc-20160816; b=g14xhl+dYVAVqTftjT4cUVkJ35Mb7qnYkC69yhSRqPrMMZc+JXkni4z/ctOzesiGK6 C3/KzeBHXFnqgH6U/DrG1WuAXe6XY1+Sfo3IEal1kuDiZH6eiijDKYM25iQ3VSwuizvF 5V0mSoWj0j1Ujg2NRp18uysZkvB+I12HYLgwN4Lw0nvuERo0O+F4z5T/faZpqu0U5+dp 8LMaUX9psNnSmnXFF7QmNf9/wvijatW5ztdbioEgSGX+DrfsiVP/ywQx/ZGpoB88rENZ WpUIV2Q9P0c1uvHHx0lgm5S1PFp+Fq2IQgvj7x927nVzhoVOKXOW/fGtkmxyiGrhw6vA 2tUg== 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:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature:dkim-signature; bh=TyvJ+o3cFSkGn8hbBpNXDOcLrWUwjE9Z5ZmQH9Y3I5k=; fh=Xl248p72mZhKsHkDCwTVVkmHif02jdUAXr1y+wiwwrM=; b=iMmDyn3hU4T51q9rAfsdLJYQoKsHs8FJoINIDSo0P546rW0+wyzIDnIKaviZjItyiV qFcMLEQuyPlAYN/hJDlQOhSvgsRjvwKivrtHDiMnk6j+VCCYaoSUpr8/XKzxODuXc3iy LXc/E9Y6nxBzWAHrFpH5Q85upWjs58Fc/yCAu4z1Y/p2is1a135tJUxvD+La5tQJcbKu JuhnnQywf9Cjq0u5mhtwf5eCgHZZ1O3/WmX7Lh8kJkG7M/oFuHl0i9DvdPbu/uuSjO6Q qr6tDC88ESvMvU/8CblqsQWqJzfOMKx8Z4RF8+cWXGjhHCJzRVNB76nWSSPMXKnRvh5S LtlA==; darn=patchwork.ozlabs.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VnUwvxBc; spf=pass (google.com: domain of vincent.prince.fr@gmail.com designates 2a00:1450:4864:20::32b as permitted sender) smtp.mailfrom=vincent.prince.fr@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1717584364; x=1718189164; 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:mime-version:message-id:date:subject:cc:to:from :sender:from:to:cc:subject:date:message-id:reply-to; bh=TyvJ+o3cFSkGn8hbBpNXDOcLrWUwjE9Z5ZmQH9Y3I5k=; b=dKvnAIIaDc0xxg1TMOkMzKc3w3qiYpObikFZPYhzwWE3Tc6WOCDJOP1ml8YNe0gJvO hSvv2BiRGcaKbvbBdbGL0S3xgbWXCrM3KcBXgzOWgmh4OItEb7YEysCTMkI6TMOLq0K2 aTgzrWMG1dGI0TptwFn9yOIUvgsWf051oVedOUi0g6QbTpWwrAQsdq1GGVzUzkrJqq0/ VORRRHsbohpZWYWI0z/+Iy9vN2ilFgMaSubcdbExXN823quWGulmwblVZXIj1d85JxQt 12SfcG8Q+n1OccO+f/Gst18VXXDbmTwuCysyR3/sEWqhwkv5WubjMr/vbTfb4xCELPUh UrcQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717584364; x=1718189164; 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:mime-version:message-id:date:subject:cc:to:from :from:to:cc:subject:date:message-id:reply-to; bh=TyvJ+o3cFSkGn8hbBpNXDOcLrWUwjE9Z5ZmQH9Y3I5k=; b=Wdd3b6TZlrO4ZSQ5XXCeUK9qJYR3WYmy6mXGyWWlQM+l8QWMuJkRuLBb8Qm02YVVsR RLw43p6RbSEAe5ZCoS/J0tL3ebe8NRKuT9+PFYnkzf5F2oJRINOs8yKU5nVIqNXgUsRn AoIrww8imknBFMYhRMYoQ9xox04J9bWE2/ZVp+FjjLtgO2yN6BlFEpKcjqA3EwwpX5nR OoOne6XlBphG/zUfdXpM222KY/PRA2GQDx45pSzsERAzFtyQ49CTEEs8LeEAxvTlj/1h vrFxJr/UtHVpdDhmFdDU9CeoJhPSklrw0lxsalpqyZqGXToRUL8fVPW8J/ppm4rq0b/R FT5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717584364; x=1718189164; 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: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=TyvJ+o3cFSkGn8hbBpNXDOcLrWUwjE9Z5ZmQH9Y3I5k=; b=dvZ0ShRO7r9G3RxUZxay5GGg/n0xXqJf9NQjeHWUF47RRGNFb8HM6J0ABSDT7VwLJI /kVqiPbXwSgPj2poWm6Mafluv35OUUqHu5P0Lg5PRhP+7e2CLpDDRXDsi/9sJNXNG8GF SKiASrNZP4koP+OVs32lpfaYcCov47yEbckhV13cwJ+TREV7tjapmRIWLIIZY3akMJAy RqoHmTzX8dbym0UcqvPHP5uJu1wVZxOPESfx14byzSMJPs29lBhuFIiN1+Gsv8Mfqk8b 7zhdroNBTwMh57gEsGxijt7OaB9FKa0YM9umICy4xsU3IERnZLFH8W+IAaFGno4T8gjZ qPGg== Sender: swupdate@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXopiGzwHrr7TODNNZLUVVYNnsZrLpmFRRw3RYnbMtJ31WeN1alvXTfmxP6r6SkF0idI517X9gYf+i9C5w2owS1g9OBs1+TKKM2Evvh7w== X-Gm-Message-State: AOJu0YwO/uTO4udK0q2m/f4BxdC8fVSSmmMp/Z+rJIepx6MGHk8ITS3M V9oCQWixgKHeQflWt/NYonlPf80Czpxn/kl8bZnzulozpCiM2WQo X-Google-Smtp-Source: AGHT+IEENwEj4fu9A9E0PWJp3oXkgy0idMtz5/27lf/Jor8J+5oh6N3exuEdy8TU82n8T855pxgy0A== X-Received: by 2002:a2e:7d15:0:b0:2ea:8f3c:5583 with SMTP id 38308e7fff4ca-2eac79c32d9mr10820631fa.13.1717584362715; Wed, 05 Jun 2024 03:46:02 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:651c:205e:b0:2ea:ac78:73c6 with SMTP id 38308e7fff4ca-2eaac7877d4ls16110461fa.1.-pod-prod-09-eu; Wed, 05 Jun 2024 03:45:59 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVI2dDcyn4uBjqDPkMfcG8gyYummAv7AP0Rw4T1WJ1LrEWu3P8Rctd9FdLWGHaBbFWmfnDn0Y5AedfXShUiKxickMJGW8Z21L3t X-Received: by 2002:a19:ca0f:0:b0:521:6c38:6949 with SMTP id 2adb3069b0e04-52bab4fac5dmr1192674e87.45.1717584359301; Wed, 05 Jun 2024 03:45:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1717584359; cv=none; d=google.com; s=arc-20160816; b=qkV+wH8kG+wvx+/ayRK6Bbt33PfZak0xPoMRvrNmJ5W4L9LEIFF2H0QPnHe1Qzs5yG LZwd9eyUoSnVOGlcrHIc83utNJN/Kx7YdfPA73HXgxDSC7uQhICGeom/yAMc08kSH1yf XDnav7Vmkrnp7Uyj361vzm0MtMsE5LXACmxufPeURukRrjFBHzjDU5rgAwF9aPGzXB5a 269DG0Oc+wAN+v7sBOclN7TlLjEoyAGk6mkh5As24YDVyUgrFGcswyHx6MtR54+k6BFQ v+9brjpxldE+ZiyaNOd79V/4PdXA/mHv3oFPBL9t5Xu/b+6J1PBEzsu2vtdClyhCU8A1 sQNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=WHEtEw8LxMjTKgcU10WOkCTIpPK60wOpznWwLc9ZcSI=; fh=dkWXUIZedypjYvq20mnShG84uGheBgit0V5RFw4bQ2w=; b=RApjpqyRQ9BB4aLo8zAROqRu2EICL7/G2s3DXuk+JIafHyOysT9RF6bmCTSrMNjwaY JGJ4k2JMfLE+HR7eYXHi4NtkLNYz8X8puXe0qpQHpxv+rXkVgvHethL4HjXvMtmhZFYI f8FDlKthhPmDaheObxAJEnZneea27IgEcIrZydMHVevXjxfRwhtZMG5ZEgstAzpMJQ66 ZUcnAERLk26A+G2RAX1KU/d02xLj2aKZicPUemJLKePxCCsyu3WOHZFNL0TKRCkcSuPV VrSsO9u91YEGF4mXnr7cwq05wiBpaA3H9Dh+lTA48wXfxWNiKpkBL4b8v5Q8nifffix+ VsAg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VnUwvxBc; spf=pass (google.com: domain of vincent.prince.fr@gmail.com designates 2a00:1450:4864:20::32b as permitted sender) smtp.mailfrom=vincent.prince.fr@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com. [2a00:1450:4864:20::32b]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-35dd0516484si269857f8f.3.2024.06.05.03.45.59 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Jun 2024 03:45:59 -0700 (PDT) Received-SPF: pass (google.com: domain of vincent.prince.fr@gmail.com designates 2a00:1450:4864:20::32b as permitted sender) client-ip=2a00:1450:4864:20::32b; Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-42155e7084cso8466145e9.2 for ; Wed, 05 Jun 2024 03:45:59 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCWiBOpoemlnQ6FGA/NZmtdzT6mAcU1XS03GAzNgNWQ70EnkOai7N5JtUN0fHPKgb8UM1OenwL198PK2XXEX08m+2HbeurqzPDW8 X-Received: by 2002:a05:600c:45c8:b0:420:d54:7003 with SMTP id 5b1f17b1804b1-421562de063mr14656425e9.20.1717584358449; Wed, 05 Jun 2024 03:45:58 -0700 (PDT) Received: from cubedev-vpr.corporate.saft.org ([147.161.181.115]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-35dd04c0d98sm14097173f8f.24.2024.06.05.03.45.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jun 2024 03:45:58 -0700 (PDT) From: Vincent Prince To: vincent.prince.fr@gmail.com, swupdate@googlegroups.com Cc: Vincent Prince Subject: [swupdate] [PATCH] suricatta: save action_id in grubenv when in use Date: Wed, 5 Jun 2024 12:45:54 +0200 Message-Id: <20240605104554.5296-1-vincent.prince.fr@gmail.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-Original-Sender: vincent.prince.fr@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VnUwvxBc; spf=pass (google.com: domain of vincent.prince.fr@gmail.com designates 2a00:1450:4864:20::32b as permitted sender) smtp.mailfrom=vincent.prince.fr@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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: , From: Vincent Prince When GRUB is selected as bootloader, use GRUB environment file to save action_id instead of using libubootenv methods Signed-off-by: Vincent Prince --- suricatta/server_hawkbit.c | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/suricatta/server_hawkbit.c b/suricatta/server_hawkbit.c index 9c3e9741..f2a6edf7 100644 --- a/suricatta/server_hawkbit.c +++ b/suricatta/server_hawkbit.c @@ -32,6 +32,7 @@ #include "swupdate_settings.h" #include "swupdate_dict.h" #include "swupdate_vars.h" +#include "bootloader.h" #define INITIAL_STATUS_REPORT_WAIT_DELAY 10 @@ -868,7 +869,14 @@ static void get_action_id_from_env(int *action_id) * stored. */ *action_id = -1; - char *action_str = swupdate_vars_get("action_id", NULL); + char *action_str = NULL; + + if (is_bootloader(BOOTLOADER_GRUB)) { + action_str = bootloader_env_get("action_id"); + } else { + action_str = swupdate_vars_get("action_id", NULL); + } + if (action_str) { int tmp = ustrtoull(action_str, NULL, 10); if (errno) @@ -882,6 +890,8 @@ static void get_action_id_from_env(int *action_id) TRACE("Retrieve action_id from previous run: %d", *action_id); } free(action_str); + } else { + INFO("'action_id' not found in environment."); } } @@ -951,7 +961,11 @@ server_op_res_t server_handle_initial_state(update_state_t stateovrrd) /* * Everything fine, reset action_id if any */ - swupdate_vars_set("action_id", NULL, NULL); + if (is_bootloader(BOOTLOADER_GRUB)) { + bootloader_env_unset("action_id"); + } else { + swupdate_vars_set("action_id", NULL, NULL); + } /* NOTE (Re-)setting STATE_KEY=STATE_OK == '0' instead of deleting it * as it may be required for the switchback/recovery U-Boot logics. @@ -1112,9 +1126,17 @@ server_op_res_t server_process_update_artifact(int action_id, ERROR("OOM reached when saving action_id"); return SERVER_EERR; } - if (swupdate_vars_set("action_id", action_id_str, NULL)) { - WARN("Action_id cannot be stored, do yourself"); - } + + int ret; + if (is_bootloader(BOOTLOADER_GRUB)) { + ret = bootloader_env_set("action_id", action_id_str); + } else { + ret = swupdate_vars_set("action_id", action_id_str, NULL); + } + if (ret) { + WARN("Action_id cannot be stored, do yourself"); + } + free(action_id_str); for (int json_data_artifact_count = 0;