From patchwork Mon Jun 23 12:42:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alexander Kanavin X-Patchwork-Id: 65509 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D25E1C77B7F for ; Mon, 23 Jun 2025 12:43:09 +0000 (UTC) Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by mx.groups.io with SMTP id smtpd.web10.18640.1750682585453224587 for ; Mon, 23 Jun 2025 05:43:05 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=iFqfk0Lq; spf=pass (domain: gmail.com, ip: 209.85.221.53, mailfrom: alex.kanavin@gmail.com) Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a536ecbf6fso2298558f8f.2 for ; Mon, 23 Jun 2025 05:43:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750682584; x=1751287384; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=aA7L5yEbVSgty1kHaBbBXw0qhz/IqAibYZZEHMkMlDM=; b=iFqfk0LqxV2p1zP8VjVJII9yOIXv6fIiuEwRR5gV5lYgtLLg9GElbrl2OE1sZ2b7Dw bdmv4u8FTEs07oSxq56DisHfdUs8k630b03WQpiPU+qAS9+c9oYRcsnkZ8RYCMDaUBP7 /0iXeuMfCpEaRCHJpkwJ90imKGu6EVb+tJjwW2TkzPM7swFSNriMukeUfueht8AEMbCw /rbyylbTRrXu8xJ8coNPPUovYnYHD6c5rXwqNDnbDPSAveQdqs/4g+2/OylZY7zAIZLe kekkhxwdXWRmay78u4JxQK6wnbgDCF/pDBfAy6Jh/gF6hsWdQFIsyZwv4RHkct6A3CdY lbGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750682584; x=1751287384; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=aA7L5yEbVSgty1kHaBbBXw0qhz/IqAibYZZEHMkMlDM=; b=h9jmODBAQbBOg3LCkcRPOfdIbfFQU4PL8TEf4csVJFNHfdv9hWNUg28K3Ycfg6GK4q ld+GrJBzs6b0X3MLQ0LdhzmJR3CjgUYD+1HPqdhulpguQTpiTt5Hf50gx1Z2Q0DxRnuf OAyd02tIyi7G2QW++rdHwAQbN2DUkux/w2SawzxB/YqtzCIsmzFaKBTv1aHC2pyicaeh uh+2lHb4dpHb8STvjJdNSoSW7q+Nbfq8qtVBKTsRRn/Un/7iz7mRsZy//2QxSrvHKRg1 p7Okcy5aJ23K3AyO+fW1+EwU74s8UhYe0M4ZINb0e+G0IG7hiTqj9zVk/omxX7u3pfTd DPhA== X-Gm-Message-State: AOJu0Yx0cO2CWZK8mQVLb+G6XN/ababDAjAV0THrJw91Sy1F1w1g/0hh nM/CoTZIYl/O2Od5n6X/5nIsXJgmcUvAcm/iOwHFEVREKmFzgX9q9qSG+93Tag== X-Gm-Gg: ASbGncvPINN6kZEsKfRCekn+M8BwDqGz1FFOGmY07/Ko1ORZBuo9VoTydZymUFB37gB Ur9jwEIisk3jf4LhoSODu6Gh14uDres8nqA1vde5RuUGkFkZvxzEIOs2BqpBP2FOaF6+BWQnFIZ SeiYBUgW7+FN3PQTyhCSmtLF0zr/SdtkgNketZ/hAOGoCtRS/0+QJduzPDFtebqmvussTIRoo5N QDm0Gr3sbtc+QhbovpVLWTu6P9DQL+8t/SaFN/xpMhSD+3j+guQCAJyaVO3yFKC0N0uhUlc8pNt K5neUAacO6u09WbduKGq5HGgEyDZJneFEyuUr1c1k/xkHFfEzj8OF3tz1suhMOoa4isVCuT8qFx xyzAOeTgfUXAXePaBdHCSPxI84Rttg6MBYw== X-Google-Smtp-Source: AGHT+IHau8bX5wKGwQRPjQZIvZ5JxzSN8do7wIThtQUxP0t7wbh1dkNO8s1EXpkjlopK/FCMNTV16Q== X-Received: by 2002:a05:6000:1888:b0:3a5:8600:7cff with SMTP id ffacd0b85a97d-3a6d12fb1f9mr9815099f8f.1.1750682583488; Mon, 23 Jun 2025 05:43:03 -0700 (PDT) Received: from Zen2.lab.linutronix.de. (drugstore.linutronix.de. [80.153.143.164]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1190b00sm9157170f8f.87.2025.06.23.05.43.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 05:43:02 -0700 (PDT) From: Alexander Kanavin To: docs@lists.yoctoproject.org Cc: Alexander Kanavin Subject: [PATCH 1/6] overview-manual: correct value of UNPACKDIR and put S under it Date: Mon, 23 Jun 2025 14:42:52 +0200 Message-Id: <20250623124257.1544615-1-alex.kanavin@gmail.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 23 Jun 2025 12:43:09 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7145 From: Alexander Kanavin Signed-off-by: Alexander Kanavin --- documentation/overview-manual/concepts.rst | 2 +- .../svg/analysis-for-package-splitting.svg | 8 ++++---- .../svg/configuration-compile-autoreconf.svg | 8 ++++---- documentation/overview-manual/svg/patching.svg | 8 ++++---- documentation/overview-manual/svg/source-fetching.svg | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst index c9405cdd338..590055501f9 100644 --- a/documentation/overview-manual/concepts.rst +++ b/documentation/overview-manual/concepts.rst @@ -704,7 +704,7 @@ the Yocto Project Reference Manual. Each recipe has an area in the :term:`Build Directory` where the unpacked source code resides. The :term:`UNPACKDIR` variable points to this area for a -recipe's unpacked source code, and has the default ``sources-unpack`` name. The +recipe's unpacked source code, and has the default ``sources`` name. The preceding figure and the following list describe the :term:`Build Directory`'s hierarchy: diff --git a/documentation/overview-manual/svg/analysis-for-package-splitting.svg b/documentation/overview-manual/svg/analysis-for-package-splitting.svg index 3ea42808823..16e831d65d5 100644 --- a/documentation/overview-manual/svg/analysis-for-package-splitting.svg +++ b/documentation/overview-manual/svg/analysis-for-package-splitting.svg @@ -1483,12 +1483,12 @@ x="291.66635" y="381.29614" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" - id="tspan15"> sources-unpack <─────────────────────── UNPACKDIR sources <────────────────────────────── UNPACKDIR ${BP} <──────────────────────────────── S / B ${BP} <────────────────────────────── S / B sources-unpack <─────────────────────── UNPACKDIR sources <────────────────────────────── UNPACKDIR ${BP} <──────────────────────────────── S / B ${BP} <────────────────────────────── S / B sources-unpack <───────────────────── UNPACKDIR sources <──────────────────────────── UNPACKDIR ${BP} <────────────────────────────── S / B ${BP} <──────────────────────────── S / B sources-unpack <───────────────────── UNPACKDIR sources <──────────────────────────── UNPACKDIR ${BP} <────────────────────────────── S / B ${BP} <──────────────────────────── S / B sources-unpack <──────────────────── UNPACKDIR sources <─────────────────────────── UNPACKDIR ${BP} <───────────────────────────── S ${BP} <─────────────────────────── S sources-unpack <──────────────────── UNPACKDIR sources <─────────────────────────── UNPACKDIR ${BP} <───────────────────────────── S + id="tspan47"> ${BP} <─────────────────────────── S sources-unpack <─────────────────────── UNPACKDIR sources <────────────────────────────── UNPACKDIR ${BP} <──────────────────────────────── S ${BP} <────────────────────────────── S sources-unpack <─────────────────────── UNPACKDIR sources <────────────────────────────── UNPACKDIR ${BP} <──────────────────────────────── S + id="tspan44"> ${BP} <────────────────────────────── S X-Patchwork-Id: 65510 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DB9E4C7EE30 for ; Mon, 23 Jun 2025 12:43:09 +0000 (UTC) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.groups.io with SMTP id smtpd.web11.18667.1750682586098172440 for ; Mon, 23 Jun 2025 05:43:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=hz0w3SNu; spf=pass (domain: gmail.com, ip: 209.85.128.41, mailfrom: alex.kanavin@gmail.com) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-453643020bdso24401075e9.1 for ; Mon, 23 Jun 2025 05:43:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750682584; x=1751287384; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zQYoPjM7qpFPDzfFL1pg/tW5E+XFyfLskZc4eKlwwMU=; b=hz0w3SNu+Gz6U+G2jeABknJTACWeBvxBkyd8E2t7TYWya7u6kBl5+kE4wePSaZLJaK BvymQ+oBi01Boxmz9OqImsFgovslPVkjR8mrhneKemQxZwlYgeVAbZBw/F0QOiss6ECy SN7ALnEwIJMfiBG+HD9xKFz/MgM+/7IC9nM5sX8ddIL1+RxmNwkqLQlRp1stHR6sFM9e cD9jHM8IfqMtZQnVJGLL40z8JD4pupHWXY04P2qHIw2+T0LEIIhbNfF2bTPJZDrzIddh MyhqOeDvA4GVbymTJrjlBeuDPerz3XsjmrfnbR50gVCA8w0B7MDw4LdOgsz79zi97hLI IQ7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750682584; x=1751287384; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zQYoPjM7qpFPDzfFL1pg/tW5E+XFyfLskZc4eKlwwMU=; b=bvYf+eaa/j/Q8Aq+MqMVb7gExWC7x+u80a/8/95JdGwzrPsXjfk6SJL/h7oIrOjG4t Tp8PpJikQvdDX5TDI3GVNrtA1oQyMuAk3FjPhYj2si6tgSrPgwBc9RC8lwSa/8xS6J+v EHZgth+uZPBCiMfplN5DY+zrhb263BNPlS74LW/DJjx6Xum2hSP2hvzIoP+ma3AEHPoE Z/OkMO2W4lMrjm2xvRiIbZz3+R/uWWcWmTzisNN42i2LP9ffvzgc6K8/h43VmH/7jFpV IbOTjDksqDnNrOgvlmEb/QKjEmQgaf7AT87gmJ+WTnl4LyOEOzybIafWZgiUghahqQmV 5jlw== X-Gm-Message-State: AOJu0Yz9ctZMnMfvXHp7l1k5gSxZlfStKzjgK2Hum4seN5dVZQxDaRzY 37CRv/4F+GzQ1NJV2OcWUgG+/lq9EFoUZ5WYnyTcVXfCel1+XqRgw+auxJ48gA== X-Gm-Gg: ASbGnctBZRcnUTE/oCSa91uSKQPQ3lELZewqJ+37lNMjlwij75IQhhr3hl1/Byam0/8 V6nBTyLsdHW6Bgs3Kv+z6AfA+hHy7gtFC+5UM2MSbdeokU4w+fC6ogECHqiZmpWLtLwxvQ0TtDZ 6DUyfEVQwYM3beqSK33azEgklpZogduV1q1XZStYmRKBxR5TcJsfLdpA1UAGY9UX5HCNM3F85qG zu3ON95EJvcNrLRaExqRTzVy/MNblfKV7RXu5GUNBOIM5Mbp08CRclz3SonGVx/M/nRdZhzAUJ1 LK+6P1wTCf8AfST0qKuUhsVjqYHobNFRtvWtLeGg10hROmKc7csro900LwsBYZcrc1BG2qLYCMC wn2X72MCGk4v1n+4IJNbnyJ1jjrYuHarVZQ== X-Google-Smtp-Source: AGHT+IFjSBMiD74lCDw6KY/laiMniLuBkVdr1YexqkPFLzM4rlvYJiKvl0pG7f5oXB/J7tO01UUSsg== X-Received: by 2002:a05:6000:288f:b0:3a4:d939:62f8 with SMTP id ffacd0b85a97d-3a6d1322c16mr9399433f8f.32.1750682584252; Mon, 23 Jun 2025 05:43:04 -0700 (PDT) Received: from Zen2.lab.linutronix.de. (drugstore.linutronix.de. [80.153.143.164]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1190b00sm9157170f8f.87.2025.06.23.05.43.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 05:43:03 -0700 (PDT) From: Alexander Kanavin To: docs@lists.yoctoproject.org Cc: Alexander Kanavin Subject: [PATCH 2/6] ref-manual: drop a sentence about a 'legacy way' to specify UNPACKDIR Date: Mon, 23 Jun 2025 14:42:53 +0200 Message-Id: <20250623124257.1544615-2-alex.kanavin@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250623124257.1544615-1-alex.kanavin@gmail.com> References: <20250623124257.1544615-1-alex.kanavin@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 23 Jun 2025 12:43:09 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7146 From: Alexander Kanavin This wasn't specific, and is obsolete: UNPACKDIR should not be set by recipes at all, except in very special circumstances (e.g. gcc/clang unpacking into work-shared). Signed-off-by: Alexander Kanavin --- documentation/ref-manual/tasks.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/ref-manual/tasks.rst b/documentation/ref-manual/tasks.rst index d85d1151f0c..e379c424d87 100644 --- a/documentation/ref-manual/tasks.rst +++ b/documentation/ref-manual/tasks.rst @@ -412,8 +412,7 @@ them. You can learn more by looking at the ------------- Unpacks the source code into a working directory pointed to by -``${``\ :term:`UNPACKDIR`\ ``}``. A legacy way to specify -this directory is through the :term:`S` and :term:`WORKDIR` variables. +``${``\ :term:`UNPACKDIR`\ ``}``. For more information on how source files are unpacked, see the ":ref:`overview-manual/concepts:source fetching`" section in the Yocto Project Overview and Concepts Manual. From patchwork Mon Jun 23 12:42:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kanavin X-Patchwork-Id: 65511 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CFAFDC7EE2A for ; Mon, 23 Jun 2025 12:43:09 +0000 (UTC) Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.groups.io with SMTP id smtpd.web10.18641.1750682586901269308 for ; Mon, 23 Jun 2025 05:43:07 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=AxN5eE2+; spf=pass (domain: gmail.com, ip: 209.85.221.47, mailfrom: alex.kanavin@gmail.com) Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3a4fb9c2436so2071310f8f.1 for ; Mon, 23 Jun 2025 05:43:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750682585; x=1751287385; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yASFNSDCDrWVnrZMD+GgYbz1nU/OUOCUNP65Wx3ZRJo=; b=AxN5eE2+gZkyYl8vWrc1TKK4J77FmnvebfMx15efG5F42ATZf+SrZGx0gGimNHcNXf zwVFp9BWU1IT2hMNgvFZb23IBnzApXuKrvcJBu9CqqJ3cWUofYO3jobH7QqvV0XAUf9U sJfrCv+gDCNgSQnaHkT8JqjzMI8cbakwW/z0rM/BXR5zxiSOQnUIPnt0gUPsHuTU1V4k PjiK7pQ93ooJTn04+G3Pjw36WXD7TsuZW/ItOZE1Db1chHAAw/Kpk/bSlU9bMxip9VzI oUd5MZGhmHCUa+DXoT+ZJsD/aO8zIdlv5VBzO5tXmMXx8e7vTEGTMvYPgXS5L3UmQ59T xjZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750682585; x=1751287385; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yASFNSDCDrWVnrZMD+GgYbz1nU/OUOCUNP65Wx3ZRJo=; b=TAL3ywglCdt/6VpagH9ki+HknjVgNf3jGumYaT1rIafUZfPSCbVchEWrH0m5amwX7p CBuCYPm3NJ0s2nwCxhEFpy5J1pKj5gHQYa0DB5SIjUBbBh6VZh7F4pkMATjsES9PJUMk wFthLnSuzg3bCPUAMvmrJlVYDOy/NX/fMgzGXmcUjcIB2q1XAXeY03GuBZ0Qf3cegIaI n8ECDOqsiKY9WPA8XJyvG+5vbtEV0+xz979eQyjklAn2Pqa0Ia8do6cKMc+zVj33O1ve 2qsGsfuf8zYa7RIsdGKGnyajJ1ur8BBtdih2PmLEoTFZyzF8YIOaK6UDX+rR5x4fmeHt 11ag== X-Gm-Message-State: AOJu0YwJL3hciAQkpRae5+coqdw3Wfz6ZulYhkwa7IuLWjv9wfuLE8uF pW8zALl/utm0qfuMfi55+6JpSuKVWdwsdqODnd0+fSpWSbu9EJHLeomjZ3dOEQ== X-Gm-Gg: ASbGnctLLA8Zu3KnKFTG8kt2pjhjCbs+fDYQCTiZ87h/QZVyWxvLVOukIssG6kk/idI HK5GLxyrEVklzEbWEzUjtKDr9S+0DVwHrGegAGcZXiwmUv+LbO7I3i7Gpg/Qmf2VQKf+5Ayolxy UjgWy2Knf14Dg6fj59Lj0BZ9ujIP9peH0h7F3UeXGw8l2UFF8+/0dJz3A7nP2Xs0bKBRG6IAHNV S8UihSZYMKXi4PkWepfhgsf057Mngjf7MTPY4J++Ddipg26okrnqIqOwxcPJcURqf690wzi8Tkw km1YS6s/7adN2+yaDqDRAiRKXCMRzxR4lNAg1kvk+8HBqRQ2aWBUuh5E1tJqQbHVkvlrAfrJnGt cCu4cAkGC7gjb1SEnMiirF4o= X-Google-Smtp-Source: AGHT+IEUePmqOcj7gEhaCnyjBa79TEencQYy2SJQlNthsiFIlUNWUMmQXRcdohFm0wjfXIjFGYGPRw== X-Received: by 2002:a05:6000:4716:b0:3a4:d452:fff with SMTP id ffacd0b85a97d-3a6d12a077dmr9989822f8f.17.1750682585048; Mon, 23 Jun 2025 05:43:05 -0700 (PDT) Received: from Zen2.lab.linutronix.de. (drugstore.linutronix.de. [80.153.143.164]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1190b00sm9157170f8f.87.2025.06.23.05.43.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 05:43:04 -0700 (PDT) From: Alexander Kanavin To: docs@lists.yoctoproject.org Cc: Alexander Kanavin Subject: [PATCH 3/6] dev-manual: replace WORKDIR with UNPACKDIR where appropriate Date: Mon, 23 Jun 2025 14:42:54 +0200 Message-Id: <20250623124257.1544615-3-alex.kanavin@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250623124257.1544615-1-alex.kanavin@gmail.com> References: <20250623124257.1544615-1-alex.kanavin@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 23 Jun 2025 12:43:09 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7147 From: Alexander Kanavin Signed-off-by: Alexander Kanavin --- documentation/dev-manual/layers.rst | 12 ++++++------ documentation/dev-manual/licenses.rst | 4 ++-- documentation/dev-manual/new-recipe.rst | 12 ++++-------- documentation/dev-manual/packages.rst | 2 +- documentation/dev-manual/prebuilt-libraries.rst | 4 ++-- .../dev-manual/temporary-source-code.rst | 15 +++++++++++---- 6 files changed, 26 insertions(+), 23 deletions(-) diff --git a/documentation/dev-manual/layers.rst b/documentation/dev-manual/layers.rst index c649e2bd60f..454c72bcd21 100644 --- a/documentation/dev-manual/layers.rst +++ b/documentation/dev-manual/layers.rst @@ -507,7 +507,7 @@ the "meta" layer at ``meta/recipes-bsp/formfactor``:: PR = "r45" SRC_URI = "file://config file://machconfig" - S = "${WORKDIR}" + S = "${UNPACKDIR}" PACKAGE_ARCH = "${MACHINE_ARCH}" INHIBIT_DEFAULT_DEPS = "1" @@ -586,7 +586,7 @@ Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named SRC_URI = "file://xorg.conf" - S = "${WORKDIR}" + S = "${UNPACKDIR}" CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" @@ -594,9 +594,9 @@ Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named ALLOW_EMPTY:${PN} = "1" do_install () { - if test -s ${WORKDIR}/xorg.conf; then + if test -s ${UNPACKDIR}/xorg.conf; then install -d ${D}/${sysconfdir}/X11 - install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ + install -m 0644 ${UNPACKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ fi } @@ -614,8 +614,8 @@ file is in the layer at ``recipes-graphics/xorg-xserver``:: PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" if [ "${PITFT}" = "1" ]; then install -d ${D}/${sysconfdir}/X11/xorg.conf.d/ - install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ - install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ + install -m 0644 ${UNPACKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ + install -m 0644 ${UNPACKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ fi } diff --git a/documentation/dev-manual/licenses.rst b/documentation/dev-manual/licenses.rst index bffff3675f3..7d6636eeff2 100644 --- a/documentation/dev-manual/licenses.rst +++ b/documentation/dev-manual/licenses.rst @@ -55,11 +55,11 @@ Consider this next example:: LIC_FILES_CHKSUM = "file://src/ls.c;beginline=5;endline=16;\ md5=bb14ed3c4cda583abc85401304b5cd4e" - LIC_FILES_CHKSUM = "file://${WORKDIR}/license.html;md5=5c94767cedb5d6987c902ac850ded2c6" + LIC_FILES_CHKSUM = "file://${UNPACKDIR}/license.html;md5=5c94767cedb5d6987c902ac850ded2c6" The first line locates a file in ``${S}/src/ls.c`` and isolates lines five through 16 as license text. The second line refers to a file in -:term:`WORKDIR`. +:term:`UNPACKDIR`. Note that :term:`LIC_FILES_CHKSUM` variable is mandatory for all recipes, unless the :term:`LICENSE` variable is set to "CLOSED". diff --git a/documentation/dev-manual/new-recipe.rst b/documentation/dev-manual/new-recipe.rst index c49881efe63..7b39b9984e2 100644 --- a/documentation/dev-manual/new-recipe.rst +++ b/documentation/dev-manual/new-recipe.rst @@ -706,7 +706,7 @@ hierarchy to locations that would mirror their locations on the target device. The installation process copies files from the ``${``\ :term:`S`\ ``}``, ``${``\ :term:`B`\ ``}``, and -``${``\ :term:`WORKDIR`\ ``}`` +``${``\ :term:`UNPACKDIR`\ ``}`` directories to the ``${``\ :term:`D`\ ``}`` directory to create the structure as it should appear on the target system. @@ -1145,7 +1145,7 @@ Building an application from a single file that is stored locally (e.g. under ``files``) requires a recipe that has the file listed in the :term:`SRC_URI` variable. Additionally, you need to manually write the :ref:`ref-tasks-compile` and :ref:`ref-tasks-install` tasks. The :term:`S` variable defines the -directory containing the source code, which is set to :term:`WORKDIR` in this +directory containing the source code, which is set to :term:`UNPACKDIR` in this case --- the directory BitBake uses for the build:: SUMMARY = "Simple helloworld application" @@ -1155,7 +1155,7 @@ case --- the directory BitBake uses for the build:: SRC_URI = "file://helloworld.c" - S = "${WORKDIR}" + S = "${UNPACKDIR}" do_compile() { ${CC} ${LDFLAGS} helloworld.c -o helloworld @@ -1211,8 +1211,6 @@ In the following example, ``lz4`` is a makefile-based package:: " UPSTREAM_CHECK_GITTAGREGEX = "v(?P.*)" - S = "${WORKDIR}/git" - CVE_STATUS[CVE-2014-4715] = "fixed-version: Fixed in r118, which is larger than the current version" EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' CFLAGS='${CFLAGS}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no" @@ -1271,8 +1269,6 @@ is a simple example of an application without dependencies:: SRC_URI = "git://gitlab.com/ipcalc/ipcalc.git;protocol=https;branch=master" SRCREV = "4c4261a47f355946ee74013d4f5d0494487cc2d6" - S = "${WORKDIR}/git" - inherit meson Applications with dependencies are likely to inherit the @@ -1428,7 +1424,7 @@ chapter of the BitBake User Manual. The following example shows some of the ways you can use variables in recipes:: - S = "${WORKDIR}/postfix-${PV}" + S = "${UNPACKDIR}/postfix-${PV}" CFLAGS += "-DNO_ASM" CFLAGS:append = " --enable-important-feature" diff --git a/documentation/dev-manual/packages.rst b/documentation/dev-manual/packages.rst index 8845bf2fab5..8bd48c8e8f2 100644 --- a/documentation/dev-manual/packages.rst +++ b/documentation/dev-manual/packages.rst @@ -1024,7 +1024,7 @@ The ``devtool edit-recipe`` command lets you take a look at the recipe:: npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \ " - S = "${WORKDIR}/npm" + S = "${UNPACKDIR}/npm" inherit npm diff --git a/documentation/dev-manual/prebuilt-libraries.rst b/documentation/dev-manual/prebuilt-libraries.rst index a05f39ca1e2..d138358eae5 100644 --- a/documentation/dev-manual/prebuilt-libraries.rst +++ b/documentation/dev-manual/prebuilt-libraries.rst @@ -97,7 +97,7 @@ The complete recipe would look like this:: # we use a local link. SRC_URI = "file://libft4222-linux-${PV}.tgz" - S = "${WORKDIR}" + S = "${UNPACKDIR}" ARCH_DIR:x86-64 = "build-x86_64" ARCH_DIR:i586 = "build-i386" @@ -204,6 +204,6 @@ versioned library example. The "magic" is setting the :term:`SOLIBS` and do_install () { install -d ${D}${libdir} - install -m 0755 ${WORKDIR}/libfoo.so ${D}${libdir} + install -m 0755 ${UNPACKDIR}/libfoo.so ${D}${libdir} } diff --git a/documentation/dev-manual/temporary-source-code.rst b/documentation/dev-manual/temporary-source-code.rst index 08bf68d9826..de7140abe26 100644 --- a/documentation/dev-manual/temporary-source-code.rst +++ b/documentation/dev-manual/temporary-source-code.rst @@ -18,11 +18,10 @@ build packages is available in the :term:`Build Directory` as defined by the defined in the ``meta/conf/bitbake.conf`` configuration file in the :term:`Source Directory`:: - S = "${WORKDIR}/${BP}" + S = "${UNPACKDIR}/${BP}" You should be aware that many recipes override the -:term:`S` variable. For example, recipes that fetch their source from Git -usually set :term:`S` to ``${WORKDIR}/git``. +:term:`S` variable when the default isn't accurate. .. note:: @@ -31,8 +30,16 @@ usually set :term:`S` to ``${WORKDIR}/git``. BP = "${BPN}-${PV}" + This matches the location that the git fetcher unpacks to, and usually + matches unpacked content of release tarballs (e.g. they contain a single + directory which matches value of ${BP} exactly). -The path to the work directory for the recipe +The path to the unpack directory for the recipe +(:term:`UNPACKDIR) is defined as follows:: + + ${WORKDIR}/sources + +In turn, the path to the work directory for the recipe (:term:`WORKDIR`) is defined as follows:: From patchwork Mon Jun 23 12:42:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alexander Kanavin X-Patchwork-Id: 66980 Return-Path: Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0EA46C7115B for ; Mon, 23 Jun 2025 12:43:20 +0000 (UTC) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by mx.groups.io with SMTP id smtpd.web11.18668.1750682589103655744 for ; Mon, 23 Jun 2025 05:43:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=NohWwvtp; spf=pass (domain: gmail.com, ip: 209.85.128.53, mailfrom: alex.kanavin@gmail.com) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-450ccda1a6eso35715965e9.2 for ; Mon, 23 Jun 2025 05:43:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750682587; x=1751287387; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JxDTNFe5mIKzF61ZX3niSyDp91iBD0i27uz+1jOdzc0=; b=NohWwvtpV/kb2Md0MlCIbPPf2mnJcw8zKx2z4p8hVVo6WJKPkt18QwRWlxuwR7xQS/ WuHw28VoniaPQTc2WIAkavqj2Qfc1mVRw8Eso15nircYK5R9Xd6FVZDRDI4Z0vlkHrBQ wlDvfP66dhqpkdUtvhZNZmD4kx6TdhA3qXLlDcKoXDAkxljbj5XYOBM+BEnr1AjC5jmd dLyyQietMEsL0iEFJad1fuJGH/tJwkQHfEFz34Yv6hAGWfF+nor5dKPx40jD5itjpIoj vFy0H8+pqRqjSNR9AC+JlAGxW/4kXDwuMtC8Mg1DH85pE58hBHIDIMnB28Ha6Er2pBEM Y61Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750682587; x=1751287387; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JxDTNFe5mIKzF61ZX3niSyDp91iBD0i27uz+1jOdzc0=; b=JeCiqVRi1J5ZmcmQpf1paWn1QqYtJaCNgkdrJjT5XE2jbuF1IFPz02vsezQjoUVZVn CV6yX6gkO+YZvFm4w2cWWkGV8fOL6FjB8aTADMK0bJI+yCli9wp/S4u78SsKdjpnNbOI osWQDHbIZa8swM3TlsGa8zMUQxk/VBNDhIV8jCWhMXtaB+hC13u/YUWwnqbNd6Q916lo 1+r/oVaVew1j/pmiNCGVpiiBmtfA1jG0N23JC3si51w1Gc4Whrb9TQSogLLSz2GLAkjJ tG2b+o01ua6qkhaFR8X2c2jpvEZRqQlK3wJea/PlfO/h5iucN73EHmYLQJRW2BqFXHrY GRMQ== X-Gm-Message-State: AOJu0YyNMOXsFxtSWOiuLHqQwli/RIsXcP2vX24SCpEo6AV8rcikfiAo MWVGG+rmu5ZeFkz16NYwaRzMQvHgtBFI1Zyl7ilqpkg97QDMGJRYZuKaFUb2aA== X-Gm-Gg: ASbGncsUZ2n1ESt79/95Um/XtAVWVa6RFQh8E2sBuLWUpTPSsua/SLOh8ANjYzp6LQO phMV5uTtujotpTpZVtJj7XTat5bM4svTGlydLQlA381piHh3qdHsw9jN3JYDFuJH2rIcjo7RQYt VjjdfDSJruUokk1fw/TQEt+0O7H8s6aaVwdGfmwn4jr0JdQbgRhhnsUCeAOTSjdu7wD3I/SQPzV 2ugymPbkWO77uRJi0685nJgEEu3T/w9vN+EvnZFVLstcRsfv0nSfkwWd+O+LjLWgX30dUd0f5XU ldM5FWSLycmULYhBfgDrlA6q7HT8SuLLqg8BmYeyOb5xXVzKSYHtPQQBf5Bt84lKiq7shrol9OJ vIhE3J2ee9tUiuha5oYdFPic= X-Google-Smtp-Source: AGHT+IFyG+g4hGTng/NEgkLjmiA9QxJs0dJ0QqvLnawmZP6ziyEQHGJkxjwKxvRHrwOwoduKsU4nyA== X-Received: by 2002:a05:6000:4109:b0:3a4:eb7a:2cda with SMTP id ffacd0b85a97d-3a6d13071ddmr8283629f8f.30.1750682586295; Mon, 23 Jun 2025 05:43:06 -0700 (PDT) Received: from Zen2.lab.linutronix.de. (drugstore.linutronix.de. [80.153.143.164]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1190b00sm9157170f8f.87.2025.06.23.05.43.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 05:43:05 -0700 (PDT) From: Alexander Kanavin To: docs@lists.yoctoproject.org Cc: Alexander Kanavin Subject: [PATCH 4/6] overview-manual: correct the bitbake tasks map section and diagram to account for sources in UNPACKDIR Date: Mon, 23 Jun 2025 14:42:55 +0200 Message-Id: <20250623124257.1544615-4-alex.kanavin@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250623124257.1544615-1-alex.kanavin@gmail.com> References: <20250623124257.1544615-1-alex.kanavin@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 23 Jun 2025 12:43:20 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7149 From: Alexander Kanavin Signed-off-by: Alexander Kanavin --- documentation/overview-manual/concepts.rst | 4 ---- documentation/overview-manual/svg/bitbake_tasks_map.svg | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst index 590055501f9..b34de4d3610 100644 --- a/documentation/overview-manual/concepts.rst +++ b/documentation/overview-manual/concepts.rst @@ -2368,8 +2368,6 @@ The contents of ``libhello_0.1.bb`` are:: # Change accordingly SRC_URI = "git://github.com//libhello;branch=main;protocol=https" - S = "${WORKDIR}/git" - do_install(){ install -d ${D}${includedir} install -d ${D}${libdir} @@ -2394,8 +2392,6 @@ The contents of ``sayhello_0.1.bb`` are:: DEPENDS += "libhello" RDEPENDS:${PN} += "libhello" - S = "${WORKDIR}/git" - do_install(){ install -d ${D}/usr/bin install -m 0700 sayhello ${D}/usr/bin diff --git a/documentation/overview-manual/svg/bitbake_tasks_map.svg b/documentation/overview-manual/svg/bitbake_tasks_map.svg index 09ef36faae4..1ba962ccc61 100644 --- a/documentation/overview-manual/svg/bitbake_tasks_map.svg +++ b/documentation/overview-manual/svg/bitbake_tasks_map.svg @@ -1,4 +1,4 @@ -
tmp
tmp
work
work
${MULTIMACH_TARGET_OS}
${MULTIMACH_TARGET_OS}
libhello
libhello
sayhello
sayhello
0.1-r0
0.1-r0
0.1-r0
0.1-r0
downloads
downloads
git2
git2
github.com.<username>.sayhello
github.com.<username>.sayhello
github.com.<username>.libhello
github.com.<username>.libhello
git
git
Makefile
Makefile
LICENSE
LICENSE
fix.patch
fix.patch
hellolib.c
hellolib.c
temp
temp
sysroot-destdir
sysroot-destdir
recipe-sysroot
recipe-sysroot
image
image
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
Everything in image folder that is present in SYSROOT_DIRS will be copied here.
Everything in image...
do_install
do_install
libhello.so.1.0
libhello.so.1.0
do_configure
do_configure
hellolib.h
hellolib.h
do_patch
do_patch
do_unpack
do_unpack
6
6
7
7
8
8
do_compile
do_compile
9
9
10
10
do_populate_sysroot
do_populate_sysroot
11
11
git
git
Makefile
Makefile
LICENSE
LICENSE
sayhello.c
sayhello.c
sayhello
sayhello
image
image
usr
usr
bin
bin
libhello-0.1
libhello-0.1
S = "${WORKDIR}/git"
S = "${WORKDIR}/git"
WORKDIR
WORKDIR
D
D
S
S
B
B
S
S
T
T
libdir
libdir
includedir
includedir
RECIPE_SYSROOT
RECIPE_SYSROOT
S
S
B
B
D
D
WORKDIR
WORKDIR
do_prepare_recipe_sysroot
do_prepare_recipe_sysroot
sayhello
sayhello
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
This also contains other files from other 
dependencies. Default dependencies are:
basically gcc, compilerlibs and libc
This also contains other files from other...
SYSROOT_DESTDIR
SYSROOT_DESTDIR
Github
Github
do_fetch
do_fetch
1
1
do_fetch
do_fetch
5
5
do_configure
do_configure
12
12
do_compile
do_compile
13
13
do_unpack
do_unpack
2
2
conf
conf
local.conf
local.conf
bblayers.conf
bblayers.conf
S defaults generally to ${WORKDIR}/${BPN}-${PV}
In git recipes change it to ${WORKDIR}/git
S defaults generally to ${WORKDIR}/${B...
do_patch
(No patches)
do_patch...
3
3
4
4
do_install
do_install
14
14
package
package
PKGD
PKGD
A copy of ${D}
excluding
/sysroot-only
A copy of ${D}...
do_package
do_package
15
15
packages-split
packages-split
PKGDEST
PKGDEST
sayhello
sayhello
usr
usr
bin
bin
Folders created here are present in PACKAGES variable, BitBake knows what and where to put things using the FILES variable, example: FILES:${PN} files will go to ${PN} folder which is in PACKAGES
Folders created here are present in PACKAGES variable...
do_package
do_package
16
16
deploy-pkg
deploy-pkg
${PACKAGE_ARCH}
${PACKAGE_ARCH}
This can be rpms, debs or ipks.
These are provided by
package_rpm, package_deb and package_ipk classes respectively, use PACKAGE_CLASSES for that as
content of PACKAGE_CLASSES will be appended
to INHERIT
This can be rpms, debs or ipks....
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
This task also depends on PACKAGE_CLASSES,
pkg can be rpm, deb or ipk for package_rpm,
package_deb or package_ipk respectively.
The generated package generally named using:
${PN}, ${PR}, ${PACKAGE_ARCH} and pkg
This task also depends on PACKAGE_CLASSES,...
deploy
deploy
${DEPLOY_DIR_pkg}
${DEPLOY_DIR_pkg}
do_package_write_pkg
do_package_write_pkg
17
17
${PACKAGE_ARCH}
${PACKAGE_ARCH}
For packages, this can be IPK, RPM or DEB (check step 17)
For packages, this can be IPK, RPM or DEB (check step 17)
DEPLOY_DIR
DEPLOY_DIR
TMPDIR
TMPDIR
DL_DIR
DL_DIR
do_package_write_pkg
do_package_write_pkg
18
18
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for package_rpm, package_deb
or package_ipk respectively
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for pack...
License checking happens in do_populate_lic after do_patch
and before that a checksum check
happends on LIC_FILES_CHKSUM if the
license is not CLOSED
License checking happens in do_populate_lic after do_pa...
This variable is used to separate recipes
based on their target. This has value of
${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}
This variable is used to separate recipes...
conf-notes.txt
conf-notes.txt
sstate-cache
sstate-cache
SSTATE_DIR
SSTATE_DIR
sayhello
sayhello
This folder contains cache for recipes build output, this is used by BitBake, if the recipe checksum did not change it knows that the output to use is the same.
This folder contains cache for recipes build output, this is used by...
These directories can be shared accross builds to save disk space and build time
These directories can be shared accross builds to save disk space an...
This directory contains other output directories such as images, sdk and licenses
This directory contains other output directories such as images, sdk...
This file contains all layers that BitBake should consider when looking for metadata.
This file contains all layer...
This is base configuration file containing essential user config such as MACHINE and DISTRO
This is base configuration file containing essential user config such as...
The message to show after source oe-init-build-env
The message to show after source oe-init...
Text is not SVG - cannot display
\ No newline at end of file +
tmp
tmp
work
work
${MULTIMACH_TARGET_OS}
${MULTIMACH_TARGET_OS}
libhello
libhello
sayhello
sayhello
0.1-r0
0.1-r0
0.1-r0
0.1-r0
downloads
downloads
git2
git2
github.com.<username>.sayhello
github.com.<username>.sayhello
github.com.<username>.libhello
github.com.<username>.libhello
sources/libhello-0.1
sources/lib...
Makefile
Makefile
LICENSE
LICENSE
fix.patch
fix.patch
hellolib.c
hellolib.c
temp
temp
sysroot-destdir
sysroot-destdir
recipe-sysroot
recipe-sysroot
image
image
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
Everything in image folder that is present in SYSROOT_DIRS will be copied here.
Everything in image...
do_install
do_install
libhello.so.1.0
libhello.so.1.0
do_configure
do_configure
hellolib.h
hellolib.h
do_patch
do_patch
do_unpack
do_unpack
6
6
7
7
8
8
do_compile
do_compile
9
9
10
10
do_populate_sysroot
do_populate_sysroot
11
11
sources/sayhello-0.1

sources/say...
Makefile
Makefile
LICENSE
LICENSE
sayhello.c
sayhello.c
sayhello
sayhello
image
image
usr
usr
bin
bin
S = "${UNPACKDIR}/${BP}"
S = "${UNPACKDIR}/${BP}"
WORKDIR
WORKDIR
D
D
S
S
B
B
T
T
libdir
libdir
includedir
includedir
RECIPE_SYSROOT
RECIPE_SYSROOT
S
S
B
B
D
D
WORKDIR
WORKDIR
do_prepare_recipe_sysroot
do_prepare_recipe_sysroot
sayhello
sayhello
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
This also contains other files from other 
dependencies. Default dependencies are:
basically gcc, compilerlibs and libc
This also contains other files from other...
SYSROOT_DESTDIR
SYSROOT_DESTDIR
Github
Github
do_fetch
do_fetch
1
1
do_fetch
do_fetch
5
5
do_configure
do_configure
12
12
do_compile
do_compile
13
13
do_unpack
do_unpack
2
2
conf
conf
local.conf
local.conf
bblayers.conf
bblayers.conf
S defaults generally to ${UNPACKDIR}/${BP}
S defaults generally to ${UNPACKDIR}/$...
do_patch
(No patches)
do_patch...
3
3
4
4
do_install
do_install
14
14
package
package
PKGD
PKGD
A copy of ${D}
excluding
/sysroot-only
A copy of ${D}...
do_package
do_package
15
15
packages-split
packages-split
PKGDEST
PKGDEST
sayhello
sayhello
usr
usr
bin
bin
Folders created here are present in PACKAGES variable, BitBake knows what and where to put things using the FILES variable, example: FILES:${PN} files will go to ${PN} folder which is in PACKAGES
Folders created here are present in PACKAGES variable...
do_package
do_package
16
16
deploy-pkg
deploy-pkg
${PACKAGE_ARCH}
${PACKAGE_ARCH}
This can be rpms, debs or ipks.
These are provided by
package_rpm, package_deb and package_ipk classes respectively, use PACKAGE_CLASSES for that as
content of PACKAGE_CLASSES will be appended
to INHERIT
This can be rpms, debs or ipks....
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
This task also depends on PACKAGE_CLASSES,
pkg can be rpm, deb or ipk for package_rpm,
package_deb or package_ipk respectively.
The generated package generally named using:
${PN}, ${PR}, ${PACKAGE_ARCH} and pkg
This task also depends on PACKAGE_CLASSES,...
deploy
deploy
${DEPLOY_DIR_pkg}
${DEPLOY_DIR_pkg}
do_package_write_pkg
do_package_write_pkg
17
17
${PACKAGE_ARCH}
${PACKAGE_ARCH}
For packages, this can be IPK, RPM or DEB (check step 17)
For packages, this can be IPK, RPM or DEB (check step 17)
DEPLOY_DIR
DEPLOY_DIR
TMPDIR
TMPDIR
DL_DIR
DL_DIR
do_package_write_pkg
do_package_write_pkg
18
18
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for package_rpm, package_deb
or package_ipk respectively
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for pack...
License checking happens in do_populate_lic after do_patch
and before that a checksum check
happends on LIC_FILES_CHKSUM if the
license is not CLOSED
License checking happens in do_populate_lic after do_pa...
This variable is used to separate recipes
based on their target. This has value of
${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}
This variable is used to separate recipes...
conf-notes.txt
conf-notes.txt
sstate-cache
sstate-cache
SSTATE_DIR
SSTATE_DIR
sayhello
sayhello
This folder contains cache for recipes build output, this is used by BitBake, if the recipe checksum did not change it knows that the output to use is the same.
This folder contains cache for recipes build output, this is used by...
These directories can be shared accross builds to save disk space and build time
These directories can be shared accross builds to save disk space an...
This directory contains other output directories such as images, sdk and licenses
This directory contains other output directories such as images, sdk...
This file contains all layers that BitBake should consider when looking for metadata.
This file contains all layer...
This is base configuration file containing essential user config such as MACHINE and DISTRO
This is base configuration file containing essential user config such as...
The message to show after source oe-init-build-env
The message to show after source oe-init...
Text is not SVG - cannot display
\ No newline at end of file From patchwork Mon Jun 23 12:42:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kanavin X-Patchwork-Id: 65508 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9D61C7115B for ; Mon, 23 Jun 2025 12:43:09 +0000 (UTC) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by mx.groups.io with SMTP id smtpd.web11.18669.1750682589401702980 for ; Mon, 23 Jun 2025 05:43:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=D/k9j7Xa; spf=pass (domain: gmail.com, ip: 209.85.221.54, mailfrom: alex.kanavin@gmail.com) Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a54700a463so2250738f8f.1 for ; Mon, 23 Jun 2025 05:43:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750682588; x=1751287388; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=B+qC1EEaay8hFTPEhETGaA43T7yNcyVQN5sRN1ccVz0=; b=D/k9j7Xa6f6yV5hd7GSdXINCKTYBg/aGTJJaWBSP86F+t1XDgHPncCGUtg+TJ9Wl4X /Ecfoi2j5BgNI2eePNfAYAUG6roLGxGBJ1oDfiJczRb3h/awaSmuQhKmz7ZFXVTUfwMu L4HR1rdWel362CmzhK5UUR6ylXC/mgxycD0hBePTjNPrJQLWWqj27MQNatU4bQ5NJG3r srabI3jDulek28B24t7pFwX1JqCMVzwLQu5jdns4DO9nzuKGVNJUBtxJleEvCeGFz67L K0KsnpDAwyBd4Z/dOYjgVGeMSPkmAgH/XYKEmseVvQuZhzjIPzo93574JpoYGAL1Ah+k SYGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750682588; x=1751287388; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B+qC1EEaay8hFTPEhETGaA43T7yNcyVQN5sRN1ccVz0=; b=UGV4mlXe533QlA73+zA7XW8xyI9QrGL/epKJYWePZ2BK7OIIGfRmsS9wEL43HGVfk+ on+ALB7v7twa00zbupK6MrcIvdXu9QbEhPVesfKSh1pZSKEq8xXepSA37zX8XcG0Rlrj 2TfH0rv8HU7f25vGS6GO3IUDUsxmCDaRV//2tMn4YY+ekaxdtEajfp3soJ3SF6iCzgPj OFeHLo9NpATCD1Uvbeq9efTh6LEKzcYfB7QljHQc3m5y1aL1oWVSNa5xNTo4ZeEt/YkH VUMO22w4Lg8Kkvne9rZ27DB983SIBibqxJ37FqpXcwNaSQ2sYJFbvMlGpzGM6c7XablZ dKJA== X-Gm-Message-State: AOJu0YyLHifk4R3zxZhv2HA70tN7zZ3ZO8OowQi4asUvlryiBkZOV+pS vkRv6YJ9dCsyRyCFT5tqo49sHcEoZOnAh/hpWdfSTKDpWU0/olEzwskT0CN/mA== X-Gm-Gg: ASbGncttKBPjs02Ml5f6Qye70mxDAkZaOvVCF69Rphu+GLAqGmcHepjn8/W5rcjX7vi pydmtSgt3jTOfQ4X1Kr07zZDlTJzCVNcQBJiZvuXQ0TZW1XhGGcTz9ueqes1qimjk6HewSLrSYS XmN+UuyEr9sTuUBF92tKswPyWQ+M/3/pXo3/Jrcf843WpD1Torjv+PFXLZ63agEvjV9W5uOMHdn ZDRpO5U1kT1sXjNIX2eMi2vjhmz/wMtHlpbE8gRaBMAkOGMhWtXYoFR5wWD0BfttQ5cjTO6wl0h ksDAx1R8jwCXE3kPeXZLvn4AuCWlpLMKDE3IXZMN3erDNkjXxBXYs01C8A6dZ7ef99/nhGfddEz MQNw5odko0AmY1NIdd9KDnH19klMwkCEiZw== X-Google-Smtp-Source: AGHT+IF0jfTh8WxI2mkHPdGzDCguBEW8V4XIUVv3XihiBlVApzQdCnMlwALwvp/eUBtWxASUnsQ++Q== X-Received: by 2002:a05:6000:2002:b0:3a3:70ab:b274 with SMTP id ffacd0b85a97d-3a6d27a6dbbmr9718768f8f.12.1750682587638; Mon, 23 Jun 2025 05:43:07 -0700 (PDT) Received: from Zen2.lab.linutronix.de. (drugstore.linutronix.de. [80.153.143.164]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1190b00sm9157170f8f.87.2025.06.23.05.43.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 05:43:07 -0700 (PDT) From: Alexander Kanavin To: docs@lists.yoctoproject.org Cc: Alexander Kanavin Subject: [PATCH 5/6] ref-manual: correct references to WORKDIR to account for recent do_unpack changes Date: Mon, 23 Jun 2025 14:42:56 +0200 Message-Id: <20250623124257.1544615-5-alex.kanavin@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250623124257.1544615-1-alex.kanavin@gmail.com> References: <20250623124257.1544615-1-alex.kanavin@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 23 Jun 2025 12:43:09 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7148 From: Alexander Kanavin Signed-off-by: Alexander Kanavin --- documentation/ref-manual/structure.rst | 2 +- documentation/ref-manual/variables.rst | 16 +++------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst index 2190f5b90e5..d6dbb294018 100644 --- a/documentation/ref-manual/structure.rst +++ b/documentation/ref-manual/structure.rst @@ -611,7 +611,7 @@ example, consider ``linux-yocto-kernel-3.0`` on the machine ``qemux86`` built within the Yocto Project. For this package, a work directory of ``tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>``, referred to as the :term:`WORKDIR`, is created. Within this directory, the source is -unpacked to ``linux-qemux86-standard-build`` and then patched by Quilt. +unpacked to ``sources/linux-qemux86-standard-build`` and then patched by Quilt. (See the ":ref:`dev-manual/quilt:using quilt in your workflow`" section in the Yocto Project Development Tasks Manual for more information.) Within the ``linux-qemux86-standard-build`` directory, standard Quilt diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index c6ae3fb8bcc..7fe152c57e3 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst @@ -265,7 +265,7 @@ system and gives an overview of their function and contents. build process. By default, this directory is the same as the :term:`S` directory, which is defined as:: - S = "${WORKDIR}/${BP}" + S = "${UNPACKDIR}/${BP}" You can separate the (:term:`S`) directory and the directory pointed to by the :term:`B` variable. Most Autotools-based recipes support @@ -8039,7 +8039,7 @@ system and gives an overview of their function and contents. :term:`S` The location in the :term:`Build Directory` where unpacked recipe source code resides. By default, this directory is - ``${``\ :term:`WORKDIR`\ ``}/${``\ :term:`BPN`\ ``}-${``\ :term:`PV`\ ``}``, + ``${``\ :term:`UNPACKDIR`\ ``}/${``\ :term:`BPN`\ ``}-${``\ :term:`PV`\ ``}``, where ``${BPN}`` is the base recipe name and ``${PV}`` is the recipe version. If the source tarball extracts the code to a directory named anything other than ``${BPN}-${PV}``, or if the source code is @@ -8052,19 +8052,10 @@ system and gives an overview of their function and contents. ``poky/build``. In this case, the work directory the build system uses to keep the unpacked recipe for ``db`` is the following:: - poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 + poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/sources/db-5.1.19 The unpacked source code resides in the ``db-5.1.19`` folder. - This next example assumes a Git repository. By default, Git - repositories are cloned to ``${WORKDIR}/git`` during - :ref:`ref-tasks-fetch`. Since this path is different - from the default value of :term:`S`, you must set it specifically so the - source can be located:: - - SRC_URI = "git://path/to/repo.git;branch=main" - S = "${WORKDIR}/git" - :term:`SANITY_REQUIRED_UTILITIES` Specifies a list of command-line utilities that should be checked for during the initial sanity checking process when running BitBake. If @@ -8439,7 +8430,6 @@ system and gives an overview of their function and contents. sources are fetched from a Git repository and ``setup.py`` is in a ``python/pythonmodule`` subdirectory, you would have this:: - S = "${WORKDIR}/git" SETUPTOOLS_SETUP_PATH = "${S}/python/pythonmodule" :term:`SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS` From patchwork Mon Jun 23 12:42:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kanavin X-Patchwork-Id: 65512 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2309C77B7F for ; Mon, 23 Jun 2025 12:43:19 +0000 (UTC) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mx.groups.io with SMTP id smtpd.web10.18642.1750682590155940389 for ; Mon, 23 Jun 2025 05:43:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=IGAAW5tW; spf=pass (domain: gmail.com, ip: 209.85.221.52, mailfrom: alex.kanavin@gmail.com) Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3a575a988f9so1998277f8f.0 for ; Mon, 23 Jun 2025 05:43:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750682588; x=1751287388; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/KUXBJDBh02sf06zb1i7U+M8WcrLMZtLlYJY1lXfOCU=; b=IGAAW5tWPvsLBKQuKPzISEGVQfHrDHtSC5Y639yFt9WT92s25vv6pIgzObZxbJfdh8 khpQPY5ZKxF4NxO4imPPWvEb6cQuB8/k/a596R/DcqsNpX/ofr+scelsQWQ72Ut7BHce xRa8l2qsRs61tmgRUVcmfu0IsE/Paybq0U44ua9Ojgi/M+Yzr5jLaTUXDFCmJhtpQvF8 ZNPBwpL2ItWYb5n64dK/99oe0wg93SJObKxDPTDMug2n/Hlb5MyK0W1AxposeplXtgi6 y/HkCwfzuEoxLg/Kc0mjJlviYBFqq6MHKbXVTQ+KkDzC/1zCnIi60sgTiYx9d+sl6t2R oLLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750682588; x=1751287388; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/KUXBJDBh02sf06zb1i7U+M8WcrLMZtLlYJY1lXfOCU=; b=P6PLadmR7LoICflK+V/Pkf21R0riS3vtEHbldduUql6o3/3xCxMnsZkSPmBDBsCJCq AZa7FkPTmMaiU6HSfYYnK19GlLRwXS+UuBHxXPxj9T2a99oqBucAImJMPbxP8CJ6Inow Y9++Sv5MNF8Vd0AK7eV1TPqohgK7p+3grgPSCnE5RmoGq38SBl+LOEetqvB01IPC4f3T m4dWEY+IPHTU27VGg1PMuRxL6aGgq4ygVgUZKOsEMRm6Z24qpqGvoojFD/WF5v9PUlSV JhkqvqeaDPN+iqzK9XKp5Nmjw6GmkPuL0xaq2R6nroXfYojNFgjaFCNz/MfIXoIXzR9O g/cw== X-Gm-Message-State: AOJu0YwHtJA+3htS4MEONvJchcG6K1hEnxrLhjM2HmwB8Wv368qEvZsK C0+KOkC1sHZqKS1M2DtILU0u9zFPx1Tt6qaBlzKEb3w0ED+/sxuvdW2tqiCmmg== X-Gm-Gg: ASbGnctAid+K4+jTcvALU3HBy6FqdxQVaCaujYTcqZnhbsJtMaWv/tJQAYd4RgJ0S/K ErqixpGyEX8w3jL6PDeg7B4m5SJLbKR34Z96Zx4ygaZwuXAFveXpe4FboPVwukrKfnOAn3iNe7y 6vrswa+/LzpK6X/w5B3YiWT5hbqWc+/B+Xz6ZagJOpH4KXWgQwKQucywgDy5wP4gmQ7X4cBcqZg 17sXRohaFnCwd0/lLcC/FgHTSTZIgOt7BfOaRkmjZDVx/JGY0yZdUYFy4jIk556wpdaFS/l3vuf etgqhbK1WeEINxAFIXQ686fB/kCcLHuZ0i5TFGM0H24DaSrYyMGJ6rxXtcKUJyLEl4GPlSrHmXY HHKX5Qu3a8t+21qTDI32w/kQ= X-Google-Smtp-Source: AGHT+IEDh0Sdl2JTJ815Ez+TF/i5n04S4QCdXxcMOqCL7yOzFwil8UOaNzq4zLfG25GE6U1090lfEA== X-Received: by 2002:a05:6000:65a:b0:3a6:d579:b78e with SMTP id ffacd0b85a97d-3a6d579b7f8mr8270746f8f.46.1750682588379; Mon, 23 Jun 2025 05:43:08 -0700 (PDT) Received: from Zen2.lab.linutronix.de. (drugstore.linutronix.de. [80.153.143.164]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d1190b00sm9157170f8f.87.2025.06.23.05.43.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 05:43:08 -0700 (PDT) From: Alexander Kanavin To: docs@lists.yoctoproject.org Cc: Alexander Kanavin Subject: [PATCH 6/6] migration-guides/migration-5.1.rst: correct S/UNPACKDIR patterns for file-only recipes Date: Mon, 23 Jun 2025 14:42:57 +0200 Message-Id: <20250623124257.1544615-6-alex.kanavin@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250623124257.1544615-1-alex.kanavin@gmail.com> References: <20250623124257.1544615-1-alex.kanavin@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 23 Jun 2025 12:43:19 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7150 From: Alexander Kanavin It is not necessary to set both; just setting S to UNPACKDIR is enough. This has already been done across oe-core master, and correct advice should be given for those who need to adjust recipes during migration. Signed-off-by: Alexander Kanavin --- documentation/migration-guides/migration-5.1.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/documentation/migration-guides/migration-5.1.rst b/documentation/migration-guides/migration-5.1.rst index c9bb38699b4..94b527bdcb3 100644 --- a/documentation/migration-guides/migration-5.1.rst +++ b/documentation/migration-guides/migration-5.1.rst @@ -20,8 +20,7 @@ S = ${WORKDIR} no longer supported If a recipe has :term:`S` set to be :term:`WORKDIR`, this is no longer supported, and an error will be issued. The recipe should be changed to:: - S = "${WORKDIR}/sources" - UNPACKDIR = "${S}" + S = "${UNPACKDIR}" Any :term:`WORKDIR` references where files from :term:`SRC_URI` are referenced should be changed to :term:`S`. These are commonly in :ref:`ref-tasks-compile`, @@ -62,8 +61,7 @@ require to add an :term:`S` definition to a recipe that only uses ``file://`` :term:`SRC_URI` entries. To be consistent, the following pattern is recommended:: - S = "${WORKDIR}/sources" - UNPACKDIR = "${S}" + S = "${UNPACKDIR}" Building C files from :term:`UNPACKDIR` without setting :term:`S` to point at it does not work as the debug prefix mapping doesn't handle that.