On Mon, 2026-03-16 at 10:24 +0100, Rasmus Villemoes via
lists.openembedded.org wrote:
> On Fri, Jan 16 2026, "Rasmus Villemoes via lists.openembedded.org" 
> <[email protected]> wrote:
> 
> > Hi
> > 
> > When some task uses mktemp(1) or similar functionality (e.g. the
> > python tempfile module) to create a temporary file or dir, those end up
> > being created in the global /tmp directory. That's obviously not ideal,
> > as those might be left behind in case of an unclean shutdown or if the
> > script is not properly written, and won't be cleaned by do_clean or
> > RM_WORK. Also, /tmp is often a tmpfs instance, while some tasks might
> > want to create rather large temporary files.
> > 
> > Most such utilities/interfaces respect the TMPDIR environment variable,
> > if set. However, since that name is used by bitbake for a rather central
> > concept, one cannot simply 'export TMPDIR', as one doesn't want that
> > top-level build dir polluted by random build files, and it still
> > wouldn't be removed by do_clean or RM_WORK. Ideally, all tasks would
> > have a TMPDIR _environment_ variable set to something below ${WORKDIR},
> > maybe even something unique per task (say ${T}/${taskname}.d). But
> > there's no simple way to do that that doesn't conflict with bitbake's
> > use of the TMPDIR name.
> > 
> > Can we do anything about this?
> > 
> > (1) Do nothing, live with this limitation.
> > 
> > (2) Special-case TMPDIR, so that all tasks are created with a proper
> > value of TMPDIR in the environment, not derived from the bitbake
> > variable of the same name. Could be settable with some new TASK_TMPDIR
> > or do_foo[tmpdir] flag. Somewhat hacky, though.
> > 
> > (3) Bite the bullet and plan for renaming TMPDIR -> BBTMPDIR, so that
> > the TMPDIR name becomes available for use with its standard POSIX
> > meaning. Obviously a huge thing to do, but hopefully most direct TMPDIR
> > references are in core or bitbake and used for deriving other standard
> > variables.
> 
> I tried doing TMPDIR -> BB_TMPDIR in bitbake and most places in core
> (there are some places which use TMPDIR in the posix sense), and it
> seems to build a core-image-minimal without problems.
> 
> So it's not impossible, and one could prepare for the transition by
> eliminating quite a few direct TMPDIR references using already existing
> or new derived variables (e.g. BASE_SHAREDWORKDIR =
> ${TMPDIR}/work-shared), making the number of places that would need
> the rename rather small.
> 
> I'd be happy to send such preparatory patches, but it would be pointless
> if the community doesn't deem this to be a problem worth fixing.

Hi Rasmus,

I think it's worth trying to disambiguate between the two uses of TMPDIR
if we can, but it's not a change we can take this close to the next LTS
release. I recommend sending an RFC patch for people to ealuate, after
the 6.0 "wrynose" release.

Thanks,

-- 
Paul Barker


Attachment: signature.asc
Description: This is a digitally signed message part

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#233221): 
https://lists.openembedded.org/g/openembedded-core/message/233221
Mute This Topic: https://lists.openembedded.org/mt/118341869/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to