This commit is contained in:
Rmys
2024-06-01 19:40:14 +03:00
parent dd72220c25
commit f25e893cb5
26 changed files with 319 additions and 321 deletions
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file https://www.gnu.org/licenses/gpl-3.0.txt
from pisi.actionsapi import mesontools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools, get
def setup():
shelltools.system("sed -i 's@systemd@elogind@' data/pam-lfs/gdm-launch-environment.pam")
shelltools.system("sed -i 's@-session@session @' data/pam-lfs/gdm-launch-environment.pam")
shelltools.system("sed -i 's@uid >= 1000@uid >= 0@g' data/pam-lfs/*.pam")
mesontools.configure("--prefix=/usr \
--localstatedir=/var \
--buildtype=release \
-Ddefault-pam-config=lfs \
-Dplymouth=disabled \
-Dpam-mod-dir=/lib/security \
-Dgdm-xsession=true \
-Dsystemd-journal=false \
-Dsystemdsystemunitdir=no \
-Dsystemduserunitdir=no \
-Dlogind-provider=elogind \
-Dselinux=disabled \
-Dscreenshot-dir=/var/lib/gdm/greeter")
def build():
mesontools.build()
def install():
mesontools.install()
pisitools.dodoc("NEWS", "README.md", "COPYING", "AUTHORS", "HACKING")
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/python
import os, re
OUR_ID = 42
OUR_NAME = "gdm"
OUR_DESC = "GDM"
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
try:
os.system("groupadd -g %d %s" % (OUR_ID, OUR_NAME))
os.system("useradd -m -d /var/lib/gdm -r -s /bin/false -u %d -g %d %s -c %s" % (OUR_ID, OUR_ID, OUR_NAME, OUR_DESC))
os.system("passwd -ql %s" % (OUR_NAME))
os.system("/bin/chown gdm:gdm -R /var/lib/gdm")
os.system("/bin/chown root:gdm -R /var/log/gdm")
except:
pass
def postRemove():
try:
os.system("userdel %s" % OUR_NAME)
os.system("groupdel %s" % OUR_NAME)
except:
pass
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/python
#-*- coding: UTF-8 -*-
from comar.service import *
import os
serviceType = "server"
serviceDesc = _({
"en": "GNOME Desktop",
"tr": "GNOME Masaüstü",
})
serviceDefault="on"
PIDFILE="/run/gdm/gdm.pid"
DAEMON="/usr/sbin/gdm"
@synchronized
def start():
startService(command=DAEMON,
pidfile=PIDFILE,
detach=True,
donotify=True)
@synchronized
def stop():
stopService(pidfile=PIDFILE,
donotify=True)
try:
os.unlink(PIDFILE)
except OSError:
pass
def status():
return isServiceRunning(PIDFILE)
@@ -0,0 +1,25 @@
From 1c8fc3f30630dec1526979d190c280902712b99d Mon Sep 17 00:00:00 2001
From: Joshua Strobl <joshua@stroblindustries.com>
Date: Wed, 17 Apr 2019 12:50:33 +0300
Subject: [PATCH 1/1] Force Xorg use on the login screen
---
data/gdm.conf-custom.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data/gdm.conf-custom.in b/data/gdm.conf-custom.in
index 9b63ba95..4f220684 100644
--- a/data/gdm.conf-custom.in
+++ b/data/gdm.conf-custom.in
@@ -2,7 +2,7 @@
[daemon]
# Uncomment the line below to force the login screen to use Xorg
-#WaylandEnable=false
+WaylandEnable=false
[security]
--
2.21.0
@@ -0,0 +1,216 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Tue, 27 Oct 2020 18:59:14 +0000
Subject: [PATCH] pam-arch: Update to match pambase 20200721.1-2
Update the PAM files for Arch Linux. This has been applied downstream
since Aug 2020.
https://bugs.archlinux.org/task/67485
---
data/meson.build | 1 -
data/pam-arch/gdm-autologin.pam | 22 +++++++++--------
data/pam-arch/gdm-fingerprint.pam | 31 +++++++++++++++---------
data/pam-arch/gdm-launch-environment.pam | 24 ++++++++++--------
data/pam-arch/gdm-password.pam | 17 +++++++------
data/pam-arch/gdm-pin.pam | 13 ----------
data/pam-arch/gdm-smartcard.pam | 31 +++++++++++++++---------
7 files changed, 75 insertions(+), 64 deletions(-)
delete mode 100644 data/pam-arch/gdm-pin.pam
diff --git a/data/meson.build b/data/meson.build
index 23e2d7f9..7c5222ea 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -134,7 +134,6 @@ pam_data_files_map = {
'gdm-fingerprint',
'gdm-smartcard',
'gdm-password',
- 'gdm-pin',
],
'none': [],
# We should no longer have 'autodetect' at this point
diff --git a/data/pam-arch/gdm-autologin.pam b/data/pam-arch/gdm-autologin.pam
index 99b14209..30bdf529 100644
--- a/data/pam-arch/gdm-autologin.pam
+++ b/data/pam-arch/gdm-autologin.pam
@@ -1,13 +1,15 @@
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth optional pam_gdm.so
-auth optional pam_gnome_keyring.so
-auth optional pam_permit.so
+#%PAM-1.0
-account include system-local-login
+auth required pam_shells.so
+auth requisite pam_nologin.so
+auth optional pam_permit.so
+auth required pam_env.so
+auth [success=ok default=1] pam_gdm.so
+auth optional pam_gnome_keyring.so
-password include system-local-login
+account include system-local-login
-session optional pam_keyinit.so force revoke
-session include system-local-login
-session optional pam_gnome_keyring.so auto_start
+password required pam_deny.so
+
+session include system-local-login
+session optional pam_gnome_keyring.so auto_start
diff --git a/data/pam-arch/gdm-fingerprint.pam b/data/pam-arch/gdm-fingerprint.pam
index a4808617..cc660d9a 100644
--- a/data/pam-arch/gdm-fingerprint.pam
+++ b/data/pam-arch/gdm-fingerprint.pam
@@ -1,14 +1,23 @@
-auth required pam_tally.so onerr=succeed file=/var/log/faillog
-auth required pam_shells.so
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth required pam_fprintd.so
-auth optional pam_permit.so
+#%PAM-1.0
-account include system-local-login
+auth required pam_shells.so
+auth requisite pam_nologin.so
+auth required pam_faillock.so preauth
+# Optionally use requisite above if you do not want to prompt for the fingerprint
+# on locked accounts.
+auth [success=1 default=ignore] pam_fprintd.so
+auth [default=die] pam_faillock.so authfail
+auth optional pam_permit.so
+auth required pam_env.so
+auth required pam_faillock.so authsucc
+# If you drop the above call to pam_faillock.so the lock will be done also
+# on non-consecutive authentication failures.
+auth [success=ok default=1] pam_gdm.so
+auth optional pam_gnome_keyring.so
-password required pam_fprintd.so
-password optional pam_permit.so
+account include system-local-login
-session optional pam_keyinit.so force revoke
-session include system-local-login
+password required pam_deny.so
+
+session include system-local-login
+session optional pam_gnome_keyring.so auto_start
diff --git a/data/pam-arch/gdm-launch-environment.pam b/data/pam-arch/gdm-launch-environment.pam
index d59c9cb9..20d1810a 100644
--- a/data/pam-arch/gdm-launch-environment.pam
+++ b/data/pam-arch/gdm-launch-environment.pam
@@ -1,13 +1,17 @@
-auth required pam_env.so
-auth required pam_succeed_if.so audit quiet_success user = gdm
-auth optional pam_permit.so
+#%PAM-1.0
-account required pam_succeed_if.so audit quiet_success user = gdm
-account optional pam_permit.so
+auth required pam_succeed_if.so audit quiet_success user in gdm:gnome-initial-setup
+auth optional pam_permit.so
+auth required pam_env.so
-password required pam_deny.so
+account required pam_succeed_if.so audit quiet_success user in gdm:gnome-initial-setup
+account optional pam_permit.so
-session optional pam_keyinit.so force revoke
-session required pam_succeed_if.so audit quiet_success user = gdm
-session required pam_systemd.so
-session optional pam_permit.so
+password required pam_deny.so
+
+session optional pam_loginuid.so
+session optional pam_keyinit.so force revoke
+session required pam_succeed_if.so audit quiet_success user in gdm:gnome-initial-setup
+session optional pam_permit.so
+-session optional pam_systemd.so
+session required pam_env.so user_readenv=1
diff --git a/data/pam-arch/gdm-password.pam b/data/pam-arch/gdm-password.pam
index 8d34794e..137242a6 100644
--- a/data/pam-arch/gdm-password.pam
+++ b/data/pam-arch/gdm-password.pam
@@ -1,11 +1,12 @@
-auth include system-local-login
-auth optional pam_gnome_keyring.so
+#%PAM-1.0
-account include system-local-login
+auth include system-local-login
+auth optional pam_gnome_keyring.so
-password include system-local-login
-password optional pam_gnome_keyring.so use_authtok
+account include system-local-login
-session optional pam_keyinit.so force revoke
-session include system-local-login
-session optional pam_gnome_keyring.so auto_start
+password include system-local-login
+password optional pam_gnome_keyring.so use_authtok
+
+session include system-local-login
+session optional pam_gnome_keyring.so auto_start
diff --git a/data/pam-arch/gdm-pin.pam b/data/pam-arch/gdm-pin.pam
deleted file mode 100644
index 135e205e..00000000
--- a/data/pam-arch/gdm-pin.pam
+++ /dev/null
@@ -1,13 +0,0 @@
-auth requisite pam_pin.so
-auth include system-local-login
-auth optional pam_gnome_keyring.so
-
-account include system-local-login
-
-password include system-local-login
-password optional pam_pin.so
-password optional pam_gnome_keyring.so use_authtok
-
-session optional pam_keyinit.so force revoke
-session include system-local-login
-session optional pam_gnome_keyring.so auto_start
diff --git a/data/pam-arch/gdm-smartcard.pam b/data/pam-arch/gdm-smartcard.pam
index ec6f75d5..e6ec1299 100644
--- a/data/pam-arch/gdm-smartcard.pam
+++ b/data/pam-arch/gdm-smartcard.pam
@@ -1,14 +1,23 @@
-auth required pam_tally.so onerr=succeed file=/var/log/faillog
-auth required pam_shells.so
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth required pam_pkcs11.so wait_for_card card_only
-auth optional pam_permit.so
+#%PAM-1.0
-account include system-local-login
+auth required pam_shells.so
+auth requisite pam_nologin.so
+auth required pam_faillock.so preauth
+# Optionally use requisite above if you do not want to prompt for the smartcard
+# on locked accounts.
+auth [success=1 default=ignore] pam_pkcs11.so wait_for_card card_only
+auth [default=die] pam_faillock.so authfail
+auth optional pam_permit.so
+auth required pam_env.so
+auth required pam_faillock.so authsucc
+# If you drop the above call to pam_faillock.so the lock will be done also
+# on non-consecutive authentication failures.
+auth [success=ok default=1] pam_gdm.so
+auth optional pam_gnome_keyring.so
-password required pam_pkcs11.so
-password optional pam_permit.so
+account include system-local-login
-session optional pam_keyinit.so force revoke
-session include system-local-login
+password required pam_deny.so
+
+session include system-local-login
+session optional pam_gnome_keyring.so auto_start
@@ -0,0 +1,28 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Sat, 20 Jun 2015 17:22:38 +0200
Subject: [PATCH] Xsession: Don't start ssh-agent by default
---
data/Xsession.in | 8 --------
1 file changed, 8 deletions(-)
diff --git a/data/Xsession.in b/data/Xsession.in
index 2e4de4fe..29ebc30e 100755
--- a/data/Xsession.in
+++ b/data/Xsession.in
@@ -207,14 +207,6 @@ if [ "x$command" = "xdefault" ] ; then
fi
fi
-# add ssh-agent if found
-sshagent="`gdmwhich ssh-agent`"
-if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
- command="$sshagent -- $command"
-elif [ -z "$sshagent" ] ; then
- echo "$0: ssh-agent not found!"
-fi
-
echo "$0: Setup done, will execute: $command"
eval exec $command
@@ -0,0 +1,179 @@
diff -Nuar a/common/meson.build b/common/meson.build
--- a/common/meson.build 2023-03-20 18:42:37.000000000 +0300
+++ b/common/meson.build 2023-03-20 23:40:45.505067870 +0300
@@ -11,7 +11,7 @@
)
libgdmcommon_deps = [
- libsystemd_dep,
+ logind_dep,,
gobject_dep,
gio_dep,
gio_unix_dep,
diff -Nuar a/data/meson.build b/data/meson.build
--- a/data/meson.build 2023-03-20 18:42:37.000000000 +0300
+++ b/data/meson.build 2023-03-20 23:50:02.975098535 +0300
@@ -164,41 +164,53 @@
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
endif
-if get_option('systemdsystemunitdir') != ''
- systemd_systemunitdir = get_option('systemdsystemunitdir')
-else
- systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
+systemdsystemunitdir = get_option('systemdsystemunitdir')
+if systemdsystemunitdir != 'no'
+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd system unit dir or disable it')
+ if get_option('systemdsystemunitdir') != ''
+ systemd_systemunitdir = get_option('systemdsystemunitdir')
+ else
+ systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
+ endif
endif
-if get_option('systemduserunitdir') != ''
- systemd_userunitdir = get_option('systemduserunitdir')
-else
- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
- define_variable: ['prefix', get_option('prefix')])
+systemduserunitdir = get_option('systemduserunitdir')
+if systemduserunitdir != 'no'
+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd user unit dir or disable it')
+ if get_option('systemduserunitdir') != ''
+ systemd_userunitdir = get_option('systemduserunitdir')
+ else
+ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
+ define_variable: ['prefix', get_option('prefix')])
+ endif
endif
-configure_file(
- input: 'gdm.service.in',
- output: '@BASENAME@',
- configuration: service_config,
- install_dir: systemd_systemunitdir,
- format: 'cmake'
-)
+if systemdsystemunitdir != 'no'
+ configure_file(
+ input: 'gdm.service.in',
+ output: '@BASENAME@',
+ configuration: service_config,
+ install_dir: systemd_systemunitdir,
+ format: 'cmake'
+ )
+endif
gdm_gnome_session_wanted_targets = []
foreach component: gdm_gnome_user_session_wanted_components
gdm_gnome_session_wanted_targets += 'Wants=@0@.target'.format(component)
endforeach
-configure_file(
- input: 'session.conf.in',
- output: 'session.conf',
- configuration: {
- 'requires_component': gdm_gnome_shell_component,
- 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets),
- },
- install_dir: systemd_userunitdir / 'gnome-session@gnome-login.target.d',
-)
+if systemduserunitdir != 'no'
+ configure_file(
+ input: 'session.conf.in',
+ output: 'session.conf',
+ configuration: {
+ 'requires_component': gdm_gnome_shell_component,
+ 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets),
+ },
+ install_dir: systemd_userunitdir / 'gnome-session@gnome-login.target.d',
+ )
+endif
# XSession
if get_option('gdm-xsession')
diff -Nuar a/libgdm/meson.build b/libgdm/meson.build
--- a/libgdm/meson.build 2023-03-20 18:42:37.000000000 +0300
+++ b/libgdm/meson.build 2023-03-20 23:52:14.047459905 +0300
@@ -56,7 +56,7 @@
glib_dep,
gio_dep,
gio_unix_dep,
- libsystemd_dep,
+ logind_dep,
libgdmcommon_dep,
]
diff -Nuar a/meson.build b/meson.build
--- a/meson.build 2023-03-20 18:42:37.000000000 +0300
+++ b/meson.build 2023-03-21 00:04:34.922197697 +0300
@@ -99,17 +99,29 @@
if xdmcp_dep.found() and get_option('tcp-wrappers')
libwrap_dep = cc.find_library('wrap')
endif
-# systemd
-systemd_dep = dependency('systemd')
-libsystemd_dep = dependency('libsystemd')
-systemd_multiseat_x = find_program('systemd-multi-seat-x',
- required: false,
- dirs: [
- systemd_dep.get_pkgconfig_variable('systemdutildir'),
- '/lib/systemd',
- '/usr/lib/systemd',
- ])
+
+logind_provider = get_option('logind-provider')
+systemd_dep = dependency('systemd', required: false)
+if logind_provider == 'systemd'
+ libsystemd_dep = dependency('libsystemd')
+ logind_dep = libsystemd_dep
+ if meson.version().version_compare('>= 0.53')
+ systemd_multiseat_x = find_program('systemd-multi-seat-x',
+ required: false,
+ dirs: [
+ systemd_dep.get_pkgconfig_variable('systemdutildir'),
+ '/lib/systemd',
+ '/usr/lib/systemd',
+ ])
+ else
+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
+ endif
systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
+ else
+ elogind_dep = dependency('libelogind')
+ logind_dep = elogind_dep
+ systemd_x_server = 'disabled'
+ endif
# Plymouth
plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
# Check for Solaris auditing API (ADT)
@@ -319,6 +331,7 @@
'PAM Syslog': have_pam_syslog,
'Supports PAM Extensions': pam_extensions_supported,
'SeLinux': libselinux_dep.found(),
+ 'Logind Provider': get_option('logind-provider'),
'Use GDM Xsession': get_option('gdm-xsession'),
'Use UserDisplayServer': get_option('user-display-server'),
'Use SystemdJournal': get_option('systemd-journal'),
diff -Nuar a/meson_options.txt b/meson_options.txt
--- a/meson_options.txt 2023-03-20 18:42:37.000000000 +0300
+++ b/meson_options.txt 2023-03-21 00:07:40.715874956 +0300
@@ -12,6 +12,7 @@
option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.')
option('lang-file', type: 'string', value: '', description: 'File containing default language settings.')
option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.')
+option('logind-provider', type: 'combo', choices: ['systemd', 'elogind'], value: 'systemd', description: 'Which logind library to use.')
option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.')
option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.')
option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.')
@@ -27,8 +28,8 @@
option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.')
option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.')
option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.')
-option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files.')
-option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files.')
+option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files, or \'no\' to disable.')
+option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files, or \'no\' to disable.')
option('tcp-wrappers', type: 'boolean', value: false, description: 'Use TCP wrappers.')
option('udev-dir', type: 'string', value: '', description: 'Directory for udev rules file.')
option('user', type: 'string', value: 'gdm', description: 'GDM\'s username.')
@@ -0,0 +1,160 @@
--- a/meson.build 2021-03-21 16:32:37.222883748 +0100
+++ b/meson.build 2021-03-21 16:32:42.114763457 +0100
@@ -38,6 +38,7 @@
# Dependencies
udev_dep = dependency('udev')
+gudev_dep = dependency('gudev-1.0')
glib_min_version = '2.56.0'
--- a/data/meson.build 2021-03-21 16:07:53.023644342 +0100
+++ b/data/meson.build 2021-03-21 16:09:14.557724574 +0100
@@ -161,6 +161,7 @@
# DBus service files
service_config = configuration_data()
service_config.set('sbindir', gdm_prefix / get_option('sbindir'))
+service_config.set('libexecdir', gdm_prefix / get_option('libexecdir'))
service_config.set('GDM_INITIAL_VT', get_option('initial-vt'))
service_config.set('LANG_CONFIG_FILE', lang_config_file)
if plymouth_dep.found()
--- a/data/gdm.service.in
+++ b/data/gdm.service.in
@@ -30,6 +30,7 @@ StandardError=inherit
EnvironmentFile=-@LANG_CONFIG_FILE@
ExecReload=/bin/kill -SIGHUP $MAINPID
KeyringMode=shared
+ExecStartPre=@libexecdir@/gdm-wait-for-drm
[Install]
Alias=display-manager.service
--- a/utils/meson.build.ori 2021-03-21 16:15:47.036216779 +0100
+++ b/utils/meson.build 2021-03-21 16:15:25.328751199 +0100
@@ -39,3 +39,16 @@
install_dir: get_option('libexecdir'),
)
+# gdm-wait-for-drm
+gdm_wait_for_drm_deps = [
+ glib_dep,
+ gudev_dep
+]
+
+gdm_wait_for_drm = executable('gdm-wait-for-drm',
+ 'gdm-wait-for-drm.c',
+ dependencies: gdm_wait_for_drm_deps,
+ include_directories: config_h_dir,
+ install: true,
+ install_dir: get_option('libexecdir'),
+)
--- /dev/null
+++ b/utils/gdm-wait-for-drm.c
@@ -0,0 +1,101 @@
+#include <glib.h>
+#include <gudev/gudev.h>
+
+/*
+ * Workaround for LP: #1794280.
+ *
+ * That bug is because the DRM device isn't ready by the time GDM tries to
+ * start wayland/X.
+ * This is a script to add to ExecStartPre of gdm.service. It does the
+ * following:
+ *
+ * 1. Enumerate drm devices from udev, looking for a DRM master. If found,
+ * exit.
+ * 2. Connect to the 'uevent' signal of gudev, watching for the same to be
+ * added. Again exit if any are found.
+ * 3. If, after 10 seconds, we haven't seen anything, try to proceed anyway as
+ * a failsafe.
+ */
+
+static gboolean
+handle_device (GUdevDevice *device)
+{
+ const gchar * const * tags;
+ tags = g_udev_device_get_tags (device);
+ g_debug ("%s\n", g_udev_device_get_name (device));
+ if (g_strv_contains (tags, "master-of-seat"))
+ {
+ g_debug (" is seat master\n");
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void
+uevent_cb (GUdevClient *client G_GNUC_UNUSED,
+ gchar *action,
+ GUdevDevice *device,
+ gpointer user_data)
+{
+ GMainLoop *loop;
+
+ g_debug ("uevent action: %s\n", action);
+
+ loop = (GMainLoop *) user_data;
+
+ if (g_strcmp0 (action, "add") == 0)
+ {
+ if (handle_device (device))
+ {
+ g_debug (" this is good\n");
+ g_main_loop_quit (loop);
+ }
+ else
+ {
+ g_debug (" this is bad\n");
+ }
+ }
+}
+
+int
+main()
+{
+ const gchar * const subsystems[] = { "drm", NULL };
+
+ g_autoptr(GList) devices = NULL;
+ g_autoptr(GMainLoop) loop = NULL;
+ g_autoptr(GUdevClient) udev_client = NULL;
+ g_autoptr(GUdevEnumerator) enumerator = NULL;
+
+ loop = g_main_loop_new (NULL, FALSE);
+
+ udev_client = g_udev_client_new (subsystems);
+ enumerator = g_udev_enumerator_new (udev_client);
+ g_udev_enumerator_add_match_is_initialized (enumerator);
+ g_udev_enumerator_add_match_subsystem (enumerator, "drm");
+
+ devices = g_udev_enumerator_execute (enumerator);
+
+ g_debug ("enumerating devices...\n");
+
+ for (GList *l = devices; l != NULL; l = l->next)
+ {
+ g_autoptr(GUdevDevice) device = G_UDEV_DEVICE (l->data);
+
+ if (handle_device (device))
+ {
+ g_debug (" good enough for gdm\n");
+ return EXIT_SUCCESS;
+ }
+ }
+
+ g_signal_connect (udev_client, "uevent", G_CALLBACK (uevent_cb), loop);
+
+ /* after 10 seconds we try anyway */
+ g_timeout_add_seconds (10, (GSourceFunc) g_main_loop_quit, loop);
+
+ g_main_loop_run (loop);
+
+ return EXIT_SUCCESS;
+}
--
2.17.0
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
exec $@
+2
View File
@@ -0,0 +1,2 @@
g gdm 42 -
u gdm 42 "GDM" /var/lib/gdm
+15
View File
@@ -0,0 +1,15 @@
d /var/cache/gdm 0755 gdm gdm
d /var/lib/gdm 0755 gdm gdm
d /var/lib/gdm/.local/share/applications 0755 gdm gdm
d /run/gdm/greeter 0755 gdm gdm
d /var/log/gdm 0755 - -
d /var/lib/gdm/.config 0755 gdm gdm
d /var/lib/gdm/.cache 0755 gdm gdm
d /var/lib/gdm/.local 0755 gdm gdm
d /var/lib/gdm/.local/share 0755 gdm gdm
d /var/lib/gdm/.local/share/applications 0755 gdm gdm
d /var/lib/gdm/.config/pulse 0755 gdm gdm
C /var/lib/gdm/.config/pulse/client.conf - gdm gdm -
@@ -0,0 +1,67 @@
From e29606c4b63452e851b02da86b1c71f585aa6200 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Wed, 8 Sep 2021 19:22:23 +0200
Subject: [PATCH 1/8] gdm.rules: Keep wayland enabled in all nvidia
configurations allowing it
Nvidia drivers since version 470 supports both native wayland and
accelerated Xwayland. The latter also works in hybrid configurations
using nvidia Optimus (the session will run using the main integrated
GPU, but it will be possible to use switcherooctl to run applications
using the discrete nvidia card).
However, the gdm rules were including a line that was supposed to
disable such scenario, but it didn't actually work as expected, so we
can safely remove it, without changing the behavior.
At the same time we can tune the rules so that, when the nvidia-drm
module is loaded, if the driver version is minor than 470, wayland is
disabled.
---
data/61-gdm.rules.in | 35 +++++++++++++++++++++++++++--------
1 file changed, 27 insertions(+), 8 deletions(-)
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
index 8566bf55..1156f0d3 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -1,10 +1,29 @@
# disable Wayland on Hi1710 chipsets
-ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
-# disable Wayland on hybrid systems with vendor nvidia driver
-# default to Xorg on single gpu vendor nvidia systems
-DRIVER=="nvidia", ENV{GDM_HAS_VENDOR_NVIDIA_DRIVER}="1"
-DRIVER=="nvidia", RUN+="@libexecdir@/gdm-runtime-config set daemon PreferredDisplayServer xorg"
-SUBSYSTEM=="drm", KERNEL=="card[1-9]*", ENV{GDM_HAS_NVIDIA_DRIVER}=="1", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
-ACTION=="add", SUBSYSTEM=="module", KERNEL=="nvidia_drm", ATTR{parameters/modeset}=="N", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
+ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland"
+
# disable Wayland if modesetting is disabled
-IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
+IMPORT{cmdline}="nomodeset", SUBSYSTEM=="drm", KERNEL=="card[0-9]*", GOTO="gdm_disable_wayland"
+
+# Disable wayland when nvidia modeset is disabled or when drivers are a lower
+# version than 470, in any case always prefer Xorg
+KERNEL!="nvidia_drm", GOTO="gdm_nvidia_drm_end"
+SUBSYSTEM!="module", GOTO="gdm_nvidia_drm_end"
+ACTION!="add", GOTO="gdm_nvidia_drm_end"
+# disable wayland if nvidia-drm modeset is not enabled
+ATTR{parameters/modeset}!="Y", GOTO="gdm_disable_wayland"
+# disable wayland for nvidia drivers versions lower than 470
+ATTR{version}=="4[0-6][0-9].*|[0-3][0-9][0-9].*|[0-9][0-9].*|[0-9].*", GOTO="gdm_disable_wayland"
+GOTO="gdm_prefer_xorg"
+LABEL="gdm_nvidia_drm_end"
+
+GOTO="gdm_end"
+
+LABEL="gdm_prefer_xorg"
+RUN+="@libexecdir@/gdm-runtime-config set daemon PreferredDisplayServer xorg"
+GOTO="gdm_end"
+
+LABEL="gdm_disable_wayland"
+RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
+GOTO="gdm_end"
+
+LABEL="gdm_end"
--
2.32.0
@@ -0,0 +1,80 @@
From 2e22ac85d52b2fe68949f7af4e27331e6714309c Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 15 Sep 2021 11:23:17 -0400
Subject: [PATCH 2/8] local-display-factory: Don't try to respawn displays on
shutdown
At the moment in the shutdown path we may try to respawn displays
that just got killed.
The respawning happens when things are half torn down leading to
crashes.
This commit makes sure we turn off the respawn logic in the shutdown
path.
---
daemon/gdm-local-display-factory.c | 11 ++++++++++-
daemon/gdm-manager.c | 2 ++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index eba38671..5fbbad68 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -73,6 +73,8 @@ struct _GdmLocalDisplayFactory
guint active_vt_watch_id;
guint wait_to_finish_timeout_id;
#endif
+
+ gboolean is_started;
};
enum {
@@ -505,6 +507,10 @@ on_display_status_changed (GdmDisplay *display,
gboolean is_initial = TRUE;
gboolean is_local = TRUE;
+
+ if (!factory->is_started)
+ return;
+
num = -1;
gdm_display_get_x11_display_number (display, &num, NULL);
@@ -1270,6 +1276,8 @@ gdm_local_display_factory_start (GdmDisplayFactory *base_factory)
g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE);
+ factory->is_started = TRUE;
+
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
g_signal_connect_object (G_OBJECT (store),
@@ -1306,9 +1314,10 @@ gdm_local_display_factory_stop (GdmDisplayFactory *base_factory)
g_signal_handlers_disconnect_by_func (G_OBJECT (store),
G_CALLBACK (on_display_removed),
factory);
-
g_clear_handle_id (&factory->seat0_graphics_check_timeout_id, g_source_remove);
+ factory->is_started = FALSE;
+
return TRUE;
}
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index 4c2752fe..cc61efc9 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -2768,6 +2768,8 @@ gdm_manager_dispose (GObject *object)
g_return_if_fail (manager->priv != NULL);
+ gdm_manager_stop (manager);
+
g_clear_weak_pointer (&manager->priv->automatic_login_display);
#ifdef HAVE_LIBXDMCP
--
2.32.0
@@ -0,0 +1,41 @@
From 5be71031bd3fb0a9681134af7a9e0eb35a057797 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 14 Sep 2021 11:00:33 -0400
Subject: [PATCH 3/8] xdmcp-display-factory: Set supported session types for
XDMCP displays
The lower levels of GDM now expect the session types supported by a
display to be specified up front.
This commit makes sure XDMCP displays do that.
---
daemon/gdm-xdmcp-display-factory.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
index ce8f026e..abb58fae 100644
--- a/daemon/gdm-xdmcp-display-factory.c
+++ b/daemon/gdm-xdmcp-display-factory.c
@@ -2131,6 +2131,7 @@ gdm_xdmcp_display_create (GdmXdmcpDisplayFactory *factory,
GdmDisplay *display;
GdmDisplayStore *store;
gboolean use_chooser;
+ const char *session_types[] = { "x11", NULL };
g_debug ("GdmXdmcpDisplayFactory: Creating xdmcp display for %s:%d",
hostname ? hostname : "(null)", displaynum);
@@ -2165,6 +2166,11 @@ gdm_xdmcp_display_create (GdmXdmcpDisplayFactory *factory,
goto out;
}
+ g_object_set (G_OBJECT (display),
+ "session-type", session_types[0],
+ "supported-session-types", session_types,
+ NULL);
+
if (! gdm_display_prepare (display)) {
gdm_display_unmanage (display);
g_object_unref (display);
--
2.32.0
@@ -0,0 +1,648 @@
From 66bf05f86e333d8faed3c3b33811d6bc373d2bd5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sveinn=20=C3=AD=20Felli?= <sv1@fellsnet.is>
Date: Wed, 29 Sep 2021 14:41:28 +0000
Subject: [PATCH 4/8] Update Icelandic translation
---
po/is.po | 302 ++++++++++++++++++++++++++++++++++---------------------
1 file changed, 185 insertions(+), 117 deletions(-)
diff --git a/po/is.po b/po/is.po
index faf8051b..85207af4 100644
--- a/po/is.po
+++ b/po/is.po
@@ -4,90 +4,73 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Richard Allen <ra@ra.is>, 2003.
-# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2016, 2017, 2018.
+# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2016, 2017, 2018, 2021.
msgid ""
msgstr ""
"Project-Id-Version: gdm.master.is\n"
-"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
-"product=gdm&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2017-12-05 02:14+0000\n"
-"PO-Revision-Date: 2018-03-12 18:48+0000\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gdm/issues\n"
+"POT-Creation-Date: 2021-02-25 19:41+0000\n"
+"PO-Revision-Date: 2021-09-29 14:40+0000\n"
"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
-"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
+"Language-Team: Icelandic\n"
"Language: is\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 19.12.3\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: ../chooser/gdm-host-chooser-dialog.c:140
+#: chooser/gdm-host-chooser-dialog.c:139
msgid "_Refresh"
msgstr "Endu_rlesa"
-#: ../chooser/gdm-host-chooser-dialog.c:141
+#: chooser/gdm-host-chooser-dialog.c:140
msgid "_Cancel"
msgstr "_Hætta við"
-#: ../chooser/gdm-host-chooser-dialog.c:142
+#: chooser/gdm-host-chooser-dialog.c:141
msgid "C_onnect"
msgstr "Te_ngjast"
-#: ../chooser/gdm-host-chooser-dialog.c:147
+#: chooser/gdm-host-chooser-dialog.c:146
msgid "Select System"
msgstr "Veldu kerfi"
-#: ../chooser/gdm-host-chooser-widget.c:254
+#: chooser/gdm-host-chooser-widget.c:253
msgid "XDMCP: Could not create XDMCP buffer!"
msgstr "XDMCP: Gat ekki búið XDMCP biðminni!"
-#: ../chooser/gdm-host-chooser-widget.c:260
+#: chooser/gdm-host-chooser-widget.c:259
msgid "XDMCP: Could not read XDMCP header!"
msgstr "XDMCP: Gat ekki lesið XDMCP haus!"
-#: ../chooser/gdm-host-chooser-widget.c:266
+#: chooser/gdm-host-chooser-widget.c:265
msgid "XDMCP: Incorrect XDMCP version!"
msgstr "XDMCP: Röng útgáfa XDMCP!"
-#: ../chooser/gdm-host-chooser-widget.c:272
+#: chooser/gdm-host-chooser-widget.c:271
msgid "XDMCP: Unable to parse address"
msgstr "XDMCP: Ekki gekk að þátta vistfang"
-#: ../common/gdm-common.c:298
-#, c-format
+#: common/gdm-common.c:307
msgid "/dev/urandom is not a character device"
msgstr "/dev/urandom er ekki stafatæki"
-#: ../common/gdm-common.c:468 ../libgdm/gdm-user-switching.c:209
-#, c-format
-msgid "Could not identify the current session."
-msgstr "Gat ekki skilgreint núverandi setu."
+#: common/gdm-common.c:501 libgdm/gdm-user-switching.c:207
+#| msgid "Could not identify the current session."
+msgid "Could not identify the current session: "
+msgstr "Gat ekki auðkennt núverandi setu: "
-#: ../common/gdm-common.c:477 ../libgdm/gdm-user-switching.c:218
-#, c-format
+#: common/gdm-common.c:510 libgdm/gdm-user-switching.c:216
msgid "Could not identify the current seat."
msgstr "Gat ekki skilgreint núverandi setu."
-#: ../common/gdm-common.c:487 ../libgdm/gdm-user-switching.c:228
-#, c-format
-msgid ""
-"The system is unable to determine whether to switch to an existing login "
-"screen or start up a new login screen."
-msgstr ""
-"Kerfið er ófært um að ákvarða hvort ræsa eigi nýjan innskráningarglugga eða "
-"nota þann sem fyrir er."
-
-#: ../common/gdm-common.c:495 ../libgdm/gdm-user-switching.c:236
-#, c-format
-msgid "The system is unable to start up a new login screen."
-msgstr "Kerfið er ófært um að ræsa nýjan innskráningarglugga."
-
-#: ../daemon/gdm-display-access-file.c:300
+#: daemon/gdm-display-access-file.c:298
#, c-format
msgid "could not find user “%s” on system"
msgstr "fann ekki notandann „%s“ á kerfinu"
-#: ../daemon/gdm-legacy-display.c:235
+#: daemon/gdm-legacy-display.c:236
msgid ""
"Could not start the X server (your graphical environment) due to an internal "
"error. Please contact your system administrator or check your syslog to "
@@ -99,211 +82,285 @@ msgstr ""
"þetta. Þangað til hefur þessi skjár verið gerður óvirkur. Endurræstu svo GDM "
"þegar orsök vandamálsins hefur verið leiðrétt."
-#: ../daemon/gdm-manager.c:777
+#: daemon/gdm-manager.c:764
msgid "No display available"
msgstr "Enginn skjár tiltækur"
-#: ../daemon/gdm-manager.c:846 ../daemon/gdm-manager.c:1122
+#: daemon/gdm-manager.c:862 daemon/gdm-manager.c:1146
msgid "No session available"
msgstr "Engin seta tiltæk"
-#: ../daemon/gdm-manager.c:865
+#: daemon/gdm-manager.c:881
msgid "Chooser session unavailable"
msgstr "Veljaraseta ekki tiltæk"
-#: ../daemon/gdm-manager.c:877
+#: daemon/gdm-manager.c:897
msgid "Can only be called before user is logged in"
msgstr "Er aðeins hægt að kalla áður en notandi er skráður inn"
-#: ../daemon/gdm-manager.c:888
+#: daemon/gdm-manager.c:908
msgid "Caller not GDM"
msgstr "Kallari er ekki GDM"
-#: ../daemon/gdm-manager.c:898
+#: daemon/gdm-manager.c:918
msgid "Unable to open private communication channel"
msgstr "Mistókst að opna einkasamskiptarás"
-#: ../daemon/gdm-server.c:383
+#: daemon/gdm-server.c:383
#, c-format
msgid "Server was to be spawned by user %s but that user doesnt exist"
msgstr "Þjóninn átti að ræsa af notandanum %s en sá notandi er ekki til"
-#: ../daemon/gdm-server.c:394 ../daemon/gdm-server.c:414
+#: daemon/gdm-server.c:394 daemon/gdm-server.c:414
#, c-format
msgid "Couldnt set groupid to %d"
msgstr "Gat ekki sett groupid hópauðkenni sem %d"
-#: ../daemon/gdm-server.c:400
+#: daemon/gdm-server.c:400
#, c-format
msgid "initgroups () failed for %s"
msgstr "initgroups () brást fyrir %s"
-#: ../daemon/gdm-server.c:406
+#: daemon/gdm-server.c:406
#, c-format
msgid "Couldnt set userid to %d"
msgstr "Gat ekki sett userid einstaklingsauðkenni sem %d"
-#: ../daemon/gdm-server.c:484
+#: daemon/gdm-server.c:484
#, c-format
msgid "%s: Could not open log file for display %s!"
msgstr "%s: Gat ekki opnað annálsskrá (log) til birtingar %s!"
-#: ../daemon/gdm-server.c:505 ../daemon/gdm-server.c:511
-#: ../daemon/gdm-server.c:517
+#: daemon/gdm-server.c:505 daemon/gdm-server.c:511 daemon/gdm-server.c:517
#, c-format
msgid "%s: Error setting %s to %s"
msgstr "%s: Villa við að setja %s sem %s"
-#: ../daemon/gdm-server.c:537
+#: daemon/gdm-server.c:537
#, c-format
msgid "%s: Server priority couldnt be set to %d: %s"
msgstr "%s: Gat ekki sett forgang þjóns á %d: %s"
-#: ../daemon/gdm-server.c:689
+#: daemon/gdm-server.c:689
#, c-format
msgid "%s: Empty server command for display %s"
msgstr "%s: Auð skipun frá þjóni fyrir skjá %s"
-#: ../daemon/gdm-session-auditor.c:90
+#: daemon/gdm-session-auditor.c:88
msgid "Username"
msgstr "Notandanafn"
-#: ../daemon/gdm-session-auditor.c:91
+#: daemon/gdm-session-auditor.c:89
msgid "The username"
msgstr "Notandanafnið"
-#: ../daemon/gdm-session-auditor.c:95
+#: daemon/gdm-session-auditor.c:93
msgid "Hostname"
msgstr "Vélarheiti"
-#: ../daemon/gdm-session-auditor.c:96
+#: daemon/gdm-session-auditor.c:94
msgid "The hostname"
msgstr "Nafn tölvunnar"
-#: ../daemon/gdm-session-auditor.c:101
+#: daemon/gdm-session-auditor.c:99
msgid "Display Device"
msgstr "Skjátæki"
-#: ../daemon/gdm-session-auditor.c:102
+#: daemon/gdm-session-auditor.c:100
msgid "The display device"
msgstr "Tækið sem skjámyndin birtist á"
-#: ../daemon/gdm-session.c:1261
+#: daemon/gdm-session.c:1288
msgid "Could not create authentication helper process"
msgstr "Gat ekki búið til hjálparferli auðkenningar"
-#: ../daemon/gdm-session-worker.c:766
-msgid "Your account was given a time limit thats now passed."
-msgstr "Aðgangnum þínum voru gefin tímamörk sem nú eru liðin."
+#: daemon/gdm-session-worker.c:750
+msgid ""
+"You reached the maximum password authentication attempts, please try another "
+"method"
+msgstr ""
+"Þú hefur náð hámarksfjölda tilrauna til auðkenningar með lykilorði, prófaðu"
+" einhvern annan auðkenningarmáta"
+
+#: daemon/gdm-session-worker.c:753
+msgid ""
+"You reached the maximum PIN authentication attempts, please try another "
+"method"
+msgstr ""
+"Þú hefur náð hámarksfjölda tilrauna til auðkenningar með PIN-númeri, prófaðu"
+" einhvern annan auðkenningarmáta"
+
+#: daemon/gdm-session-worker.c:756
+msgid ""
+"You reached the maximum auto login attempts, please try another "
+"authentication method"
+msgstr ""
+"Þú hefur náð hámarksfjölda tilrauna til innskráningar, prófaðu einhvern annan"
+" auðkenningarmáta"
+
+#: daemon/gdm-session-worker.c:759
+msgid ""
+"You reached the maximum fingerprint authentication attempts, please try "
+"another method"
+msgstr ""
+"Þú hefur náð hámarksfjölda tilrauna til auðkenningar með fingrafari, prófaðu"
+" einhvern annan auðkenningarmáta"
+
+#: daemon/gdm-session-worker.c:762
+msgid ""
+"You reached the maximum smart card authentication attempts, please try "
+"another method"
+msgstr ""
+"Þú hefur náð hámarksfjölda tilrauna til auðkenningar með snjallkorti, prófaðu"
+" einhvern annan auðkenningarmáta"
+
+#: daemon/gdm-session-worker.c:764
+msgid ""
+"You reached the maximum authentication attempts, please try another method"
+msgstr ""
+"Þú hefur náð hámarksfjölda tilrauna til auðkenningar, prófaðu einhvern annan"
+" auðkenningarmáta"
+
+#: daemon/gdm-session-worker.c:771
+#| msgid "Sorry, that didnt work. Please try again."
+msgid "Sorry, password authentication didnt work. Please try again."
+msgstr ""
+"Því miður, auðkenning með lykilorði virkaði ekki. Endilega reyndu aftur."
+
+#: daemon/gdm-session-worker.c:774
+#| msgid "Sorry, that didnt work. Please try again."
+msgid "Sorry, PIN authentication didnt work. Please try again."
+msgstr ""
+"Því miður, auðkenning með PIN-númeri virkaði ekki. Endilega reyndu aftur."
-#: ../daemon/gdm-session-worker.c:773
+#: daemon/gdm-session-worker.c:777
+#| msgid "Sorry, that didnt work. Please try again."
+msgid "Sorry, auto login didnt work. Please try again."
+msgstr "Því miður, sjálfvirk innskráning virkaði ekki. Endilega reyndu aftur."
+
+#: daemon/gdm-session-worker.c:780
+#| msgid "Sorry, that didnt work. Please try again."
+msgid "Sorry, fingerprint authentication didnt work. Please try again."
+msgstr ""
+"Því miður, auðkenning með fingrafari virkaði ekki. Endilega reyndu aftur."
+
+#: daemon/gdm-session-worker.c:783
+#| msgid "Sorry, that didnt work. Please try again."
+msgid "Sorry, smart card authentication didnt work. Please try again."
+msgstr ""
+"Því miður, auðkenning með snjallkorti virkaði ekki. Endilega reyndu aftur."
+
+#: daemon/gdm-session-worker.c:785
msgid "Sorry, that didnt work. Please try again."
msgstr "Æ, þetta virkaði ekki. Endilega reyndu aftur."
+#: daemon/gdm-session-worker.c:800
+msgid "Your account was given a time limit thats now passed."
+msgstr "Aðgangnum þínum voru gefin tímamörk sem nú eru liðin."
+
# login: is whacked always translate to Username:
-#: ../daemon/gdm-session-worker.c:1170
+#: daemon/gdm-session-worker.c:1202
msgid "Username:"
msgstr "Notandanafn:"
-#: ../daemon/gdm-session-worker.c:1672 ../daemon/gdm-session-worker.c:1689
-#, c-format
+#: daemon/gdm-session-worker.c:1711 daemon/gdm-session-worker.c:1728
msgid "no user account available"
msgstr "enginn notandaaðgangur tiltækur"
-#: ../daemon/gdm-session-worker.c:1716
+#: daemon/gdm-session-worker.c:1755
msgid "Unable to change to user"
msgstr "Það tókst ekki að skipta yfir í notanda"
-#: ../daemon/gdm-wayland-session.c:478
+#: daemon/gdm-wayland-session.c:531
msgid "GNOME Display Manager Wayland Session Launcher"
msgstr ""
"GNOME Display Manager Wayland Session Launcher - Ræsir fyrir Wayland "
"skjástýringu"
-#: ../daemon/gdm-xdmcp-display-factory.c:612
+#: daemon/gdm-xdmcp-display-factory.c:612
msgid "Could not create socket!"
msgstr "Gat ekki búið til sökkul!"
-#: ../daemon/gdm-x-session.c:826
+#: daemon/gdm-x-session.c:879
msgid "Run program through /etc/gdm/Xsession wrapper script"
msgstr "Keyra forrit í gegnum /etc/gdm/Xsession umbúðaskriftu"
-#: ../daemon/gdm-x-session.c:827
+#: daemon/gdm-x-session.c:880
msgid "Listen on TCP socket"
msgstr "Hlusta á TCP-gátt"
-#: ../daemon/gdm-x-session.c:838
+#: daemon/gdm-x-session.c:892
msgid "GNOME Display Manager X Session Launcher"
msgstr ""
"GNOME Display Manager X Session Launcher - Ræsir fyrir X-setu skjástýringu"
-#: ../daemon/main.c:125 ../daemon/main.c:138
+#: daemon/main.c:125 daemon/main.c:138
#, c-format
msgid "Cannot write PID file %s: possibly out of disk space: %s"
msgstr "Get ekki skrifað PID-skrá %s: hugsanlega er ekki nægt diskpláss: %s"
-#: ../daemon/main.c:182
+#: daemon/main.c:182
#, c-format
msgid "Failed to create ran once marker dir %s: %s"
msgstr ""
"Mistókst að búa til merkið \"keyrt einu sinni\" (ran once marker) í möppu "
"%s: %s"
-#: ../daemon/main.c:188
+#: daemon/main.c:188
#, c-format
msgid "Failed to create LogDir %s: %s"
msgstr "Mistókst að búa til LogDir %s: %s"
-#: ../daemon/main.c:223
+#: daemon/main.c:223
#, c-format
msgid "Cant find the GDM user “%s”. Aborting!"
msgstr "Finn ekki GDM notandann '%s'. Hætti við!"
-#: ../daemon/main.c:229
+#: daemon/main.c:229
msgid "The GDM user should not be root. Aborting!"
msgstr "GDM notandinn ætti ekki að vera root-kerfisstjóri. Hætti við!"
-#: ../daemon/main.c:235
+#: daemon/main.c:235
#, c-format
msgid "Cant find the GDM group “%s”. Aborting!"
msgstr "Finn ekki GDM hópinn '%s'. Hætti við!"
-#: ../daemon/main.c:241
+#: daemon/main.c:241
msgid "The GDM group should not be root. Aborting!"
msgstr "GDM hópurinn ætti ekki að vera root-kerfisstjórahópurinn. Hætti við!"
-#: ../daemon/main.c:317
+#: daemon/main.c:317
msgid "Make all warnings fatal"
msgstr "Gera allar aðvaranir alvarlegar"
-#: ../daemon/main.c:318
+#: daemon/main.c:318
msgid "Exit after a time (for debugging)"
msgstr "Hætti eftir smástund (til villuleitar)"
-#: ../daemon/main.c:319
+#: daemon/main.c:319
msgid "Print GDM version"
msgstr "Birta útgáfunúmer GDM"
-#: ../daemon/main.c:330
+#: daemon/main.c:330
msgid "GNOME Display Manager"
msgstr "GNOME Skjástjórnun - GDM"
#. make sure the pid file doesn't get wiped
-#: ../daemon/main.c:351
+#: daemon/main.c:350
msgid "Only the root user can run GDM"
msgstr "Einungis kerfisstjóri getur keyrt GDM"
#. Translators: worker is a helper process that does the work
#. of starting up a session
-#: ../daemon/session-worker-main.c:94
+#: daemon/session-worker-main.c:119
msgid "GNOME Display Manager Session Worker"
msgstr "GNOME Display Manager Session Worker - Setuvöktun skjástjórnunar"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:1
+#: data/org.gnome.login-screen.gschema.xml:6
msgid "Whether or not to allow fingerprint readers for login"
msgstr "Hvort leyfa eigi fingrafaralesara til innskráningar"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:2
+#: data/org.gnome.login-screen.gschema.xml:9
msgid ""
"The login screen can optionally allow users who have enrolled their "
"fingerprints to log in using those prints."
@@ -311,11 +368,11 @@ msgstr ""
"Innskráningarglugginn getur mögulega leyft þeim notendum sem skráð hafa "
"fingraför sín að nota þau til að skrá sig inn."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:3
+#: data/org.gnome.login-screen.gschema.xml:16
msgid "Whether or not to allow smartcard readers for login"
msgstr "Hvort leyfa eigi snjallkortalesara til innskráningar"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:4
+#: data/org.gnome.login-screen.gschema.xml:19
msgid ""
"The login screen can optionally allow users who have smartcards to log in "
"using those smartcards."
@@ -323,11 +380,11 @@ msgstr ""
"Innskráningarglugginn getur mögulega leyft þeim notendum sem eiga skráð "
"snjallkort að nota þau til að skrá sig inn."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:5
+#: data/org.gnome.login-screen.gschema.xml:26
msgid "Whether or not to allow passwords for login"
msgstr "Hvort leyfa eigi lykilorð til innskráningar"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:6
+#: data/org.gnome.login-screen.gschema.xml:29
msgid ""
"The login screen can be configured to disallow password authentication, "
"forcing the user to use smartcard or fingerprint authentication."
@@ -336,11 +393,12 @@ msgstr ""
"lykilorði, og þvinga þannig notendur til að nota snjallkort eða fingraför "
"til að skrá sig inn."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:7
+#: data/org.gnome.login-screen.gschema.xml:36
+#: data/org.gnome.login-screen.gschema.xml:46
msgid "Path to small image at top of user list"
msgstr "Slóð að lítilli mynd efst á notendalista"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:8
+#: data/org.gnome.login-screen.gschema.xml:39
msgid ""
"The login screen can optionally show a small image to provide site "
"administrators and distributions a way to display branding."
@@ -349,7 +407,7 @@ msgstr ""
"notendalistann, ágæt leið fyrir lénstjóra og hugbúnaðardreifingar til að "
"auðkenna sig með vörumerki."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:9
+#: data/org.gnome.login-screen.gschema.xml:49
msgid ""
"The fallback login screen can optionally show a small image to provide site "
"administrators and distributions a way to display branding."
@@ -358,11 +416,11 @@ msgstr ""
"notendalistann, ágæt leið fyrir lénstjóra og hugbúnaðardreifingar til að "
"auðkenna sig með vörumerki."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:10
+#: data/org.gnome.login-screen.gschema.xml:56
msgid "Avoid showing user list"
msgstr "Forðast að birta notendalista"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:11
+#: data/org.gnome.login-screen.gschema.xml:59
msgid ""
"The login screen normally shows a list of available users to log in as. This "
"setting can be toggled to disable showing the user list."
@@ -371,37 +429,37 @@ msgstr ""
"má til innskráningar. Hægt er að víxla þessum eiginleika af, þannig að "
"enginn notendalisti birtist."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:12
+#: data/org.gnome.login-screen.gschema.xml:66
msgid "Enable showing the banner message"
msgstr "Virkja birtingu skilaboðatexta á borða"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:13
+#: data/org.gnome.login-screen.gschema.xml:69
msgid "Set to true to show the banner message text."
msgstr "Ef þetta er virkt birtist skilaboðatexti á borða."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:14
+#: data/org.gnome.login-screen.gschema.xml:75
msgid "Banner message text"
msgstr "Skilaboðatexti á borða"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:15
+#: data/org.gnome.login-screen.gschema.xml:78
msgid "Text banner message to show in the login window."
msgstr "Borði með textaskilaboðum í innskráningarglugganum."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:16
+#: data/org.gnome.login-screen.gschema.xml:84
msgid "Disable showing the restart buttons"
msgstr "Koma í veg fyrir birtingu endurræsingarhnappa"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:17
+#: data/org.gnome.login-screen.gschema.xml:87
msgid "Set to true to disable showing the restart buttons in the login window."
msgstr ""
"Ef þetta er virkt, er komið í veg fyrir birtingu endurræsingarhnappa í "
"innskráningarglugga."
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:18
+#: data/org.gnome.login-screen.gschema.xml:93
msgid "Number of allowed authentication failures"
msgstr "Leyfilegur fjöldi misheppnaðra innskráninga"
-#: ../data/org.gnome.login-screen.gschema.xml.in.h:19
+#: data/org.gnome.login-screen.gschema.xml:96
msgid ""
"The number of times a user is allowed to attempt authentication, before "
"giving up and going back to user selection."
@@ -409,49 +467,59 @@ msgstr ""
"Fjöldi tilrauna sem notandi fær til að skrá sig inn, áður en hætt er við og "
"farið aftur í að velja notanda."
-#: ../libgdm/gdm-user-switching.c:59
+#: libgdm/gdm-user-switching.c:59
msgid "Unable to create transient display: "
msgstr "Gat ekki búið til tímabundinn skjá: "
-#: ../libgdm/gdm-user-switching.c:90
+#: libgdm/gdm-user-switching.c:90
msgid "Unable to activate session: "
msgstr "Get ekki virkjað setuna: "
-#: ../utils/gdmflexiserver.c:45
+#: utils/gdmflexiserver.c:45
msgid "Only the VERSION command is supported"
msgstr "Einungis VERSION skipunin er studd"
-#: ../utils/gdmflexiserver.c:45
+#: utils/gdmflexiserver.c:45
msgid "COMMAND"
msgstr "SKIPUN"
-#: ../utils/gdmflexiserver.c:46 ../utils/gdmflexiserver.c:47
-#: ../utils/gdmflexiserver.c:49 ../utils/gdmflexiserver.c:50
+#: utils/gdmflexiserver.c:46 utils/gdmflexiserver.c:47
+#: utils/gdmflexiserver.c:49 utils/gdmflexiserver.c:50
msgid "Ignored — retained for compatibility"
msgstr "Hunsað — haft með fyrir samhæfni"
-#: ../utils/gdmflexiserver.c:48 ../utils/gdm-screenshot.c:43
+#: utils/gdmflexiserver.c:48 utils/gdm-screenshot.c:43
msgid "Debugging output"
msgstr "Aflúsunarúttak"
-#: ../utils/gdmflexiserver.c:52
+#: utils/gdmflexiserver.c:52
msgid "Version of this application"
msgstr "Útgáfa þessa forrits"
#. Option parsing
-#: ../utils/gdmflexiserver.c:137
+#: utils/gdmflexiserver.c:137
msgid "— New GDM login"
msgstr "— Ný innskráning í GDM"
-#: ../utils/gdm-screenshot.c:212
+#: utils/gdm-screenshot.c:212
msgid "Screenshot taken"
msgstr "Skjámynd tekin"
#. Option parsing
-#: ../utils/gdm-screenshot.c:279
+#: utils/gdm-screenshot.c:279
msgid "Take a picture of the screen"
msgstr "Taktu mynd af skjánum"
+#~ msgid ""
+#~ "The system is unable to determine whether to switch to an existing login "
+#~ "screen or start up a new login screen."
+#~ msgstr ""
+#~ "Kerfið er ófært um að ákvarða hvort ræsa eigi nýjan innskráningarglugga "
+#~ "eða nota þann sem fyrir er."
+
+#~ msgid "The system is unable to start up a new login screen."
+#~ msgstr "Kerfið er ófært um að ræsa nýjan innskráningarglugga."
+
#~ msgid "Your password has expired, please change it now."
#~ msgstr "Lykilorðið þitt er útrunnið, endilega breyttu því núna."
--
2.32.0
@@ -0,0 +1,169 @@
From bd1594deb1ab99378e8a488a5ecbb515ba215ab9 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 22 Sep 2021 13:24:48 -0400
Subject: [PATCH 5/8] pam: Drop gdm-pin service
gdm-pin was an experimental feature that was going to get added to
gnome-shell many years ago. It never happened and these days it
would probably be implemented a little different anyway.
(It would probably use a gdm pam extension)
There's no point keeping this service file around that we aren't
using, so this commit drops it.
Closes: https://gitlab.gnome.org/GNOME/gdm/-/issues/731
---
daemon/gdm-session-worker.c | 6 ------
data/meson.build | 4 ----
data/pam-exherbo/gdm-pin.pam | 10 ----------
data/pam-lfs/gdm-pin.pam | 17 -----------------
data/pam-openembedded/gdm-pin.pam | 7 -------
data/pam-redhat/gdm-pin.pam | 21 ---------------------
6 files changed, 65 deletions(-)
delete mode 100644 data/pam-exherbo/gdm-pin.pam
delete mode 100644 data/pam-lfs/gdm-pin.pam
delete mode 100644 data/pam-openembedded/gdm-pin.pam
delete mode 100644 data/pam-redhat/gdm-pin.pam
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index 3ad94e2a..a264ea1d 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -754,9 +754,6 @@ get_max_retries_error_message (GdmSessionWorker *worker)
if (g_strcmp0 (worker->priv->service, "gdm-password") == 0)
return _("You reached the maximum password authentication attempts, please try another method");
- if (g_strcmp0 (worker->priv->service, "gdm-pin") == 0)
- return _("You reached the maximum PIN authentication attempts, please try another method");
-
if (g_strcmp0 (worker->priv->service, "gdm-autologin") == 0)
return _("You reached the maximum auto login attempts, please try another authentication method");
@@ -775,9 +772,6 @@ get_generic_error_message (GdmSessionWorker *worker)
if (g_strcmp0 (worker->priv->service, "gdm-password") == 0)
return _("Sorry, password authentication didnt work. Please try again.");
- if (g_strcmp0 (worker->priv->service, "gdm-pin") == 0)
- return _("Sorry, PIN authentication didnt work. Please try again.");
-
if (g_strcmp0 (worker->priv->service, "gdm-autologin") == 0)
return _("Sorry, auto login didnt work. Please try again.");
diff --git a/data/meson.build b/data/meson.build
index 7c5222ea..2dec4c23 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -104,13 +104,11 @@ pam_data_files_map = {
'gdm-fingerprint',
'gdm-smartcard',
'gdm-password',
- 'gdm-pin',
],
'openembedded': [
'gdm-autologin',
'gdm-launch-environment',
'gdm-password',
- 'gdm-pin',
],
'exherbo': [
'gdm-autologin',
@@ -118,7 +116,6 @@ pam_data_files_map = {
'gdm-fingerprint',
'gdm-smartcard',
'gdm-password',
- 'gdm-pin',
],
'lfs': [
'gdm-autologin',
@@ -126,7 +123,6 @@ pam_data_files_map = {
'gdm-fingerprint',
'gdm-smartcard',
'gdm-password',
- 'gdm-pin',
],
'arch': [
'gdm-autologin',
diff --git a/data/pam-exherbo/gdm-pin.pam b/data/pam-exherbo/gdm-pin.pam
deleted file mode 100644
index d62c7735..00000000
--- a/data/pam-exherbo/gdm-pin.pam
+++ /dev/null
@@ -1,10 +0,0 @@
-account include system-login
-
-auth requisite pam_pin.so
-auth substack system-login
-auth optional pam_gnome_keyring.so
-
-password required pam_deny.so
-
-session substack system-login
-session optional pam_gnome_keyring.so auto_start
\ No newline at end of file
diff --git a/data/pam-lfs/gdm-pin.pam b/data/pam-lfs/gdm-pin.pam
deleted file mode 100644
index 4c955c98..00000000
--- a/data/pam-lfs/gdm-pin.pam
+++ /dev/null
@@ -1,17 +0,0 @@
-# Begin /etc/pam.d/gdm-pin
-
-auth requisite pam_nologin.so
-auth required pam_env.so
-
-auth required pam_succeed_if.so uid >= 1000 quiet
-auth required pam_pin.so
-auth optional pam_gnome_keyring.so
-
-account include system-account
-password required pam_pin.so
-
-session required pam_limits.so
-session include system-session
-session optional pam_gnome_keyring.so auto_start
-
-# End /etc/pam.d/gdm-pin
diff --git a/data/pam-openembedded/gdm-pin.pam b/data/pam-openembedded/gdm-pin.pam
deleted file mode 100644
index c56842be..00000000
--- a/data/pam-openembedded/gdm-pin.pam
+++ /dev/null
@@ -1,7 +0,0 @@
-#%PAM-1.0
-auth requisite pam_pin.so
-auth include common-auth
-account include common-account
-password include common-password
-password optional pam_pin.so
-session include common-session
diff --git a/data/pam-redhat/gdm-pin.pam b/data/pam-redhat/gdm-pin.pam
deleted file mode 100644
index 6ec77070..00000000
--- a/data/pam-redhat/gdm-pin.pam
+++ /dev/null
@@ -1,21 +0,0 @@
-auth [success=done ignore=ignore default=bad] pam_selinux_permit.so
-auth requisite pam_pin.so
-auth substack password-auth
-auth optional pam_gnome_keyring.so
-auth include postlogin
-
-account required pam_nologin.so
-account include password-auth
-
-password include password-auth
-password optional pam_pin.so
-
-session required pam_selinux.so close
-session required pam_loginuid.so
-session optional pam_console.so
-session required pam_selinux.so open
-session optional pam_keyinit.so force revoke
-session required pam_namespace.so
-session include password-auth
-session optional pam_gnome_keyring.so auto_start
-session include postlogin
--
2.32.0
@@ -0,0 +1,33 @@
From ae75f642859dcfdcfcaaffc617ebe7a68cf0bed7 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 29 Sep 2021 11:03:41 -0400
Subject: [PATCH 6/8] daemon: Infer session type from desktop file if user has
no saved session type
The accountsservice user cache file can specify a session type
associated with the saved session. This is optional though. If one
isn't specified GDM needs to figure out the session type based on the
list of preferred session types for the system and the session file
itself.
It was failing to do the latter, though. This commit fixes that.
---
daemon/gdm-session.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index c1e2be00..4b709731 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -1036,6 +1036,8 @@ worker_on_saved_session_name_read (GdmDBusWorker *worker,
}
if (self->saved_session_type != NULL)
set_session_type (self, self->saved_session_type);
+ else
+ update_session_type (self);
}
}
--
2.32.0
@@ -0,0 +1,316 @@
From a42b17ec90fdf5150f8bb9db8c124bcf0a6c7529 Mon Sep 17 00:00:00 2001
From: Asier Sarasua Garmendia <asiersarasua@ni.eus>
Date: Sun, 3 Oct 2021 09:08:09 +0000
Subject: [PATCH 7/8] Update Basque translation
---
docs/eu/eu.po | 80 +++++++++++++++++++++++++++------------------------
1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/docs/eu/eu.po b/docs/eu/eu.po
index ee2d1398..4d6f3148 100644
--- a/docs/eu/eu.po
+++ b/docs/eu/eu.po
@@ -5,14 +5,14 @@
#
msgid ""
msgstr "Project-Id-Version: gdm master\n"
-"POT-Creation-Date: 2021-01-06 14:43+0000\n"
-"PO-Revision-Date: 2021-02-28 20:06+0000\n"
+"POT-Creation-Date: 2021-07-11 07:21+0000\n"
+"PO-Revision-Date: 2021-10-03 20:06+0000\n"
"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n"
"Language-Team: Basque <librezale@librezale.eus>\n"
+"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: eu\n"
#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
msgctxt "_"
@@ -210,12 +210,12 @@ msgstr "Ongietorria - Saioa hasteko leiho grafikoa (<command>gnome-shell</comman
#. (itstool) path: sect1/para
#: C/index.docbook:122
msgid "PAM - Pluggable Authentication Mechanism"
-msgstr ""
+msgstr "PAM - Pluggable Authentication Mechanism"
#. (itstool) path: sect1/para
#: C/index.docbook:126
msgid "XDMCP - X Display Manage Protocol"
-msgstr ""
+msgstr "XDMCP - X Display Manage Protocol"
#. (itstool) path: sect1/para
#: C/index.docbook:130
@@ -761,7 +761,7 @@ msgstr ""
#. (itstool) path: sect2/title
#: C/index.docbook:617
msgid "PAM"
-msgstr ""
+msgstr "PAM"
#. (itstool) path: sect2/para
#: C/index.docbook:619
@@ -1183,6 +1183,12 @@ msgid ""
"PreSession/\n"
"PostSession/\n"
msgstr ""
+"\n"
+"Xsession\n"
+"Init/\n"
+"PostLogin/\n"
+"PreSession/\n"
+"PostSession/\n"
#. (itstool) path: sect2/para
#: C/index.docbook:980
@@ -1303,7 +1309,7 @@ msgstr ""
#. (itstool) path: sect2/title
#: C/index.docbook:1080
msgid "Xsession Script"
-msgstr ""
+msgstr "Xsession script-a"
#. (itstool) path: sect2/para
#: C/index.docbook:1082
@@ -1320,7 +1326,7 @@ msgstr ""
#. (itstool) path: sect2/title
#: C/index.docbook:1095
msgid "Daemon Configuration"
-msgstr ""
+msgstr "Daemon-konfigurazioa"
#. (itstool) path: sect2/para
#: C/index.docbook:1097
@@ -1605,7 +1611,7 @@ msgstr ""
#. (itstool) path: sect3/title
#: C/index.docbook:1314
msgid "Greeter Options"
-msgstr ""
+msgstr "Ongietorri-aukerak"
#. (itstool) path: variablelist/title
#: C/index.docbook:1317
@@ -2018,12 +2024,12 @@ msgstr ""
#. (itstool) path: variablelist/title
#: C/index.docbook:1620
msgid "Greeter Configuration Keys"
-msgstr ""
+msgstr "Ongietorria konfiguratzeko gakoak"
#. (itstool) path: varlistentry/term
#: C/index.docbook:1623
msgid "/apps/gdm/simple-greeter/banner_message_enable"
-msgstr ""
+msgstr "/apps/gdm/simple-greeter/banner_message_enable"
#. (itstool) path: listitem/synopsis
#: C/index.docbook:1625 C/index.docbook:1646 C/index.docbook:1657
@@ -2031,7 +2037,7 @@ msgstr ""
#: C/index.docbook:1809 C/index.docbook:1820
#, no-wrap
msgid "false (boolean)"
-msgstr ""
+msgstr "faltsua (boolearra)"
#. (itstool) path: listitem/para
#: C/index.docbook:1626
@@ -2041,13 +2047,13 @@ msgstr ""
#. (itstool) path: varlistentry/term
#: C/index.docbook:1633
msgid "/apps/gdm/simple-greeter/banner_message_text"
-msgstr ""
+msgstr "/apps/gdm/simple-greeter/banner_message_text"
#. (itstool) path: listitem/synopsis
#: C/index.docbook:1635
#, no-wrap
msgid "NULL (string)"
-msgstr ""
+msgstr "NULL (katea)"
#. (itstool) path: listitem/para
#: C/index.docbook:1636
@@ -2057,7 +2063,7 @@ msgstr ""
#. (itstool) path: varlistentry/term
#: C/index.docbook:1644
msgid "/apps/gdm/simple-greeter/disable_restart_buttons"
-msgstr ""
+msgstr "/apps/gdm/simple-greeter/disable_restart_buttons"
#. (itstool) path: listitem/para
#: C/index.docbook:1647
@@ -2067,7 +2073,7 @@ msgstr ""
#. (itstool) path: varlistentry/term
#: C/index.docbook:1655
msgid "/apps/gdm/simple-greeter/disable_user_list"
-msgstr ""
+msgstr "/apps/gdm/simple-greeter/disable_user_list"
#. (itstool) path: listitem/para
#: C/index.docbook:1658
@@ -2079,13 +2085,13 @@ msgstr ""
#. (itstool) path: varlistentry/term
#: C/index.docbook:1666
msgid "/apps/gdm/simple-greeter/logo_icon_name"
-msgstr ""
+msgstr "/apps/gdm/simple-greeter/logo_icon_name"
#. (itstool) path: listitem/synopsis
#: C/index.docbook:1668
#, no-wrap
msgid "computer (string)"
-msgstr ""
+msgstr "ordenagailua (katea)"
#. (itstool) path: listitem/para
#: C/index.docbook:1669
@@ -2148,7 +2154,7 @@ msgstr ""
#. (itstool) path: varlistentry/term
#: C/index.docbook:1720
msgid "/apps/gdm/simple-greeter/wm_use_compiz"
-msgstr ""
+msgstr "/apps/gdm/simple-greeter/wm_use_compiz"
#. (itstool) path: listitem/para
#: C/index.docbook:1723
@@ -2159,7 +2165,7 @@ msgstr ""
#. (itstool) path: sect2/title
#: C/index.docbook:1733
msgid "Accessibility Configuration"
-msgstr ""
+msgstr "Irisgarritasunaren konfigurazioa"
#. (itstool) path: sect2/para
#: C/index.docbook:1735
@@ -2547,12 +2553,12 @@ msgstr ""
#. (itstool) path: sect1/title
#: C/index.docbook:2073
msgid "GDM Commands"
-msgstr ""
+msgstr "GDM komandoak"
#. (itstool) path: sect2/title
#: C/index.docbook:2076
msgid "GDM Root User Commands"
-msgstr ""
+msgstr "GDM root erabiltzailearen komandoak"
#. (itstool) path: sect2/para
#: C/index.docbook:2078
@@ -2565,7 +2571,7 @@ msgstr ""
#. (itstool) path: variablelist/title
#: C/index.docbook:2084 C/index.docbook:2092
msgid "<command>gdm</command> Command Line Options"
-msgstr ""
+msgstr "<command>gdm</command> Komando-lerroko aukerak"
#. (itstool) path: sect3/para
#: C/index.docbook:2086
@@ -2577,47 +2583,47 @@ msgstr ""
#. (itstool) path: varlistentry/term
#: C/index.docbook:2095
msgid "-?, --help"
-msgstr ""
+msgstr "-?, --help"
#. (itstool) path: listitem/para
#: C/index.docbook:2097
msgid "Gives a brief overview of the command line options."
-msgstr ""
+msgstr "Komando-lerroko aukeren azalpen laburra ematen du."
#. (itstool) path: varlistentry/term
#: C/index.docbook:2104
msgid "--fatal-warnings"
-msgstr ""
+msgstr "--fatal-warnings"
#. (itstool) path: listitem/para
#: C/index.docbook:2106
msgid "Make all warnings cause GDM to exit."
-msgstr ""
+msgstr "Edozein abisurekin GDM amaitzea eragiten du."
#. (itstool) path: varlistentry/term
#: C/index.docbook:2113
msgid "--timed-exit"
-msgstr ""
+msgstr "--timed-exit"
#. (itstool) path: listitem/para
#: C/index.docbook:2115
msgid "Exit after 30 seconds. Useful for debugging."
-msgstr ""
+msgstr "Irten 30 segundo ondoren. Erabilgarria arazketarako."
#. (itstool) path: varlistentry/term
#: C/index.docbook:2122
msgid "--version"
-msgstr ""
+msgstr "--version"
#. (itstool) path: listitem/para
#: C/index.docbook:2124
msgid "Print the version of the GDM daemon."
-msgstr ""
+msgstr "GDM daemon-aren bertsioa inprimatzen du."
#. (itstool) path: sect3/title
#: C/index.docbook:2133
msgid "<command>gdm-restart</command> Command Line Options"
-msgstr ""
+msgstr "<command>gdm-restart</command> Komando-lerroko aukerak"
#. (itstool) path: sect3/para
#: C/index.docbook:2135
@@ -2630,7 +2636,7 @@ msgstr ""
#. (itstool) path: sect3/title
#: C/index.docbook:2143
msgid "<command>gdm-safe-restart</command> Command Line Options"
-msgstr ""
+msgstr "<command>gdm-safe-restart</command> Komando-lerroko aukerak"
#. (itstool) path: sect3/para
#: C/index.docbook:2145
@@ -2642,7 +2648,7 @@ msgstr ""
#. (itstool) path: sect3/title
#: C/index.docbook:2153
msgid "<command>gdm-stop</command> Command Line Options"
-msgstr ""
+msgstr "<command>gdm-stop</command> Komando-lerroko aukerak"
#. (itstool) path: sect3/para
#: C/index.docbook:2155
@@ -2654,7 +2660,7 @@ msgstr ""
#. (itstool) path: sect1/title
#: C/index.docbook:2166
msgid "Troubleshooting"
-msgstr ""
+msgstr "Arazoen ebazpena"
#. (itstool) path: sect1/para
#: C/index.docbook:2174
@@ -2721,7 +2727,7 @@ msgstr ""
#. (itstool) path: sect1/title
#: C/index.docbook:2232
msgid "License"
-msgstr ""
+msgstr "Lizentzia"
#. (itstool) path: sect1/para
#: C/index.docbook:2233
@@ -2767,7 +2773,7 @@ msgstr ""
#. (itstool) path: para/ulink
#: C/legal.xml:9
msgid "link"
-msgstr ""
+msgstr "esteka"
#. (itstool) path: legalnotice/para
#: C/legal.xml:2
--
2.32.0
@@ -0,0 +1,36 @@
From cfb2a1b29689b52c7badaf73f5c21b0dbbe51b10 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu, 7 Oct 2021 18:22:11 -0700
Subject: [PATCH 8/8] meson: Fix detection of Xorg versions that need -listen
tcp
Closes #704
---
meson.build | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meson.build b/meson.build
index dde2a815..e0c56225 100644
--- a/meson.build
+++ b/meson.build
@@ -69,6 +69,9 @@ x_deps = declare_dependency(
dependency('xau'),
],
)
+# Xserver 1.17 & later default to -nolisten and require -listen for remote access
+xserver_deps = dependency('xorg-server', version : '>=1.17', required : false)
+xserver_nolisten_default = xserver_deps.found()
find_x_server_script = find_program('build-aux/find-x-server.sh', native: true)
find_x_server_out = run_command(find_x_server_script).stdout().strip()
if find_x_server_out != ''
@@ -224,6 +227,7 @@ conf.set('HAVE_PAM_SYSLOG', have_pam_syslog)
conf.set('HAVE_KEYUTILS', keyutils_dep.found())
conf.set('SUPPORTS_PAM_EXTENSIONS', pam_extensions_supported)
conf.set('HAVE_SELINUX', libselinux_dep.found())
+conf.set('HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY', xserver_nolisten_default)
conf.set('ENABLE_USER_DISPLAY_SERVER', get_option('user-display-server'))
conf.set('ENABLE_SYSTEMD_JOURNAL', get_option('systemd-journal'))
conf.set('ENABLE_WAYLAND_SUPPORT', get_option('wayland-support'))
--
2.32.0
@@ -0,0 +1,208 @@
https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/113
From e4e96e9ac55481bd2cae2c7ca33a1d516ad1b879 Mon Sep 17 00:00:00 2001
From: Dudemanguy <random342@airmail.cc>
Date: Mon, 5 Oct 2020 18:41:55 -0500
Subject: [PATCH] meson: allow building with elogind
Currently, the GDM meson build has a hard dependency on systemd.
However, GDM can function just fine if one is using elogind. This allows
a user to build GDM against libelogind and also disable the systemd
system and user units.
---
common/meson.build | 2 +-
data/meson.build | 62 +++++++++++++++++++++++++++-------------------
libgdm/meson.build | 2 +-
meson.build | 36 +++++++++++++++++++--------
meson_options.txt | 5 ++--
5 files changed, 67 insertions(+), 40 deletions(-)
diff --git a/common/meson.build b/common/meson.build
index 074dd92e..bca58f7c 100644
--- a/common/meson.build
+++ b/common/meson.build
@@ -11,7 +11,7 @@ libgdmcommon_src = files(
)
libgdmcommon_deps = [
- libsystemd_dep,
+ logind_dep,
gobject_dep,
gio_dep,
gio_unix_dep,
diff --git a/data/meson.build b/data/meson.build
index 2dec4c23..c3452e1c 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -164,41 +164,53 @@ else
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
endif
-if get_option('systemdsystemunitdir') != ''
- systemd_systemunitdir = get_option('systemdsystemunitdir')
-else
- systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
+systemdsystemunitdir = get_option('systemdsystemunitdir')
+if systemdsystemunitdir != 'no'
+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd system unit dir or disable it')
+ if get_option('systemdsystemunitdir') != ''
+ systemd_systemunitdir = get_option('systemdsystemunitdir')
+ else
+ systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
+ endif
endif
-if get_option('systemduserunitdir') != ''
- systemd_userunitdir = get_option('systemduserunitdir')
-else
- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
- define_variable: ['prefix', get_option('prefix')])
+systemduserunitdir = get_option('systemduserunitdir')
+if systemduserunitdir != 'no'
+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd user unit dir or disable it')
+ if get_option('systemduserunitdir') != ''
+ systemd_userunitdir = get_option('systemduserunitdir')
+ else
+ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
+ define_variable: ['prefix', get_option('prefix')])
+ endif
endif
-configure_file(
- input: 'gdm.service.in',
- output: '@BASENAME@',
- configuration: service_config,
- install_dir: systemd_systemunitdir,
- format: 'cmake'
-)
+if systemdsystemunitdir != 'no'
+ configure_file(
+ input: 'gdm.service.in',
+ output: '@BASENAME@',
+ configuration: service_config,
+ install_dir: systemd_systemunitdir,
+ format: 'cmake'
+ )
+endif
gdm_gnome_session_wanted_targets = []
foreach component: gdm_gnome_user_session_wanted_components
gdm_gnome_session_wanted_targets += 'Wants=@0@.target'.format(component)
endforeach
-configure_file(
- input: 'session.conf.in',
- output: 'session.conf',
- configuration: {
- 'requires_component': gdm_gnome_shell_component,
- 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets),
- },
- install_dir: systemd_userunitdir / 'gnome-session@gnome-login.target.d',
-)
+if systemduserunitdir != 'no'
+ configure_file(
+ input: 'session.conf.in',
+ output: 'session.conf',
+ configuration: {
+ 'requires_component': gdm_gnome_shell_component,
+ 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets),
+ },
+ install_dir: systemd_userunitdir / 'gnome-session@gnome-login.target.d',
+ )
+endif
# XSession
if get_option('gdm-xsession')
diff --git a/libgdm/meson.build b/libgdm/meson.build
index 3f8cafbb..83e95151 100644
--- a/libgdm/meson.build
+++ b/libgdm/meson.build
@@ -56,7 +56,7 @@ libgdm_deps = [
glib_dep,
gio_dep,
gio_unix_dep,
- libsystemd_dep,
+ logind_dep,
libgdmcommon_dep,
]
diff --git a/meson.build b/meson.build
index 57116f2a..db4ecfd6 100644
--- a/meson.build
+++ b/meson.build
@@ -99,17 +99,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
if xdmcp_dep.found() and get_option('tcp-wrappers')
libwrap_dep = cc.find_library('wrap')
endif
-# systemd
-systemd_dep = dependency('systemd')
-libsystemd_dep = dependency('libsystemd')
-systemd_multiseat_x = find_program('systemd-multi-seat-x',
- required: false,
- dirs: [
- systemd_dep.get_pkgconfig_variable('systemdutildir'),
- '/lib/systemd',
- '/usr/lib/systemd',
- ])
-systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
+
+logind_provider = get_option('logind-provider')
+systemd_dep = dependency('systemd', required: false)
+if logind_provider == 'systemd'
+ libsystemd_dep = dependency('libsystemd')
+ logind_dep = libsystemd_dep
+ if meson.version().version_compare('>= 0.53')
+ systemd_multiseat_x = find_program('systemd-multi-seat-x',
+ required: false,
+ dirs: [
+ systemd_dep.get_pkgconfig_variable('systemdutildir'),
+ '/lib/systemd',
+ '/usr/lib/systemd',
+ ])
+ else
+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
+ endif
+ systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
+ else
+ elogind_dep = dependency('libelogind')
+ logind_dep = elogind_dep
+ systemd_x_server = 'disabled'
+ endif
+
# Plymouth
plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
# Check for Solaris auditing API (ADT)
@@ -319,6 +332,7 @@ summary({
'PAM Syslog': have_pam_syslog,
'Supports PAM Extensions': pam_extensions_supported,
'SeLinux': libselinux_dep.found(),
+ 'Logind Provider': get_option('logind-provider'),
'Use GDM Xsession': get_option('gdm-xsession'),
'Use UserDisplayServer': get_option('user-display-server'),
'Use SystemdJournal': get_option('systemd-journal'),
diff --git a/meson_options.txt b/meson_options.txt
index 14e0b908..5135d7d6 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te
option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.')
option('lang-file', type: 'string', value: '', description: 'File containing default language settings.')
option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.')
+option('logind-provider', type: 'combo', choices: ['systemd', 'elogind'], value: 'systemd', description: 'Which logind library to use.')
option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.')
option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.')
option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.')
@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value: false, description: 'Build for Solaris
option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.')
option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.')
option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.')
-option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files.')
-option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files.')
+option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files, or \'no\' to disable.')
+option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files, or \'no\' to disable.')
option('tcp-wrappers', type: 'boolean', value: false, description: 'Use TCP wrappers.')
option('udev-dir', type: 'string', value: '', description: 'Directory for udev rules file.')
option('user', type: 'string', value: 'gdm', description: 'GDM\'s username.')
--
2.39.2
+213
View File
@@ -0,0 +1,213 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>gdm</Name>
<Homepage>https://gitlab.gnome.org/GNOME/gdm</Homepage>
<Packager>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<Summary>GNOME Graphical Display Manager</Summary>
<Description>A graphical login manager for your desktop, integrated within the GNOME desktop environment</Description>
<Archive sha1sum="eae3c1c9afc1acfec12f644a6f12ac4938a696ec" type="tarxz">https://download.gnome.org/sources/gdm/46/gdm-46.2.tar.xz</Archive>
<BuildDependencies>
<Dependency>dconf-devel</Dependency>
<Dependency>gettext-devel</Dependency>
<Dependency>itstool</Dependency>
<Dependency>accountsservice-devel</Dependency>
<Dependency>elogind-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>gtk3-devel</Dependency>
<Dependency>iso-codes-devel</Dependency>
<Dependency>libSM-devel</Dependency>
<Dependency>libcanberra-devel</Dependency>
<Dependency>libcanberra-gtk3-devel</Dependency>
<Dependency>nss-devel</Dependency>
<Dependency>pam-devel</Dependency>
<Dependency>audit-devel</Dependency>
<Dependency>upower-devel</Dependency>
<Dependency>json-glib-devel</Dependency>
<Dependency>libdaemon-devel</Dependency>
<Dependency>gobject-introspection-devel</Dependency>
<Dependency>meson</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">0000-Force-Xorg-use-on-the-login-screen.patch</Patch>
<!-- <Patch level="1">0002-Xsession-Don-t-start-ssh-agent-by-default.patch</Patch> -->
<!-- <Patch level="1">gentoo/gdm-44.0-meson-allow-building-with-elogind.patch</Patch> -->
</Patches>
</Source>
<Package>
<Name>gdm</Name>
<Conflicts>
<Package>lxdm</Package>
<Package>sddm</Package>
<Package>lightdm</Package>
</Conflicts>
<RuntimeDependencies>
<Dependency>pam</Dependency>
<Dependency>gtk3</Dependency>
<Dependency>glib2</Dependency>
<Dependency>libX11</Dependency>
<Dependency>libXau</Dependency>
<Dependency>libxcb</Dependency>
<Dependency>elogind</Dependency>
<Dependency>libXdmcp</Dependency>
<Dependency>gdk-pixbuf</Dependency>
<Dependency>libcanberra</Dependency>
<Dependency>accountsservice</Dependency>
<Dependency>libcanberra-gtk3</Dependency>
<Dependency>audit</Dependency>
<Dependency>keyutils</Dependency>
<Dependency>libgudev</Dependency>
<Dependency>libgdm</Dependency>
<Dependency>json-glib</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="config">/etc</Path>
<Path fileType="library">/lib</Path>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib/sysusers.d</Path>
<Path fileType="executable">/usr/libexec</Path>
<Path fileType="executable">/usr/sbin</Path>
<Path fileType="data">/usr/share/dconf</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="data">/usr/share/gdm</Path>
<Path fileType="data">/usr/share/gnome-session</Path>
<Path fileType="doc">/usr/share/help</Path>
<Path fileType="localedata">/usr/share/locale</Path>
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/usr/lib/sysusers.d/gdm.conf">gdm.sysusers</AdditionalFile>
</AdditionalFiles>
<Provides>
<COMAR script="service.py">System.Service</COMAR>
<COMAR script="package.py">System.Package</COMAR>
</Provides>
</Package>
<Package>
<Name>gdm-devel</Name>
<RuntimeDependencies>
<Dependency release="current">gdm</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>elogind-devel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
<Path fileType="data">/usr/share/gir-1.0</Path>
</Files>
</Package>
<Package>
<Name>libgdm</Name>
<PartOf>desktop.gnome.base</PartOf>
<RuntimeDependencies>
<Dependency>glib2</Dependency>
<Dependency>elogind</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/girepository-1.0</Path>
<Path fileType="library">/usr/lib/libgdm.so*</Path>
<Path fileType="data">/usr/share/glib-2.0</Path>
</Files>
</Package>
<History>
<Update release="13">
<Date>2024-05-29</Date>
<Version>46.2</Version>
<Comment>Version bump.</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="12">
<Date>2023-09-14</Date>
<Version>45.0.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="11">
<Date>2023-05-06</Date>
<Version>44.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="10">
<Date>2023-03-20</Date>
<Version>44.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="9">
<Date>2022-11-02</Date>
<Version>43.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="8">
<Date>2022-03-22</Date>
<Version>42.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="7">
<Date>2022-01-12</Date>
<Version>41.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="6">
<Date>2021-11-21</Date>
<Version>41.0</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="5">
<Date>2021-09-21</Date>
<Version>41.0</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="4">
<Date>2021-07-24</Date>
<Version>40.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="3">
<Date>2021-07-17</Date>
<Version>40.0</Version>
<Comment>Seperate libgdm</Comment>
<Name>Berk Çakar</Name>
<Email>berk2238@hotmail.com</Email>
</Update>
<Update release="2">
<Date>2021-06-09</Date>
<Version>40.0</Version>
<Comment>Rebuild</Comment>
<Name>Berk Çakar</Name>
<Email>berk2238@hotmail.com</Email>
</Update>
<Update release="1">
<Date>2021-06-05</Date>
<Version>40.0</Version>
<Comment>First release for Pisi Linux</Comment>
<Name>Berk Çakar</Name>
<Email>berk2238@hotmail.com</Email>
</Update>
</History>
</PISI>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>gdm</Name>
<Summary xml:lang="tr">GNOME ekran yöneticisi</Summary>
<Description xml:lang="tr">GDM, yerel veya uzak makinelerde farklı oturumlar açmayı sağlar.</Description>
</Source>
</PISI>