From patchwork Fri Jun 12 10:03:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stijn Devriendt X-Patchwork-Id: 1308098 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::43e; helo=mail-wr1-x43e.google.com; envelope-from=swupdate+bncbclnzfwotyirbffgrx3qkgqe5rt37ry@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20161025 header.b=d4CKuj3o; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=cDM0RSY9; dkim-atps=neutral Received: from mail-wr1-x43e.google.com (mail-wr1-x43e.google.com [IPv6:2a00:1450:4864:20::43e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49jxCG2kWfz9sSS for ; Fri, 12 Jun 2020 20:04:08 +1000 (AEST) Received: by mail-wr1-x43e.google.com with SMTP id d6sf3721470wrn.1 for ; Fri, 12 Jun 2020 03:04:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1591956245; cv=pass; d=google.com; s=arc-20160816; b=Q0ay1RZbLOgYPGFfffy9+jtCAlXijCEQc4faMAkAO2hnEinFHql3bFVAS1Q+bBwMgH MZ8yiZqbRLBPrrJ6EmJSldhGEs3if/ioHf41Wtc26aM/BNSLz41T0awpLl9SSQNiPbU9 v7MTONddctKAArYN4M+kTEyRPYuvm+73d90cx1h61Ph/YgxnYBHiQise2uxZCJAOKNgl Z6OUaw0jXXQ5GBjPd37gx0kkRwHRwokmq2UxxzHtJr2BAjDCILOEb4w+nyqJx+tyak1P SeAN5qR52VxOj9MFGzT6WYj9/2Fre2nAtbRIg9kwwsFK8z3JktWj79TTpZnopFqYpvif 6Obw== 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:references:in-reply-to:message-id :date:subject:cc:to:from:mime-version:sender:dkim-signature :dkim-signature; bh=hLu2JDpKMzLOtLfoFWnkbqTIZb+PBfBHsk3dxwT8m5k=; b=vEQ0Lk1Pa6dttwl48g3OpO73f6mws/NVDegphpCaO5wC9VfhqyN664gXkJJhV7bWo1 Uw6TMvxLS+lTDu3OSFifBIx6z9gqEyMuI4LqnTNbu71/vDCKQ0UKK61PtceAxpmk5e7y SMRBhIfaa7xa+vawGgcIalkN3jeqESrVHxHmcffuit7VbHWtuCbTaSRqaL5lVcqhorie iUdg/VaYj4hHcC0tfyMLuvKZn5Vocd/0QqZmVnyHyUXPesW0V4UaMWCQFZ/eygGtlC8+ Ox/pnqVvZkEpMqtIK2MLqwrxcu9rSf+ZccYMIJ9splrpsCLIegxyqwB4jdCdXLKQxPK7 YrPg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WG0iNAwB; spf=pass (google.com: domain of highguy@gmail.com designates 2a00:1450:4864:20::629 as permitted sender) smtp.mailfrom=highguy@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=20161025; h=sender:mime-version:from:to:cc:subject:date:message-id:in-reply-to :references:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=hLu2JDpKMzLOtLfoFWnkbqTIZb+PBfBHsk3dxwT8m5k=; b=d4CKuj3orFx/K5HdK5guZKouqCR6gugJpXwM7nkJOHB393UsudEBOM8Lyb/bVpNA09 2ay6u6W2NGSBfsMp3tg7X2YFfd9mT//n7fzgp6G+gT065WIO7etNE5TRAaiq68hCif0V P0IsK7gs7tkC2vFFzvRH4gu66sIAwemS3mwy3nIqxGe2+3p7tVcM+0NgLNXq/px6itGZ jyDEb0iWEEFcAgoFmyu7EHEngeD/PQdRpDG8zFAGaMztGJFjdUuf3zH/bWnoUhGga5MW ZCefRrluzez9Lel2Yfda8viklG9CdZE9Sn05EFJrBztaHHA6ND3LFFJjqG88ykNP/E28 gEDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:to:cc:subject:date:message-id:in-reply-to :references:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=hLu2JDpKMzLOtLfoFWnkbqTIZb+PBfBHsk3dxwT8m5k=; b=cDM0RSY99PELEJfaRUnT3R3jYwe/xVe7APLsLFuXiPAtGxIleo8ZKYf3K2w4qJCvGb IKa4i+dW5ZSY4byAGZMm5KqHrjvjBbzmXk0kXhQlFAn1qEOIX1/TnUGejny+0jSy/uPo 7qSlLZeo0RTczW3X9DymPWBekBAROLAMH6rraDAINiWAKRwh7uhK25pcW+wqM6/atMSz k/zy52jl7qTHvrDg1lzjMzWbLch9NY3VLe1lcg9em74yuF2p6Iq9pE6dLxjEyy0P9gtz IWceU+uCoOrPmCSc7yM6YfyDTLUpuBVfJ8fzF3uJvaHZZ4/qhQx8xgwpZjoM1Fyb4DCC kCrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:mime-version:from:to:cc:subject:date :message-id:in-reply-to:references:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=hLu2JDpKMzLOtLfoFWnkbqTIZb+PBfBHsk3dxwT8m5k=; b=bwKIOUxWVPnAmjjmqTGnc2L0K+V+7koy6CscPBcA24EHxy2qkLDZwQa9iTTbGDz3vv fBpcEBteki3nsB0DKaK4yAednP88ckdQe3sXGBHSwWJkilFlUwRGLqK54eNOddo81B15 vLJYGNrzthxo/R0uHfTYDGOE8Ec941C1sneZXh8kbKImWBYywfqS9vMYgduIbNcRX4kb 0oFNmWvEu67ZBbRdgDAdYh4gSUHu5FS7tcOjrZi1P3LU/leJBZ2E1NVIHnzEMl2jxKn/ lwhuiNvrHTCKM+WfQTbxwhKwzLC/YZ87UqX9qT4eHEojuz3nkrc3z8MctvASF4rqIoTk u5Hw== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM531aNL08vxngqEsluONxkZj5dL3hgJdY9bU5tt3p0vtsIbf1jY5w Mf7ryXYmM3ph0Nrxx1nPgPM= X-Google-Smtp-Source: ABdhPJyhBIO5/5AX7iibUU/+DRogi2PoSnKZvcnvkSKt8cCcyo4yo8ISmhLgsInhGVPFzs6YOQ/6Jw== X-Received: by 2002:a1c:2d83:: with SMTP id t125mr12982652wmt.187.1591956245159; Fri, 12 Jun 2020 03:04:05 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: swupdate@googlegroups.com Received: by 2002:a1c:a545:: with SMTP id o66ls2384966wme.2.canary-gmail; Fri, 12 Jun 2020 03:04:04 -0700 (PDT) X-Received: by 2002:a1c:bd86:: with SMTP id n128mr13250859wmf.5.1591956244281; Fri, 12 Jun 2020 03:04:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591956244; cv=none; d=google.com; s=arc-20160816; b=YqGwL+AqPDphyJLK2MW0YzZYoc2iHOvoKyKRA+bSommqwihYBuL1NUVTz0UOriRSJG nblcor0+lxbtZC0DzxIPFsuXZEJ7fxaXyrmlPI2uKvmfyIXYXeCTLKjDZa1HhWobYCT+ FoVH+pD4vP2FCdWrvxYyFGPotS60F0LDwYpNLqyvcF6A76k6wAwF1jXIa7K2wGVqedQw 5CMyw0LFGtIGwwmf/HOYHNzyhJHoRP23sY+5JA6VE4zp9uB/vZfv4kHM4NvFjgUIYlld 3RKqW4z/6RQ5Lgqgu4lPte9docV/M4UcePB8t2TJzH1fMl7tAXBybN+B+YgUP1q2V8+B nppw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uC96r8PxKV4G8zNh9jQ0d7qRlrWIb4PpqQoti32URRE=; b=naPDJlW6OA9z98JHejAx6Snjrx7p6WYBxA3sFwqGCU/0+w1J/23zvUycAoJCkz+zdz UmZof/CLtGMI67GBMEF7qImdvuFMX50ltSoKidjRBINm6m3IBBGH02G68nlCwHAfQCqY ICrmr9l4BzsiQfjzqBwyQuWLmQlGlrdl6g2Qti9KL+Wn4GSsLrqPl7BkKNf4N6J/ynly P7T1md7PW+NmM8dg5bSzix1AIdSutGjaM9FDsj8/RR75D8ehDMolBmm3H7oBgqPxt5PA 39jIhsHYTibiJlMkHcJcdAy/E390FdCARAqnu7DaT2GAj06Dzb5Nq+3OrrClcZMENn3i aSUw== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WG0iNAwB; spf=pass (google.com: domain of highguy@gmail.com designates 2a00:1450:4864:20::629 as permitted sender) smtp.mailfrom=highguy@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com. [2a00:1450:4864:20::629]) by gmr-mx.google.com with ESMTPS id z18si323359wml.2.2020.06.12.03.04.04 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 12 Jun 2020 03:04:04 -0700 (PDT) Received-SPF: pass (google.com: domain of highguy@gmail.com designates 2a00:1450:4864:20::629 as permitted sender) client-ip=2a00:1450:4864:20::629; Received: by mail-ej1-x629.google.com with SMTP id p20so9474189ejd.13 for ; Fri, 12 Jun 2020 03:04:04 -0700 (PDT) X-Received: by 2002:a17:907:33ce:: with SMTP id zk14mr12233347ejb.2.1591956244088; Fri, 12 Jun 2020 03:04:04 -0700 (PDT) Received: from localhost.localdomain (ptr-dv4l9avnrrw7hqtku8r.18120a2.ip6.access.telenet.be. [2a02:1811:ce13:ba00:a5cc:64fc:74ca:8b1b]) by smtp.googlemail.com with ESMTPSA id p26sm2902812eds.57.2020.06.12.03.04.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jun 2020 03:04:03 -0700 (PDT) From: Stijn Devriendt To: HIGHGuY@gmail.com, sbabic@denx.de Cc: tomas@aparicio.me, swupdate@googlegroups.com, Stijn Devriendt Subject: [swupdate] [PATCH v2 0/6] Add semantic versioning support Date: Fri, 12 Jun 2020 12:03:48 +0200 Message-Id: <20200612100354.3591-1-sde@unmatched.eu> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: X-Original-Sender: HIGHGuY@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WG0iNAwB; spf=pass (google.com: domain of highguy@gmail.com designates 2a00:1450:4864:20::629 as permitted sender) smtp.mailfrom=highguy@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: , Changes from v1: - Drop NDEBUG lines in semver.c - Improve cleanup code - Add SPDX license identifiers - Add documentation Stijn Devriendt (6): Add semver library Fix semver compilation warnings Add SPDX license identifiers Cleanup input string to be semantic-version compliant Compare versions according to semver doc: Describe semantic versioning core/Makefile | 3 +- core/artifacts_versions.c | 94 ++++- core/parser.c | 11 +- core/semver.c | 636 ++++++++++++++++++++++++++++++++++ core/swupdate.c | 2 + doc/source/sw-description.rst | 31 +- doc/source/swupdate.rst | 7 +- include/semver.h | 106 ++++++ include/util.h | 3 +- parser/parser.c | 3 + 10 files changed, 875 insertions(+), 21 deletions(-) create mode 100644 core/semver.c create mode 100644 include/semver.h