ports/x11/lightdm/files/patch-src_session.c
Guido Falsi 23a47f28de x11/lightdm: Fix login.conf issues, import various improvements
- Add patch to use setusercontext(3) to setup user environment, so it respects login.conf among other things [1]
- Use autoreconf, since patch requires regenerating configure script to check for setusercontext(3) [2]
- Explicitly disable libaudit support, not supported in FreeBSD [3]
- Add QT5 options, disabled by default, to control linking against qt5 [4]
- Import patch adding option to enable alternative location for .xsession-errors file [5]
- Correctly define runtime dependencies
- Forcibly disable installation of apparmor files
- Install PAM configuration files as samples, so in the future they are not overwritten if customized
- Pet portclippy/portfmt
- Regenerate patches

Upstreaming:

[1] https://github.com/canonical/lightdm/pull/334

[5] https://github.com/canonical/lightdm/pull/335

Many thanks to all people involved!

PR:		266532 [1] [2],
		273720 [1],
		275885 [3] [4] [5]
Tested by:	Ivan Rozhuk <rozhuk.im@gmail.com>,
		Daniel Tameling <tamelingdaniel@gmail.com> (provided setusercontext patch),
		Anton Saietskii <vsasjason@gmail.com>
2023-12-29 19:25:15 +01:00

21 lines
969 B
C

--- src/session.c.orig 2021-04-12 04:52:50 UTC
+++ src/session.c
@@ -981,7 +981,17 @@ session_init (Session *session)
{
SessionPrivate *priv = session_get_instance_private (session);
- priv->log_filename = g_strdup (".xsession-errors");
+ if(config_get_boolean (config_get_instance (), "LightDM", "smart-xsession-errors")) {
+ if (g_getenv ("XDG_STATE_HOME")) {
+ priv->log_filename = g_build_filename (g_getenv ("XDG_STATE_HOME"), ".xsession-errors", NULL);
+ } else if (g_getenv ("XDG_CACHE_HOME")) {
+ priv->log_filename = g_build_filename (g_getenv ("XDG_CACHE_HOME"), ".xsession-errors", NULL);
+ } else {
+ priv->log_filename = g_build_filename (".cache", ".xsession-errors", NULL);
+ }
+ } else {
+ priv->log_filename = g_strdup (".xsession-errors");
+ }
priv->log_mode = LOG_MODE_BACKUP_AND_TRUNCATE;
priv->to_child_input = -1;
priv->from_child_output = -1;