diff mbox series

[2/2] systemd: add shell-profile-dropins PACKAGECONFIG

Message ID 20260115021918.1926514-2-Qi.Chen@windriver.com
State New
Headers show
Series [1/2] systemd: do not let do_fetch depend on PACKAGECONFIG | expand

Commit Message

ChenQi Jan. 15, 2026, 2:19 a.m. UTC
From: Chen Qi <Qi.Chen@windriver.com>

New version of systemd introduces dropins in /etc/profile.d. This
is usually OK for most cases. But in case of using minicom to connect
to the machine, there will be unnecessary output every time you type
a command.

This is because the /etc/profile.d/80-systemd-osc-context.sh[1] is setting
PS0 with OSC 3008 standard[2]. If a terminal (e.g., minicom) cannot
deal with this OSC 3008 standard, it will just output the whole contents.
This is quite annoying.

So add a new PACKAGECONFIG, shell-profile-dropins, to allow users a choice
to disable such behavior.

[1] https://github.com/systemd/systemd/commit/dadbb34919abd3fefeb5b8ccc9794da9398a2503
[2] https://uapi-group.org/specifications/specs/osc_context/

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 meta/recipes-core/systemd/systemd_258.1.bb | 2 ++
 1 file changed, 2 insertions(+)

Comments

Paul Barker Jan. 23, 2026, 1:06 p.m. UTC | #1
On Thu, 2026-01-15 at 10:19 +0800, Chen Qi via lists.openembedded.org
wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
> 
> New version of systemd introduces dropins in /etc/profile.d. This
> is usually OK for most cases. But in case of using minicom to connect
> to the machine, there will be unnecessary output every time you type
> a command.
> 
> This is because the /etc/profile.d/80-systemd-osc-context.sh[1] is setting
> PS0 with OSC 3008 standard[2]. If a terminal (e.g., minicom) cannot
> deal with this OSC 3008 standard, it will just output the whole contents.
> This is quite annoying.
> 
> So add a new PACKAGECONFIG, shell-profile-dropins, to allow users a choice
> to disable such behavior.
> 
> [1] https://github.com/systemd/systemd/commit/dadbb34919abd3fefeb5b8ccc9794da9398a2503
> [2] https://uapi-group.org/specifications/specs/osc_context/
> 
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>

Qi,

There may be other files in profile.d as well as
80-systemd-osc-context.sh. In systemd 258.x, I also see
70-systemd-shell-extra.sh. I don't think we should offer the option of
disabling install of all systemd profile.d files in order to fix
incompatibility with just one of them.

There have been changes to 80-systemd-osc-context.sh in systemd 259. We
could try backporting 705e2ef19418 ("profile/osc-context: move and
extend check for TERM=dumb") if we're not ready to update to 259 yet and
see if that resolves the issue. We may also need dd20ba74e3b4
("profile/systemd-osc-context: fix overriding of PROMPT_COMMAND") and
97ad10c9aab1 ("profile: skip setting PS0 when PROMPT_COMMAND= is
cleared"), I'm not sure.

Best regards,
Ross Burton Jan. 26, 2026, 12:54 p.m. UTC | #2
On 15 Jan 2026, at 02:19, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@lists.openembedded.org> wrote:
> 
> +PACKAGECONFIG[shell-profile-dropins] = ",-Dshellprofiledir=no”

On top of what Paul said, we always want to be specific and not make assumptions when enabling/disabling PACKAGECONFIGS, so the “enabled” case should have been -Dshellprofiledir=${sysconfigdir}/profile.d.

Ross
ChenQi Jan. 27, 2026, 9:09 a.m. UTC | #3
Hi Ross,

Thanks for the review. I'll fix this and send out V2.
By the way, I didn't receive Paul's reply. If there's some other concern, please let me know.

Regards,
Qi

-----Original Message-----
From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Ross Burton via lists.openembedded.org
Sent: Monday, January 26, 2026 8:54 PM
To: Chen, Qi <Qi.Chen@windriver.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH 2/2] systemd: add shell-profile-dropins PACKAGECONFIG

On 15 Jan 2026, at 02:19, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@lists.openembedded.org> wrote:
> 
> +PACKAGECONFIG[shell-profile-dropins] = ",-Dshellprofiledir=no”

On top of what Paul said, we always want to be specific and not make assumptions when enabling/disabling PACKAGECONFIGS, so the “enabled” case should have been -Dshellprofiledir=${sysconfigdir}/profile.d.

Ross
ChenQi Jan. 28, 2026, 2:47 a.m. UTC | #4
On 1/23/26 21:06, Paul Barker wrote:
> On Thu, 2026-01-15 at 10:19 +0800, Chen Qi via lists.openembedded.org
> wrote:
>> From: Chen Qi <Qi.Chen@windriver.com>
>>
>> New version of systemd introduces dropins in /etc/profile.d. This
>> is usually OK for most cases. But in case of using minicom to connect
>> to the machine, there will be unnecessary output every time you type
>> a command.
>>
>> This is because the /etc/profile.d/80-systemd-osc-context.sh[1] is setting
>> PS0 with OSC 3008 standard[2]. If a terminal (e.g., minicom) cannot
>> deal with this OSC 3008 standard, it will just output the whole contents.
>> This is quite annoying.
>>
>> So add a new PACKAGECONFIG, shell-profile-dropins, to allow users a choice
>> to disable such behavior.
>>
>> [1] https://github.com/systemd/systemd/commit/dadbb34919abd3fefeb5b8ccc9794da9398a2503
>> [2] https://uapi-group.org/specifications/specs/osc_context/
>>
>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> Qi,
>
> There may be other files in profile.d as well as
> 80-systemd-osc-context.sh. In systemd 258.x, I also see
> 70-systemd-shell-extra.sh. I don't think we should offer the option of
> disabling install of all systemd profile.d files in order to fix
> incompatibility with just one of them.
>
> There have been changes to 80-systemd-osc-context.sh in systemd 259. We
> could try backporting 705e2ef19418 ("profile/osc-context: move and
> extend check for TERM=dumb") if we're not ready to update to 259 yet and
> see if that resolves the issue. We may also need dd20ba74e3b4
> ("profile/systemd-osc-context: fix overriding of PROMPT_COMMAND") and
> 97ad10c9aab1 ("profile: skip setting PS0 when PROMPT_COMMAND= is
> cleared"), I'm not sure.
>
> Best regards, i
>
Hi Paul,

Thanks for checking upstream status.

I think you're right. The commits you mentioned above are likely to fix 
the issue.

I'll double check when upgrading systemd to 259.x.

Regards,
Qi
diff mbox series

Patch

diff --git a/meta/recipes-core/systemd/systemd_258.1.bb b/meta/recipes-core/systemd/systemd_258.1.bb
index 41f1e756cb..7c6f6c65dd 100644
--- a/meta/recipes-core/systemd/systemd_258.1.bb
+++ b/meta/recipes-core/systemd/systemd_258.1.bb
@@ -84,6 +84,7 @@  PACKAGECONFIG ??= " \
     resolved \
     serial-getty-generator \
     set-time-epoch \
+    shell-profile-dropins \
     sysusers \
     timedated \
     timesyncd \
@@ -197,6 +198,7 @@  PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
 PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
 PACKAGECONFIG[seccomp] = "-Dseccomp=enabled,-Dseccomp=disabled,libseccomp"
 PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux,initscripts-sushell"
+PACKAGECONFIG[shell-profile-dropins] = ",-Dshellprofiledir=no"
 PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
 PACKAGECONFIG[sysext] = "-Dsysext=true, -Dsysext=false"
 PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"