gdm: update to 3.6.0.
This commit is contained in:
parent
cfde1d0750
commit
1f2189d388
|
@ -783,8 +783,6 @@ liblcms2.so.2 lcms2-2.2_1
|
|||
libcolord.so.1 colord-0.1.12_1
|
||||
libnm-gtk.so.0 libnm-gtk-0.9.1.95_1
|
||||
libcaribou.so.0 caribou-0.4.0_1
|
||||
libgdmgreeter.so.1 gdm-3.2.0_1
|
||||
libgdmsimplegreeter.so.1 gdm-3.2.0_1
|
||||
libgupnp-av-1.0.so.2 gupnp-av-0.10.0_1
|
||||
libgrilo-0.1.so.0 grilo-0.1.17_1
|
||||
libgrlnet-0.1.so.0 grilo-0.1.17_1
|
||||
|
@ -1049,3 +1047,5 @@ libgnome-bluetooth.so.11 gnome-bluetooth-3.6.0_1
|
|||
libxapian.so.22 libxapian-1.2.12_1
|
||||
libzeitgeist-1.0.so.1 libzeitgeist-0.3.18_1
|
||||
libcolord-gtk.so.1 colord-gtk-0.1.23_1
|
||||
libgdm.so.1 libgdm-3.6.0_1
|
||||
libgdmsimplegreeter.so.1 gdm-3.6.0_1
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
[Unit]
|
||||
Description=Gnome Display Manager
|
||||
Conflicts=getty@tty1.service
|
||||
After=systemd-user-sessions.service getty@tty1.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/gdm -nodaemon
|
||||
|
||||
[Install]
|
||||
Alias=display-manager.service
|
|
@ -1,5 +1,6 @@
|
|||
# Template file for 'gdm-devel'.
|
||||
#
|
||||
depends="libgdm>=${version}"
|
||||
short_desc="${sourcepkg} (development files)"
|
||||
long_desc="${long_desc}
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@ libpthread.so.0
|
|||
libc.so.6
|
||||
libX11.so.6
|
||||
libXrandr.so.2
|
||||
libdbus-glib-1.so.2
|
||||
libdbus-1.so.3
|
||||
libxklavier.so.16
|
||||
libgobject-2.0.so.0
|
||||
libXau.so.6
|
||||
libpam.so.0
|
||||
|
@ -27,6 +24,6 @@ libXdmcp.so.6
|
|||
libatk-1.0.so.0
|
||||
libpangocairo-1.0.so.0
|
||||
libcairo-gobject.so.2
|
||||
libfontconfig.so.1
|
||||
libcanberra-gtk3.so.0
|
||||
libcanberra.so.0
|
||||
libgdm.so.1
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
libgio-2.0.so.0
|
||||
libgobject-2.0.so.0
|
||||
libglib-2.0.so.0
|
||||
libsystemd-login.so.0
|
||||
libsystemd-daemon.so.0
|
||||
libpthread.so.0
|
||||
libc.so.6
|
||||
libgtk-3.so.0
|
||||
libgdk-3.so.0
|
||||
libatk-1.0.so.0
|
||||
libpangocairo-1.0.so.0
|
||||
libgdk_pixbuf-2.0.so.0
|
||||
libcairo-gobject.so.2
|
||||
libpango-1.0.so.0
|
||||
libcairo.so.2
|
|
@ -0,0 +1,10 @@
|
|||
# Template file for 'libgdm'.
|
||||
#
|
||||
short_desc="${sourcepkg} runtime libraries"
|
||||
long_desc="${long_desc}
|
||||
|
||||
This package contains the runtime libraries."
|
||||
|
||||
do_install() {
|
||||
vmove "usr/lib/*.so*" usr/lib
|
||||
}
|
|
@ -1,118 +0,0 @@
|
|||
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
|
||||
index 39def47..03488fd 100644
|
||||
--- daemon/gdm-server.c
|
||||
+++ daemon/gdm-server.c
|
||||
@@ -33,6 +33,8 @@
|
||||
#include <grp.h>
|
||||
#include <signal.h>
|
||||
#include <sys/resource.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <sys/vt.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
|
||||
return out;
|
||||
}
|
||||
|
||||
+#ifndef O_NOCTTY
|
||||
+# define O_NOCTTY 0
|
||||
+#endif
|
||||
+
|
||||
+static int
|
||||
+open_vt (int vtno)
|
||||
+{
|
||||
+ char *vtname;
|
||||
+ int fd;
|
||||
+
|
||||
+ vtname = g_strdup_printf ("/dev/tty%d", vtno);
|
||||
+
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open (vtname, O_RDWR | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ g_free (vtname);
|
||||
+ return fd;
|
||||
+}
|
||||
+
|
||||
+static gint
|
||||
+find_first_probably_free_vt (void)
|
||||
+{
|
||||
+ int fd, fdv;
|
||||
+ int vtno;
|
||||
+ unsigned short vtmask;
|
||||
+ struct vt_stat vtstat;
|
||||
+ guint v_state;
|
||||
+
|
||||
+ fdv = -1;
|
||||
+
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ if (fd >= 0) {
|
||||
+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) {
|
||||
+ v_state = vtstat.v_state;
|
||||
+ } else {
|
||||
+ close (fd);
|
||||
+ v_state = 0;
|
||||
+ fd = -1;
|
||||
+ }
|
||||
+ } else {
|
||||
+ v_state = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (fd < 0) {
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ if (fd >= 0) {
|
||||
+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
|
||||
+ v_state = vtstat.v_state;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
|
||||
+ /* Is this console in use? */
|
||||
+ if (v_state & vtmask)
|
||||
+ continue;
|
||||
+
|
||||
+ /* No, try to open it */
|
||||
+ fdv = open_vt (vtno);
|
||||
+ if (fdv >= 0)
|
||||
+ break;
|
||||
+
|
||||
+ /* If we're here, kernel indicated that the console was free,
|
||||
+ * but we failed to open it. Just go on to higher VTs. */
|
||||
+ }
|
||||
+
|
||||
+ if (fdv >= 0)
|
||||
+ close (fdv);
|
||||
+ else
|
||||
+ vtno = -1;
|
||||
+
|
||||
+ if (fd >= 0)
|
||||
+ close (fd);
|
||||
+
|
||||
+ return vtno;
|
||||
+}
|
||||
+
|
||||
char *
|
||||
gdm_server_get_display_device (GdmServer *server)
|
||||
{
|
||||
@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server,
|
||||
|
||||
if (vtarg != NULL && ! gotvtarg) {
|
||||
argv[len++] = g_strdup (vtarg);
|
||||
+ } else if (!query_in_arglist && !gotvtarg) {
|
||||
+ gint vtnum = find_first_probably_free_vt ();
|
||||
+
|
||||
+ if (vtnum > 0)
|
||||
+ argv [len++] = g_strdup_printf ("vt%d", vtnum);
|
||||
}
|
||||
|
||||
argv[len++] = NULL;
|
|
@ -1,26 +1,24 @@
|
|||
# Template file for 'gdm'
|
||||
pkgname=gdm
|
||||
version=3.4.1
|
||||
revision=8
|
||||
version=3.6.0
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
configure_args="--disable-schemas-compile --disable-scrollkeeper
|
||||
configure_args="--disable-schemas-compile --disable-static
|
||||
--with-at-spi-registryd-directory=/usr/libexec --without-tcp-wrappers
|
||||
--disable-static --with-systemd --with-screenshot-dir=/var/lib/gdm/greeter
|
||||
--with-xauth-dir=/run/gdm --with-pid-file=/run/gdm/gdm.pid"
|
||||
--with-systemd --with-screenshot-dir=/var/lib/gdm/greeter
|
||||
--with-xauth-dir=/run/gdm --with-pid-file=/run/gdm/gdm.pid
|
||||
--with-initial-vt=1 --with-systemdsystemunitdir=/usr/lib/systemd/system"
|
||||
makedepends="pkg-config intltool which gnome-doc-utils gobject-introspection
|
||||
pam-devel nss-devel accountsservice-devel gtk+3-devel upower-devel systemd-devel
|
||||
libcanberra-devel libXrandr-devel libxklavier-devel at-spi2-core-devel
|
||||
dbus-glib-devel"
|
||||
fulldepends="xrdb dconf hicolor-icon-theme polkit-gnome xorg-server metacity
|
||||
gnome-session gnome-settings-daemon dbus-x11"
|
||||
subpackages="gdm-devel"
|
||||
gtk_iconcache_dirs="/usr/share/icons/hicolor"
|
||||
pam-devel nss-devel accountsservice-devel gtk+3-devel>=3.6.0_2 upower-devel
|
||||
libcanberra-devel libXrandr-devel systemd-devel at-spi2-core-devel itstool"
|
||||
fulldepends="xrdb dconf>=0.13.90 hicolor-icon-theme polkit-gnome xorg-server metacity
|
||||
gnome-session>=3.6.0 gnome-settings-daemon>=3.6.0 dbus-x11"
|
||||
short_desc="GNOME Display Manager"
|
||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||
homepage="http://www.gnome.org"
|
||||
license="GPL-2"
|
||||
distfiles="${GNOME_SITE}/$pkgname/3.4/$pkgname-$version.tar.xz"
|
||||
checksum=6292968dff5fc89877b5e1aaa3c7d1484dd3ed2d4f388e935841d053439be665
|
||||
distfiles="${GNOME_SITE}/$pkgname/3.6/$pkgname-$version.tar.xz"
|
||||
checksum=ea63736fc8f7234aca442f4e99b3ba9cc29dce5e464ed93f7bf7eb8c49abd60b
|
||||
long_desc="
|
||||
GDM is the GNOME Display Manager, it is the little proggie that runs
|
||||
in the background, runs your X sessions, presents you with a login box
|
||||
|
@ -35,6 +33,9 @@ long_desc="
|
|||
xdmcp a little bit in places where I thought xdm was lacking (but is
|
||||
still compatible with xdm's xdmcp)."
|
||||
|
||||
subpackages="libgdm gdm-devel"
|
||||
gtk_iconcache_dirs="/usr/share/icons/hicolor"
|
||||
|
||||
conf_files="
|
||||
/etc/gdm/custom.conf
|
||||
/etc/pam.d/gdm
|
||||
|
@ -60,12 +61,10 @@ systemd_services="gdm.service off"
|
|||
post_install() {
|
||||
# Use our own pam files.
|
||||
rm -f ${DESTDIR}/etc/pam.d/*
|
||||
for f in gdm gdm-autologin gdm-fingerprint gdm-password gdm-smartcard \
|
||||
gdm-welcome; do
|
||||
vinstall ${FILESDIR}/${f}.pam 644 etc/pam.d ${f}
|
||||
for f in ${FILESDIR}/*.pam; do
|
||||
vinstall ${f} 644 etc/pam.d ${f}
|
||||
done
|
||||
# Install systemd service.
|
||||
vinstall ${FILESDIR}/gdm.service 644 usr/lib/systemd/system
|
||||
vinstall ${FILESDIR}/gdm.tmpfiles.d 644 usr/lib/tmpfiles.d gdm.conf
|
||||
|
||||
chmod 1770 ${DESTDIR}/var/log/gdm
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
gdm
|
Loading…
Reference in New Issue