Skip to content

[whinlatter] Finish the UNPACKDIR migration: remove remaining ${WORKDIR} uses in S - #134

Merged
otavio merged 6 commits into
whinlatterfrom
backport-132-to-whinlatter
Aug 7, 2026
Merged

otavio merged 6 commits into
whinlatterfrom
backport-132-to-whinlatter

Conversation

@otavio

@otavio otavio commented Aug 7, 2026

Copy link
Copy Markdown
Member

Backport of #132 to whinlatter. Six commits, cherry-picked with -x; all six resulting files are byte-identical to the master branch.

Merge after #132.

Why whinlatter needs it

whinlatter's oe-core has the same bitbake.conf as master — UNPACKDIR ??= "\${WORKDIR}/sources", BB_GIT_DEFAULT_DESTSUFFIX = "\${BP}", S = "\${UNPACKDIR}/\${BP}" — and the same fatal do_qa_unpack from oe-core 46480a5e66, wired as do_unpack[postfuncs]. It also lacks Walnascar's base_do_unpack shim that moved the unpacked directory back under \${WORKDIR}, so these recipes fail for real, not just on lint.

All six recipes were byte-identical to master's before this change, so the cherry-picks applied without conflict.

Changes

Assignment removed (the git checkout already lands at the default S):

  • updatehub-sdk-qt
  • updatehub-active-inactive-backend-grub-tools
  • updatehub-device-attributes

S = "\${UNPACKDIR}", dropping the redundant UNPACKDIR = "\${S}" override:

  • updatehub-grub-script
  • updatehub-active-inactive-backend-grub
  • updatehub-active-inactive-backend-grub-efi

Every resolved path is unchanged. After this, git grep '\${WORKDIR}' over the layer's .bb/.bbappend/.inc/.bbclass returns nothing on this branch.

Not backported further

Walnascar's do_qa_unpack has no \${WORKDIR} check and its base_do_unpack still carries the compatibility shim; Scarthgap and older have no UNPACKDIR at all and unpack into \${WORKDIR} directly. Both were checked against their own oe-core — the current recipes are correct there and must not be changed.

Testing

Not built. Verified by inspection against this branch's insane.bbclass, bitbake.conf and base.bbclass, plus a byte-for-byte diff of all six recipes against master.

otavio added 6 commits August 7, 2026 15:49
Since oe-core 46480a5e66, carried from Whinlatter on, do_qa_unpack is
fatal for recipes that set S = "${WORKDIR}/git": the value bitbake.conf
derives now works on its own, as BB_GIT_DEFAULT_DESTSUFFIX is "${BP}"
and S defaults to "${UNPACKDIR}/${BP}", so the git checkout already
lands where S points.

Drop the assignment rather than rewriting it to ${UNPACKDIR}/git, which
the same check also rejects. SRC_URI carries no destsuffix override, so
the resolved source directory is unchanged.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 4fc836b)
…nment

Since oe-core 46480a5e66, carried from Whinlatter on, do_qa_unpack is
fatal for recipes that set S = "${WORKDIR}/git": the value bitbake.conf
derives now works on its own, as BB_GIT_DEFAULT_DESTSUFFIX is "${BP}"
and S defaults to "${UNPACKDIR}/${BP}", so the git checkout already
lands where S points.

Drop the assignment rather than rewriting it to ${UNPACKDIR}/git, which
the same check also rejects. SRC_URI carries no destsuffix override, so
the resolved source directory is unchanged.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit aeb8adf)
Since oe-core 46480a5e66, carried from Whinlatter on, do_qa_unpack is
fatal for recipes that set S = "${WORKDIR}/git": the value bitbake.conf
derives now works on its own, as BB_GIT_DEFAULT_DESTSUFFIX is "${BP}"
and S defaults to "${UNPACKDIR}/${BP}", so the git checkout already
lands where S points.

Drop the assignment rather than rewriting it to ${UNPACKDIR}/git, which
the same check also rejects. SRC_URI carries no destsuffix override, so
the resolved source directory is unchanged.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 71cbe5a)
Since oe-core 46480a5e66, carried from Whinlatter on, do_qa_unpack is
fatal whenever the unexpanded value of S contains ${WORKDIR}. The recipe
still carried the Walnascar idiom of pointing S at ${WORKDIR}/sources and
then overriding UNPACKDIR to match, so it fails do_unpack outright.

Walnascar tolerated that idiom because base_do_unpack moved the unpacked
directory back under ${WORKDIR}; that compatibility shim is gone from
Whinlatter on, so the source is no longer where S points either.

Point S at ${UNPACKDIR} and drop the override. UNPACKDIR already defaults
to ${WORKDIR}/sources, so the resolved path is unchanged.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit c06587b)
Since oe-core 46480a5e66, carried from Whinlatter on, do_qa_unpack is
fatal whenever the unexpanded value of S contains ${WORKDIR}. The recipe
still carried the Walnascar idiom of pointing S at ${WORKDIR}/sources and
then overriding UNPACKDIR to match, so it fails do_unpack outright.

Walnascar tolerated that idiom because base_do_unpack moved the unpacked
directory back under ${WORKDIR}; that compatibility shim is gone from
Whinlatter on, so the source is no longer where S points either.

Point S at ${UNPACKDIR} and drop the override. UNPACKDIR already defaults
to ${WORKDIR}/sources, so the resolved path is unchanged.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 818af63)
Since oe-core 46480a5e66, carried from Whinlatter on, do_qa_unpack is
fatal whenever the unexpanded value of S contains ${WORKDIR}. The recipe
still carried the Walnascar idiom of pointing S at ${WORKDIR}/sources and
then overriding UNPACKDIR to match, so it fails do_unpack outright.

Walnascar tolerated that idiom because base_do_unpack moved the unpacked
directory back under ${WORKDIR}; that compatibility shim is gone from
Whinlatter on, so the source is no longer where S points either.

Point S at ${UNPACKDIR} and drop the override. UNPACKDIR already defaults
to ${WORKDIR}/sources, so the resolved path is unchanged.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 0d27861)

@otavio otavio left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Backport of #132; see the review there for the substantive analysis.

Branch-specific checks for this target: same bitbake.conf values and same fatal do_qa_unpack as master, and no Walnascar base_do_unpack shim — so the recipes fail for real here, not just on lint. All six files were byte-identical to master's beforehand, the cherry-picks applied without conflict, and all six now match the master branch byte-for-byte. git grep '${WORKDIR}' over the layer returns nothing.

Not built. Merge after #132.

@otavio
otavio merged commit 2f6193a into whinlatter Aug 7, 2026
@otavio
otavio deleted the backport-132-to-whinlatter branch August 7, 2026 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant