diff --git a/common/shlibs b/common/shlibs index 215867d9d85..51d4ac41d93 100644 --- a/common/shlibs +++ b/common/shlibs @@ -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 diff --git a/srcpkgs/gdm/files/gdm-welcome.pam b/srcpkgs/gdm/files/gdm-launch-environment.pam similarity index 100% rename from srcpkgs/gdm/files/gdm-welcome.pam rename to srcpkgs/gdm/files/gdm-launch-environment.pam diff --git a/srcpkgs/gdm/files/gdm.service b/srcpkgs/gdm/files/gdm.service deleted file mode 100644 index 0c1d87d9a54..00000000000 --- a/srcpkgs/gdm/files/gdm.service +++ /dev/null @@ -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 diff --git a/srcpkgs/gdm/gdm-devel.template b/srcpkgs/gdm/gdm-devel.template index 6459c093411..7319becb01b 100644 --- a/srcpkgs/gdm/gdm-devel.template +++ b/srcpkgs/gdm/gdm-devel.template @@ -1,5 +1,6 @@ # Template file for 'gdm-devel'. # +depends="libgdm>=${version}" short_desc="${sourcepkg} (development files)" long_desc="${long_desc} diff --git a/srcpkgs/gdm/gdm.rshlibs b/srcpkgs/gdm/gdm.rshlibs index 7fad7fbc3a0..f056408601a 100644 --- a/srcpkgs/gdm/gdm.rshlibs +++ b/srcpkgs/gdm/gdm.rshlibs @@ -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 diff --git a/srcpkgs/gdm/libgdm.rshlibs b/srcpkgs/gdm/libgdm.rshlibs new file mode 100644 index 00000000000..f6ea62638cb --- /dev/null +++ b/srcpkgs/gdm/libgdm.rshlibs @@ -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 diff --git a/srcpkgs/gdm/libgdm.template b/srcpkgs/gdm/libgdm.template new file mode 100644 index 00000000000..0e8ee706dd5 --- /dev/null +++ b/srcpkgs/gdm/libgdm.template @@ -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 +} diff --git a/srcpkgs/gdm/patches/gdm-vt-allocation-hack.patch b/srcpkgs/gdm/patches/gdm-vt-allocation-hack.patch deleted file mode 100644 index 370c1e9e84b..00000000000 --- a/srcpkgs/gdm/patches/gdm-vt-allocation-hack.patch +++ /dev/null @@ -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 - #include - #include -+#include -+#include - - #include - #include -@@ -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; diff --git a/srcpkgs/gdm/template b/srcpkgs/gdm/template index 7bb1063b47f..60b4daa3e73 100644 --- a/srcpkgs/gdm/template +++ b/srcpkgs/gdm/template @@ -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 " 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 diff --git a/srcpkgs/libgdm b/srcpkgs/libgdm new file mode 120000 index 00000000000..3acc308c7c7 --- /dev/null +++ b/srcpkgs/libgdm @@ -0,0 +1 @@ +gdm \ No newline at end of file