public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH v2] 2025-09-04-openrc-user-services: new news item
@ 2025-09-04 15:29 Sam James
  2025-09-04 18:19 ` Sam James
  0 siblings, 1 reply; 2+ messages in thread
From: Sam James @ 2025-09-04 15:29 UTC (permalink / raw
  To: gentoo-dev; +Cc: pr, openrc, Anna Figueiredo Gomes, Sam James

As I remarked on the forums [0], the rollout has been pretty smooth, but
unfortunately a few issues with user configurations have shown up after
an extended period in ~arch (and deployment by other distributions). Explain
to users what is new, how to disable the new thing, and the common problem
we've seen with bad ~/.profile files.

[0] https://forums.gentoo.org/viewtopic-p-8869409.html#8869409

Bug: https://bugs.gentoo.org/952108
Bug: https://bugs.gentoo.org/961693
Bug: https://bugs.gentoo.org/962109
Bug: https://bugs.gentoo.org/962214
Signed-off-by: Sam James <sam@gentoo.org>
---
v2: drop use of ` and ```, use -t test instead of the external tty command,
    fix version reference.

I'd like to push this shortly.

 .../2025-09-04-openrc-user-services.txt       | 84 +++++++++++++++++++
 1 file changed, 84 insertions(+)
 create mode 100644 2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt

diff --git a/2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt b/2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt
new file mode 100644
index 0000000..5a391d7
--- /dev/null
+++ b/2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt
@@ -0,0 +1,84 @@
+Title: sys-apps/openrc user services introduction
+Author: Sam James <sam@gentoo.org>
+Posted: 2025-09-04
+Revision: 1
+News-Item-Format: 2.0
+Display-If-Installed: sys-apps/openrc
+
+OpenRC 0.62 (*) introduces user services as a new feature. The functionality
+is documented on the wiki [0] and has a similar interface to conventional
+system-wide services.
+
+Support for user services is enabled by default via the pam_openrc module
+in sys-auth/pambase, but it can be disabled via an OpenRC configuration
+option as described below.
+
+Some ebuilds already provide OpenRC user service init scripts, like
+app-editors/emacs. More will follow, but use of user services is optional.
+
+Requirements
+============
+
+User services currently require the XDG_RUNTIME_DIR environment variable to
+be set, which may be done via sys-auth/elogind, sys-apps/systemd, or manually
+via e.g. pam_env. In the future, pam_xdg may be packaged [1] as another option.
+
+If the XDG_RUNTIME_DIR environment variable isn't set and user services have
+not been disabled, the setup will fail gracefully but will appear in syslog
+and rc-update.
+
+Opting-out of user services
+===========================
+
+If users wish to disable OpenRC user services, they can set
+rc_autostart_user="NO" in /etc/rc.conf:
+
+ ...
+ # Set to "NO" if you don't want pam_openrc autostarting user services. This
+ # effectively disables the pam module, without the need of removing it from
+ # the pam configuration files.
+ rc_autostart_user="NO"
+ ...
+
+~/.profile and friends
+======================
+
+After stabilization, some users reported hangs when logging in [2]. None
+were reported during the extensive period of testing in ~arch or by other
+distributions who deployed newer versions of OpenRC. User services require
+that ~/.profile, ~/.bash_profile run safely under a non-interactive
+shell.
+
+Commands in these shell startup files may be executed by a non-interactive
+shell so commands that require a TTY, reading from stdin, and so on should
+be guarded with a check for TTY like:
+
+ if [ -t 0 ] ; then
+     # Interactive commands here
+     ...
+ fi
+
+Please make sure to check your shell startup files for suspicious constructs
+like the following:
+
+ ...
+ if [ -x /usr/bin/keychain ] ; then # BAD
+     keychain ...
+ fi
+ ...
+
+... replacing them with:
+
+ ...
+ if [ -t 0 ] && [ -x /usr/bin/keychain ] ; then # GOOD
+     keychain ...
+ fi
+ ...
+
+(*) User services were originally in sys-apps/openrc-navi and later as
+    part of >= OpenRC 0.62. The functionality was declared stable with 0.62.6
+    which was the first version with User Services stabled in Gentoo.
+
+[0] https://wiki.gentoo.org/wiki/OpenRC#User_services
+[1] https://bugs.gentoo.org/908431
+[2] https://bugs.gentoo.org/962214

Range-diff against v1:
1:  8ff7265 < -:  ------- 2025-09-02-openrc-user-services: new news item
2:  dc74a8b = 1:  dc74a8b 2025-09-04-openrc-user-services: new news item
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [gentoo-dev] [PATCH v2] 2025-09-04-openrc-user-services: new news item
  2025-09-04 15:29 [gentoo-dev] [PATCH v2] 2025-09-04-openrc-user-services: new news item Sam James
@ 2025-09-04 18:19 ` Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2025-09-04 18:19 UTC (permalink / raw
  To: gentoo-dev; +Cc: pr, openrc, Anna Figueiredo Gomes

Sam James <sam@gentoo.org> writes:

> As I remarked on the forums [0], the rollout has been pretty smooth, but
> unfortunately a few issues with user configurations have shown up after
> an extended period in ~arch (and deployment by other distributions). Explain
> to users what is new, how to disable the new thing, and the common problem
> we've seen with bad ~/.profile files.
>
> [0] https://forums.gentoo.org/viewtopic-p-8869409.html#8869409
>
> Bug: https://bugs.gentoo.org/952108
> Bug: https://bugs.gentoo.org/961693
> Bug: https://bugs.gentoo.org/962109
> Bug: https://bugs.gentoo.org/962214
> Signed-off-by: Sam James <sam@gentoo.org>
> ---
> v2: drop use of ` and ```, use -t test instead of the external tty command,
>     fix version reference.
>
> I'd like to push this shortly.

Pushed.

>
>  .../2025-09-04-openrc-user-services.txt       | 84 +++++++++++++++++++
>  1 file changed, 84 insertions(+)
>  create mode 100644 2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt
>
> diff --git a/2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt b/2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt
> new file mode 100644
> index 0000000..5a391d7
> --- /dev/null
> +++ b/2025-09-04-openrc-user-services/2025-09-04-openrc-user-services.txt
> @@ -0,0 +1,84 @@
> +Title: sys-apps/openrc user services introduction
> +Author: Sam James <sam@gentoo.org>
> +Posted: 2025-09-04
> +Revision: 1
> +News-Item-Format: 2.0
> +Display-If-Installed: sys-apps/openrc
> +
> +OpenRC 0.62 (*) introduces user services as a new feature. The functionality
> +is documented on the wiki [0] and has a similar interface to conventional
> +system-wide services.
> +
> +Support for user services is enabled by default via the pam_openrc module
> +in sys-auth/pambase, but it can be disabled via an OpenRC configuration
> +option as described below.
> +
> +Some ebuilds already provide OpenRC user service init scripts, like
> +app-editors/emacs. More will follow, but use of user services is optional.
> +
> +Requirements
> +============
> +
> +User services currently require the XDG_RUNTIME_DIR environment variable to
> +be set, which may be done via sys-auth/elogind, sys-apps/systemd, or manually
> +via e.g. pam_env. In the future, pam_xdg may be packaged [1] as another option.
> +
> +If the XDG_RUNTIME_DIR environment variable isn't set and user services have
> +not been disabled, the setup will fail gracefully but will appear in syslog
> +and rc-update.
> +
> +Opting-out of user services
> +===========================
> +
> +If users wish to disable OpenRC user services, they can set
> +rc_autostart_user="NO" in /etc/rc.conf:
> +
> + ...
> + # Set to "NO" if you don't want pam_openrc autostarting user services. This
> + # effectively disables the pam module, without the need of removing it from
> + # the pam configuration files.
> + rc_autostart_user="NO"
> + ...
> +
> +~/.profile and friends
> +======================
> +
> +After stabilization, some users reported hangs when logging in [2]. None
> +were reported during the extensive period of testing in ~arch or by other
> +distributions who deployed newer versions of OpenRC. User services require
> +that ~/.profile, ~/.bash_profile run safely under a non-interactive
> +shell.
> +
> +Commands in these shell startup files may be executed by a non-interactive
> +shell so commands that require a TTY, reading from stdin, and so on should
> +be guarded with a check for TTY like:
> +
> + if [ -t 0 ] ; then
> +     # Interactive commands here
> +     ...
> + fi
> +
> +Please make sure to check your shell startup files for suspicious constructs
> +like the following:
> +
> + ...
> + if [ -x /usr/bin/keychain ] ; then # BAD
> +     keychain ...
> + fi
> + ...
> +
> +... replacing them with:
> +
> + ...
> + if [ -t 0 ] && [ -x /usr/bin/keychain ] ; then # GOOD
> +     keychain ...
> + fi
> + ...
> +
> +(*) User services were originally in sys-apps/openrc-navi and later as
> +    part of >= OpenRC 0.62. The functionality was declared stable with 0.62.6
> +    which was the first version with User Services stabled in Gentoo.
> +
> +[0] https://wiki.gentoo.org/wiki/OpenRC#User_services
> +[1] https://bugs.gentoo.org/908431
> +[2] https://bugs.gentoo.org/962214
>
> Range-diff against v1:
> 1:  8ff7265 < -:  ------- 2025-09-02-openrc-user-services: new news item
> 2:  dc74a8b = 1:  dc74a8b 2025-09-04-openrc-user-services: new news item


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-09-04 18:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-04 15:29 [gentoo-dev] [PATCH v2] 2025-09-04-openrc-user-services: new news item Sam James
2025-09-04 18:19 ` Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox