diff options
author | kwm <kwm@FreeBSD.org> | 2018-09-30 19:58:29 +0800 |
---|---|---|
committer | kwm <kwm@FreeBSD.org> | 2018-09-30 19:58:29 +0800 |
commit | 1f45d9eb2b1cd9ba6632b2331526d2dfe4cb17fa (patch) | |
tree | 6146e775343aaf339921799078894a48fef9aa15 /x11 | |
parent | b640e6d0ba34a529816c17d494eb8ca09ca720fd (diff) | |
download | freebsd-ports-gnome-1f45d9eb2b1cd9ba6632b2331526d2dfe4cb17fa.tar.gz freebsd-ports-gnome-1f45d9eb2b1cd9ba6632b2331526d2dfe4cb17fa.tar.zst freebsd-ports-gnome-1f45d9eb2b1cd9ba6632b2331526d2dfe4cb17fa.zip |
The FreeBSD GNOME team proudly presents GNOME 3.28 for FreeBSD.
The offical GNOME 3.28 release notes can be found at
https://help.gnome.org/misc/release-notes/3.28/
Thanks to Antoine Brodin for running the exp-runs.
PR: 229761
Diffstat (limited to 'x11')
76 files changed, 4234 insertions, 606 deletions
diff --git a/x11/Makefile b/x11/Makefile index c81d65016352..43f9833d067f 100644 --- a/x11/Makefile +++ b/x11/Makefile @@ -74,7 +74,6 @@ SUBDIR += gmrun SUBDIR += gnome-clipboard-daemon SUBDIR += gnome-desktop - SUBDIR += gnome-desktop-reference SUBDIR += gnome-menus SUBDIR += gnome-pie SUBDIR += gnome-session diff --git a/x11/altyo/Makefile b/x11/altyo/Makefile index 7ce0aff95f0f..eaffc00cf655 100644 --- a/x11/altyo/Makefile +++ b/x11/altyo/Makefile @@ -13,6 +13,8 @@ COMMENT= Drop-down terminal emulator, written in Vala LICENSE= GPLv3 +BROKEN= Cannot convert from `unowned string' to `unowned char[]?' + BUILD_DEPENDS= git:devel/git \ valac:lang/vala diff --git a/x11/cinnamon/Makefile b/x11/cinnamon/Makefile index cd8c73976554..31fc5ea38204 100644 --- a/x11/cinnamon/Makefile +++ b/x11/cinnamon/Makefile @@ -3,7 +3,7 @@ PORTNAME= cinnamon PORTVERSION= 2.4.6 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= x11 gnome DIST_SUBDIR= gnome3 @@ -27,7 +27,7 @@ LIB_DEPENDS= libstartup-notification-1.so:x11/startup-notification \ libaccountsservice.so:sysutils/accountsservice RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dbus>=0:devel/py-dbus@${PY_FLAVOR} \ ca_root_nss>=0:security/ca_root_nss \ - gnome-themes-standard>=3.0.0:x11-themes/gnome-themes-standard \ + gnome-themes-extra>=3.0.0:x11-themes/gnome-themes-extra \ cinnamon-control-center:sysutils/cinnamon-control-center \ cinnamon-translations>=0:misc/cinnamon-translations \ cinnamon-screensaver:x11/cinnamon-screensaver \ diff --git a/x11/gdm/Makefile b/x11/gdm/Makefile index 420e374a5ec7..9737756c1e34 100644 --- a/x11/gdm/Makefile +++ b/x11/gdm/Makefile @@ -2,24 +2,20 @@ # $FreeBSD$ PORTNAME= gdm -PORTVERSION= 3.16.4 -PORTREVISION= 5 +PORTVERSION= 3.28.1 CATEGORIES= x11 gnome MASTER_SITES= GNOME -DIST_SUBDIR= gnome3 +DIST_SUBDIR= gnome MAINTAINER= gnome@FreeBSD.org -COMMENT= GNOME 3 version of xdm display manager +COMMENT= GNOME 3 display manager BUILD_DEPENDS= zenity>=3.0.0:x11/zenity \ itstool:textproc/itstool \ iso-codes>=0:misc/iso-codes LIB_DEPENDS= libck-connector.so:sysutils/consolekit2 \ - libdbus-glib-1.so:devel/dbus-glib \ - libupower-glib.so:sysutils/upower \ - libnss3.so:security/nss \ - libfontconfig.so:x11-fonts/fontconfig \ libaccountsservice.so:sysutils/accountsservice \ + libcanberra.so:audio/libcanberra \ libcanberra-gtk3.so:audio/libcanberra-gtk3 RUN_DEPENDS= zenity>=3.0.0:x11/zenity \ gnome-shell>=3.15.92:x11/gnome-shell \ @@ -33,20 +29,22 @@ RUN_DEPENDS= zenity>=3.0.0:x11/zenity \ # used in scripts RUN_DEPENDS+= xrdb:x11/xrdb \ setxkbmap:x11/setxkbmap \ + xsetroot:x11/xsetroot \ + xhost:x11/xhost \ xmodmap:x11/xmodmap \ xterm:x11/xterm USERS= gdm -GROUPS= gdm +GROUPS= gdm video PORTSCOUT= limitw:1,even -USES= cpe gettext gmake libtool pathfix pkgconfig tar:xz +USES= cpe gettext gmake gnome libtool pathfix pkgconfig tar:xz CPE_VENDOR= gnome CPE_VENDOR= gnome_display_manager -USE_GNOME= dconf intlhack introspection librsvg2 +USE_GNOME= cairo dconf gtk30 intltool introspection USE_LDCONFIG= yes -USE_XORG= dmx xorgproto +USE_XORG= x11 xau xcb xdmcp xorgproto INSTALLS_ICONS= yes USE_RC_SUBR= gdm USE_GNOME_SUBR= yes @@ -60,6 +58,8 @@ CONFIGURE_ARGS= --disable-static \ --with-dbus-sys=${PREFIX}/etc/dbus-1/system.d \ --with-log-dir=/var/log/gdm \ --localstatedir=/var \ + --without-selinux \ + --without-libaudit \ --with-console-kit \ --with-working-directory=${PREFIX}/etc/gdm/home \ --with-sysconfsubdir=gdm \ @@ -68,9 +68,11 @@ CONFIGURE_ARGS= --disable-static \ --with-screenshot-dir=/var/run/gdm/greeter \ --enable-authentication-scheme=pam \ --without-plymouth \ + --without-systemd \ --with-user=gdm \ --with-group=gdm \ --with-initial-vt=09 \ + --enable-gdm-xsession \ --disable-wayland-support \ --with-systemd=no @@ -92,7 +94,6 @@ PKGMESSAGE= ${WRKDIR}/pkg-message GNOME_LOCALSTATEDIR= /var OPTIONS_DEFINE= IPV6 -KEYRING_RUN_DEPENDS= ${LOCALBASE}/lib/pam_gnome_keyring.so:security/gnome-keyring IPV6_CONFIGURE_ENABLE= ipv6 @@ -107,14 +108,15 @@ post-patch: ${WRKSRC}/data/Makefile.in @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + -e 's|/bin/bash|/bin/sh|g' \ ${WRKSRC}/daemon/gdm-session-worker.c @${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g' \ -e 's|/usr/bin/X|${LOCALBASE}/bin/X|g' \ -e 's|/usr/bin/Xorg|${LOCALBASE}/bin/Xorg|g' \ ${WRKSRC}/configure ${WRKSRC}/daemon/*.c ${WRKSRC}/po/*.po @${REINPLACE_CMD} -e 's|/at-spi-registryd|/at-spi2-registryd|g' \ - ${WRKSRC}/gui/simple-chooser/gdm-host-chooser.c \ - ${WRKSRC}/gui/simple-chooser/chooser-main.c + ${WRKSRC}/chooser/gdm-host-chooser.c \ + ${WRKSRC}/chooser/chooser-main.c @${REINPLACE_CMD} -e 's|/etc/X11|${LOCALBASE}/etc/X11|g' \ ${WRKSRC}/data/Init.in \ ${WRKSRC}/data/PostLogin \ @@ -141,13 +143,22 @@ post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/gdm/home ${MKDIR} ${STAGEDIR}${PREFIX}/etc/gdm/home/.pulse/ - ${INSTALL_DATA} ${WRKDIR}/gdm-autologin ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-autologin - ${INSTALL_DATA} ${WRKDIR}/gdm-launch-environment ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-launch-environment - ${INSTALL_DATA} ${WRKDIR}/gdm-password ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-password + ${INSTALL_DATA} ${WRKDIR}/gdm-autologin \ + ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-autologin + ${INSTALL_DATA} ${WRKDIR}/gdm-launch-environment \ + ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-launch-environment + ${INSTALL_DATA} ${WRKDIR}/gdm-password \ + ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-password - ${INSTALL_DATA} ${WRKDIR}/client.conf ${STAGEDIR}${PREFIX}/etc/gdm/home/.pulse/ + ${INSTALL_DATA} ${WRKDIR}/client.conf \ + ${STAGEDIR}${PREFIX}/etc/gdm/home/.pulse/client.conf.sample - ${INSTALL_DATA} ${WRKDIR}/locale.conf ${STAGEDIR}${PREFIX}/etc/gdm/ + ${INSTALL_DATA} ${WRKDIR}/locale.conf \ + ${STAGEDIR}${PREFIX}/etc/gdm/locale.conf.sample + + @${RM} ${STAGEDIR}${PREFIX}/lib/udev/rules.d/61-gdm.rules + @${RMDIR} ${STAGEDIR}${PREFIX}/lib/udev/rules.d + @${RMDIR} ${STAGEDIR}${PREFIX}/lib/udev @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' < ${PKGDIR}/pkg-message \ | /usr/bin/fmt 75 79 > ${PKGMESSAGE} diff --git a/x11/gdm/distinfo b/x11/gdm/distinfo index 9177a8f63bbd..ea959be91316 100644 --- a/x11/gdm/distinfo +++ b/x11/gdm/distinfo @@ -1,2 +1,3 @@ -SHA256 (gnome3/gdm-3.16.4.tar.xz) = 281dd28d729eaab2f67e450b5b162299dec537b6f7e81fa1124e35c89d3942fd -SIZE (gnome3/gdm-3.16.4.tar.xz) = 1535580 +TIMESTAMP = 1525503166 +SHA256 (gnome/gdm-3.28.1.tar.xz) = 77068fa775bc2c002e85883c250103f6a77361d32ba0cb8a60997b70b397b2fb +SIZE (gnome/gdm-3.28.1.tar.xz) = 1122164 diff --git a/x11/gdm/files/Makefile.am b/x11/gdm/files/Makefile.am new file mode 100644 index 000000000000..6bb317816bc5 --- /dev/null +++ b/x11/gdm/files/Makefile.am @@ -0,0 +1,18 @@ +$OpenBSD: patch-Makefile_am,v 1.1 2016/10/31 16:15:46 ajacoutot Exp $ + +REVERT - Linux-PAM +From 714b6af29b916ac7da0cdab6f83460574ed49cf2 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Mon, 15 Aug 2016 13:48:00 -0400 +Subject: pam_gdm: add stub pam module + +--- Makefile.am.orig 2017-10-30 16:21:02.000000000 +0100 ++++ Makefile.am 2018-01-14 12:30:07.298406000 +0100 +@@ -7,7 +7,6 @@ SUBDIRS = \ + daemon \ + libgdm \ + utils \ +- pam_gdm \ + po \ + tests \ + $(NULL) diff --git a/x11/gdm/files/configure.ac b/x11/gdm/files/configure.ac new file mode 100644 index 000000000000..80b14caaa4d2 --- /dev/null +++ b/x11/gdm/files/configure.ac @@ -0,0 +1,154 @@ +$OpenBSD: patch-configure_ac,v 1.12 2017/04/17 13:17:07 ajacoutot Exp $ + +REVERT - Linux-PAM +From 714b6af29b916ac7da0cdab6f83460574ed49cf2 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Mon, 15 Aug 2016 13:48:00 -0400 +Subject: pam_gdm: add stub pam module + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 1ac67f522f5690c27023d98096ca817f12f7eb88 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:28:01 -0400 +Subject: drop consolekit support + +https://bugzilla.gnome.org/show_bug.cgi?id=722482 + +--- configure.ac.orig 2017-10-30 16:21:11.000000000 +0100 ++++ configure.ac 2018-01-14 13:01:16.646216000 +0100 +@@ -232,12 +232,6 @@ AM_CONDITIONAL(ENABLE_EXHERBO_PAM_CONFIG, test x$with_ + AM_CONDITIONAL(ENABLE_LFS_PAM_CONFIG, test x$with_default_pam_config = xlfs) + AM_CONDITIONAL(ENABLE_ARCH_PAM_CONFIG, test x$with_default_pam_config = xarch) + +-AC_CHECK_HEADERS([security/pam_modules.h security/pam_modutil.h security/pam_ext.h], +- [have_pam=yes], +- [if test "x$have_pam" = xyes ; then +- AC_MSG_ERROR([PAM development files not found.]) +- fi]) +- + AC_ARG_ENABLE(console-helper, + AS_HELP_STRING([--enable-console-helper], + [Enable PAM console helper @<:@default=auto@:>@]),, +@@ -263,7 +257,15 @@ AC_ARG_WITH(tcp-wrappers, + [Use TCP Wrappers @<:@default=auto@:>@]),, + with_tcp_wrappers=auto) + ++AC_ARG_WITH(console-kit, ++ AS_HELP_STRING([--with-console-kit], ++ [Add ConsoleKit support @<:@default=auto@:>@]),, ++ with_console_kit=no) + ++AC_ARG_WITH(systemd, ++ AS_HELP_STRING([--with-systemd], ++ [Add systemd support @<:@default=auto@:>@]), ++ [with_systemd=$withval], [with_systemd=auto]) + AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], + [Directory for systemd service files]), +@@ -548,6 +550,8 @@ fi + if test "x$supports_pam_extensions" = "xyes" ; then + AM_CONDITIONAL(SUPPORTS_PAM_EXTENSIONS, true) + AC_DEFINE(SUPPORTS_PAM_EXTENSIONS, 1, [Define if PAM supports GDMs custom extensions]) ++else ++ AM_CONDITIONAL(SUPPORTS_PAM_EXTENSIONS, false) + fi + + AC_CHECK_LIB(keyutils, keyctl_read, [ +@@ -655,14 +659,8 @@ dnl -------------------------------------------------- + dnl - Check for utmp stuff + dnl --------------------------------------------------------------------------- + +-AC_CHECK_HEADERS(utmp.h utmpx.h libutil.h sys/param.h) +-AC_CHECK_FUNCS([getutxent updwtmpx updwtmp]) +-AC_CHECK_LIB(util, login, [ +- AC_DEFINE(HAVE_LOGIN, 1, [Define if have login]) +- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" ]) +-AC_CHECK_LIB(util, logout, [ +- AC_DEFINE(HAVE_LOGOUT, 1, [Define if have logout]) +- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" ]) ++AC_CHECK_HEADERS(utmp.h utmpx.h util.h sys/param.h) ++AC_CHECK_FUNCS([getutxent getttyent updwtmpx updwtmp]) + AC_CHECK_LIB(util, logwtmp, [ + AC_DEFINE(HAVE_LOGWTMP, 1, [Define if have logwtmp]) + EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" ]) +@@ -911,12 +909,42 @@ AC_SUBST(XINERAMA_LIBS) + CPPFLAGS="$xinerama_save_cppflags" + + dnl --------------------------------------------------------------------------- ++dnl - Check for ConsoleKit support ++dnl --------------------------------------------------------------------------- ++ ++use_console_kit=no ++if test "x$with_console_kit" != "xno" ; then ++ use_console_kit=yes ++ AC_DEFINE(WITH_CONSOLE_KIT, 1, [Define to enable ConsoleKit support]) ++fi ++AM_CONDITIONAL(WITH_CONSOLE_KIT, test x$use_console_kit = xyes) ++AC_SUBST(WITH_CONSOLE_KIT) ++ ++dnl --------------------------------------------------------------------------- + dnl - Check for systemd support + dnl --------------------------------------------------------------------------- + + PKG_CHECK_MODULES(SYSTEMD, +- [libsystemd]) ++ [libsystemd-login >= 186 libsystemd-daemon], ++ [have_systemd=yes], [have_systemd=no]) + ++if test "x$with_systemd" = "xauto" ; then ++ if test x$have_systemd = xno ; then ++ use_systemd=no ++ else ++ use_systemd=yes ++ fi ++else ++ use_systemd="$with_systemd" ++fi ++ ++if test "x$use_systemd" != "xno" ; then ++ if test "x$have_systemd" = "xno"; then ++ AC_MSG_ERROR([Systemd support explicitly required, but systemd not found]) ++ fi ++ ++ AC_DEFINE(WITH_SYSTEMD, 1, [Define to enable systemd support]) ++fi + AC_SUBST(SYSTEMD_CFLAGS) + AC_SUBST(SYSTEMD_LIBS) + +@@ -1111,6 +1139,14 @@ fi + AC_SUBST(GDM_CUSTOM_CONF) + AC_SUBST(GDM_OLD_CONF, '${gdmconfdir}/gdm.conf') + ++AC_ARG_WITH(consolekit-directory, ++ [AC_HELP_STRING([--with-consolekit-directory], ++ [Specify the directory of ck-get-x11-display-device @<:@default=libexecdir@:>@])],, ++ [with_consolekit_directory="\${libexecdir}"]) ++ ++CONSOLEKIT_DIR=$with_consolekit_directory ++AC_SUBST(CONSOLEKIT_DIR) ++ + AC_ARG_WITH(gnome-settings-daemon-directory, + [AC_HELP_STRING([--with-gnome-settings-daemon-directory], + [Specify the directory of gnome-settings-daemon used by the chooser @<:@default=libexecdir@:>@])],, +@@ -1601,6 +1637,7 @@ echo " + dmconfdir: ${dmconfdir} + localstatedir: ${localstatedir} + datadir: ${datadir} ++ consolekit location: ${with_consolekit_directory} + gnome-settings-daemon location: ${with_gnome_settings_daemon_directory} + gnome-session-check-accel location: ${with_check_accelerated_directory} + source code location: ${srcdir} +@@ -1631,6 +1668,8 @@ echo \ + " Xinerama support: ${XINERAMA_SUPPORT} + XDMCP support: ${XDMCP_SUPPORT} + SELinux support: ${use_selinux} ++ ConsoleKit support: ${use_console_kit} ++ systemd support: ${use_systemd} + systemd unit dir: ${with_systemdsystemunitdir} + plymouth support: ${use_plymouth} + wayland support: ${enable_wayland_support} +@@ -1639,3 +1678,4 @@ echo \ + Enable documentation: ${enable_documentation} + Install GDM's Xsession: ${enable_gdm_xsession} + " ++ diff --git a/x11/gdm/files/daemon_Makefile.am b/x11/gdm/files/daemon_Makefile.am new file mode 100644 index 000000000000..72d55fb06926 --- /dev/null +++ b/x11/gdm/files/daemon_Makefile.am @@ -0,0 +1,33 @@ +--- daemon/Makefile.am.orig 2017-10-30 16:21:02.000000000 +0100 ++++ daemon/Makefile.am 2018-01-14 12:30:11.501517000 +0100 +@@ -21,6 +21,7 @@ AM_CPPFLAGS = \ + -DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \ + -DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \ + -DGDM_SESSION_DEFAULT_PATH=\"$(GDM_SESSION_DEFAULT_PATH)\" \ ++ -DCONSOLEKIT_DIR=\"$(CONSOLEKIT_DIR)\" \ + $(DISABLE_DEPRECATED_CFLAGS) \ + $(DAEMON_CFLAGS) \ + $(XLIB_CFLAGS) \ +@@ -267,6 +268,11 @@ EXTRA_gdm_SOURCES = \ + $(XDMCP_SOURCES) \ + $(NULL) + ++CONSOLE_KIT_SOURCES = \ ++ $(NULL) ++ ++EXTRA_gdm_SOURCES += $(CONSOLE_KIT_SOURCES) ++ + gdm_LDADD = \ + $(top_builddir)/common/libgdmcommon.la \ + $(XLIB_LIBS) \ +@@ -277,6 +283,10 @@ gdm_LDADD = \ + $(JOURNALD_LIBS) \ + $(EXTRA_DAEMON_LIBS) \ + $(NULL) ++ ++if WITH_CONSOLE_KIT ++gdm_SOURCES += $(CONSOLE_KIT_SOURCES) ++endif + + CLEANFILES = \ + gdm-display-glue.c \ diff --git a/x11/gdm/files/gdm.in b/x11/gdm/files/gdm.in index 05fd987a8e3b..2469b55ea9a9 100644 --- a/x11/gdm/files/gdm.in +++ b/x11/gdm/files/gdm.in @@ -52,14 +52,6 @@ gdm_start() sleep 1 iter=$(expr ${iter} + 1) done - iter=0 - while ! %%LOCALBASE%%/bin/lshal >/dev/null 2>&1 ; do - if [ ${iter} -eq 60 ]; then - break - fi - sleep 1 - iter=$(expr ${iter} + 1) - done LANG=${gdm_lang} ${command} ${gdm_flags} ) & } diff --git a/x11/gdm/files/patch-CVE-2015-7496 b/x11/gdm/files/patch-CVE-2015-7496 deleted file mode 100644 index 69aefec50100..000000000000 --- a/x11/gdm/files/patch-CVE-2015-7496 +++ /dev/null @@ -1,207 +0,0 @@ -From 05e5fc24b0f803098c1d05dae86f5eb05bd0c2a4 Mon Sep 17 00:00:00 2001 -From: Rui Matos <tiagomatos@gmail.com> -Date: Sun, 15 Nov 2015 14:07:53 -0500 -Subject: session: Cancel worker proxy async ops when freeing conversations - -We need to cancel ongoing async ops for worker proxies when freeing -conversations or we'll crash when the completion handler runs and we -access free'd memory. - -https://bugzilla.gnome.org/show_bug.cgi?id=758032 - ---- - -From 5ac224602f1d603aac5eaa72e1760d3e33a26f0a Mon Sep 17 00:00:00 2001 -From: Ray Strode <rstrode@redhat.com> -Date: Fri, 13 Nov 2015 11:14:59 -0500 -Subject: session: disconnect signals from worker proxy when conversation is - freed - -We don't want an outstanding reference on the worker proxy to lead to -signal handlers getting dispatched after the conversation is freed. - -https://bugzilla.gnome.org/show_bug.cgi?id=758032 - ---- - - ---- daemon/gdm-session.c.orig 2015-11-18 10:47:55.522178000 +0100 -+++ daemon/gdm-session.c 2015-11-18 10:48:00.450095000 +0100 -@@ -73,6 +73,7 @@ typedef struct - GDBusMethodInvocation *pending_invocation; - GdmDBusWorkerManager *worker_manager_interface; - GdmDBusWorker *worker_proxy; -+ GCancellable *worker_cancellable; - char *session_id; - guint32 is_stopping : 1; - -@@ -1031,6 +1032,8 @@ register_worker (GdmDBusWorkerManager * - - g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (conversation->worker_proxy), G_MAXINT); - -+ conversation->worker_cancellable = g_cancellable_new (); -+ - g_signal_connect (conversation->worker_proxy, - "username-changed", - G_CALLBACK (worker_on_username_changed), conversation); -@@ -1666,7 +1669,28 @@ free_conversation (GdmSessionConversatio - g_free (conversation->starting_username); - g_free (conversation->session_id); - g_clear_object (&conversation->worker_manager_interface); -- g_clear_object (&conversation->worker_proxy); -+ -+ if (conversation->worker_proxy != NULL) { -+ g_signal_handlers_disconnect_by_func (conversation->worker_proxy, -+ G_CALLBACK (worker_on_username_changed), -+ conversation); -+ g_signal_handlers_disconnect_by_func (conversation->worker_proxy, -+ G_CALLBACK (worker_on_session_exited), -+ conversation); -+ g_signal_handlers_disconnect_by_func (conversation->worker_proxy, -+ G_CALLBACK (worker_on_reauthenticated), -+ conversation); -+ g_signal_handlers_disconnect_by_func (conversation->worker_proxy, -+ G_CALLBACK (worker_on_saved_language_name_read), -+ conversation); -+ g_signal_handlers_disconnect_by_func (conversation->worker_proxy, -+ G_CALLBACK (worker_on_saved_session_name_read), -+ conversation); -+ g_signal_handlers_disconnect_by_func (conversation->worker_proxy, -+ G_CALLBACK (worker_on_cancel_pending_query), -+ conversation); -+ g_clear_object (&conversation->worker_proxy); -+ } - g_clear_object (&conversation->session); - g_free (conversation); - } -@@ -1828,6 +1852,9 @@ close_conversation (GdmSessionConversati - g_clear_object (&conversation->worker_manager_interface); - } - -+ g_cancellable_cancel (conversation->worker_cancellable); -+ g_clear_object (&conversation->worker_cancellable); -+ - if (conversation->worker_proxy != NULL) { - GDBusConnection *connection = g_dbus_proxy_get_connection (G_DBUS_PROXY (conversation->worker_proxy)); - g_dbus_connection_close_sync (connection, NULL, NULL); -@@ -1996,7 +2023,7 @@ send_setup (GdmSession *self, - display_hostname, - self->priv->display_is_local, - self->priv->display_is_initial, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_setup_complete_cb, - conversation); - } -@@ -2062,7 +2089,7 @@ send_setup_for_user (GdmSession *self, - display_hostname, - self->priv->display_is_local, - self->priv->display_is_initial, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_setup_complete_cb, - conversation); - } -@@ -2124,7 +2151,7 @@ send_setup_for_program (GdmSession *self - self->priv->display_is_local, - self->priv->display_is_initial, - log_file, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_setup_complete_cb, - conversation); - } -@@ -2182,7 +2209,7 @@ gdm_session_authenticate (GdmSession *se - conversation = find_conversation_by_name (self, service_name); - if (conversation != NULL) { - gdm_dbus_worker_call_authenticate (conversation->worker_proxy, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_authenticate_cb, - conversation); - } -@@ -2199,7 +2226,7 @@ gdm_session_authorize (GdmSession *self, - conversation = find_conversation_by_name (self, service_name); - if (conversation != NULL) { - gdm_dbus_worker_call_authorize (conversation->worker_proxy, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_authorize_cb, - conversation); - } -@@ -2216,7 +2243,7 @@ gdm_session_accredit (GdmSession *self, - conversation = find_conversation_by_name (self, service_name); - if (conversation != NULL) { - gdm_dbus_worker_call_establish_credentials (conversation->worker_proxy, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_establish_credentials_cb, - conversation); - } -@@ -2230,7 +2257,8 @@ send_environment_variable (const char - { - gdm_dbus_worker_call_set_environment_variable (conversation->worker_proxy, - key, value, -- NULL, NULL, NULL); -+ conversation->worker_cancellable, -+ NULL, NULL); - } - - static void -@@ -2418,7 +2446,8 @@ send_display_mode (GdmSession *self, - mode = gdm_session_get_display_mode (self); - gdm_dbus_worker_call_set_session_display_mode (conversation->worker_proxy, - gdm_session_display_mode_to_string (mode), -- NULL, NULL, NULL); -+ conversation->worker_cancellable, -+ NULL, NULL); - } - - static void -@@ -2434,7 +2463,8 @@ send_session_type (GdmSession *self, - gdm_dbus_worker_call_set_environment_variable (conversation->worker_proxy, - "XDG_SESSION_TYPE", - session_type, -- NULL, NULL, NULL); -+ conversation->worker_cancellable, -+ NULL, NULL); - } - - void -@@ -2452,7 +2482,7 @@ gdm_session_open_session (GdmSession *se - send_session_type (self, conversation); - - gdm_dbus_worker_call_open (conversation->worker_proxy, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_opened, conversation); - } - } -@@ -2638,7 +2668,7 @@ gdm_session_start_session (GdmSession *s - - gdm_dbus_worker_call_start_program (conversation->worker_proxy, - program, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_start_program_cb, - conversation); - g_free (program); -@@ -2770,7 +2800,7 @@ gdm_session_start_reauthentication (GdmS - gdm_dbus_worker_call_start_reauthentication (conversation->worker_proxy, - (int) pid_of_caller, - (int) uid_of_caller, -- NULL, -+ conversation->worker_cancellable, - (GAsyncReadyCallback) on_reauthentication_started_cb, - conversation); - } -@@ -3032,7 +3062,8 @@ gdm_session_select_session (GdmSession * - - gdm_dbus_worker_call_set_session_name (conversation->worker_proxy, - get_session_name (self), -- NULL, NULL, NULL); -+ conversation->worker_cancellable, -+ NULL, NULL); - } - } - diff --git a/x11/gdm/files/patch-Makefile.in b/x11/gdm/files/patch-Makefile.in new file mode 100644 index 000000000000..1589e0c8ed27 --- /dev/null +++ b/x11/gdm/files/patch-Makefile.in @@ -0,0 +1,20 @@ +--- Makefile.in.orig 2018-01-14 11:27:57.277621000 +0100 ++++ Makefile.in 2018-01-14 11:28:53.422079000 +0100 +@@ -162,7 +162,7 @@ + ETAGS = etags + CTAGS = ctags + CSCOPE = cscope +-DIST_SUBDIRS = data common pam-extensions daemon libgdm utils pam_gdm \ ++DIST_SUBDIRS = data common pam-extensions daemon libgdm utils \ + po tests chooser docs + am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/data/dconf/gdm.in AUTHORS COPYING ChangeLog \ +@@ -472,7 +472,7 @@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + NULL = +-SUBDIRS = data common pam-extensions daemon libgdm utils pam_gdm po \ ++SUBDIRS = data common pam-extensions daemon libgdm utils po \ + tests $(NULL) $(am__append_1) $(am__append_2) + ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} + EXTRA_DIST = \ diff --git a/x11/gdm/files/patch-common_gdm-common.c b/x11/gdm/files/patch-common_gdm-common.c new file mode 100644 index 000000000000..567c0853796e --- /dev/null +++ b/x11/gdm/files/patch-common_gdm-common.c @@ -0,0 +1,413 @@ +$OpenBSD: patch-common_gdm-common_c,v 1.4 2015/10/18 13:25:54 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 1ac67f522f5690c27023d98096ca817f12f7eb88 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:28:01 -0400 +Subject: drop consolekit support + +--- common/gdm-common.c.orig Sun Oct 18 14:26:27 2015 ++++ common/gdm-common.c Sun Oct 18 14:24:34 2015 +@@ -39,12 +39,25 @@ + #include "mkdtemp.h" + #endif + ++#ifdef WITH_SYSTEMD + #include <systemd/sd-login.h> ++#endif + + #define GDM_DBUS_NAME "org.gnome.DisplayManager" + #define GDM_DBUS_LOCAL_DISPLAY_FACTORY_PATH "/org/gnome/DisplayManager/LocalDisplayFactory" + #define GDM_DBUS_LOCAL_DISPLAY_FACTORY_INTERFACE "org.gnome.DisplayManager.LocalDisplayFactory" + ++#ifdef WITH_CONSOLE_KIT ++#define CK_NAME "org.freedesktop.ConsoleKit" ++#define CK_PATH "/org/freedesktop/ConsoleKit" ++#define CK_INTERFACE "org.freedesktop.ConsoleKit" ++ ++#define CK_MANAGER_PATH "/org/freedesktop/ConsoleKit/Manager" ++#define CK_MANAGER_INTERFACE "org.freedesktop.ConsoleKit.Manager" ++#define CK_SEAT_INTERFACE "org.freedesktop.ConsoleKit.Seat" ++#define CK_SESSION_INTERFACE "org.freedesktop.ConsoleKit.Session" ++#endif ++ + G_DEFINE_QUARK (gdm-common-error, gdm_common_error); + + const char * +@@ -343,15 +356,306 @@ create_transient_display (GDBusConnection *connection, + return TRUE; + } + ++#ifdef WITH_CONSOLE_KIT ++ + static gboolean +-activate_session_id (GDBusConnection *connection, +- const char *seat_id, +- const char *session_id) ++get_current_session_id (GDBusConnection *connection, ++ char **session_id) + { + GError *local_error = NULL; + GVariant *reply; + + reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ CK_MANAGER_PATH, ++ CK_MANAGER_INTERFACE, ++ "GetCurrentSession", ++ NULL, /* parameters */ ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine session: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(o)", session_id); ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++ ++static gboolean ++get_seat_id_for_session (GDBusConnection *connection, ++ const char *session_id, ++ char **seat_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ session_id, ++ CK_SESSION_INTERFACE, ++ "GetSeatId", ++ NULL, /* parameters */ ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine seat: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(o)", seat_id); ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++ ++static char * ++get_current_seat_id (GDBusConnection *connection) ++{ ++ gboolean res; ++ char *session_id; ++ char *seat_id; ++ ++ session_id = NULL; ++ seat_id = NULL; ++ ++ res = get_current_session_id (connection, &session_id); ++ if (res) { ++ res = get_seat_id_for_session (connection, session_id, &seat_id); ++ } ++ g_free (session_id); ++ ++ return seat_id; ++} ++ ++static gboolean ++activate_session_id_for_ck (GDBusConnection *connection, ++ const char *seat_id, ++ const char *session_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ seat_id, ++ CK_SEAT_INTERFACE, ++ "ActivateSession", ++ g_variant_new ("(o)", session_id), ++ NULL, ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to activate session: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++ ++static gboolean ++session_is_login_window (GDBusConnection *connection, ++ const char *session_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ const char *value; ++ gboolean ret; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ session_id, ++ CK_SESSION_INTERFACE, ++ "GetSessionType", ++ NULL, ++ G_VARIANT_TYPE ("(s)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine session type: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(&s)", &value); ++ ++ if (value == NULL || value[0] == '\0' || strcmp (value, "LoginWindow") != 0) { ++ ret = FALSE; ++ } else { ++ ret = TRUE; ++ } ++ ++ g_variant_unref (reply); ++ ++ return ret; ++} ++ ++static gboolean ++seat_can_activate_sessions (GDBusConnection *connection, ++ const char *seat_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ gboolean ret; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ seat_id, ++ CK_SEAT_INTERFACE, ++ "CanActivateSessions", ++ NULL, ++ G_VARIANT_TYPE ("(b)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine if can activate sessions: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(b)", &ret); ++ g_variant_unref (reply); ++ ++ return ret; ++} ++ ++static const char ** ++seat_get_sessions (GDBusConnection *connection, ++ const char *seat_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ const char **value; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ seat_id, ++ CK_SEAT_INTERFACE, ++ "GetSessions", ++ NULL, ++ G_VARIANT_TYPE ("(ao)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to list sessions: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(^ao)", &value); ++ g_variant_unref (reply); ++ ++ return value; ++} ++ ++static gboolean ++get_login_window_session_id_for_ck (GDBusConnection *connection, ++ const char *seat_id, ++ char **session_id) ++{ ++ gboolean can_activate_sessions; ++ const char **sessions; ++ int i; ++ ++ *session_id = NULL; ++ sessions = NULL; ++ ++ g_debug ("checking if seat can activate sessions"); ++ ++ can_activate_sessions = seat_can_activate_sessions (connection, seat_id); ++ if (! can_activate_sessions) { ++ g_debug ("seat is unable to activate sessions"); ++ return FALSE; ++ } ++ ++ sessions = seat_get_sessions (connection, seat_id); ++ for (i = 0; sessions [i] != NULL; i++) { ++ const char *ssid; ++ ++ ssid = sessions [i]; ++ ++ if (session_is_login_window (connection, ssid)) { ++ *session_id = g_strdup (ssid); ++ break; ++ } ++ } ++ g_free (sessions); ++ ++ return TRUE; ++} ++ ++static gboolean ++goto_login_session_for_ck (GDBusConnection *connection, ++ GError **error) ++{ ++ gboolean ret; ++ gboolean res; ++ char *session_id; ++ char *seat_id; ++ ++ ret = FALSE; ++ ++ /* First look for any existing LoginWindow sessions on the seat. ++ If none are found, create a new one. */ ++ ++ seat_id = get_current_seat_id (connection); ++ if (seat_id == NULL || seat_id[0] == '\0') { ++ g_debug ("seat id is not set; can't switch sessions"); ++ g_set_error (error, GDM_COMMON_ERROR, 0, _("Could not identify the current session.")); ++ ++ return FALSE; ++ } ++ ++ res = get_login_window_session_id_for_ck (connection, seat_id, &session_id); ++ if (! res) { ++ g_set_error (error, GDM_COMMON_ERROR, 1, _("User unable to switch sessions.")); ++ return FALSE; ++ } ++ ++ if (session_id != NULL) { ++ res = activate_session_id_for_ck (connection, seat_id, session_id); ++ if (res) { ++ ret = TRUE; ++ } ++ } ++ ++ if (! ret && g_strcmp0 (seat_id, "/org/freedesktop/ConsoleKit/Seat1") == 0) { ++ res = create_transient_display (connection, error); ++ if (res) { ++ ret = TRUE; ++ } ++ } ++ ++ return ret; ++} ++#endif ++ ++#ifdef WITH_SYSTEMD ++ ++static gboolean ++activate_session_id_for_systemd (GDBusConnection *connection, ++ const char *seat_id, ++ const char *session_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ ++ reply = g_dbus_connection_call_sync (connection, + "org.freedesktop.login1", + "/org/freedesktop/login1", + "org.freedesktop.login1.Manager", +@@ -373,8 +677,8 @@ activate_session_id (GDBusConnection *connection, + } + + static gboolean +-get_login_window_session_id (const char *seat_id, +- char **session_id) ++get_login_window_session_id_for_systemd (const char *seat_id, ++ char **session_id) + { + gboolean ret; + int res, i; +@@ -442,8 +746,8 @@ out: + } + + static gboolean +-goto_login_session (GDBusConnection *connection, +- GError **error) ++goto_login_session_for_systemd (GDBusConnection *connection, ++ GError **error) + { + gboolean ret; + int res; +@@ -497,9 +801,9 @@ goto_login_session (GDBusConnection *connection, + return FALSE; + } + +- res = get_login_window_session_id (seat_id, &session_id); ++ res = get_login_window_session_id_for_systemd (seat_id, &session_id); + if (res && session_id != NULL) { +- res = activate_session_id (connection, seat_id, session_id); ++ res = activate_session_id_for_systemd (connection, seat_id, session_id); + + if (res) { + ret = TRUE; +@@ -518,6 +822,7 @@ goto_login_session (GDBusConnection *connection, + + return ret; + } ++#endif + + gboolean + gdm_goto_login_session (GError **error) +@@ -533,7 +838,17 @@ gdm_goto_login_session (GError **error) + return FALSE; + } + +- return goto_login_session (connection, error); ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return goto_login_session_for_systemd (connection, error); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return goto_login_session_for_ck (connection, error); ++#else ++ return FALSE; ++#endif + } + + static void diff --git a/x11/gdm/files/patch-common_gdm-common.h b/x11/gdm/files/patch-common_gdm-common.h new file mode 100644 index 000000000000..bcc6ec09f739 --- /dev/null +++ b/x11/gdm/files/patch-common_gdm-common.h @@ -0,0 +1,20 @@ +$OpenBSD: patch-common_gdm-common_h,v 1.2 2016/04/15 14:11:09 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + +--- common/gdm-common.h.orig Thu Apr 14 07:27:26 2016 ++++ common/gdm-common.h Fri Apr 15 15:05:26 2016 +@@ -31,6 +31,9 @@ + expr; \ + } while G_UNLIKELY (errno == EINTR); + ++/* check if logind is running */ ++#define LOGIND_RUNNING() (access("/run/systemd/seats/", F_OK) >= 0) ++ + GQuark gdm_common_error_quark (void); + #define GDM_COMMON_ERROR gdm_common_error_quark() + diff --git a/x11/gdm/files/patch-common_gdm-log.c b/x11/gdm/files/patch-common_gdm-log.c new file mode 100644 index 000000000000..be0bb062fe82 --- /dev/null +++ b/x11/gdm/files/patch-common_gdm-log.c @@ -0,0 +1,56 @@ +$OpenBSD: patch-common_gdm-log_c,v 1.1 2015/10/18 13:25:54 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + +--- common/gdm-log.c.orig 2018-02-19 19:16:32.000000000 +0100 ++++ common/gdm-log.c 2018-04-05 21:59:25.290775000 +0200 +@@ -30,7 +30,9 @@ + #include <unistd.h> + + #include <syslog.h> ++#ifdef WITH_SYSTEMD + #include <systemd/sd-daemon.h> ++#endif + + #include <glib.h> + #include <glib/gstdio.h> +@@ -125,12 +127,35 @@ gdm_log_set_debug (gboolean debug) + void + gdm_log_init (void) + { ++ const char *prg_name; ++ int options; ++ + if (initialized) + return; + + initialized = TRUE; + ++#ifdef WITH_SYSTEMD ++ is_sd_booted = sd_booted () > 0; ++#endif ++ + g_log_set_default_handler (gdm_log_default_handler, NULL); ++ ++ /* Only set up syslog if !systemd, otherwise with systemd ++ * enabled, we keep the default GLib log handler which goes to ++ * stderr, which is routed to the appropriate place in the ++ * systemd service file. ++ */ ++ if (!is_sd_booted) { ++ prg_name = g_get_prgname (); ++ ++ options = LOG_PID; ++#ifdef LOG_PERROR ++ options |= LOG_PERROR; ++#endif ++ ++ openlog (prg_name, options, LOG_DAEMON); ++ } + } + + void diff --git a/x11/gdm/files/patch-config.h.in b/x11/gdm/files/patch-config.h.in index d17901da1124..ff945d66ca43 100644 --- a/x11/gdm/files/patch-config.h.in +++ b/x11/gdm/files/patch-config.h.in @@ -1,12 +1,69 @@ ---- config.h.in.orig 2007-11-02 20:48:28.000000000 -0400 -+++ config.h.in 2007-11-02 20:49:39.000000000 -0400 -@@ -23,6 +23,9 @@ - #undef HAVE_LC_MESSAGES - #undef HAVE_LIBSM +--- config.h.in.orig 2018-01-14 13:03:01.638908000 +0100 ++++ config.h.in 2018-01-14 13:03:20.000000000 +0100 +@@ -113,6 +113,9 @@ + /* Define to 1 if you have the <execinfo.h> header file. */ + #undef HAVE_EXECINFO_H + ++/* Define to 1 if you have the `getttyent' function. */ ++#undef HAVE_GETTTYENT ++ + /* Define to 1 if you have the `getutxent' function. */ + #undef HAVE_GETUTXENT + +@@ -128,21 +131,12 @@ + /* Define if we have libgen.h */ + #undef HAVE_LIBGEN_H + +-/* Define to 1 if you have the <libutil.h> header file. */ +-#undef HAVE_LIBUTIL_H +- + /* Define if have libxdmcp */ #undef HAVE_LIBXDMCP -+#undef HAVE_LOGIN -+#undef HAVE_LOGOUT -+#undef HAVE_LOGWTMP + +-/* Define if have login */ +-#undef HAVE_LOGIN +- + /* Define if we have logincap */ #undef HAVE_LOGINCAP - #undef HAVE_LOGINDEVPERM - #undef HAVE_LOGINRESTRICTIONS + +-/* Define if have logout */ +-#undef HAVE_LOGOUT +- + /* Define if have logwtmp */ + #undef HAVE_LOGWTMP + +@@ -167,9 +161,6 @@ + /* Define to 1 if you have the <security/pam_ext.h> header file. */ + #undef HAVE_SECURITY_PAM_EXT_H + +-/* Define to 1 if you have the <security/pam_modules.h> header file. */ +-#undef HAVE_SECURITY_PAM_MODULES_H +- + /* Define to 1 if you have the <security/pam_modutil.h> header file. */ + #undef HAVE_SECURITY_PAM_MODUTIL_H + +@@ -239,6 +230,9 @@ + /* Define to 1 if you have the `updwtmpx' function. */ + #undef HAVE_UPDWTMPX + ++/* Define to 1 if you have the <util.h> header file. */ ++#undef HAVE_UTIL_H ++ + /* Define to 1 if you have the <utmpx.h> header file. */ + #undef HAVE_UTMPX_H + +@@ -372,8 +366,14 @@ + /* Version number of package */ + #undef VERSION + ++/* Define to enable ConsoleKit support */ ++#undef WITH_CONSOLE_KIT ++ + /* Define to enable plymouth support */ + #undef WITH_PLYMOUTH ++ ++/* Define to enable systemd support */ ++#undef WITH_SYSTEMD + + /* Define xevie option */ + #undef XEVIE_OPTION diff --git a/x11/gdm/files/patch-configure b/x11/gdm/files/patch-configure new file mode 100644 index 000000000000..c683d50161f5 --- /dev/null +++ b/x11/gdm/files/patch-configure @@ -0,0 +1,431 @@ +--- configure.orig 2018-01-14 13:01:10.629609000 +0100 ++++ configure 2018-01-14 13:02:06.272152000 +0100 +@@ -677,6 +677,7 @@ HAVE_ADT_TRUE + XEVIE_OPTION + CHECK_ACCELERATED_DIR + GNOME_SETTINGS_DAEMON_DIR ++CONSOLEKIT_DIR + GDM_OLD_CONF + GDM_CUSTOM_CONF + GDM_DEFAULTS_CONF +@@ -697,6 +698,9 @@ JOURNALD_LIBS + JOURNALD_CFLAGS + SYSTEMD_LIBS + SYSTEMD_CFLAGS ++WITH_CONSOLE_KIT ++WITH_CONSOLE_KIT_FALSE ++WITH_CONSOLE_KIT_TRUE + XINERAMA_LIBS + LIBWRAP_LIBS + OS_SOLARIS_FALSE +@@ -983,6 +987,8 @@ enable_authentication_scheme + with_xinerama + with_xdmcp + with_tcp_wrappers ++with_console_kit ++with_systemd + with_systemdsystemunitdir + enable_systemd_journal + enable_wayland_support +@@ -1002,6 +1008,7 @@ with_log_dir + with_at_bindir + with_defaults_conf + with_custom_conf ++with_consolekit_directory + with_gnome_settings_daemon_directory + with_check_accelerated_directory + with_xevie +@@ -1748,6 +1755,8 @@ Optional Packages: + --with-xinerama Add Xinerama support [default=auto] + --with-xdmcp Add XDMCP (remote login) support [default=auto] + --with-tcp-wrappers Use TCP Wrappers [default=auto] ++ --with-console-kit Add ConsoleKit support [default=auto] ++ --with-systemd Add systemd support [default=auto] + --with-systemdsystemunitdir=DIR + Directory for systemd service files + --with-plymouth Add plymouth support [default=yes] +@@ -1776,6 +1785,9 @@ Optional Packages: + --with-custom-conf=<FILENAME> + FILENAME to give to custom configuration file + [default=GDMCONFDIR/custom.conf] ++ --with-consolekit-directory ++ Specify the directory of ck-get-x11-display-device ++ [default=libexecdir] + --with-gnome-settings-daemon-directory + Specify the directory of gnome-settings-daemon used + by the chooser [default=libexecdir] +@@ -20860,24 +20872,6 @@ else + fi + + +-for ac_header in security/pam_modules.h security/pam_modutil.h security/pam_ext.h +-do : +- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +- cat >>confdefs.h <<_ACEOF +-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +-_ACEOF +- have_pam=yes +-else +- if test "x$have_pam" = xyes ; then +- as_fn_error $? "PAM development files not found." "$LINENO" 5 +- fi +-fi +- +-done +- +- + # Check whether --enable-console-helper was given. + if test "${enable_console_helper+set}" = set; then : + enableval=$enable_console_helper; +@@ -20922,7 +20916,23 @@ fi + + + ++# Check whether --with-console-kit was given. ++if test "${with_console_kit+set}" = set; then : ++ withval=$with_console_kit; ++else ++ with_console_kit=no ++fi + ++ ++ ++# Check whether --with-systemd was given. ++if test "${with_systemd+set}" = set; then : ++ withval=$with_systemd; with_systemd=$withval ++else ++ with_systemd=auto ++fi ++ ++ + # Check whether --with-systemdsystemunitdir was given. + if test "${with_systemdsystemunitdir+set}" = set; then : + withval=$with_systemdsystemunitdir; with_systemdsystemunitdir=$withval +@@ -21764,8 +21774,17 @@ fi + + $as_echo "#define SUPPORTS_PAM_EXTENSIONS 1" >>confdefs.h + ++else ++ if false; then ++ SUPPORTS_PAM_EXTENSIONS_TRUE= ++ SUPPORTS_PAM_EXTENSIONS_FALSE='#' ++else ++ SUPPORTS_PAM_EXTENSIONS_TRUE='#' ++ SUPPORTS_PAM_EXTENSIONS_FALSE= + fi + ++fi ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for keyctl_read in -lkeyutils" >&5 + $as_echo_n "checking for keyctl_read in -lkeyutils... " >&6; } + if ${ac_cv_lib_keyutils_keyctl_read+:} false; then : +@@ -22008,7 +22027,7 @@ fi + + + +-for ac_header in utmp.h utmpx.h libutil.h sys/param.h ++for ac_header in utmp.h utmpx.h util.h sys/param.h + do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` + ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +@@ -22021,7 +22040,7 @@ fi + + done + +-for ac_func in getutxent updwtmpx updwtmp ++for ac_func in getutxent getttyent updwtmpx updwtmp + do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` + ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +@@ -22033,94 +22052,6 @@ _ACEOF + fi + done + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for login in -lutil" >&5 +-$as_echo_n "checking for login in -lutil... " >&6; } +-if ${ac_cv_lib_util_login+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lutil $LIBS" +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char login (); +-int +-main () +-{ +-return login (); +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_link "$LINENO"; then : +- ac_cv_lib_util_login=yes +-else +- ac_cv_lib_util_login=no +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_login" >&5 +-$as_echo "$ac_cv_lib_util_login" >&6; } +-if test "x$ac_cv_lib_util_login" = xyes; then : +- +- +-$as_echo "#define HAVE_LOGIN 1" >>confdefs.h +- +- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" +-fi +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for logout in -lutil" >&5 +-$as_echo_n "checking for logout in -lutil... " >&6; } +-if ${ac_cv_lib_util_logout+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lutil $LIBS" +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char logout (); +-int +-main () +-{ +-return logout (); +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_link "$LINENO"; then : +- ac_cv_lib_util_logout=yes +-else +- ac_cv_lib_util_logout=no +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_logout" >&5 +-$as_echo "$ac_cv_lib_util_logout" >&6; } +-if test "x$ac_cv_lib_util_logout" = xyes; then : +- +- +-$as_echo "#define HAVE_LOGOUT 1" >>confdefs.h +- +- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" +-fi +- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logwtmp in -lutil" >&5 + $as_echo_n "checking for logwtmp in -lutil... " >&6; } + if ${ac_cv_lib_util_logwtmp+:} false; then : +@@ -23207,7 +23138,25 @@ fi + CPPFLAGS="$xinerama_save_cppflags" + + ++use_console_kit=no ++if test "x$with_console_kit" != "xno" ; then ++ use_console_kit=yes + ++$as_echo "#define WITH_CONSOLE_KIT 1" >>confdefs.h ++ ++fi ++ if test x$use_console_kit = xyes; then ++ WITH_CONSOLE_KIT_TRUE= ++ WITH_CONSOLE_KIT_FALSE='#' ++else ++ WITH_CONSOLE_KIT_TRUE='#' ++ WITH_CONSOLE_KIT_FALSE= ++fi ++ ++ ++ ++ ++ + pkg_failed=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5 + $as_echo_n "checking for SYSTEMD... " >&6; } +@@ -23216,12 +23165,12 @@ if test -n "$SYSTEMD_CFLAGS"; then + pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-login >= 186 libsystemd-daemon\""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "libsystemd-login >= 186 libsystemd-daemon") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd" 2>/dev/null` ++ pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-login >= 186 libsystemd-daemon" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -23233,12 +23182,12 @@ if test -n "$SYSTEMD_LIBS"; then + pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-login >= 186 libsystemd-daemon\""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "libsystemd-login >= 186 libsystemd-daemon") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd" 2>/dev/null` ++ pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-login >= 186 libsystemd-daemon" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -23259,50 +23208,49 @@ else + _pkg_short_errors_supported=no + fi + if test $_pkg_short_errors_supported = yes; then +- SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd" 2>&1` ++ SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd-login >= 186 libsystemd-daemon" 2>&1` + else +- SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd" 2>&1` ++ SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd-login >= 186 libsystemd-daemon" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SYSTEMD_PKG_ERRORS" >&5 + +- as_fn_error $? "Package requirements (libsystemd) were not met: +- +-$SYSTEMD_PKG_ERRORS +- +-Consider adjusting the PKG_CONFIG_PATH environment variable if you +-installed software in a non-standard prefix. +- +-Alternatively, you may set the environment variables SYSTEMD_CFLAGS +-and SYSTEMD_LIBS to avoid the need to call pkg-config. +-See the pkg-config man page for more details." "$LINENO" 5 ++ have_systemd=no + elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +-is in your PATH or set the PKG_CONFIG environment variable to the full +-path to pkg-config. +- +-Alternatively, you may set the environment variables SYSTEMD_CFLAGS +-and SYSTEMD_LIBS to avoid the need to call pkg-config. +-See the pkg-config man page for more details. +- +-To get pkg-config, see <http://pkg-config.freedesktop.org/>. +-See \`config.log' for more details" "$LINENO" 5; } ++ have_systemd=no + else + SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS + SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } ++ have_systemd=yes ++fi + ++if test "x$with_systemd" = "xauto" ; then ++ if test x$have_systemd = xno ; then ++ use_systemd=no ++ else ++ use_systemd=yes ++ fi ++else ++ use_systemd="$with_systemd" + fi + ++if test "x$use_systemd" != "xno" ; then ++ if test "x$have_systemd" = "xno"; then ++ as_fn_error $? "Systemd support explicitly required, but systemd not found" "$LINENO" 5 ++ fi + + ++$as_echo "#define WITH_SYSTEMD 1" >>confdefs.h + ++fi + ++ ++ ++ + pkg_failed=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JOURNALD" >&5 + $as_echo_n "checking for JOURNALD... " >&6; } +@@ -23727,6 +23675,18 @@ GDM_OLD_CONF='${gdmconfdir}/gdm.conf' + + + ++# Check whether --with-consolekit-directory was given. ++if test "${with_consolekit_directory+set}" = set; then : ++ withval=$with_consolekit_directory; ++else ++ with_consolekit_directory="\${libexecdir}" ++fi ++ ++ ++CONSOLEKIT_DIR=$with_consolekit_directory ++ ++ ++ + # Check whether --with-gnome-settings-daemon-directory was given. + if test "${with_gnome_settings_daemon_directory+set}" = set; then : + withval=$with_gnome_settings_daemon_directory; +@@ -24829,6 +24789,10 @@ if test -z "${SUPPORTS_PAM_EXTENSIONS_TRUE}" && test - + as_fn_error $? "conditional \"SUPPORTS_PAM_EXTENSIONS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${SUPPORTS_PAM_EXTENSIONS_TRUE}" && test -z "${SUPPORTS_PAM_EXTENSIONS_FALSE}"; then ++ as_fn_error $? "conditional \"SUPPORTS_PAM_EXTENSIONS\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${XDMCP_SUPPORT_TRUE}" && test -z "${XDMCP_SUPPORT_FALSE}"; then + as_fn_error $? "conditional \"XDMCP_SUPPORT\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +@@ -24841,6 +24805,10 @@ if test -z "${OS_SOLARIS_TRUE}" && test -z "${OS_SOLAR + as_fn_error $? "conditional \"OS_SOLARIS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${WITH_CONSOLE_KIT_TRUE}" && test -z "${WITH_CONSOLE_KIT_FALSE}"; then ++ as_fn_error $? "conditional \"WITH_CONSOLE_KIT\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${INSTALL_SYSTEMD_UNITS_TRUE}" && test -z "${INSTALL_SYSTEMD_UNITS_FALSE}"; then + as_fn_error $? "conditional \"INSTALL_SYSTEMD_UNITS\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +@@ -27325,6 +27293,7 @@ echo " + dmconfdir: ${dmconfdir} + localstatedir: ${localstatedir} + datadir: ${datadir} ++ consolekit location: ${with_consolekit_directory} + gnome-settings-daemon location: ${with_gnome_settings_daemon_directory} + gnome-session-check-accel location: ${with_check_accelerated_directory} + source code location: ${srcdir} +@@ -27354,6 +27323,8 @@ echo \ + " Xinerama support: ${XINERAMA_SUPPORT} + XDMCP support: ${XDMCP_SUPPORT} + SELinux support: ${use_selinux} ++ ConsoleKit support: ${use_console_kit} ++ systemd support: ${use_systemd} + systemd unit dir: ${with_systemdsystemunitdir} + plymouth support: ${use_plymouth} + wayland support: ${enable_wayland_support} +@@ -27362,3 +27333,4 @@ echo \ + Enable documentation: ${enable_documentation} + Install GDM's Xsession: ${enable_gdm_xsession} + " ++ diff --git a/x11/gdm/files/patch-daemon_Makefile.in b/x11/gdm/files/patch-daemon_Makefile.in index 4b6e01c7fe7d..91ba64a88646 100644 --- a/x11/gdm/files/patch-daemon_Makefile.in +++ b/x11/gdm/files/patch-daemon_Makefile.in @@ -1,10 +1,94 @@ ---- daemon/Makefile.in.orig 2013-04-12 00:53:59.667693353 +0000 -+++ daemon/Makefile.in 2013-04-12 00:54:27.682691596 +0000 -@@ -752,6 +752,7 @@ - gdm_session_worker_LDFLAGS = \ - $(XLIB_LIBS) \ - $(PAM_LIBS) \ -+ $(EXTRA_DAEMON_LIBS) \ +--- daemon/Makefile.in.orig 2018-01-14 12:25:16.930784000 +0100 ++++ daemon/Makefile.in 2018-01-14 12:25:17.007460000 +0100 +@@ -101,6 +101,7 @@ libexec_PROGRAMS = gdm-session-worker$(EXEEXT) \ + + sbin_PROGRAMS = gdm$(EXEEXT) $(am__EXEEXT_1) + @XDMCP_SUPPORT_TRUE@am__append_4 = $(XDMCP_SOURCES) ++@WITH_CONSOLE_KIT_TRUE@am__append_5 = $(CONSOLE_KIT_SOURCES) + subdir = daemon + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/m4/intltool.m4 \ +@@ -139,6 +140,8 @@ am__objects_2 = gdm-xdmcp-display-factory.$(OBJEXT) \ + gdm-xdmcp-display.$(OBJEXT) \ + gdm-xdmcp-chooser-display.$(OBJEXT) $(am__objects_1) + @XDMCP_SUPPORT_TRUE@am__objects_3 = $(am__objects_2) ++am__objects_4 = $(am__objects_1) ++@WITH_CONSOLE_KIT_TRUE@am__objects_5 = $(am__objects_4) + am_gdm_OBJECTS = main.$(OBJEXT) gdm-display-access-file.$(OBJEXT) \ + gdm-display-store.$(OBJEXT) gdm-display-factory.$(OBJEXT) \ + gdm-local-display-factory.$(OBJEXT) gdm-display.$(OBJEXT) \ +@@ -148,7 +151,7 @@ am_gdm_OBJECTS = main.$(OBJEXT) gdm-display-access-fil + gdm-session-record.$(OBJEXT) \ + gdm-session-worker-common.$(OBJEXT) \ + gdm-session-worker-job.$(OBJEXT) gdm-dbus-util.$(OBJEXT) \ +- $(am__objects_1) $(am__objects_3) ++ $(am__objects_1) $(am__objects_3) $(am__objects_5) + nodist_gdm_OBJECTS = gdm-display-glue.$(OBJEXT) \ + gdm-local-display-factory-glue.$(OBJEXT) \ + gdm-manager-glue.$(OBJEXT) gdm-local-display-glue.$(OBJEXT) \ +@@ -175,16 +178,16 @@ am__gdm_session_worker_SOURCES_DIST = session-worker-m + $(top_srcdir)/pam-extensions/gdm-pam-extensions.h \ + gdm-session-linux-auditor.h gdm-session-linux-auditor.c \ + gdm-session-solaris-auditor.h gdm-session-solaris-auditor.c +-@HAVE_LIBAUDIT_TRUE@am__objects_4 = \ ++@HAVE_LIBAUDIT_TRUE@am__objects_6 = \ + @HAVE_LIBAUDIT_TRUE@ gdm-session-linux-auditor.$(OBJEXT) +-@HAVE_ADT_TRUE@am__objects_5 = gdm-session-solaris-auditor.$(OBJEXT) ++@HAVE_ADT_TRUE@am__objects_7 = gdm-session-solaris-auditor.$(OBJEXT) + am_gdm_session_worker_OBJECTS = session-worker-main.$(OBJEXT) \ + gdm-session.$(OBJEXT) gdm-session-settings.$(OBJEXT) \ + gdm-session-auditor.$(OBJEXT) gdm-session-record.$(OBJEXT) \ + gdm-session-worker.$(OBJEXT) gdm-session-worker-job.$(OBJEXT) \ + gdm-session-worker-common.$(OBJEXT) gdm-dbus-util.$(OBJEXT) \ +- $(am__objects_1) $(am__objects_1) $(am__objects_4) \ +- $(am__objects_5) ++ $(am__objects_1) $(am__objects_1) $(am__objects_6) \ ++ $(am__objects_7) + nodist_gdm_session_worker_OBJECTS = gdm-session-glue.$(OBJEXT) \ + gdm-session-worker-glue.$(OBJEXT) \ + gdm-session-enum-types.$(OBJEXT) $(am__objects_1) +@@ -310,6 +313,7 @@ CHECK_CFLAGS = @CHECK_CFLAGS@ + CHECK_LIBS = @CHECK_LIBS@ + COMMON_CFLAGS = @COMMON_CFLAGS@ + COMMON_LIBS = @COMMON_LIBS@ ++CONSOLEKIT_DIR = @CONSOLEKIT_DIR@ + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ + CXX = @CXX@ +@@ -466,6 +470,7 @@ SYSTEMD_X_SERVER = @SYSTEMD_X_SERVER@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ + WARN_CFLAGS = @WARN_CFLAGS@ ++WITH_CONSOLE_KIT = @WITH_CONSOLE_KIT@ + XDMCP_LIBS = @XDMCP_LIBS@ + XEVIE_OPTION = @XEVIE_OPTION@ + XGETTEXT = @XGETTEXT@ +@@ -571,6 +576,7 @@ AM_CPPFLAGS = \ + -DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \ + -DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \ + -DGDM_SESSION_DEFAULT_PATH=\"$(GDM_SESSION_DEFAULT_PATH)\" \ ++ -DCONSOLEKIT_DIR=\"$(CONSOLEKIT_DIR)\" \ + $(DISABLE_DEPRECATED_CFLAGS) \ + $(DAEMON_CFLAGS) \ + $(XLIB_CFLAGS) \ +@@ -674,7 +680,8 @@ gdm_SOURCES = main.c gdm-display-access-file.c \ + gdm-session-record.c gdm-session-record.h \ + gdm-session-worker-common.c gdm-session-worker-common.h \ + gdm-session-worker-job.c gdm-session-worker-job.h \ +- gdm-dbus-util.c gdm-dbus-util.h $(NULL) $(am__append_4) ++ gdm-dbus-util.c gdm-dbus-util.h $(NULL) $(am__append_4) \ ++ $(am__append_5) + nodist_gdm_SOURCES = \ + gdm-display-glue.h \ + gdm-display-glue.c \ +@@ -701,8 +708,8 @@ XDMCP_SOURCES = \ + gdm-xdmcp-chooser-display.h \ + $(NULL) + +-EXTRA_gdm_SOURCES = \ +- $(XDMCP_SOURCES) \ ++EXTRA_gdm_SOURCES = $(XDMCP_SOURCES) $(NULL) $(CONSOLE_KIT_SOURCES) ++CONSOLE_KIT_SOURCES = \ $(NULL) - gdm_session_worker_LDADD = \ + gdm_LDADD = \ diff --git a/x11/gdm/files/patch-daemon_gdm-launch-environment.c b/x11/gdm/files/patch-daemon_gdm-launch-environment.c new file mode 100644 index 000000000000..cd14eaa21b58 --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-launch-environment.c @@ -0,0 +1,37 @@ +$OpenBSD: patch-daemon_gdm-launch-environment_c,v 1.8 2017/04/17 13:17:07 ajacoutot Exp $ + +XXX fix+push upstream + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 1ac67f522f5690c27023d98096ca817f12f7eb88 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:28:01 -0400 +Subject: drop consolekit support + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From a9cacb929470eb82582396984c61d5b611bfeb1a Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 14:33:40 -0400 +Subject: session: drop session-type property + +--- daemon/gdm-launch-environment.c.orig Wed Apr 12 15:47:09 2017 ++++ daemon/gdm-launch-environment.c Mon Apr 17 14:17:28 2017 +@@ -197,6 +197,9 @@ build_launch_environment (GdmLaunchEnvironment *launch + char *seat_id; + + seat_id = launch_environment->priv->x11_display_seat_id; ++ if (g_str_has_prefix (seat_id, "/org/freedesktop/ConsoleKit/")) { ++ seat_id += strlen ("/org/freedesktop/ConsoleKit/"); ++ } + + g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id)); + } +@@ -224,6 +227,8 @@ on_session_setup_complete (GdmSession *session, + gdm_session_set_environment_variable (launch_environment->priv->session, key, value); + } + g_hash_table_destroy (hash); ++ ++ gdm_session_select_session_type (launch_environment->priv->session, "LoginWindow"); + } + + static void diff --git a/x11/gdm/files/patch-daemon_gdm-local-display-factory.c b/x11/gdm/files/patch-daemon_gdm-local-display-factory.c new file mode 100644 index 000000000000..8ed9f5e00239 --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-local-display-factory.c @@ -0,0 +1,132 @@ +$OpenBSD: patch-daemon_gdm-local-display-factory_c,v 1.6 2017/03/03 13:01:26 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 1ac67f522f5690c27023d98096ca817f12f7eb88 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:28:01 -0400 +Subject: drop consolekit support + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + +--- daemon/gdm-local-display-factory.c.orig Wed Mar 1 16:58:36 2017 ++++ daemon/gdm-local-display-factory.c Fri Mar 3 12:00:56 2017 +@@ -42,6 +42,8 @@ + + #define GDM_LOCAL_DISPLAY_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_LOCAL_DISPLAY_FACTORY, GdmLocalDisplayFactoryPrivate)) + ++#define CK_SEAT1_PATH "/org/freedesktop/ConsoleKit/Seat1" ++ + #define GDM_DBUS_PATH "/org/gnome/DisplayManager" + #define GDM_LOCAL_DISPLAY_FACTORY_DBUS_PATH GDM_DBUS_PATH "/LocalDisplayFactory" + #define GDM_MANAGER_DBUS_NAME "org.gnome.DisplayManager.LocalDisplayFactory" +@@ -57,8 +59,10 @@ struct GdmLocalDisplayFactoryPrivate + /* FIXME: this needs to be per seat? */ + guint num_failures; + ++#ifdef WITH_SYSTEMD + guint seat_new_id; + guint seat_removed_id; ++#endif + }; + + enum { +@@ -206,8 +210,10 @@ gdm_local_display_factory_create_transient_display (Gd + + g_debug ("GdmLocalDisplayFactory: Creating transient display"); + +-#ifdef ENABLE_USER_DISPLAY_SERVER +- display = gdm_local_display_new (); ++#if defined ENABLE_USER_DISPLAY_SERVER && defined WITH_SYSTEMD ++ if (LOGIND_RUNNING() > 0) { ++ display = gdm_local_display_new (); ++ } + #else + if (display == NULL) { + guint32 num; +@@ -289,7 +295,7 @@ on_display_status_changed (GdmDisplay *dis + /* reset num failures */ + factory->priv->num_failures = 0; + +- gdm_local_display_factory_sync_seats (factory); ++ create_display (factory, seat_id, session_type, is_initial); + } + break; + case GDM_DISPLAY_FAILED: +@@ -368,7 +374,7 @@ create_display (GdmLocalDisplayFactory *factory, + + g_debug ("GdmLocalDisplayFactory: Adding display on seat %s", seat_id); + +-#ifdef ENABLE_USER_DISPLAY_SERVER ++#if defined ENABLE_USER_DISPLAY_SERVER && defined WITH_SYSTEMD + if (g_strcmp0 (seat_id, "seat0") == 0) { + display = gdm_local_display_new (); + if (session_type != NULL) { +@@ -400,6 +406,8 @@ create_display (GdmLocalDisplayFactory *factory, + return display; + } + ++#ifdef WITH_SYSTEMD ++ + static void + delete_display (GdmLocalDisplayFactory *factory, + const char *seat_id) { +@@ -536,6 +544,7 @@ gdm_local_display_factory_stop_monitor (GdmLocalDispla + factory->priv->seat_removed_id = 0; + } + } ++#endif + + static void + on_display_added (GdmDisplayStore *display_store, +@@ -576,6 +585,7 @@ static gboolean + gdm_local_display_factory_start (GdmDisplayFactory *base_factory) + { + GdmLocalDisplayFactory *factory = GDM_LOCAL_DISPLAY_FACTORY (base_factory); ++ GdmDisplay *display; + GdmDisplayStore *store; + + g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE); +@@ -594,8 +604,17 @@ gdm_local_display_factory_start (GdmDisplayFactory *ba + factory, + 0); + +- gdm_local_display_factory_start_monitor (factory); +- return gdm_local_display_factory_sync_seats (factory); ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ gdm_local_display_factory_start_monitor (factory); ++ return gdm_local_display_factory_sync_seats (factory); ++ } ++#endif ++ ++ /* On ConsoleKit just create Seat1, and that's it. */ ++ display = create_display (factory, CK_SEAT1_PATH, NULL, TRUE); ++ ++ return display != NULL; + } + + static gboolean +@@ -606,7 +625,9 @@ gdm_local_display_factory_stop (GdmDisplayFactory *bas + + g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE); + ++#ifdef WITH_SYSTEMD + gdm_local_display_factory_stop_monitor (factory); ++#endif + + store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory)); + +@@ -762,7 +783,9 @@ gdm_local_display_factory_finalize (GObject *object) + + g_hash_table_destroy (factory->priv->used_display_numbers); + ++#ifdef WITH_SYSTEMD + gdm_local_display_factory_stop_monitor (factory); ++#endif + + G_OBJECT_CLASS (gdm_local_display_factory_parent_class)->finalize (object); + } diff --git a/x11/gdm/files/patch-daemon_gdm-manager.c b/x11/gdm/files/patch-daemon_gdm-manager.c new file mode 100644 index 000000000000..af1ada894ddd --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-manager.c @@ -0,0 +1,946 @@ +$OpenBSD: patch-daemon_gdm-manager_c,v 1.14 2017/05/10 10:18:15 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 21905303afbd508f3bf599ad219c9209413c53a2 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Wed, 5 Apr 2017 12:11:20 -0400 +Subject: manager: stop transient greeter session when done with it + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 22c332baaf8ad6d7082c5b01250bae70934c2fd1 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Tue, 4 Apr 2017 17:07:04 -0400 +Subject: manager: make sure we end up on a login screen + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 1ac67f522f5690c27023d98096ca817f12f7eb88 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:28:01 -0400 +Subject: drop consolekit support + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + + +--- daemon/gdm-manager.c.orig 2017-10-24 21:33:58.000000000 +0200 ++++ daemon/gdm-manager.c 2018-01-14 13:33:21.588929000 +0100 +@@ -36,7 +36,9 @@ + + #include <act/act-user-manager.h> + ++#ifdef WITH_SYSTEMD + #include <systemd/sd-login.h> ++#endif + + #include "gdm-common.h" + +@@ -63,6 +65,15 @@ + + #define INITIAL_SETUP_USERNAME "gnome-initial-setup" + ++#define CK_NAME "org.freedesktop.ConsoleKit" ++#define CK_PATH "/org/freedesktop/ConsoleKit" ++#define CK_INTERFACE "org.freedesktop.ConsoleKit" ++ ++#define CK_MANAGER_PATH "/org/freedesktop/ConsoleKit/Manager" ++#define CK_MANAGER_INTERFACE "org.freedesktop.ConsoleKit.Manager" ++#define CK_SEAT_INTERFACE "org.freedesktop.ConsoleKit.Seat" ++#define CK_SESSION_INTERFACE "org.freedesktop.ConsoleKit.Session" ++ + typedef struct + { + GdmManager *manager; +@@ -206,9 +217,10 @@ plymouth_quit_without_transition (void) + } + #endif + ++#ifdef WITH_SYSTEMD + static char * +-get_session_id_for_pid (pid_t pid, +- GError **error) ++get_session_id_for_pid_systemd (pid_t pid, ++ GError **error) + { + char *session, *gsession; + int ret; +@@ -233,11 +245,61 @@ get_session_id_for_pid (pid_t pid, + return NULL; + } + } ++#endif + ++#ifdef WITH_CONSOLE_KIT ++static char * ++get_session_id_for_pid_consolekit (GDBusConnection *connection, ++ pid_t pid, ++ GError **error) ++{ ++ GVariant *reply; ++ char *retval; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ "org.freedesktop.ConsoleKit", ++ "/org/freedesktop/ConsoleKit/Manager", ++ "org.freedesktop.ConsoleKit.Manager", ++ "GetSessionForUnixProcess", ++ g_variant_new ("(u)", pid), ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, error); ++ if (reply == NULL) { ++ return NULL; ++ } ++ ++ g_variant_get (reply, "(o)", &retval); ++ g_variant_unref (reply); ++ ++ return retval; ++} ++#endif ++ ++static char * ++get_session_id_for_pid (GDBusConnection *connection, ++ pid_t pid, ++ GError **error) ++{ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return get_session_id_for_pid_systemd (pid, error); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return get_session_id_for_pid_consolekit (connection, pid, error); ++#endif ++ ++ return NULL; ++} ++ ++#ifdef WITH_SYSTEMD + static gboolean +-get_uid_for_session_id (const char *session_id, +- uid_t *uid, +- GError **error) ++get_uid_for_systemd_session_id (const char *session_id, ++ uid_t *uid, ++ GError **error) + { + int ret; + +@@ -254,8 +316,62 @@ get_uid_for_session_id (const char *session_id, + + return TRUE; + } ++#endif + ++#ifdef WITH_CONSOLE_KIT + static gboolean ++get_uid_for_consolekit_session_id (GDBusConnection *connection, ++ const char *session_id, ++ uid_t *out_uid, ++ GError **error) ++{ ++ GVariant *reply; ++ guint32 uid; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ "org.freedesktop.ConsoleKit", ++ session_id, ++ "org.freedesktop.ConsoleKit.Session", ++ "GetUnixUser", ++ NULL, ++ G_VARIANT_TYPE ("(u)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ error); ++ if (reply == NULL) { ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(u)", &uid); ++ g_variant_unref (reply); ++ ++ *out_uid = (uid_t) uid; ++ ++ return TRUE; ++} ++#endif ++ ++static gboolean ++get_uid_for_session_id (GDBusConnection *connection, ++ const char *session_id, ++ uid_t *uid, ++ GError **error) ++{ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return get_uid_for_systemd_session_id (session_id, uid, error); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return get_uid_for_consolekit_session_id (connection, session_id, uid, error); ++#endif ++ ++ return FALSE; ++} ++ ++static gboolean + lookup_by_session_id (const char *id, + GdmDisplay *display, + gpointer user_data) +@@ -267,11 +383,51 @@ lookup_by_session_id (const char *id, + return g_strcmp0 (current, looking_for) == 0; + } + ++#ifdef WITH_CONSOLE_KIT + static gboolean +-is_login_session (GdmManager *self, +- const char *session_id, +- GError **error) ++is_consolekit_login_session (GdmManager *self, ++ GDBusConnection *connection, ++ const char *session_id, ++ GError **error) + { ++ GVariant *reply; ++ char *session_type = NULL; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ "org.freedesktop.ConsoleKit", ++ session_id, ++ "org.freedesktop.ConsoleKit.Session", ++ "GetSessionType", ++ NULL, ++ G_VARIANT_TYPE ("(s)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ error); ++ if (reply == NULL) { ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(s)", &session_type); ++ g_variant_unref (reply); ++ ++ if (g_strcmp0 (session_type, "LoginWindow") != 0) { ++ g_free (session_type); ++ ++ return FALSE; ++ } ++ ++ g_free (session_type); ++ return TRUE; ++} ++#endif ++ ++#ifdef WITH_SYSTEMD ++static gboolean ++is_systemd_login_session (GdmManager *self, ++ const char *session_id, ++ GError **error) ++{ + char *session_class = NULL; + int ret; + +@@ -295,12 +451,33 @@ is_login_session (GdmManager *self, + g_free (session_class); + return TRUE; + } ++#endif + + static gboolean +-activate_session_id (GdmManager *manager, +- const char *seat_id, +- const char *session_id) ++is_login_session (GdmManager *self, ++ GDBusConnection *connection, ++ const char *session_id, ++ GError **error) + { ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return is_systemd_login_session (self, session_id, error); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return is_consolekit_login_session (self, connection, session_id, error); ++#endif ++ ++ return FALSE; ++} ++ ++#ifdef WITH_SYSTEMD ++static gboolean ++activate_session_id_for_systemd (GdmManager *manager, ++ const char *seat_id, ++ const char *session_id) ++{ + GError *error = NULL; + GVariant *reply; + +@@ -326,16 +503,75 @@ activate_session_id (GdmManager *manager, + + return TRUE; + } ++#endif + ++#ifdef WITH_CONSOLE_KIT + static gboolean +-session_unlock (GdmManager *manager, +- const char *ssid) ++activate_session_id_for_ck (GdmManager *manager, ++ const char *seat_id, ++ const char *session_id) + { + GError *error = NULL; + GVariant *reply; + +- g_debug ("Unlocking session %s", ssid); ++ reply = g_dbus_connection_call_sync (manager->priv->connection, ++ CK_NAME, ++ seat_id, ++ "org.freedesktop.ConsoleKit.Seat", ++ "ActivateSession", ++ g_variant_new ("(o)", session_id), ++ NULL, /* expected reply */ ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ if (reply == NULL) { ++ g_debug ("GdmManager: ConsoleKit %s raised:\n %s\n\n", ++ g_dbus_error_get_remote_error (error), error->message); ++ g_error_free (error); + ++ /* It is very likely that the "error" just reported is ++ * that the session is already active. Unfortunately, ++ * ConsoleKit doesn't use proper error codes and it ++ * translates the error message, so we have no real way ++ * to detect this case... ++ */ ++ return TRUE; ++ } ++ ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++#endif ++ ++static gboolean ++activate_session_id (GdmManager *manager, ++ const char *seat_id, ++ const char *session_id) ++{ ++ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return activate_session_id_for_systemd (manager, seat_id, session_id); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return activate_session_id_for_ck (manager, seat_id, session_id); ++#else ++ return FALSE; ++#endif ++} ++ ++#ifdef WITH_SYSTEMD ++static gboolean ++session_unlock_for_systemd (GdmManager *manager, ++ const char *ssid) ++{ ++ GError *error = NULL; ++ GVariant *reply; ++ + reply = g_dbus_connection_call_sync (manager->priv->connection, + "org.freedesktop.login1", + "/org/freedesktop/login1", +@@ -358,7 +594,60 @@ session_unlock (GdmManager *manager, + + return TRUE; + } ++#endif + ++#ifdef WITH_CONSOLE_KIT ++static gboolean ++session_unlock_for_ck (GdmManager *manager, ++ const char *ssid) ++{ ++ GError *error = NULL; ++ GVariant *reply; ++ ++ reply = g_dbus_connection_call_sync (manager->priv->connection, ++ CK_NAME, ++ ssid, ++ CK_SESSION_INTERFACE, ++ "Unlock", ++ NULL, /* parameters */ ++ NULL, /* expected reply */ ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ if (reply == NULL) { ++ g_debug ("GdmManager: ConsoleKit %s raised:\n %s\n\n", ++ g_dbus_error_get_remote_error (error), error->message); ++ g_error_free (error); ++ return FALSE; ++ } ++ ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++#endif ++ ++static gboolean ++session_unlock (GdmManager *manager, ++ const char *ssid) ++{ ++ ++ g_debug ("Unlocking session %s", ssid); ++ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return session_unlock_for_systemd (manager, ssid); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return session_unlock_for_ck (manager, ssid); ++#else ++ return TRUE; ++#endif ++} ++ + static GdmSession * + find_session_for_user_on_seat (GdmManager *manager, + const char *username, +@@ -389,11 +678,44 @@ find_session_for_user_on_seat (GdmManager *manager, + return NULL; + } + ++#ifdef WITH_CONSOLE_KIT + static gboolean +-is_remote_session (GdmManager *self, +- const char *session_id, +- GError **error) ++is_consolekit_remote_session (GdmManager *self, ++ GDBusConnection *connection, ++ const char *session_id, ++ GError **error) + { ++ GVariant *reply; ++ gboolean is_remote; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ "org.freedesktop.ConsoleKit", ++ session_id, ++ "org.freedesktop.ConsoleKit.Session", ++ "IsLocal", ++ NULL, ++ G_VARIANT_TYPE ("(b)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ error); ++ if (reply == NULL) { ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(b)", &is_remote); ++ g_variant_unref (reply); ++ ++ return is_remote; ++} ++#endif ++ ++#ifdef WITH_SYSTEMD ++static gboolean ++is_systemd_remote_session (GdmManager *self, ++ const char *session_id, ++ GError **error) ++{ + char *seat; + int ret; + gboolean is_remote; +@@ -418,10 +740,31 @@ is_remote_session (GdmManager *self, + + return is_remote; + } ++#endif + ++static gboolean ++is_remote_session (GdmManager *self, ++ GDBusConnection *connection, ++ const char *session_id, ++ GError **error) ++{ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return is_systemd_remote_session (self, session_id, error); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return is_consolekit_remote_session (self, connection, session_id, error); ++#endif ++ ++ return FALSE; ++} ++ ++#ifdef WITH_SYSTEMD + static char * +-get_seat_id_for_session_id (const char *session_id, +- GError **error) ++get_seat_id_for_systemd_session_id (const char *session_id, ++ GError **error) + { + int ret; + char *seat, *out_seat; +@@ -446,11 +789,62 @@ get_seat_id_for_session_id (const char *session_id, + + return out_seat; + } ++#endif + ++#ifdef WITH_CONSOLE_KIT + static char * +-get_tty_for_session_id (const char *session_id, +- GError **error) ++get_seat_id_for_consolekit_session_id (GDBusConnection *connection, ++ const char *session_id, ++ GError **error) + { ++ GVariant *reply; ++ char *retval; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ "org.freedesktop.ConsoleKit", ++ session_id, ++ "org.freedesktop.ConsoleKit.Session", ++ "GetSeatId", ++ NULL, ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ error); ++ if (reply == NULL) { ++ return NULL; ++ } ++ ++ g_variant_get (reply, "(o)", &retval); ++ g_variant_unref (reply); ++ ++ return retval; ++} ++#endif ++ ++static char * ++get_seat_id_for_session_id (GDBusConnection *connection, ++ const char *session_id, ++ GError **error) ++{ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return get_seat_id_for_systemd_session_id (session_id, error); ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ return get_seat_id_for_consolekit_session_id (connection, session_id, error); ++#endif ++ ++ return NULL; ++} ++ ++#ifdef WITH_SYSTEMD ++static char * ++get_tty_for_systemd_session_id (const char *session_id, ++ GError **error) ++{ + int ret; + char *tty, *out_tty; + +@@ -473,7 +867,21 @@ get_tty_for_session_id (const char *session_id, + + return out_tty; + } ++#endif + ++static char * ++get_tty_for_session_id (const char *session_id, ++ GError **error) ++{ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return get_tty_for_systemd_session_id (session_id, error); ++ } ++#endif ++ ++ return NULL; ++} ++ + static void + get_display_and_details_for_bus_sender (GdmManager *self, + GDBusConnection *connection, +@@ -516,7 +924,7 @@ get_display_and_details_for_bus_sender (GdmManager + goto out; + } + +- session_id = get_session_id_for_pid (pid, &error); ++ session_id = get_session_id_for_pid (connection, pid, &error); + + if (session_id == NULL) { + g_debug ("GdmManager: Error while retrieving session id for sender: %s", +@@ -530,7 +938,7 @@ get_display_and_details_for_bus_sender (GdmManager + } + + if (out_is_login_screen != NULL) { +- *out_is_login_screen = is_login_session (self, session_id, &error); ++ *out_is_login_screen = is_login_session (self, connection, session_id, &error); + + if (error != NULL) { + g_debug ("GdmManager: Error while checking if sender is login screen: %s", +@@ -540,7 +948,7 @@ get_display_and_details_for_bus_sender (GdmManager + } + } + +- if (!get_uid_for_session_id (session_id, &session_uid, &error)) { ++ if (!get_uid_for_session_id (connection, session_id, &session_uid, &error)) { + g_debug ("GdmManager: Error while retrieving uid for session: %s", + error->message); + g_error_free (error); +@@ -557,7 +965,7 @@ get_display_and_details_for_bus_sender (GdmManager + } + + if (out_seat_id != NULL) { +- *out_seat_id = get_seat_id_for_session_id (session_id, &error); ++ *out_seat_id = get_seat_id_for_session_id (connection, session_id, &error); + + if (error != NULL) { + g_debug ("GdmManager: Error while retrieving seat id for session: %s", +@@ -567,7 +975,7 @@ get_display_and_details_for_bus_sender (GdmManager + } + + if (out_is_remote != NULL) { +- *out_is_remote = is_remote_session (self, session_id, &error); ++ *out_is_remote = is_remote_session (self, connection, session_id, &error); + + if (error != NULL) { + g_debug ("GdmManager: Error while retrieving remoteness for session: %s", +@@ -725,29 +1133,6 @@ out: + return recorded; + } + +-static GdmSession * +-find_user_session_for_display (GdmManager *self, +- GdmDisplay *display) +-{ +- +- GList *node = self->priv->user_sessions; +- +- while (node != NULL) { +- GdmSession *session = node->data; +- GdmDisplay *candidate_display; +- GList *next_node = node->next; +- +- candidate_display = get_display_for_user_session (session); +- +- if (candidate_display == display) +- return session; +- +- node = next_node; +- } +- +- return NULL; +-} +- + static gboolean + gdm_manager_handle_register_display (GdmDBusManager *manager, + GDBusMethodInvocation *invocation, +@@ -787,7 +1172,7 @@ gdm_manager_handle_register_display (GdmDBusManager + } + } + +- session = find_user_session_for_display (self, display); ++ session = get_user_session_for_display (display); + + if (session != NULL) { + GPid pid; +@@ -961,7 +1346,8 @@ on_reauthentication_client_rejected (GdmSession + * same audit session, ignore it since it doesn't "own" the + * reauthentication session + */ +- client_session_id = get_session_id_for_pid (pid_of_client, ++ client_session_id = get_session_id_for_pid (self->priv->connection, ++ pid_of_client, + NULL); + session_id = g_object_get_data (G_OBJECT (session), "caller-session-id"); + +@@ -1173,16 +1559,20 @@ static gboolean + display_is_on_seat0 (GdmDisplay *display) + { + gboolean is_on_seat0 = TRUE; +- char *seat_id = NULL; + +- g_object_get (G_OBJECT (display), "seat-id", &seat_id, NULL); ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ char *seat_id = NULL; + +- if (g_strcmp0 (seat_id, "seat0") != 0) { +- is_on_seat0 = FALSE; +- } ++ g_object_get (G_OBJECT (display), "seat-id", &seat_id, NULL); + +- g_free (seat_id); ++ if (g_strcmp0 (seat_id, "seat0") != 0) { ++ is_on_seat0 = FALSE; ++ } + ++ g_free (seat_id); ++ } ++#endif + return is_on_seat0; + } + +@@ -1320,133 +1710,6 @@ maybe_start_pending_initial_login (GdmManager *manager + g_free (user_session_seat_id); + } + +-static gboolean +-get_login_window_session_id (const char *seat_id, +- char **session_id) +-{ +- gboolean ret; +- int res, i; +- char **sessions; +- char *service_id; +- char *service_class; +- char *state; +- +- res = sd_seat_get_sessions (seat_id, &sessions, NULL, NULL); +- if (res < 0) { +- g_debug ("Failed to determine sessions: %s", strerror (-res)); +- return FALSE; +- } +- +- if (sessions == NULL || sessions[0] == NULL) { +- *session_id = NULL; +- ret = TRUE; +- goto out; +- } +- +- for (i = 0; sessions[i]; i ++) { +- +- res = sd_session_get_class (sessions[i], &service_class); +- if (res < 0) { +- g_debug ("failed to determine class of session %s: %s", sessions[i], strerror (-res)); +- ret = FALSE; +- goto out; +- } +- +- if (strcmp (service_class, "greeter") != 0) { +- free (service_class); +- continue; +- } +- +- free (service_class); +- +- ret = sd_session_get_state (sessions[i], &state); +- if (ret < 0) { +- g_debug ("failed to determine state of session %s: %s", sessions[i], strerror (-res)); +- ret = FALSE; +- goto out; +- } +- +- if (g_strcmp0 (state, "closing") == 0) { +- free (state); +- continue; +- } +- free (state); +- +- res = sd_session_get_service (sessions[i], &service_id); +- if (res < 0) { +- g_debug ("failed to determine service of session %s: %s", sessions[i], strerror (-res)); +- ret = FALSE; +- goto out; +- } +- +- if (strcmp (service_id, "gdm-launch-environment") == 0) { +- *session_id = g_strdup (sessions[i]); +- ret = TRUE; +- +- free (service_id); +- goto out; +- } +- +- free (service_id); +- } +- +- *session_id = NULL; +- ret = TRUE; +- +-out: +- if (sessions) { +- for (i = 0; sessions[i]; i ++) { +- free (sessions[i]); +- } +- +- free (sessions); +- } +- +- return ret; +-} +- +-static void +-activate_login_window_session_on_seat (GdmManager *self, +- const char *seat_id) +-{ +- char *session_id; +- +- if (!get_login_window_session_id (seat_id, &session_id)) { +- return; +- } +- +- activate_session_id (self, seat_id, session_id); +-} +- +-static void +-maybe_activate_other_session (GdmManager *self, +- GdmDisplay *old_display) +-{ +- char *seat_id = NULL; +- char *session_id; +- int ret; +- +- g_object_get (G_OBJECT (old_display), +- "seat-id", &seat_id, +- NULL); +- +- ret = sd_seat_get_active (seat_id, &session_id, NULL); +- +- if (ret == 0) { +- GdmDisplay *display; +- +- display = gdm_display_store_find (self->priv->display_store, +- lookup_by_session_id, +- (gpointer) session_id); +- +- if (display == NULL) { +- activate_login_window_session_on_seat (self, seat_id); +- } +- } +- +- g_free (seat_id); +-} +- + static const char * + get_username_for_greeter_display (GdmManager *manager, + GdmDisplay *display) +@@ -1692,7 +1955,6 @@ on_display_status_changed (GdmDisplay *display, + manager->priv->ran_once = TRUE; + } + maybe_start_pending_initial_login (manager, display); +- maybe_activate_other_session (manager, display); + break; + default: + break; +@@ -2027,11 +2289,57 @@ on_user_session_died (GdmSession *session, + } + + static char * ++query_ck_for_display_device (GdmManager *manager, ++ GdmDisplay *display) ++{ ++ char *out; ++ char *command; ++ char *display_name = NULL; ++ int status; ++ gboolean res; ++ GError *error; ++ ++ g_object_get (G_OBJECT (display), ++ "x11-display-name", &display_name, ++ NULL); ++ ++ error = NULL; ++ command = g_strdup_printf (CONSOLEKIT_DIR "/ck-get-x11-display-device --display %s", ++ display_name); ++ g_free (display_name); ++ ++ g_debug ("GdmManager: Running helper %s", command); ++ out = NULL; ++ res = g_spawn_command_line_sync (command, ++ &out, ++ NULL, ++ &status, ++ &error); ++ if (! res) { ++ g_warning ("GdmManager: Could not run helper %s: %s", command, error->message); ++ g_error_free (error); ++ } else { ++ out = g_strstrip (out); ++ g_debug ("GdmManager: Got tty: '%s'", out); ++ } ++ ++ g_free (command); ++ ++ return out; ++} ++ ++static char * + get_display_device (GdmManager *manager, + GdmDisplay *display) + { +- /* systemd finds the display device out on its own based on the display */ +- return NULL; ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ /* systemd finds the display device out on its own based on the display */ ++ return NULL; ++ } ++#endif ++ ++ return query_ck_for_display_device (manager, display); + } + + static void +@@ -2040,25 +2348,6 @@ on_session_reauthenticated (GdmSession *session, + GdmManager *manager) + { + gboolean fail_if_already_switched = FALSE; +- +- if (gdm_session_get_display_mode (session) == GDM_SESSION_DISPLAY_MODE_REUSE_VT) { +- const char *seat_id; +- char *session_id; +- +- seat_id = gdm_session_get_display_seat_id (session); +- if (get_login_window_session_id (seat_id, &session_id)) { +- GdmDisplay *display = gdm_display_store_find (manager->priv->display_store, +- lookup_by_session_id, +- (gpointer) session_id); +- +- if (display != NULL) { +- gdm_display_stop_greeter_session (display); +- gdm_display_unmanage (display); +- gdm_display_finish (display); +- } +- g_free (session_id); +- } +- } + + /* There should already be a session running, so jump to its + * VT. In the event we're already on the right VT, (i.e. user diff --git a/x11/gdm/files/patch-daemon_gdm-server.c b/x11/gdm/files/patch-daemon_gdm-server.c new file mode 100644 index 000000000000..22325e63a15f --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-server.c @@ -0,0 +1,167 @@ +--- daemon/gdm-server.c.orig 2017-05-05 16:40:44.000000000 +0200 ++++ daemon/gdm-server.c 2017-06-08 10:39:30.725180000 +0200 +@@ -43,7 +43,9 @@ + #include <linux/vt.h> + #endif + ++#ifdef WITH_SYSTEMD + #include <systemd/sd-daemon.h> ++#endif + + #ifdef ENABLE_SYSTEMD_JOURNAL + #include <systemd/sd-journal.h> +@@ -122,23 +124,65 @@ + + G_DEFINE_TYPE (GdmServer, gdm_server, G_TYPE_OBJECT) + ++static char * ++_gdm_server_query_ck_for_display_device (GdmServer *server) ++{ ++ char *out; ++ char *command; ++ int status; ++ gboolean res; ++ GError *error; ++ ++ g_return_val_if_fail (GDM_IS_SERVER (server), NULL); ++ ++ error = NULL; ++ command = g_strdup_printf (CONSOLEKIT_DIR "/ck-get-x11-display-device --display %s", ++ server->priv->display_name); ++ ++ g_debug ("GdmServer: Running helper %s", command); ++ out = NULL; ++ res = g_spawn_command_line_sync (command, ++ &out, ++ NULL, ++ &status, ++ &error); ++ if (! res) { ++ g_warning ("Could not run helper: %s", error->message); ++ g_error_free (error); ++ } else { ++ out = g_strstrip (out); ++ g_debug ("GdmServer: Got tty: '%s'", out); ++ } ++ ++ g_free (command); ++ ++ return out; ++} ++ + char * + gdm_server_get_display_device (GdmServer *server) + { +- /* systemd finds the display device out on its own based on the display */ +- return NULL; ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ /* systemd finds the display device out on its own based on the display */ ++ return NULL; ++ } ++#endif ++ ++ if (server->priv->display_device == NULL) { ++ server->priv->display_device = ++ _gdm_server_query_ck_for_display_device (server); ++ ++ g_object_notify (G_OBJECT (server), "display-device"); ++ } ++ ++ return g_strdup (server->priv->display_device); + } + + static void + gdm_server_ready (GdmServer *server) + { + g_debug ("GdmServer: Got USR1 from X server - emitting READY"); +- +- gdm_run_script (GDMCONFDIR "/Init", GDM_USERNAME, +- server->priv->display_name, +- NULL, /* hostname */ +- server->priv->auth_file); +- + g_signal_emit (server, signals[READY], 0); + } + +@@ -226,8 +270,10 @@ + debug_options = ""; + } + +-#define X_SERVER_ARG_FORMAT " -background none -noreset -verbose %s%s" ++ #define X_SERVER_ARG_FORMAT " -background none -noreset -verbose %s%s" + ++#ifdef WITH_SYSTEMD ++ + /* This is a temporary hack to work around the fact that XOrg + * currently lacks support for multi-seat hotplugging for + * display devices. This bit should be removed as soon as XOrg +@@ -242,6 +288,10 @@ + * wasn't booted using systemd, or b) the wrapper tool is + * missing, or c) we are running for the main seat 'seat0'. */ + ++ if (!LOGIND_RUNNING()) { ++ goto fallback; ++ } ++ + #ifdef ENABLE_SYSTEMD_JOURNAL + /* For systemd, we don't have a log file but instead log to stdout, + so set it to the xserver's built-in default verbosity */ +@@ -264,8 +314,9 @@ + return; + + fallback: +- server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options); ++#endif + ++ server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options); + } + + static gboolean +@@ -315,10 +366,12 @@ + argv[len++] = g_strdup (server->priv->auth_file); + } + +- if (server->priv->display_seat_id != NULL) { ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING() && server->priv->display_seat_id != NULL) { + argv[len++] = g_strdup ("-seat"); + argv[len++] = g_strdup (server->priv->display_seat_id); + } ++#endif + + /* If we were compiled with Xserver >= 1.17 we need to specify + * '-listen tcp' as the X server dosen't listen on tcp sockets +@@ -657,18 +710,14 @@ + g_signal_emit (server, signals [DIED], 0, num); + } + ++ active_servers = g_slist_remove (active_servers, server); ++ + g_spawn_close_pid (server->priv->pid); + server->priv->pid = -1; + + g_object_unref (server); + } + +-static void +-prune_active_servers_list (GdmServer *server) +-{ +- active_servers = g_slist_remove (active_servers, server); +-} +- + static gboolean + gdm_server_spawn (GdmServer *server, + const char *vtarg, +@@ -707,11 +756,6 @@ + g_free (freeme); + + active_servers = g_slist_append (active_servers, server); +- +- g_object_weak_ref (G_OBJECT (server), +- (GWeakNotify) +- prune_active_servers_list, +- server); + + gdm_server_launch_sigusr1_thread_if_needed (); + diff --git a/x11/gdm/files/patch-daemon_gdm-session-worker-job.c b/x11/gdm/files/patch-daemon_gdm-session-worker-job.c new file mode 100644 index 000000000000..cd7f6b0c27f1 --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-session-worker-job.c @@ -0,0 +1,20 @@ +$OpenBSD: patch-daemon_gdm-session-worker-job_c,v 1.1 2015/10/18 13:25:54 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + +--- daemon/gdm-session-worker-job.c.orig Mon Sep 21 16:12:33 2015 ++++ daemon/gdm-session-worker-job.c Sun Oct 18 14:23:39 2015 +@@ -36,7 +36,9 @@ + #include <sys/prctl.h> + #endif + ++#ifdef WITH_SYSTEMD + #include <systemd/sd-daemon.h> ++#endif + + #ifdef ENABLE_SYSTEMD_JOURNAL + #include <systemd/sd-journal.h> diff --git a/x11/gdm/files/patch-daemon_gdm-session-worker.c b/x11/gdm/files/patch-daemon_gdm-session-worker.c new file mode 100644 index 000000000000..121ca11a0232 --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-session-worker.c @@ -0,0 +1,611 @@ +$OpenBSD: patch-daemon_gdm-session-worker_c,v 1.15 2017/03/12 12:58:03 nigel Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 1ac67f522f5690c27023d98096ca817f12f7eb88 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:28:01 -0400 +Subject: drop consolekit support + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From a9cacb929470eb82582396984c61d5b611bfeb1a Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 14:33:40 -0400 +Subject: session: drop session-type property + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 6942fb9b16bab7173bbd295fb19a9770289dbe0e Mon Sep 17 00:00:00 2001 +From: Tim Lunn <tim@feathertop.org> +Date: Mon, 11 Apr 2016 23:18:10 +1000 +Subject: gdm-session: set PAM_TTY when initialising pam + +--- daemon/gdm-session-worker.c.orig 2017-10-31 18:16:51.000000000 +0100 ++++ daemon/gdm-session-worker.c 2018-01-17 17:38:41.826277000 +0100 +@@ -28,9 +28,11 @@ + #include <string.h> + #include <sys/types.h> + #include <sys/wait.h> ++#ifdef WITH_SYSTEMD + #include <sys/ioctl.h> + #include <sys/vt.h> + #include <sys/kd.h> ++#endif + #include <errno.h> + #include <grp.h> + #include <pwd.h> +@@ -49,7 +51,9 @@ + + #include <X11/Xauth.h> + ++#ifdef WITH_SYSTEMD + #include <systemd/sd-daemon.h> ++#endif + + #ifdef ENABLE_SYSTEMD_JOURNAL + #include <systemd/sd-journal.h> +@@ -93,7 +97,7 @@ + #endif + + #ifndef GDM_SESSION_DEFAULT_PATH +-#define GDM_SESSION_DEFAULT_PATH "/usr/local/bin:/usr/bin:/bin" ++#define GDM_SESSION_DEFAULT_PATH "%%LOCALBASE%%/bin:/usr/bin:/bin" + #endif + + #ifndef GDM_SESSION_ROOT_UID +@@ -136,6 +140,10 @@ struct GdmSessionWorkerPrivate + + int exit_code; + ++#ifdef WITH_CONSOLE_KIT ++ char *session_cookie; ++#endif ++ + pam_handle_t *pam_handle; + + GPid child_pid; +@@ -150,6 +158,7 @@ struct GdmSessionWorkerPrivate + char *hostname; + char *username; + char *log_file; ++ char *session_type; + char *session_id; + uid_t uid; + gid_t gid; +@@ -223,6 +232,204 @@ G_DEFINE_TYPE_WITH_CODE (GdmSessionWorker, + G_IMPLEMENT_INTERFACE (GDM_DBUS_TYPE_WORKER, + worker_interface_init)) + ++#ifdef WITH_CONSOLE_KIT ++static gboolean ++open_ck_session (GdmSessionWorker *worker) ++{ ++ GDBusConnection *system_bus; ++ GVariantBuilder builder; ++ GVariant *parameters; ++ GVariant *in_args; ++ struct passwd *pwent; ++ GVariant *reply; ++ GError *error = NULL; ++ const char *display_name; ++ const char *display_device; ++ const char *display_hostname; ++ const char *session_type; ++ gint32 uid; ++ ++ g_assert (worker->priv->session_cookie == NULL); ++ ++ if (worker->priv->x11_display_name != NULL) { ++ display_name = worker->priv->x11_display_name; ++ } else { ++ display_name = ""; ++ } ++ if (worker->priv->hostname != NULL) { ++ display_hostname = worker->priv->hostname; ++ } else { ++ display_hostname = ""; ++ } ++ if (worker->priv->display_device != NULL) { ++ display_device = worker->priv->display_device; ++ } else { ++ display_device = ""; ++ } ++ ++ if (worker->priv->session_type != NULL) { ++ session_type = worker->priv->session_type; ++ } else { ++ session_type = ""; ++ } ++ ++ g_assert (worker->priv->username != NULL); ++ ++ gdm_get_pwent_for_name (worker->priv->username, &pwent); ++ if (pwent == NULL) { ++ goto out; ++ } ++ ++ uid = (gint32) pwent->pw_uid; ++ ++ error = NULL; ++ system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); ++ ++ if (system_bus == NULL) { ++ g_warning ("Couldn't create connection to system bus: %s", ++ error->message); ++ ++ g_error_free (error); ++ goto out; ++ } ++ ++ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(sv)")); ++ g_variant_builder_add_parsed (&builder, "('unix-user', <%i>)", uid); ++ g_variant_builder_add_parsed (&builder, "('x11-display-device', <%s>)", display_device); ++ g_variant_builder_add_parsed (&builder, "('x11-display', <%s>)", display_name); ++ g_variant_builder_add_parsed (&builder, "('remote-host-name', <%s>)", display_hostname); ++ g_variant_builder_add_parsed (&builder, "('is-local', <%b>)", worker->priv->display_is_local); ++ g_variant_builder_add_parsed (&builder, "('session-type', <%s>)", session_type); ++ ++ parameters = g_variant_builder_end (&builder); ++ in_args = g_variant_new_tuple (¶meters, 1); ++ ++ reply = g_dbus_connection_call_sync (system_bus, ++ "org.freedesktop.ConsoleKit", ++ "/org/freedesktop/ConsoleKit/Manager", ++ "org.freedesktop.ConsoleKit.Manager", ++ "OpenSessionWithParameters", ++ in_args, ++ G_VARIANT_TYPE ("(s)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ ++ if (! reply) { ++ g_warning ("%s\n", error->message); ++ g_clear_error (&error); ++ goto out; ++ } ++ ++ g_variant_get (reply, "(s)", &worker->priv->session_cookie); ++ ++ g_variant_unref (reply); ++ ++out: ++ return worker->priv->session_cookie != NULL; ++} ++ ++static void ++close_ck_session (GdmSessionWorker *worker) ++{ ++ GDBusConnection *system_bus; ++ GVariant *reply; ++ GError *error = NULL; ++ gboolean was_closed; ++ ++ if (worker->priv->session_cookie == NULL) { ++ return; ++ } ++ ++ error = NULL; ++ system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); ++ ++ if (system_bus == NULL) { ++ g_warning ("Couldn't create connection to system bus: %s", ++ error->message); ++ ++ g_error_free (error); ++ goto out; ++ } ++ ++ reply = g_dbus_connection_call_sync (system_bus, ++ "org.freedesktop.ConsoleKit", ++ "/org/freedesktop/ConsoleKit/Manager", ++ "org.freedesktop.ConsoleKit.Manager", ++ "CloseSession", ++ g_variant_new ("(s)", worker->priv->session_cookie), ++ G_VARIANT_TYPE ("(b)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ ++ if (! reply) { ++ g_warning ("%s", error->message); ++ g_clear_error (&error); ++ goto out; ++ } ++ ++ g_variant_get (reply, "(b)", &was_closed); ++ ++ if (!was_closed) { ++ g_warning ("Unable to close ConsoleKit session"); ++ } ++ ++ g_variant_unref (reply); ++ ++out: ++ g_clear_pointer (&worker->priv->session_cookie, ++ (GDestroyNotify) g_free); ++} ++ ++static char * ++get_ck_session_id (GdmSessionWorker *worker) ++{ ++ GDBusConnection *system_bus; ++ GVariant *reply; ++ GError *error = NULL; ++ char *session_id = NULL; ++ ++ error = NULL; ++ system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); ++ ++ if (system_bus == NULL) { ++ g_warning ("Couldn't create connection to system bus: %s", ++ error->message); ++ ++ g_error_free (error); ++ goto out; ++ } ++ ++ reply = g_dbus_connection_call_sync (system_bus, ++ "org.freedesktop.ConsoleKit", ++ "/org/freedesktop/ConsoleKit/Manager", ++ "org.freedesktop.ConsoleKit.Manager", ++ "GetSessionForCookie", ++ g_variant_new ("(s)", worker->priv->session_cookie), ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ ++ if (reply == NULL) { ++ g_warning ("%s", error->message); ++ g_clear_error (&error); ++ goto out; ++ } ++ ++ g_variant_get (reply, "(o)", &session_id); ++ ++ g_variant_unref (reply); ++ ++out: ++ return session_id; ++} ++#endif ++ + /* adapted from glib script_execute */ + static void + script_execute (const gchar *file, +@@ -674,7 +881,9 @@ gdm_session_worker_process_pam_message (GdmSessionWork + char *user_answer; + gboolean res; + char *utf8_msg; ++#ifdef PAM_RADIO_TYPE + char *msg; ++#endif + + if (response != NULL) { + *response = NULL; +@@ -878,6 +1087,7 @@ gdm_session_worker_stop_auditor (GdmSessionWorker *wor + worker->priv->auditor = NULL; + } + ++#ifdef WITH_SYSTEMD + static void + on_release_display (int signal) + { +@@ -1003,6 +1213,7 @@ jump_to_vt (GdmSessionWorker *worker, + + close (active_vt_tty_fd); + } ++#endif + + static void + gdm_session_worker_uninitialize_pam (GdmSessionWorker *worker, +@@ -1033,11 +1244,13 @@ gdm_session_worker_uninitialize_pam (GdmSessionWorker + + gdm_session_worker_stop_auditor (worker); + ++#ifdef WITH_SYSTEMD + if (g_strcmp0 (worker->priv->display_seat_id, "seat0") == 0) { + if (worker->priv->login_vt != worker->priv->session_vt) { + jump_to_vt (worker, worker->priv->login_vt); + } + } ++#endif + + worker->priv->login_vt = 0; + worker->priv->session_vt = 0; +@@ -1088,6 +1301,7 @@ _get_xauth_for_pam (const char *x11_authority_file) + } + #endif + ++#ifdef WITH_SYSTEMD + static gboolean + ensure_login_vt (GdmSessionWorker *worker) + { +@@ -1099,7 +1313,7 @@ ensure_login_vt (GdmSessionWorker *worker) + + if (fd < 0) { + g_debug ("GdmSessionWorker: couldn't open VT master: %m"); +- return FALSE; ++ return FALSE; + } + + if (ioctl (fd, VT_GETSTATE, &vt_state) < 0) { +@@ -1113,6 +1327,7 @@ out: + close (fd); + return got_login_vt; + } ++#endif + + static gboolean + gdm_session_worker_initialize_pam (GdmSessionWorker *worker, +@@ -1129,7 +1344,6 @@ gdm_session_worker_initialize_pam (GdmSessionWorker + { + struct pam_conv pam_conversation; + int error_code; +- char tty_string[256]; + + g_assert (worker->priv->pam_handle == NULL); + +@@ -1196,10 +1410,12 @@ gdm_session_worker_initialize_pam (GdmSessionWorker + } + } + ++#ifdef WITH_SYSTEMD + /* set seat ID */ +- if (seat_id != NULL && seat_id[0] != '\0') { ++ if (seat_id != NULL && seat_id[0] != '\0' && LOGIND_RUNNING()) { + gdm_session_worker_set_environment_variable (worker, "XDG_SEAT", seat_id); + } ++#endif + + if (strcmp (service, "gdm-launch-environment") == 0) { + gdm_session_worker_set_environment_variable (worker, "XDG_SESSION_CLASS", "greeter"); +@@ -1208,6 +1424,7 @@ gdm_session_worker_initialize_pam (GdmSessionWorker + g_debug ("GdmSessionWorker: state SETUP_COMPLETE"); + worker->priv->state = GDM_SESSION_WORKER_STATE_SETUP_COMPLETE; + ++#ifdef WITH_SYSTEMD + /* Temporarily set PAM_TTY with the currently active VT (login screen) + PAM_TTY will be reset with the users VT right before the user session is opened */ + ensure_login_vt (worker); +@@ -1215,6 +1432,7 @@ gdm_session_worker_initialize_pam (GdmSessionWorker + pam_set_item (worker->priv->pam_handle, PAM_TTY, tty_string); + if (!display_is_local) + worker->priv->password_is_required = TRUE; ++#endif + + out: + if (error_code != PAM_SUCCESS) { +@@ -1509,7 +1727,7 @@ _lookup_passwd_info (const char *username, + if (passwd_entry->pw_shell != NULL && passwd_entry->pw_shell[0] != '\0') { + *shellp = g_strdup (passwd_entry->pw_shell); + } else { +- *shellp = g_strdup ("/bin/bash"); ++ *shellp = g_strdup ("/bin/sh"); + } + } + ret = TRUE; +@@ -1762,6 +1980,26 @@ gdm_session_worker_get_environment (GdmSessionWorker * + return (const char * const *) pam_getenvlist (worker->priv->pam_handle); + } + ++#ifdef WITH_CONSOLE_KIT ++static void ++register_ck_session (GdmSessionWorker *worker) ++{ ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ return; ++ } ++#endif ++ ++ open_ck_session (worker); ++ ++ if (worker->priv->session_cookie != NULL) { ++ gdm_session_worker_set_environment_variable (worker, ++ "XDG_SESSION_COOKIE", ++ worker->priv->session_cookie); ++ } ++} ++#endif ++ + static gboolean + run_script (GdmSessionWorker *worker, + const char *dir) +@@ -1792,6 +2030,9 @@ session_worker_child_watch (GPid pid, + : WIFSIGNALED (status) ? WTERMSIG (status) + : -1); + ++#ifdef WITH_CONSOLE_KIT ++ close_ck_session (worker); ++#endif + + gdm_session_worker_uninitialize_pam (worker, PAM_SUCCESS); + +@@ -1982,6 +2223,7 @@ gdm_session_worker_start_session (GdmSessionWorker *w + + error_code = PAM_SUCCESS; + ++#ifdef WITH_SYSTEMD + /* If we're in new vt mode, jump to the new vt now. There's no need to jump for + * the other two modes: in the logind case, the session will activate itself when + * ready, and in the reuse server case, we're already on the correct VT. */ +@@ -1990,6 +2232,7 @@ gdm_session_worker_start_session (GdmSessionWorker *w + jump_to_vt (worker, worker->priv->session_vt); + } + } ++#endif + + if (!worker->priv->is_program_session && !run_script (worker, GDMCONFDIR "/PostLogin")) { + g_set_error (error, +@@ -2054,6 +2297,7 @@ gdm_session_worker_start_session (GdmSessionWorker *w + _exit (EXIT_FAILURE); + } + ++#ifdef WITH_SYSTEMD + /* Take control of the tty + */ + if (needs_controlling_terminal) { +@@ -2061,6 +2305,7 @@ gdm_session_worker_start_session (GdmSessionWorker *w + g_debug ("GdmSessionWorker: could not take control of tty: %m"); + } + } ++#endif + + #ifdef HAVE_LOGINCAP + if (setusercontext (NULL, passwd_entry, passwd_entry->pw_uid, LOGIN_SETALL) < 0) { +@@ -2205,11 +2450,13 @@ gdm_session_worker_start_session (GdmSessionWorker *w + return TRUE; + } + ++#ifdef WITH_SYSTEMD + static gboolean + set_up_for_new_vt (GdmSessionWorker *worker) + { + int fd; + char vt_string[256], tty_string[256]; ++ struct vt_stat vt_state = { 0 }; + int session_vt = 0; + + fd = open ("/dev/tty0", O_RDWR | O_NOCTTY); +@@ -2219,6 +2466,11 @@ set_up_for_new_vt (GdmSessionWorker *worker) + return FALSE; + } + ++ if (ioctl (fd, VT_GETSTATE, &vt_state) < 0) { ++ g_debug ("GdmSessionWorker: couldn't get current VT: %m"); ++ goto fail; ++ } ++ + if (worker->priv->display_is_initial) { + session_vt = atoi (GDM_INITIAL_VT); + } else { +@@ -2228,6 +2480,7 @@ set_up_for_new_vt (GdmSessionWorker *worker) + } + } + ++ worker->priv->login_vt = vt_state.v_active; + worker->priv->session_vt = session_vt; + + close (fd); +@@ -2290,6 +2543,7 @@ fail: + close (fd); + return FALSE; + } ++#endif + + static gboolean + set_up_for_current_vt (GdmSessionWorker *worker, +@@ -2357,12 +2611,14 @@ set_up_for_current_vt (GdmSessionWorker *worker, + } + #endif + ++#ifdef WITH_SYSTEMD + if (g_strcmp0 (worker->priv->display_seat_id, "seat0") == 0) { + g_debug ("GdmSessionWorker: setting XDG_VTNR to current vt"); + set_xdg_vtnr_to_current_vt (worker); + } else { + g_debug ("GdmSessionWorker: not setting XDG_VTNR since not seat0"); + } ++#endif + + return TRUE; + out: +@@ -2386,6 +2642,7 @@ gdm_session_worker_open_session (GdmSessionWorker *wo + return FALSE; + } + break; ++#ifdef WITH_SYSTEMD + case GDM_SESSION_DISPLAY_MODE_NEW_VT: + case GDM_SESSION_DISPLAY_MODE_LOGIND_MANAGED: + if (!set_up_for_new_vt (worker)) { +@@ -2396,6 +2653,7 @@ gdm_session_worker_open_session (GdmSessionWorker *wo + return FALSE; + } + break; ++#endif + } + + flags = 0; +@@ -2417,8 +2675,18 @@ gdm_session_worker_open_session (GdmSessionWorker *wo + g_debug ("GdmSessionWorker: state SESSION_OPENED"); + worker->priv->state = GDM_SESSION_WORKER_STATE_SESSION_OPENED; + ++#ifdef WITH_SYSTEMD + session_id = gdm_session_worker_get_environment_variable (worker, "XDG_SESSION_ID"); ++#endif + ++#ifdef WITH_CONSOLE_KIT ++ register_ck_session (worker); ++ ++ if (session_id == NULL) { ++ session_id = get_ck_session_id (worker); ++ } ++#endif ++ + if (session_id != NULL) { + g_free (worker->priv->session_id); + worker->priv->session_id = session_id; +@@ -2523,6 +2791,19 @@ gdm_session_worker_handle_set_session_name (GdmDBusWor + } + + static gboolean ++gdm_session_worker_handle_set_session_type (GdmDBusWorker *object, ++ GDBusMethodInvocation *invocation, ++ const char *session_type) ++{ ++ GdmSessionWorker *worker = GDM_SESSION_WORKER (object); ++ g_debug ("GdmSessionWorker: session type set to %s", session_type); ++ g_free (worker->priv->session_type); ++ worker->priv->session_type = g_strdup (session_type); ++ gdm_dbus_worker_complete_set_session_type (object, invocation); ++ return TRUE; ++} ++ ++static gboolean + gdm_session_worker_handle_set_session_display_mode (GdmDBusWorker *object, + GDBusMethodInvocation *invocation, + const char *str) +@@ -2949,6 +3230,7 @@ gdm_session_worker_handle_open (GdmDBusWorker + return TRUE; + } + ++#ifdef SUPPORTS_PAM_EXTENSIONS + static char ** + filter_extensions (const char * const *extensions) + { +@@ -2974,6 +3256,7 @@ filter_extensions (const char * const *extensions) + + return filtered_extensions; + } ++#endif + + static gboolean + gdm_session_worker_handle_initialize (GdmDBusWorker *object, +@@ -2993,8 +3276,10 @@ gdm_session_worker_handle_initialize (GdmDBusWorker + while (g_variant_iter_loop (&iter, "{sv}", &key, &value)) { + if (g_strcmp0 (key, "service") == 0) { + worker->priv->service = g_variant_dup_string (value, NULL); ++#ifdef SUPPORTS_PAM_EXTENSIONS + } else if (g_strcmp0 (key, "extensions") == 0) { + worker->priv->extensions = filter_extensions (g_variant_get_strv (value, NULL)); ++#endif + } else if (g_strcmp0 (key, "username") == 0) { + worker->priv->username = g_variant_dup_string (value, NULL); + } else if (g_strcmp0 (key, "is-program-session") == 0) { +@@ -3434,6 +3719,7 @@ worker_interface_init (GdmDBusWorkerIface *interface) + interface->handle_open = gdm_session_worker_handle_open; + interface->handle_set_language_name = gdm_session_worker_handle_set_language_name; + interface->handle_set_session_name = gdm_session_worker_handle_set_session_name; ++ interface->handle_set_session_type = gdm_session_worker_handle_set_session_type; + interface->handle_set_session_display_mode = gdm_session_worker_handle_set_session_display_mode; + interface->handle_set_environment_variable = gdm_session_worker_handle_set_environment_variable; + interface->handle_start_program = gdm_session_worker_handle_start_program; diff --git a/x11/gdm/files/patch-daemon_gdm-session-worker.xml b/x11/gdm/files/patch-daemon_gdm-session-worker.xml new file mode 100644 index 000000000000..185ce246bc24 --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-session-worker.xml @@ -0,0 +1,12 @@ +--- daemon/gdm-session-worker.xml.orig 2015-07-20 13:13:42 UTC ++++ daemon/gdm-session-worker.xml +@@ -13,6 +13,9 @@ + <method name="SetSessionName"> + <arg name="session_name" direction="in" type="s" /> + </method> ++ <method name="SetSessionType"> ++ <arg name="session_type" direction="in" type="s"/> ++ </method> + <method name="SetSessionDisplayMode"> + <arg name="mode" direction="in" type="s"/> + </method> diff --git a/x11/gdm/files/patch-daemon_gdm-session.c b/x11/gdm/files/patch-daemon_gdm-session.c new file mode 100644 index 000000000000..a7c1f80f44be --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-session.c @@ -0,0 +1,56 @@ +$OpenBSD: patch-daemon_gdm-session_c,v 1.12 2017/05/10 10:18:15 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From 9be58c9ec9a3a411492a5182ac4b0d51fdc3a323 Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 13:48:52 -0400 +Subject: require logind support + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From a9cacb929470eb82582396984c61d5b611bfeb1a Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 14:33:40 -0400 +Subject: session: drop session-type property + +Index: daemon/gdm-session.c +--- daemon/gdm-session.c.orig ++++ daemon/gdm-session.c +@@ -3076,6 +3076,10 @@ gdm_session_bypasses_xsession (GdmSession *self) + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (GDM_IS_SESSION (self), FALSE); + ++ if (!LOGIND_RUNNING()) { ++ return GDM_SESSION_DISPLAY_MODE_REUSE_VT; ++ } ++ + #ifdef ENABLE_WAYLAND_SUPPORT + if (gdm_session_is_wayland_session (self)) { + bypasses_xsession = TRUE; +@@ -3168,6 +3172,27 @@ gdm_session_select_program (GdmSession *self, + g_free (self->priv->selected_program); + + self->priv->selected_program = g_strdup (text); ++} ++ ++void ++gdm_session_select_session_type (GdmSession *self, ++ const char *text) ++{ ++ GHashTableIter iter; ++ gpointer key, value; ++ ++ g_debug ("GdmSession: selecting session type '%s'", text); ++ ++ g_hash_table_iter_init (&iter, self->priv->conversations); ++ while (g_hash_table_iter_next (&iter, &key, &value)) { ++ GdmSessionConversation *conversation; ++ ++ conversation = (GdmSessionConversation *) value; ++ ++ gdm_dbus_worker_call_set_session_type (conversation->worker_proxy, ++ text, ++ NULL, NULL, NULL); ++ } + } + + void diff --git a/x11/gdm/files/patch-daemon_gdm-session.h b/x11/gdm/files/patch-daemon_gdm-session.h new file mode 100644 index 000000000000..dc8dd0dbf735 --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-session.h @@ -0,0 +1,19 @@ +$OpenBSD: patch-daemon_gdm-session_h,v 1.4 2016/04/26 08:25:04 ajacoutot Exp $ + +REVERT - OpenBSD does not have a systemd implementation (we need ConsoleKit) +From a9cacb929470eb82582396984c61d5b611bfeb1a Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Fri, 12 Jun 2015 14:33:40 -0400 +Subject: session: drop session-type property + +--- daemon/gdm-session.h.orig Tue Apr 19 07:00:04 2016 ++++ daemon/gdm-session.h Tue Apr 26 10:02:48 2016 +@@ -180,6 +180,8 @@ void gdm_session_answer_query + const char *text); + void gdm_session_select_program (GdmSession *session, + const char *command_line); ++void gdm_session_select_session_type (GdmSession *session, ++ const char *session_type); + void gdm_session_select_session (GdmSession *session, + const char *session_name); + void gdm_session_select_user (GdmSession *session, diff --git a/x11/gdm/files/patch-data_Init.in b/x11/gdm/files/patch-data_Init.in new file mode 100644 index 000000000000..b89e85ebedf8 --- /dev/null +++ b/x11/gdm/files/patch-data_Init.in @@ -0,0 +1,13 @@ +$OpenBSD: patch-data_Init_in,v 1.7 2015/04/15 14:47:00 ajacoutot Exp $ +--- data/Init.in.orig Thu Apr 2 15:52:42 2015 ++++ data/Init.in Wed Apr 15 16:43:30 2015 +@@ -6,6 +6,9 @@ + PATH="@X_PATH@:$PATH" + OLD_IFS=$IFS + ++# enhance fade in look ++xsetroot -solid black ++ + gdmwhich () { + COMMAND="$1" + OUTPUT= diff --git a/x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop b/x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop index 8a72f4aa949e..8ed03d6e8f6c 100644 --- a/x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop +++ b/x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop @@ -1,5 +1,5 @@ ---- data/applications/mime-dummy-handler.desktop.orig 2015-06-18 15:47:40.000000000 +0200 -+++ data/applications/mime-dummy-handler.desktop 2015-07-03 09:30:57.146642000 +0200 +--- data/applications/mime-dummy-handler.desktop.orig 2015-05-29 13:27:05.000000000 +0200 ++++ data/applications/mime-dummy-handler.desktop 2015-06-04 07:47:55.014724000 +0200 @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application diff --git a/x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings b/x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings index 7ca2158505d8..7e421494d96d 100644 --- a/x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings +++ b/x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings @@ -1,5 +1,5 @@ ---- data/dconf/defaults/00-upstream-settings.orig 2015-06-18 15:47:40.000000000 +0200 -+++ data/dconf/defaults/00-upstream-settings 2015-07-03 09:32:09.925298000 +0200 +--- data/dconf/defaults/00-upstream-settings.orig 2015-05-29 13:27:05.000000000 +0200 ++++ data/dconf/defaults/00-upstream-settings 2015-06-04 07:49:07.773567000 +0200 @@ -13,7 +13,7 @@ show-desktop-icons=false diff --git a/x11/gdm/files/patch-data_pam-redhat_gdm-autologin.pam b/x11/gdm/files/patch-data_pam-redhat_gdm-autologin.pam new file mode 100644 index 000000000000..e7653c42b323 --- /dev/null +++ b/x11/gdm/files/patch-data_pam-redhat_gdm-autologin.pam @@ -0,0 +1,10 @@ +--- data/pam-redhat/gdm-autologin.pam.orig 2015-07-20 13:13:44 UTC ++++ data/pam-redhat/gdm-autologin.pam +@@ -8,6 +8,7 @@ password include system-auth + session required pam_selinux.so close + session required pam_loginuid.so + session optional pam_console.so ++-session optional pam_ck_connector.so + session required pam_selinux.so open + session optional pam_keyinit.so force revoke + session required pam_namespace.so diff --git a/x11/gdm/files/patch-data_pam-redhat_gdm-fingerprint.pam b/x11/gdm/files/patch-data_pam-redhat_gdm-fingerprint.pam new file mode 100644 index 000000000000..9ce2f7729d58 --- /dev/null +++ b/x11/gdm/files/patch-data_pam-redhat_gdm-fingerprint.pam @@ -0,0 +1,10 @@ +--- data/pam-redhat/gdm-fingerprint.pam.orig 2015-07-20 13:13:44 UTC ++++ data/pam-redhat/gdm-fingerprint.pam +@@ -9,6 +9,7 @@ password include fingerprint-au + session required pam_selinux.so close + session required pam_loginuid.so + session optional pam_console.so ++-session optional pam_ck_connector.so + session required pam_selinux.so open + session optional pam_keyinit.so force revoke + session required pam_namespace.so diff --git a/x11/gdm/files/patch-data_pam-redhat_gdm-password.pam b/x11/gdm/files/patch-data_pam-redhat_gdm-password.pam new file mode 100644 index 000000000000..de3e5c3c78b3 --- /dev/null +++ b/x11/gdm/files/patch-data_pam-redhat_gdm-password.pam @@ -0,0 +1,10 @@ +--- data/pam-redhat/gdm-password.pam.orig 2015-07-20 13:13:44 UTC ++++ data/pam-redhat/gdm-password.pam +@@ -12,6 +12,7 @@ password substack password-auth + session required pam_selinux.so close + session required pam_loginuid.so + session optional pam_console.so ++-session optional pam_ck_connector.so + session required pam_selinux.so open + session optional pam_keyinit.so force revoke + session required pam_namespace.so diff --git a/x11/gdm/files/patch-data_pam-redhat_gdm-pin.pam b/x11/gdm/files/patch-data_pam-redhat_gdm-pin.pam new file mode 100644 index 000000000000..14dff49185ee --- /dev/null +++ b/x11/gdm/files/patch-data_pam-redhat_gdm-pin.pam @@ -0,0 +1,10 @@ +--- data/pam-redhat/gdm-pin.pam.orig 2015-07-20 13:13:44 UTC ++++ data/pam-redhat/gdm-pin.pam +@@ -13,6 +13,7 @@ password optional pam_pin.so + session required pam_selinux.so close + session required pam_loginuid.so + session optional pam_console.so ++-session optional pam_ck_connector.so + session required pam_selinux.so open + session optional pam_keyinit.so force revoke + session required pam_namespace.so diff --git a/x11/gdm/files/patch-data_pam-redhat_gdm-smartcard.pam b/x11/gdm/files/patch-data_pam-redhat_gdm-smartcard.pam new file mode 100644 index 000000000000..e7acf1de5372 --- /dev/null +++ b/x11/gdm/files/patch-data_pam-redhat_gdm-smartcard.pam @@ -0,0 +1,10 @@ +--- data/pam-redhat/gdm-smartcard.pam.orig 2015-07-20 13:13:44 UTC ++++ data/pam-redhat/gdm-smartcard.pam +@@ -9,6 +9,7 @@ password include smartcard-auth + session required pam_selinux.so close + session required pam_loginuid.so + session optional pam_console.so ++-session optional pam_ck_connector.so + session required pam_selinux.so open + session optional pam_keyinit.so force revoke + session required pam_namespace.so diff --git a/x11/gdm/files/patch-gui_simple-chooser_gdm-host-chooser-widget.c b/x11/gdm/files/patch-gui_simple-chooser_gdm-host-chooser-widget.c deleted file mode 100644 index b7ed323184f3..000000000000 --- a/x11/gdm/files/patch-gui_simple-chooser_gdm-host-chooser-widget.c +++ /dev/null @@ -1,11 +0,0 @@ ---- gui/simple-chooser/gdm-host-chooser-widget.c.orig 2010-01-13 14:29:00.000000000 +0000 -+++ gui/simple-chooser/gdm-host-chooser-widget.c 2010-01-17 13:04:14.000000000 +0000 -@@ -543,6 +543,8 @@ xdmcp_init (GdmHostChooserWidget *widget - #ifdef ENABLE_IPV6 - widget->priv->socket_fd = socket (AF_INET6, SOCK_DGRAM, 0); - if (widget->priv->socket_fd != -1) { -+ int off = 0; -+ setsockopt(widget->priv->socket_fd, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&off, sizeof (off)); - widget->priv->have_ipv6 = TRUE; - } - #endif diff --git a/x11/gdm/files/patch-libgdm_gdm-user-switching.c b/x11/gdm/files/patch-libgdm_gdm-user-switching.c new file mode 100644 index 000000000000..cedffff73382 --- /dev/null +++ b/x11/gdm/files/patch-libgdm_gdm-user-switching.c @@ -0,0 +1,412 @@ +--- libgdm/gdm-user-switching.c.orig 2015-07-20 13:13:45 UTC ++++ libgdm/gdm-user-switching.c +@@ -31,12 +31,25 @@ + #include <glib-object.h> + #include <gio/gio.h> + ++#ifdef WITH_SYSTEMD + #include <systemd/sd-login.h> ++#endif + + #include "common/gdm-common.h" + #include "gdm-user-switching.h" + #include "gdm-client.h" + ++#ifdef WITH_CONSOLE_KIT ++#define CK_NAME "org.freedesktop.ConsoleKit" ++#define CK_PATH "/org/freedesktop/ConsoleKit" ++#define CK_INTERFACE "org.freedesktop.ConsoleKit" ++ ++#define CK_MANAGER_PATH "/org/freedesktop/ConsoleKit/Manager" ++#define CK_MANAGER_INTERFACE "org.freedesktop.ConsoleKit.Manager" ++#define CK_SEAT_INTERFACE "org.freedesktop.ConsoleKit.Seat" ++#define CK_SESSION_INTERFACE "org.freedesktop.ConsoleKit.Session" ++#endif ++ + static gboolean + create_transient_display (GDBusConnection *connection, + GCancellable *cancellable, +@@ -67,12 +80,304 @@ create_transient_display (GDBusConnectio + return TRUE; + } + ++#ifdef WITH_CONSOLE_KIT ++ + static gboolean +-activate_session_id (GDBusConnection *connection, +- GCancellable *cancellable, +- const char *seat_id, +- const char *session_id, +- GError **error) ++get_current_session_id (GDBusConnection *connection, ++ char **session_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ CK_MANAGER_PATH, ++ CK_MANAGER_INTERFACE, ++ "GetCurrentSession", ++ NULL, /* parameters */ ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine session: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(o)", session_id); ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++ ++static gboolean ++get_seat_id_for_session (GDBusConnection *connection, ++ const char *session_id, ++ char **seat_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ session_id, ++ CK_SESSION_INTERFACE, ++ "GetSeatId", ++ NULL, /* parameters */ ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine seat: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(o)", seat_id); ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++ ++static char * ++get_current_seat_id (GDBusConnection *connection) ++{ ++ gboolean res; ++ char *session_id; ++ char *seat_id; ++ ++ session_id = NULL; ++ seat_id = NULL; ++ ++ res = get_current_session_id (connection, &session_id); ++ if (res) { ++ res = get_seat_id_for_session (connection, session_id, &seat_id); ++ } ++ g_free (session_id); ++ ++ return seat_id; ++} ++ ++static gboolean ++activate_session_id_for_ck (GDBusConnection *connection, ++ GCancellable *cancellable, ++ const char *seat_id, ++ const char *session_id, ++ GError **error) ++{ ++ GVariant *reply; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ seat_id, ++ CK_SEAT_INTERFACE, ++ "ActivateSession", ++ g_variant_new ("(o)", session_id), ++ NULL, ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, error); ++ if (reply == NULL) { ++ g_prefix_error (error, _("Unable to activate session: ")); ++ return FALSE; ++ } ++ ++ g_variant_unref (reply); ++ ++ return TRUE; ++} ++ ++static gboolean ++session_is_login_window (GDBusConnection *connection, ++ const char *session_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ const char *value; ++ gboolean ret; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ session_id, ++ CK_SESSION_INTERFACE, ++ "GetSessionType", ++ NULL, ++ G_VARIANT_TYPE ("(s)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine session type: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(&s)", &value); ++ ++ if (value == NULL || value[0] == '\0' || strcmp (value, "LoginWindow") != 0) { ++ ret = FALSE; ++ } else { ++ ret = TRUE; ++ } ++ ++ g_variant_unref (reply); ++ ++ return ret; ++} ++ ++static gboolean ++seat_can_activate_sessions (GDBusConnection *connection, ++ const char *seat_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ gboolean ret; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ seat_id, ++ CK_SEAT_INTERFACE, ++ "CanActivateSessions", ++ NULL, ++ G_VARIANT_TYPE ("(b)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to determine if can activate sessions: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(b)", &ret); ++ g_variant_unref (reply); ++ ++ return ret; ++} ++ ++static const char ** ++seat_get_sessions (GDBusConnection *connection, ++ const char *seat_id) ++{ ++ GError *local_error = NULL; ++ GVariant *reply; ++ const char **value; ++ ++ reply = g_dbus_connection_call_sync (connection, ++ CK_NAME, ++ seat_id, ++ CK_SEAT_INTERFACE, ++ "GetSessions", ++ NULL, ++ G_VARIANT_TYPE ("(ao)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, &local_error); ++ if (reply == NULL) { ++ g_warning ("Unable to list sessions: %s", local_error->message); ++ g_error_free (local_error); ++ return FALSE; ++ } ++ ++ g_variant_get (reply, "(^ao)", &value); ++ g_variant_unref (reply); ++ ++ return value; ++} ++ ++static gboolean ++get_login_window_session_id_for_ck (GDBusConnection *connection, ++ const char *seat_id, ++ char **session_id) ++{ ++ gboolean can_activate_sessions; ++ const char **sessions; ++ int i; ++ ++ *session_id = NULL; ++ sessions = NULL; ++ ++ g_debug ("checking if seat can activate sessions"); ++ ++ can_activate_sessions = seat_can_activate_sessions (connection, seat_id); ++ if (! can_activate_sessions) { ++ g_debug ("seat is unable to activate sessions"); ++ return FALSE; ++ } ++ ++ sessions = seat_get_sessions (connection, seat_id); ++ for (i = 0; sessions [i] != NULL; i++) { ++ const char *ssid; ++ ++ ssid = sessions [i]; ++ ++ if (session_is_login_window (connection, ssid)) { ++ *session_id = g_strdup (ssid); ++ break; ++ } ++ } ++ g_free (sessions); ++ ++ return TRUE; ++} ++ ++static gboolean ++goto_login_session_for_ck (GDBusConnection *connection, ++ GCancellable *cancellable, ++ GError **error) ++{ ++ gboolean ret; ++ gboolean res; ++ char *session_id; ++ char *seat_id; ++ ++ ret = FALSE; ++ ++ /* First look for any existing LoginWindow sessions on the seat. ++ If none are found, create a new one. */ ++ ++ seat_id = get_current_seat_id (connection); ++ if (seat_id == NULL || seat_id[0] == '\0') { ++ g_debug ("seat id is not set; can't switch sessions"); ++ g_set_error (error, GDM_CLIENT_ERROR, 0, _("Could not identify the current session.")); ++ ++ return FALSE; ++ } ++ ++ res = get_login_window_session_id_for_ck (connection, seat_id, &session_id); ++ if (! res) { ++ g_set_error (error, GDM_CLIENT_ERROR, 0, _("User unable to switch sessions.")); ++ return FALSE; ++ } ++ ++ if (session_id != NULL) { ++ res = activate_session_id_for_ck (connection, cancellable, seat_id, session_id, error); ++ if (res) { ++ ret = TRUE; ++ } ++ } ++ ++ if (! ret && g_strcmp0 (seat_id, "/org/freedesktop/ConsoleKit/Seat1") == 0) { ++ res = create_transient_display (connection, cancellable, error); ++ if (res) { ++ ret = TRUE; ++ } ++ } ++ ++ return ret; ++} ++#endif ++ ++#ifdef WITH_SYSTEMD ++ ++static gboolean ++activate_session_id_for_systemd (GDBusConnection *connection, ++ GCancellable *cancellable, ++ const char *seat_id, ++ const char *session_id, ++ GError **error) + { + GVariant *reply; + +@@ -97,8 +402,8 @@ activate_session_id (GDBusConnection *c + } + + static gboolean +-get_login_window_session_id (const char *seat_id, +- char **session_id) ++get_login_window_session_id_for_systemd (const char *seat_id, ++ char **session_id) + { + gboolean ret; + int res, i; +@@ -182,9 +487,9 @@ out: + } + + static gboolean +-goto_login_session (GDBusConnection *connection, +- GCancellable *cancellable, +- GError **error) ++goto_login_session_for_systemd (GDBusConnection *connection, ++ GCancellable *cancellable, ++ GError **error) + { + gboolean ret; + int res; +@@ -238,9 +543,9 @@ goto_login_session (GDBusConnection *co + return FALSE; + } + +- res = get_login_window_session_id (seat_id, &session_id); ++ res = get_login_window_session_id_for_systemd (seat_id, &session_id); + if (res && session_id != NULL) { +- res = activate_session_id (connection, cancellable, seat_id, session_id, error); ++ res = activate_session_id_for_systemd (connection, cancellable, seat_id, session_id, error); + + if (res) { + ret = TRUE; +@@ -259,10 +564,11 @@ goto_login_session (GDBusConnection *co + + return ret; + } ++#endif + + gboolean + gdm_goto_login_session_sync (GCancellable *cancellable, +- GError **error) ++ GError **error) + { + GDBusConnection *connection; + gboolean retval; +@@ -271,8 +577,23 @@ gdm_goto_login_session_sync (GCancellabl + if (!connection) + return FALSE; + +- retval = goto_login_session (connection, cancellable, error); ++#ifdef WITH_SYSTEMD ++ if (LOGIND_RUNNING()) { ++ retval = goto_login_session_for_systemd (connection, ++ cancellable, ++ error); ++ ++ g_object_unref (connection); ++ return retval; ++ } ++#endif ++ ++#ifdef WITH_CONSOLE_KIT ++ retval = goto_login_session_for_ck (connection, cancellable, error); + + g_object_unref (connection); + return retval; ++#else ++ return FALSE; ++#endif + } diff --git a/x11/gdm/pkg-plist b/x11/gdm/pkg-plist index 4c85d41bf4a1..6c694fc15cf1 100644 --- a/x11/gdm/pkg-plist +++ b/x11/gdm/pkg-plist @@ -7,8 +7,8 @@ etc/dbus-1/system.d/gdm.conf @sample %%ETCDIR%%/PreSession/Default.sample %%ETCDIR%%/Xsession @sample %%ETCDIR%%/custom.conf.sample -%%ETCDIR%%/home/.pulse/client.conf -%%ETCDIR%%/locale.conf +@sample %%ETCDIR%%/home/.pulse/client.conf.sample +@sample %%ETCDIR%%/locale.conf.sample etc/pam.d/gdm-autologin etc/pam.d/gdm-launch-environment etc/pam.d/gdm-password @@ -31,13 +31,12 @@ share/dconf/profile/gdm %%DATADIR%%/gdb-cmd %%DATADIR%%/gdm.schemas %%DATADIR%%/greeter-dconf-defaults -%%DATADIR%%/greeter/applications/gnome-shell-wayland.desktop -%%DATADIR%%/greeter/applications/gnome-shell.desktop %%DATADIR%%/greeter/applications/mime-dummy-handler.desktop %%DATADIR%%/greeter/applications/mimeapps.list %%DATADIR%%/greeter/autostart/orca-autostart.desktop %%DATADIR%%/locale.alias share/gir-1.0/Gdm-1.0.gir +share/gnome-session/sessions/gnome-login.session share/help/C/gdm/index.docbook share/help/C/gdm/legal.xml share/help/ca/gdm/index.docbook @@ -68,6 +67,8 @@ share/help/oc/gdm/index.docbook share/help/oc/gdm/legal.xml share/help/pt_BR/gdm/index.docbook share/help/pt_BR/gdm/legal.xml +share/help/ro/gdm/index.docbook +share/help/ro/gdm/legal.xml share/help/ru/gdm/index.docbook share/help/ru/gdm/legal.xml share/help/sl/gdm/index.docbook @@ -76,6 +77,8 @@ share/help/sv/gdm/index.docbook share/help/sv/gdm/legal.xml share/help/te/gdm/index.docbook share/help/te/gdm/legal.xml +share/help/tr/gdm/index.docbook +share/help/tr/gdm/legal.xml share/help/uk/gdm/index.docbook share/help/uk/gdm/legal.xml share/help/zh_CN/gdm/index.docbook @@ -134,6 +137,7 @@ share/locale/is/LC_MESSAGES/gdm.mo share/locale/it/LC_MESSAGES/gdm.mo share/locale/ja/LC_MESSAGES/gdm.mo share/locale/ka/LC_MESSAGES/gdm.mo +share/locale/kab/LC_MESSAGES/gdm.mo share/locale/kk/LC_MESSAGES/gdm.mo share/locale/km/LC_MESSAGES/gdm.mo share/locale/kn/LC_MESSAGES/gdm.mo @@ -195,13 +199,13 @@ share/pixmaps/gdm-xnest.png share/pixmaps/gdm.png share/pixmaps/nobody.png share/pixmaps/nohost.png -@exec mkdir -p %D/share/xsessions -@exec dconf update -@unexec dconf update +@postexec mkdir -p %D/share/xsessions +@postexec dconf update +@postunexec dconf update @mode 1775 @dir etc/gdm/home @mode -@unexec rm -rf %D/etc/gdm/home/.gconf* +@postunexec rm -rf %D/etc/gdm/home/.gconf* @dir %%ETCDIR%%/Sessions @dir %%ETCDIR%%/home/.local/share/applications @dir etc/dm @@ -211,4 +215,4 @@ share/pixmaps/nohost.png @dir /var/run/gdm/greeter @dir /var/run/gdm/ @dir /var/log/gdm/ -@unexec rm -fr /var/gdm +@postunexec rm -fr /var/gdm diff --git a/x11/gnome-desktop-reference/Makefile b/x11/gnome-desktop-reference/Makefile deleted file mode 100644 index eadb3d80b013..000000000000 --- a/x11/gnome-desktop-reference/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# Created by: Jean-Yves Lefort <jylefort@FreeBSD.org> -# $FreeBSD$ - -PORTREVISION= 2 - -REFERENCE_SRC= ${WRKSRC}/docs/reference/gnome-desktop3 - -.include "${.CURDIR}/../../devel/glib20-reference/bsd.gnome-reference.mk" diff --git a/x11/gnome-desktop-reference/pkg-descr b/x11/gnome-desktop-reference/pkg-descr deleted file mode 100644 index d5ada3acbb15..000000000000 --- a/x11/gnome-desktop-reference/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This port contains the programming reference for x11/gnome-desktop. - -WWW: https://www.gnome.org/ diff --git a/x11/gnome-desktop/Makefile b/x11/gnome-desktop/Makefile index f317b2e72289..3ed8017684e6 100644 --- a/x11/gnome-desktop/Makefile +++ b/x11/gnome-desktop/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gnome-desktop -PORTVERSION= 3.18.2 -PORTREVISION= 1 +PORTVERSION= 3.28.2 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome3 @@ -16,27 +15,25 @@ LICENSE_COMB= multi LICENSE_FILE_GPLv2+ = ${WRKSRC}/COPYING LICENSE_FILE_LGPL20+ = ${WRKSRC}/COPYING.LIB -USES= tar:xz - -.if !defined(REFERENCE_PORT) PORTSCOUT= limitw:1,even BUILD_DEPENDS= iso-codes>=0:misc/iso-codes \ gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas \ xkeyboard-config>=0:x11/xkeyboard-config \ - libxkbfile>=0:x11/libxkbfile \ itstool:textproc/itstool RUN_DEPENDS= iso-codes>=0:misc/iso-codes \ gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas \ - xkeyboard-config>=0:x11/xkeyboard-config \ - libxkbfile>=0:x11/libxkbfile + cantarell-fonts>=0:x11-fonts/cantarell-fonts \ + xkeyboard-config>=0:x11/xkeyboard-config -USES+= bison gettext gmake gnome libtool localbase pathfix pkgconfig python:3.4+ -USE_GNOME= gtk30 intlhack introspection:build referencehack -USE_XORG= x11 xrandr xext +USES= bison gettext gmake gnome libtool localbase pathfix \ + pkgconfig python:3.4+ tar:xz +USE_GNOME= cairo gdkpixbuf2 gtk30 intltool introspection:build +USE_XORG= x11 USE_LDCONFIG= yes GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-gnome-distributor="FreeBSD GNOME Project" +CONFIGURE_ARGS= --with-gnome-distributor="FreeBSD GNOME Project" \ + --disable-udev INSTALL_TARGET= install-strip post-patch: @@ -46,5 +43,3 @@ post-patch: ${WRKSRC}/desktop-docs/lgpl/Makefile.in .include <bsd.port.mk> - -.endif diff --git a/x11/gnome-desktop/distinfo b/x11/gnome-desktop/distinfo index fb2cff555234..8f9da2dfff79 100644 --- a/x11/gnome-desktop/distinfo +++ b/x11/gnome-desktop/distinfo @@ -1,2 +1,3 @@ -SHA256 (gnome3/gnome-desktop-3.18.2.tar.xz) = ddd46d022de137543a71f50c7392b32f9b98d5d3f2b53040b35f5802de2e7b56 -SIZE (gnome3/gnome-desktop-3.18.2.tar.xz) = 1091568 +TIMESTAMP = 1525954310 +SHA256 (gnome3/gnome-desktop-3.28.2.tar.xz) = 605087bff17c61bc167ccb5a61ed4d06eab922fcce384576ed2a3577214c8330 +SIZE (gnome3/gnome-desktop-3.28.2.tar.xz) = 1077556 diff --git a/x11/gnome-desktop/files/patch-libgnome-desktop_gnome-languages.c b/x11/gnome-desktop/files/patch-libgnome-desktop_gnome-languages.c deleted file mode 100644 index 2892239bb633..000000000000 --- a/x11/gnome-desktop/files/patch-libgnome-desktop_gnome-languages.c +++ /dev/null @@ -1,11 +0,0 @@ ---- libgnome-desktop/gnome-languages.c.orig 2016-01-08 00:52:40.415603000 +0100 -+++ libgnome-desktop/gnome-languages.c 2016-01-08 01:30:53.511431000 +0100 -@@ -229,7 +231,7 @@ - { - char *name; - -- g_assert (language[0] != 0); -+ g_assert (language == NULL || language[0] != 0); - g_assert (territory == NULL || territory[0] != 0); - g_assert (codeset == NULL || codeset[0] != 0); - g_assert (modifier == NULL || modifier[0] != 0); diff --git a/x11/gnome-desktop/pkg-plist b/x11/gnome-desktop/pkg-plist index 12df042647f3..6cbaf46d6015 100644 --- a/x11/gnome-desktop/pkg-plist +++ b/x11/gnome-desktop/pkg-plist @@ -11,8 +11,8 @@ include/gnome-desktop-3.0/libgnome-desktop/gnome-wall-clock.h include/gnome-desktop-3.0/libgnome-desktop/gnome-xkb-info.h lib/girepository-1.0/GnomeDesktop-3.0.typelib lib/libgnome-desktop-3.so -lib/libgnome-desktop-3.so.12 -lib/libgnome-desktop-3.so.12.0.0 +lib/libgnome-desktop-3.so.17 +lib/libgnome-desktop-3.so.17.0.0 libdata/pkgconfig/gnome-desktop-3.0.pc libexec/gnome-rr-debug share/gir-1.0/GnomeDesktop-3.0.gir @@ -32,7 +32,6 @@ share/gtk-doc/html/gnome-desktop3/gnome-desktop3.devhelp2 share/gtk-doc/html/gnome-desktop3/home.png share/gtk-doc/html/gnome-desktop3/idle-monitor.html share/gtk-doc/html/gnome-desktop3/index.html -share/gtk-doc/html/gnome-desktop3/index.sgml share/gtk-doc/html/gnome-desktop3/intro.html share/gtk-doc/html/gnome-desktop3/languages.html share/gtk-doc/html/gnome-desktop3/left-insensitive.png @@ -87,7 +86,6 @@ share/help/oc/gpl/index.docbook share/help/oc/lgpl/index.docbook share/help/pa/gpl/index.docbook share/help/pa/lgpl/index.docbook -share/help/pl/fdl/index.docbook share/help/pt_BR/fdl/index.docbook share/help/pt_BR/gpl/index.docbook share/help/pt_BR/lgpl/index.docbook @@ -108,7 +106,6 @@ share/help/vi/lgpl/index.docbook share/help/zh_CN/fdl/index.docbook share/help/zh_CN/gpl/index.docbook share/help/zh_CN/lgpl/index.docbook -share/libgnome-desktop-3.0/pnp.ids share/locale/af/LC_MESSAGES/gnome-desktop-3.0.mo share/locale/am/LC_MESSAGES/gnome-desktop-3.0.mo share/locale/an/LC_MESSAGES/gnome-desktop-3.0.mo diff --git a/x11/gnome-session/Makefile b/x11/gnome-session/Makefile index 9e0c7d8d97ce..5d9952cca701 100644 --- a/x11/gnome-session/Makefile +++ b/x11/gnome-session/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gnome-session -PORTVERSION= 3.18.1.2 -PORTREVISION= 2 +PORTVERSION= 3.28.1 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome3 @@ -14,24 +13,23 @@ COMMENT= Session component for the GNOME 3 desktop LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \ - libjson-glib-1.0.so:devel/json-glib \ - libupower-glib.so:sysutils/upower +BUILD_DEPENDS= xmlto:textproc/xmlto +LIB_DEPENDS= libjson-glib-1.0.so:devel/json-glib \ + libepoxy.so:graphics/libepoxy RUN_DEPENDS= ${LOCALBASE}/sbin/console-kit-daemon:sysutils/consolekit2 \ - ${LOCALBASE}/bin/xdpyinfo:x11/xdpyinfo + dbus-daemon:devel/dbus PORTSCOUT= limitw:1,even -USES= gettext gmake gnome localbase:ldflags pathfix \ - pkgconfig tar:xz -USE_GNOME= gnomedesktop3 gtk30 intlhack intlhack libxslt:build -USE_XORG= ice sm xau xext xtst xrender xtrans xcomposite -USE_GL= gl +USES= gettext gnome localbase:ldflags meson pkgconfig python:3.6+,build tar:xz +USE_GNOME= gnomedesktop3 gtk30 +USE_XORG= ice sm x11 xcomposite xtrans +USE_GL= egl gl glesv2 INSTALLS_ICONS= yes -GNU_CONFIGURE= yes -CONFIGURE_ARGS= --disable-docbook-docs \ - --enable-consolekit \ - --enable-gconf=no +MESON_ARGS= -Dsystemd=false \ + -Dsystemd_journal=false \ + -Dconsolekit=true +BINARY_ALIAS= python3=${PYTHON_VERSION} GLIB_SCHEMAS= org.gnome.SessionManager.gschema.xml diff --git a/x11/gnome-session/distinfo b/x11/gnome-session/distinfo index 480f61145a78..03ee0d36e289 100644 --- a/x11/gnome-session/distinfo +++ b/x11/gnome-session/distinfo @@ -1,2 +1,3 @@ -SHA256 (gnome3/gnome-session-3.18.1.2.tar.xz) = b37d823d57ff2e3057401a426279954699cfe1e44e59a4cbdd941687ff928a45 -SIZE (gnome3/gnome-session-3.18.1.2.tar.xz) = 758552 +TIMESTAMP = 1524855068 +SHA256 (gnome3/gnome-session-3.28.1.tar.xz) = b893f75c8d34dbdbbc5c56429a17b59136ac7402e12f384da856dcfc725cd592 +SIZE (gnome3/gnome-session-3.28.1.tar.xz) = 480196 diff --git a/x11/gnome-session/pkg-plist b/x11/gnome-session/pkg-plist index 67125a764943..e5b818f8e586 100644 --- a/x11/gnome-session/pkg-plist +++ b/x11/gnome-session/pkg-plist @@ -1,29 +1,22 @@ bin/gnome-session +bin/gnome-session-custom-session bin/gnome-session-inhibit bin/gnome-session-quit libexec/gnome-session-binary libexec/gnome-session-check-accelerated -libexec/gnome-session-check-accelerated-helper +libexec/gnome-session-check-accelerated-gl-helper +libexec/gnome-session-check-accelerated-gles-helper libexec/gnome-session-failed -man/man1/gnome-session.1.gz man/man1/gnome-session-inhibit.1.gz man/man1/gnome-session-quit.1.gz +man/man1/gnome-session.1.gz share/GConf/gsettings/gnome-session.convert %%DATADIR%%/hardware-compatibility %%DATADIR%%/sessions/gnome-dummy.session -%%DATADIR%%/sessions/gnome-wayland.session -%%DATADIR%%/session-properties.ui %%DATADIR%%/sessions/gnome.session -share/icons/hicolor/16x16/apps/session-properties.png -share/icons/hicolor/22x22/apps/session-properties.png -share/icons/hicolor/24x24/apps/session-properties.png -share/icons/hicolor/32x32/apps/session-properties.png -share/icons/hicolor/48x48/apps/session-properties.png -share/icons/hicolor/scalable/apps/session-properties.svg -share/icons/hicolor/symbolic/apps/session-properties-symbolic.svg share/locale/af/LC_MESSAGES/gnome-session-3.0.mo -share/locale/an/LC_MESSAGES/gnome-session-3.0.mo share/locale/am/LC_MESSAGES/gnome-session-3.0.mo +share/locale/an/LC_MESSAGES/gnome-session-3.0.mo share/locale/ar/LC_MESSAGES/gnome-session-3.0.mo share/locale/as/LC_MESSAGES/gnome-session-3.0.mo share/locale/ast/LC_MESSAGES/gnome-session-3.0.mo @@ -129,5 +122,6 @@ share/locale/zh_CN/LC_MESSAGES/gnome-session-3.0.mo share/locale/zh_HK/LC_MESSAGES/gnome-session-3.0.mo share/locale/zh_TW/LC_MESSAGES/gnome-session-3.0.mo share/locale/zu/LC_MESSAGES/gnome-session-3.0.mo -share/wayland-sessions/gnome-wayland.desktop +share/wayland-sessions/gnome.desktop +share/xsessions/gnome-xorg.desktop share/xsessions/gnome.desktop diff --git a/x11/gnome-shell-extensions/Makefile b/x11/gnome-shell-extensions/Makefile index 2b8e60f6c7bb..ebca33a0df6c 100644 --- a/x11/gnome-shell-extensions/Makefile +++ b/x11/gnome-shell-extensions/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= gnome-shell-extensions -PORTVERSION= 3.18.4 +PORTVERSION= 3.28.1 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome3 @@ -10,16 +10,21 @@ DIST_SUBDIR= gnome3 MAINTAINER= gnome@FreeBSD.org COMMENT= GNOME desktop shell extensions -LIB_DEPENDS= libgtop-2.0.so:devel/libgtop -RUN_DEPENDS= gnome-shell>=3.12.0:x11/gnome-shell +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= sassc:textproc/sassc +LIB_DEPENDS= libgjs.so:lang/gjs +RUN_DEPENDS= gnome-shell>=3.28.0:x11/gnome-shell PORTSCOUT= limitw:1,even -USES= gettext gmake gnome pathfix pkgconfig tar:xz +NO_ARCH= yes +USES= gettext gnome meson pkgconfig tar:xz USE_GNOME= glib20 gnomedesktop3 intlhack USE_LDCONFIG= yes -GNU_CONFIGURE= yes -CONFIGURE_ARGS= --enable-extensions=all +MESON_ARGS= -Dextension_set=all \ + -Dclassic_mode=true GLIB_SCHEMAS= org.gnome.shell.extensions.auto-move-windows.gschema.xml \ org.gnome.shell.extensions.classic-overrides.gschema.xml \ diff --git a/x11/gnome-shell-extensions/distinfo b/x11/gnome-shell-extensions/distinfo index 21ae0e652ee6..551336673f0c 100644 --- a/x11/gnome-shell-extensions/distinfo +++ b/x11/gnome-shell-extensions/distinfo @@ -1,2 +1,3 @@ -SHA256 (gnome3/gnome-shell-extensions-3.18.4.tar.xz) = 8ae470f894aad914a56d447e3b07dc99e2f36c30ef3ec386f6f03f619599b73a -SIZE (gnome3/gnome-shell-extensions-3.18.4.tar.xz) = 234108 +TIMESTAMP = 1525374861 +SHA256 (gnome3/gnome-shell-extensions-3.28.1.tar.xz) = e9c602338b529c8282e7d13e075703028ea384a1d946f3e8ce760e6c5b469058 +SIZE (gnome3/gnome-shell-extensions-3.28.1.tar.xz) = 199180 diff --git a/x11/gnome-shell-extensions/pkg-descr b/x11/gnome-shell-extensions/pkg-descr index 0d40cd5f2234..9103d25eadb6 100644 --- a/x11/gnome-shell-extensions/pkg-descr +++ b/x11/gnome-shell-extensions/pkg-descr @@ -1,4 +1,4 @@ -A set of basic extensions for gnome-shell. +A set of basic extensions for gnome-shell. More extensions are available on https://extensions.gnome.org/ In future release this will be more intergrated. diff --git a/x11/gnome-shell-extensions/pkg-plist b/x11/gnome-shell-extensions/pkg-plist index 88fa907a6039..057fe92c24f2 100644 --- a/x11/gnome-shell-extensions/pkg-plist +++ b/x11/gnome-shell-extensions/pkg-plist @@ -71,6 +71,7 @@ share/locale/af/LC_MESSAGES/gnome-shell-extensions.mo share/locale/an/LC_MESSAGES/gnome-shell-extensions.mo share/locale/ar/LC_MESSAGES/gnome-shell-extensions.mo share/locale/as/LC_MESSAGES/gnome-shell-extensions.mo +share/locale/be/LC_MESSAGES/gnome-shell-extensions.mo share/locale/bg/LC_MESSAGES/gnome-shell-extensions.mo share/locale/bn_IN/LC_MESSAGES/gnome-shell-extensions.mo share/locale/bs/LC_MESSAGES/gnome-shell-extensions.mo @@ -89,10 +90,12 @@ share/locale/fa/LC_MESSAGES/gnome-shell-extensions.mo share/locale/fi/LC_MESSAGES/gnome-shell-extensions.mo share/locale/fr/LC_MESSAGES/gnome-shell-extensions.mo share/locale/fur/LC_MESSAGES/gnome-shell-extensions.mo +share/locale/gd/LC_MESSAGES/gnome-shell-extensions.mo share/locale/gl/LC_MESSAGES/gnome-shell-extensions.mo share/locale/gu/LC_MESSAGES/gnome-shell-extensions.mo share/locale/he/LC_MESSAGES/gnome-shell-extensions.mo share/locale/hi/LC_MESSAGES/gnome-shell-extensions.mo +share/locale/hr/LC_MESSAGES/gnome-shell-extensions.mo share/locale/hu/LC_MESSAGES/gnome-shell-extensions.mo share/locale/id/LC_MESSAGES/gnome-shell-extensions.mo share/locale/is/LC_MESSAGES/gnome-shell-extensions.mo diff --git a/x11/gnome-shell/Makefile b/x11/gnome-shell/Makefile index 71c3838b49cd..2cf835e97563 100644 --- a/x11/gnome-shell/Makefile +++ b/x11/gnome-shell/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gnome-shell -PORTVERSION= 3.18.5 -PORTREVISION= 10 +PORTVERSION= 3.28.2 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome3 @@ -11,63 +10,63 @@ DIST_SUBDIR= gnome3 MAINTAINER= gnome@FreeBSD.org COMMENT= Next generation GNOME desktop shell -LICENSE= GPLv2+ +LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= ca_root_nss>=0:security/ca_root_nss \ - nss>=0:security/nss \ +BUILD_DEPENDS= docbook-xsl>=0:textproc/docbook-xsl \ + sassc:textproc/sassc \ gnome-control-center:sysutils/gnome-control-center LIB_DEPENDS= libstartup-notification-1.so:x11/startup-notification \ - libcaribou.so:accessibility/caribou \ - libmutter.so:x11-wm/mutter \ + libdrm.so:graphics/libdrm \ + libmutter-2.so:x11-wm/mutter \ libatk-bridge-2.0.so:accessibility/at-spi2-atk \ - libnspr4.so:devel/nspr \ libsoup-2.4.so:devel/libsoup \ libjson-glib-1.0.so:devel/json-glib \ libsecret-1.so:security/libsecret \ - libgcr-3.so:security/gcr \ - libtelepathy-glib.so:net-im/telepathy-glib \ - libibus-1.0.so:textproc/ibus \ + libpolkit-agent-1.so:sysutils/polkit \ + libp11-kit.so:security/p11-kit \ libical.so:devel/libical \ - libmozjs-24.so:lang/spidermonkey24 \ + libgcr-3.so:security/gcr \ libicuuc.so:devel/icu \ libpulse.so:audio/pulseaudio \ libcroco-0.6.so:textproc/libcroco \ - libdbus-glib-1.so:devel/dbus-glib \ libcanberra.so:audio/libcanberra \ libcanberra-gtk3.so:audio/libcanberra-gtk3 \ libp11-kit.so:security/p11-kit \ - libpolkit-gobject-1.so:sysutils/polkit \ - libcogl.so:graphics/cogl \ - libclutter-1.0.so:graphics/clutter \ libgjs.so:lang/gjs -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dbus>=0:devel/py-dbus@${PY_FLAVOR} \ - nss>=0:security/nss \ - gnome-control-center:sysutils/gnome-control-center \ - ca_root_nss>=0:security/ca_root_nss \ - gkbd-keyboard-display:x11/libgnomekbd +RUN_DEPENDS= gnome-control-center:sysutils/gnome-control-center PORTSCOUT= limitw:1,even -USES= compiler:c11 cpe gettext gmake gnome libtool localbase \ - pathfix pkgconfig python:3.4+ sqlite tar:xz webplugin:native -USE_GNOME= cairo evolutiondataserver3 gdkpixbuf2 gtk30 intltool \ - introspection libxml2 -USE_XORG= x11 xcomposite xdamage xext xfixes xi xrandr -USE_GL= egl +USES= compiler:c11 cpe gettext gl gnome libtool localbase meson \ + pathfix perl5 pkgconfig python:3.4+ shebangfix tar:xz webplugin:native +USE_GNOME= cairo evolutiondataserver3 gdkpixbuf2 introspection \ + libxslt:build libxml2 +USE_XORG= x11 xcomposite xdamage xext xfixes xi xrandr xtst +USE_GL= egl gbm USE_GSTREAMER1= yes -GNU_CONFIGURE= yes +USE_PERL5= build USE_LDCONFIG= yes +SHEBANG_FILES= src/gnome-shell-perf-tool.in \ + src/gnome-shell-extension-tool.in + WEBPLUGIN_NAME= libgnome-shell-browser-plugin.so WEBPLUGIN_DIR= ${PREFIX}/lib/mozilla/plugins/ WEBPLUGIN_FILES=libgnome-shell-browser-plugin.so -INSTALL_TARGET= install-strip + +MESON_ARGS= -Dsystemd=false \ + -Dnetworkmanager=false CPE_VENDOR= gnome GLIB_SCHEMAS= org.gnome.shell.gschema.xml post-patch: + @${REINPLACE_CMD} -e 's|python3|${PYTHON_VERSION}|g' \ + ${WRKSRC}/meson.build @${REINPLACE_CMD} -e 's|applications.menu|gnome-applications.menu|g' \ ${WRKSRC}/src/shell-app-system.c +pre-build: + @cd ${BUILD_WRKSRC} && ninja src/st/st-scroll-view-fade-generated.c + .include <bsd.port.mk> diff --git a/x11/gnome-shell/distinfo b/x11/gnome-shell/distinfo index 8470830495c9..82138dfaa693 100644 --- a/x11/gnome-shell/distinfo +++ b/x11/gnome-shell/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1493586851 -SHA256 (gnome3/gnome-shell-3.18.5.tar.xz) = 6fc9cd8b43b1ca0669e1c5a9de092a67eea648e38585f0cdb960f08a16c6cb20 -SIZE (gnome3/gnome-shell-3.18.5.tar.xz) = 1591860 +TIMESTAMP = 1525955404 +SHA256 (gnome3/gnome-shell-3.28.2.tar.xz) = 27e690c0c4bb0faac2892b9772d3160aa3c6b09523a873b1c2b63c21634236ad +SIZE (gnome3/gnome-shell-3.28.2.tar.xz) = 1432208 diff --git a/x11/gnome-shell/files/patch-js_gdm_loginDialog.js b/x11/gnome-shell/files/patch-js_gdm_loginDialog.js deleted file mode 100644 index 826af5f8b034..000000000000 --- a/x11/gnome-shell/files/patch-js_gdm_loginDialog.js +++ /dev/null @@ -1,23 +0,0 @@ ---- js/gdm/loginDialog.js.orig 2012-03-24 21:19:24.000000000 -0500 -+++ js/gdm/loginDialog.js 2012-03-24 21:21:23.000000000 -0500 -@@ -301,11 +301,17 @@ - this.actor.connect('key-focus-in', Lang.bind(this, this._moveFocusToItems)); - }, - -- _moveFocusToItems: function() { -- let hasItems = Object.keys(this._items).length > 0; -+ _hasItems: function() { -+ for (let userName in this._items) { -+ return true; -+ } -+ return false; -+ }, - -- if (!hasItems) -+ _moveFocusToItems: function() { -+ if (!this._hasItems()) { - return; -+ } - - if (global.stage.get_key_focus() != this.actor) - return; diff --git a/x11/gnome-shell/files/patch-js_misc_loginManager.js b/x11/gnome-shell/files/patch-js_misc_loginManager.js index 37aec6ba827a..f4900004eebb 100644 --- a/x11/gnome-shell/files/patch-js_misc_loginManager.js +++ b/x11/gnome-shell/files/patch-js_misc_loginManager.js @@ -1,6 +1,30 @@ ---- js/misc/loginManager.js.orig 2014-10-13 22:57:05.000000000 +0200 -+++ js/misc/loginManager.js 2014-10-23 19:53:12.854065483 +0200 -@@ -46,6 +46,32 @@ +$OpenBSD: patch-js_misc_loginManager_js,v 1.4 2017/11/04 16:44:50 jasper Exp $ + +REVERT: +From ddea54a5398c123a4711243e55811c8ba26f8b85 Mon Sep 17 00:00:00 2001 +From: Victor Toso <victortoso@redhat.com> +Date: Thu, 12 May 2016 09:25:49 +0200 +Subject: ScreenShield: set LockedHint property from systemd + +REVERT: +From a244c1e987502e359c45c0a9bc0012b5bc635553 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> +Date: Thu, 24 Apr 2014 17:55:56 +0200 +Subject: loginManager: Kill ConsoleKit support + + +--- js/misc/loginManager.js.orig 2018-04-05 22:23:32.831383000 +0200 ++++ js/misc/loginManager.js 2018-04-05 22:30:34.647201000 +0200 +@@ -40,15 +40,38 @@ const SystemdLoginSessionIface = '<node> \ + <signal name="Lock" /> \ + <signal name="Unlock" /> \ + <property name="Active" type="b" access="read" /> \ +-<method name="SetLockedHint"> \ +- <arg type="b" direction="in"/> \ +-</method> \ + </interface> \ + </node>'; + const SystemdLoginManager = Gio.DBusProxy.makeProxyWrapper(SystemdLoginManagerIface); const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface); @@ -33,7 +57,7 @@ function haveSystemd() { return GLib.access("/run/systemd/seats", 0) >= 0; } -@@ -75,7 +101,7 @@ +@@ -78,7 +101,7 @@ function canLock() { -1, null); let version = result.deep_unpack()[0].deep_unpack(); @@ -42,7 +66,7 @@ } catch(e) { return false; } -@@ -93,7 +119,7 @@ +@@ -96,7 +119,7 @@ function getLoginManager() { if (haveSystemd()) _loginManager = new LoginManagerSystemd(); else @@ -51,35 +75,35 @@ } return _loginManager; -@@ -110,6 +136,9 @@ - Lang.bind(this, this._prepareForSleep)); +@@ -113,6 +136,9 @@ var LoginManagerSystemd = new Lang.Class({ + this._prepareForSleep.bind(this)); }, + // Having this function is a bit of a hack since the Systemd and ConsoleKit + // session objects have different interfaces - but in both cases there are + // Lock/Unlock signals, and that's all we count upon at the moment. - getCurrentSessionProxy: function(callback) { + getCurrentSessionProxy(callback) { if (this._currentSession) { callback (this._currentSession); -@@ -177,13 +206,35 @@ +@@ -188,13 +214,35 @@ var LoginManagerSystemd = new Lang.Class({ }); Signals.addSignalMethods(LoginManagerSystemd.prototype); --const LoginManagerDummy = new Lang.Class({ +-var LoginManagerDummy = new Lang.Class({ - Name: 'LoginManagerDummy', +const LoginManagerConsoleKit = new Lang.Class({ + Name: 'LoginManagerConsoleKit', -+ + + _init: function() { + this._proxy = new ConsoleKitManager(Gio.DBus.system, + 'org.freedesktop.ConsoleKit', + '/org/freedesktop/ConsoleKit/Manager'); + }, - ++ + // Having this function is a bit of a hack since the Systemd and ConsoleKit + // session objects have different interfaces - but in both cases there are + // Lock/Unlock signals, and that's all we count upon at the moment. - getCurrentSessionProxy: function(callback) { + getCurrentSessionProxy(callback) { - // we could return a DummySession object that fakes whatever callers - // expect (at the time of writing: connect() and connectSignal() - // methods), but just never calling the callback should be safer @@ -101,8 +125,8 @@ + })); }, - canSuspend: function(asyncCallback) { -@@ -203,4 +254,4 @@ + canSuspend(asyncCallback) { +@@ -214,4 +262,4 @@ var LoginManagerDummy = new Lang.Class({ callback(null); } }); diff --git a/x11/gnome-shell/files/patch-js_ui_screenShield.js b/x11/gnome-shell/files/patch-js_ui_screenShield.js new file mode 100644 index 000000000000..7c05eacea297 --- /dev/null +++ b/x11/gnome-shell/files/patch-js_ui_screenShield.js @@ -0,0 +1,21 @@ +$OpenBSD: patch-js_ui_screenShield_js,v 1.3 2017/11/04 16:44:50 jasper Exp $ + +REVERT: +From ddea54a5398c123a4711243e55811c8ba26f8b85 Mon Sep 17 00:00:00 2001 +From: Victor Toso <victortoso@redhat.com> +Date: Thu, 12 May 2016 09:25:49 +0200 +Subject: ScreenShield: set LockedHint property from systemd + +Index: js/ui/screenShield.js +--- js/ui/screenShield.js.orig ++++ js/ui/screenShield.js +@@ -582,9 +582,6 @@ var ScreenShield = new Lang.Class({ + if (prevIsActive != this._isActive) + this.emit('active-changed'); + +- if (this._loginSession) +- this._loginSession.SetLockedHintRemote(active); +- + this._syncInhibitor(); + }, + diff --git a/x11/gnome-shell/files/patch-js_ui_sessionMode.js b/x11/gnome-shell/files/patch-js_ui_sessionMode.js deleted file mode 100644 index 011ddcffd0c2..000000000000 --- a/x11/gnome-shell/files/patch-js_ui_sessionMode.js +++ /dev/null @@ -1,29 +0,0 @@ ---- js/ui/sessionMode.js.orig 2014-02-19 20:54:46.000000000 +0000 -+++ js/ui/sessionMode.js 2014-03-17 19:23:36.755386539 +0000 -@@ -60,7 +60,7 @@ - isLocked: true, - isGreeter: undefined, - unlockDialog: undefined, -- components: ['polkitAgent', 'telepathyClient'], -+ components: ['polkitAgent'], - panel: { - left: [], - center: [], -@@ -72,7 +72,7 @@ - 'unlock-dialog': { - isLocked: true, - unlockDialog: undefined, -- components: ['polkitAgent', 'telepathyClient'], -+ components: ['polkitAgent'], - panel: { - left: [], - center: [], -@@ -97,7 +97,7 @@ - components: Config.HAVE_NETWORKMANAGER ? - ['networkAgent', 'polkitAgent', 'telepathyClient', - 'keyring', 'autorunManager', 'automountManager'] : -- ['polkitAgent', 'telepathyClient', -+ ['polkitAgent', - 'keyring', 'autorunManager', 'automountManager'], - - panel: { diff --git a/x11/gnome-shell/pkg-plist b/x11/gnome-shell/pkg-plist index 406c994aa053..89f729b79fff 100644 --- a/x11/gnome-shell/pkg-plist +++ b/x11/gnome-shell/pkg-plist @@ -4,12 +4,12 @@ bin/gnome-shell-extension-tool bin/gnome-shell-perf-tool lib/gnome-shell/Gvc-1.0.typelib lib/gnome-shell/Shell-0.1.typelib -lib/gnome-shell/ShellJS-0.1.typelib lib/gnome-shell/ShellMenu-0.1.typelib lib/gnome-shell/St-1.0.typelib -lib/gnome-shell/libgnome-shell-js.so lib/gnome-shell/libgnome-shell-menu.so lib/gnome-shell/libgnome-shell.so +lib/gnome-shell/libgvc.so +lib/gnome-shell/libst-1.0.so %%WEBPLUGIN_DIR%%libgnome-shell-browser-plugin.so libexec/gnome-shell-calendar-server libexec/gnome-shell-hotplug-sniffer @@ -18,8 +18,8 @@ man/man1/gnome-shell.1.gz share/GConf/gsettings/gnome-shell-overrides.convert share/applications/evolution-calendar.desktop share/applications/gnome-shell-extension-prefs.desktop -share/applications/gnome-shell-wayland.desktop -share/applications/gnome-shell.desktop +share/applications/org.gnome.Shell.desktop +share/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml share/dbus-1/interfaces/org.gnome.Shell.Screencast.xml share/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml share/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml @@ -27,83 +27,13 @@ share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml share/dbus-1/services/org.gnome.Shell.CalendarServer.service share/dbus-1/services/org.gnome.Shell.HotplugSniffer.service share/gnome-control-center/keybindings/50-gnome-shell-system.xml +%%DATADIR%%/Gvc-1.0.gir +%%DATADIR%%/Shell-0.1.gir +%%DATADIR%%/ShellMenu-0.1.gir +%%DATADIR%%/St-1.0.gir +%%DATADIR%%/gnome-shell-osk-layouts.gresource %%DATADIR%%/gnome-shell-theme.gresource %%DATADIR%%/perf-background.xml -share/gtk-doc/html/shell/ShellEmbeddedWindow.html -share/gtk-doc/html/shell/ShellGtkEmbed.html -share/gtk-doc/html/shell/ShellTpClient.html -share/gtk-doc/html/shell/annotation-glossary.html -share/gtk-doc/html/shell/api-index-full.html -share/gtk-doc/html/shell/ch01.html -share/gtk-doc/html/shell/ch02.html -share/gtk-doc/html/shell/ch03.html -share/gtk-doc/html/shell/ch04.html -share/gtk-doc/html/shell/ch05.html -share/gtk-doc/html/shell/ch06.html -share/gtk-doc/html/shell/deprecated-api-index.html -share/gtk-doc/html/shell/gdbus-org.gnome.Shell.SearchProvider.html -share/gtk-doc/html/shell/gdbus-org.gnome.Shell.SearchProvider2.html -share/gtk-doc/html/shell/home.png -share/gtk-doc/html/shell/index.html -share/gtk-doc/html/shell/left-insensitive.png -share/gtk-doc/html/shell/left.png -share/gtk-doc/html/shell/object-tree.html -share/gtk-doc/html/shell/right-insensitive.png -share/gtk-doc/html/shell/right.png -share/gtk-doc/html/shell/shell-shell-action-modes.html -share/gtk-doc/html/shell/shell-shell-app-system.html -share/gtk-doc/html/shell/shell-shell-app-usage.html -share/gtk-doc/html/shell/shell-shell-app.html -share/gtk-doc/html/shell/shell-shell-generic-container.html -share/gtk-doc/html/shell/shell-shell-global.html -share/gtk-doc/html/shell/shell-shell-mount-operation.html -share/gtk-doc/html/shell/shell-shell-polkit-authentication-agent.html -share/gtk-doc/html/shell/shell-shell-recorder.html -share/gtk-doc/html/shell/shell-shell-stack.html -share/gtk-doc/html/shell/shell-shell-tray-icon.html -share/gtk-doc/html/shell/shell-shell-tray-manager.html -share/gtk-doc/html/shell/shell-shell-util.html -share/gtk-doc/html/shell/shell-shell-window-tracker.html -share/gtk-doc/html/shell/shell-shell-wm.html -share/gtk-doc/html/shell/shell.devhelp2 -share/gtk-doc/html/shell/style.css -share/gtk-doc/html/shell/up-insensitive.png -share/gtk-doc/html/shell/up.png -share/gtk-doc/html/st/StBin.html -share/gtk-doc/html/st/StBoxLayout.html -share/gtk-doc/html/st/StButton.html -share/gtk-doc/html/st/StDrawingArea.html -share/gtk-doc/html/st/StEntry.html -share/gtk-doc/html/st/StIcon.html -share/gtk-doc/html/st/StLabel.html -share/gtk-doc/html/st/StScrollView.html -share/gtk-doc/html/st/StScrollable.html -share/gtk-doc/html/st/StTextureCache.html -share/gtk-doc/html/st/StThemeNodeTransition.html -share/gtk-doc/html/st/StWidget.html -share/gtk-doc/html/st/StWidgetAccessible.html -share/gtk-doc/html/st/annotation-glossary.html -share/gtk-doc/html/st/api-index-full.html -share/gtk-doc/html/st/base.html -share/gtk-doc/html/st/containers.html -share/gtk-doc/html/st/deprecated-api-index.html -share/gtk-doc/html/st/home.png -share/gtk-doc/html/st/index.html -share/gtk-doc/html/st/left-insensitive.png -share/gtk-doc/html/st/left.png -share/gtk-doc/html/st/object-tree.html -share/gtk-doc/html/st/pt01.html -share/gtk-doc/html/st/right-insensitive.png -share/gtk-doc/html/st/right.png -share/gtk-doc/html/st/st-st-theme-context.html -share/gtk-doc/html/st/st-st-theme-node.html -share/gtk-doc/html/st/st-st-theme.html -share/gtk-doc/html/st/st.devhelp2 -share/gtk-doc/html/st/style.css -share/gtk-doc/html/st/styling.html -share/gtk-doc/html/st/up-insensitive.png -share/gtk-doc/html/st/up.png -share/gtk-doc/html/st/widgets.html share/locale/af/LC_MESSAGES/gnome-shell.mo share/locale/an/LC_MESSAGES/gnome-shell.mo share/locale/ar/LC_MESSAGES/gnome-shell.mo @@ -130,10 +60,12 @@ share/locale/fi/LC_MESSAGES/gnome-shell.mo share/locale/fr/LC_MESSAGES/gnome-shell.mo share/locale/fur/LC_MESSAGES/gnome-shell.mo share/locale/ga/LC_MESSAGES/gnome-shell.mo +share/locale/gd/LC_MESSAGES/gnome-shell.mo share/locale/gl/LC_MESSAGES/gnome-shell.mo share/locale/gu/LC_MESSAGES/gnome-shell.mo share/locale/he/LC_MESSAGES/gnome-shell.mo share/locale/hi/LC_MESSAGES/gnome-shell.mo +share/locale/hr/LC_MESSAGES/gnome-shell.mo share/locale/hu/LC_MESSAGES/gnome-shell.mo share/locale/ia/LC_MESSAGES/gnome-shell.mo share/locale/id/LC_MESSAGES/gnome-shell.mo @@ -182,3 +114,4 @@ share/locale/vi/LC_MESSAGES/gnome-shell.mo share/locale/zh_CN/LC_MESSAGES/gnome-shell.mo share/locale/zh_HK/LC_MESSAGES/gnome-shell.mo share/locale/zh_TW/LC_MESSAGES/gnome-shell.mo +share/xdg-desktop-portal/portals/gnome-shell.portal diff --git a/x11/gnome-terminal/Makefile b/x11/gnome-terminal/Makefile index 1a73c5484b38..e1f0dba7cd2b 100644 --- a/x11/gnome-terminal/Makefile +++ b/x11/gnome-terminal/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gnome-terminal -PORTVERSION= 3.24.2 -PORTREVISION= 1 +PORTVERSION= 3.28.2 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome3 @@ -19,6 +18,7 @@ BUILD_DEPENDS= gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas \ vala:lang/vala LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid \ libgnutls.so:security/gnutls \ + libfribidi.so:converters/fribidi \ libpcre2-8.so:devel/pcre2 RUN_DEPENDS= gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas @@ -51,9 +51,4 @@ NAUTILUS_CONFIGURE_WITH= nautilus-extension NAUTILUS_USE= GNOME=nautilus3 NAUTILUS_DESC= Open in terminal extension for nautilus -post-install: -.for i in ca cs de el es fi fr gl hu ko pt_BR ru sv - @${RMDIR} ${STAGEDIR}${PREFIX}/share/help/${i}/gnome-terminal/figures -.endfor - .include <bsd.port.mk> diff --git a/x11/gnome-terminal/distinfo b/x11/gnome-terminal/distinfo index 01c61def86f1..070453bfb8b3 100644 --- a/x11/gnome-terminal/distinfo +++ b/x11/gnome-terminal/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1494857938 -SHA256 (gnome3/gnome-terminal-3.24.2.tar.xz) = 281edac30a07ca45beaaaf0a13fe2219cf8b87ece5e55dccbfc49ef769dfec0f -SIZE (gnome3/gnome-terminal-3.24.2.tar.xz) = 1960952 +TIMESTAMP = 1527915942 +SHA256 (gnome3/gnome-terminal-3.28.2.tar.xz) = a283dca4980eecf9184a55aac03fef99f85748461ff190423a2253f3b4557279 +SIZE (gnome3/gnome-terminal-3.28.2.tar.xz) = 2094920 diff --git a/x11/gnome-terminal/files/patch-src_Makefile.in b/x11/gnome-terminal/files/patch-src_Makefile.in new file mode 100644 index 000000000000..e0d7f6d48faa --- /dev/null +++ b/x11/gnome-terminal/files/patch-src_Makefile.in @@ -0,0 +1,14 @@ +https://debarshiray.wordpress.com/2018/05/11/gnome-terminal-separate-menu-items-for-opening-tabs-and-windows/ + +https://github.com/debarshiray/gnome-terminal/commit/57f235b31cdf0a19c13a6cbb808ad5ef0865f62b + +--- src/Makefile.in.orig 2018-06-08 22:58:08.551112000 +0200 ++++ src/Makefile.in 2018-06-08 22:59:00.096796000 +0200 +@@ -775,6 +775,7 @@ + terminal-window.h $(NULL) $(am__append_3) + nodist_gnome_terminal_server_SOURCES = $(gnome_terminal_server_built) + gnome_terminal_server_CPPFLAGS = \ ++ -DDISUNIFY_NEW_TERMINAL_SECTION \ + -DTERMINAL_COMPILATION \ + -DTERM_LOCALEDIR="\"$(datadir)/locale\"" \ + -DTERM_LIBEXECDIR="\"$(libexecdir)\"" \ diff --git a/x11/gnome-terminal/pkg-plist b/x11/gnome-terminal/pkg-plist index 35508e099b16..450f575fd932 100644 --- a/x11/gnome-terminal/pkg-plist +++ b/x11/gnome-terminal/pkg-plist @@ -1,12 +1,12 @@ bin/gnome-terminal %%NAUTILUS%%lib/nautilus/extensions-3.0/libterminal-nautilus.a %%NAUTILUS%%lib/nautilus/extensions-3.0/libterminal-nautilus.so -lib/systemd/user/gnome-terminal-server.service +@comment lib/systemd/user/gnome-terminal-server.service %%MIGRATION%%libexec/gnome-terminal-migration libexec/gnome-terminal-server share/applications/org.gnome.Terminal.desktop share/dbus-1/services/org.gnome.Terminal.service -%%SEARCHPROVIDER%%share/gnome-shell/search-providers/gnome-terminal-search-provider.ini +share/gnome-shell/search-providers/gnome-terminal-search-provider.ini share/help/C/gnome-terminal/adv-keyboard-shortcuts.page share/help/C/gnome-terminal/app-colors.page share/help/C/gnome-terminal/app-cursor.page @@ -27,6 +27,7 @@ share/help/C/gnome-terminal/pref-custom-command.page share/help/C/gnome-terminal/pref-custom-exit.page share/help/C/gnome-terminal/pref-encoding.page share/help/C/gnome-terminal/pref-keyboard-access.page +share/help/C/gnome-terminal/pref-login-shell.page share/help/C/gnome-terminal/pref-menubar.page share/help/C/gnome-terminal/pref-profile-char-width.page share/help/C/gnome-terminal/pref-profile-encoding.page @@ -36,9 +37,9 @@ share/help/C/gnome-terminal/pref-tab-window.page share/help/C/gnome-terminal/pref-user-input.page share/help/C/gnome-terminal/pref.page share/help/C/gnome-terminal/prob-reset.page -share/help/C/gnome-terminal/profile.page share/help/C/gnome-terminal/txt-copy-paste.page share/help/C/gnome-terminal/txt-links.page +share/help/C/gnome-terminal/txt-save-text.page share/help/C/gnome-terminal/txt-search.page share/help/C/gnome-terminal/txt-select-text.page share/help/ca/gnome-terminal/adv-keyboard-shortcuts.page @@ -59,6 +60,7 @@ share/help/ca/gnome-terminal/pref-custom-command.page share/help/ca/gnome-terminal/pref-custom-exit.page share/help/ca/gnome-terminal/pref-encoding.page share/help/ca/gnome-terminal/pref-keyboard-access.page +share/help/ca/gnome-terminal/pref-login-shell.page share/help/ca/gnome-terminal/pref-menubar.page share/help/ca/gnome-terminal/pref-profile-char-width.page share/help/ca/gnome-terminal/pref-profile-encoding.page @@ -68,9 +70,9 @@ share/help/ca/gnome-terminal/pref-tab-window.page share/help/ca/gnome-terminal/pref-user-input.page share/help/ca/gnome-terminal/pref.page share/help/ca/gnome-terminal/prob-reset.page -share/help/ca/gnome-terminal/profile.page share/help/ca/gnome-terminal/txt-copy-paste.page share/help/ca/gnome-terminal/txt-links.page +share/help/ca/gnome-terminal/txt-save-text.page share/help/ca/gnome-terminal/txt-search.page share/help/ca/gnome-terminal/txt-select-text.page share/help/cs/gnome-terminal/adv-keyboard-shortcuts.page @@ -91,6 +93,7 @@ share/help/cs/gnome-terminal/pref-custom-command.page share/help/cs/gnome-terminal/pref-custom-exit.page share/help/cs/gnome-terminal/pref-encoding.page share/help/cs/gnome-terminal/pref-keyboard-access.page +share/help/cs/gnome-terminal/pref-login-shell.page share/help/cs/gnome-terminal/pref-menubar.page share/help/cs/gnome-terminal/pref-profile-char-width.page share/help/cs/gnome-terminal/pref-profile-encoding.page @@ -100,9 +103,9 @@ share/help/cs/gnome-terminal/pref-tab-window.page share/help/cs/gnome-terminal/pref-user-input.page share/help/cs/gnome-terminal/pref.page share/help/cs/gnome-terminal/prob-reset.page -share/help/cs/gnome-terminal/profile.page share/help/cs/gnome-terminal/txt-copy-paste.page share/help/cs/gnome-terminal/txt-links.page +share/help/cs/gnome-terminal/txt-save-text.page share/help/cs/gnome-terminal/txt-search.page share/help/cs/gnome-terminal/txt-select-text.page share/help/de/gnome-terminal/adv-keyboard-shortcuts.page @@ -112,6 +115,7 @@ share/help/de/gnome-terminal/app-fonts.page share/help/de/gnome-terminal/app-fullscreen.page share/help/de/gnome-terminal/app-terminal-sizes.page share/help/de/gnome-terminal/app-zoom.page +share/help/de/gnome-terminal/figures/gnome-terminal.png share/help/de/gnome-terminal/gs-execute-commands.page share/help/de/gnome-terminal/gs-tabs.page share/help/de/gnome-terminal/index.page @@ -123,6 +127,7 @@ share/help/de/gnome-terminal/pref-custom-command.page share/help/de/gnome-terminal/pref-custom-exit.page share/help/de/gnome-terminal/pref-encoding.page share/help/de/gnome-terminal/pref-keyboard-access.page +share/help/de/gnome-terminal/pref-login-shell.page share/help/de/gnome-terminal/pref-menubar.page share/help/de/gnome-terminal/pref-profile-char-width.page share/help/de/gnome-terminal/pref-profile-encoding.page @@ -132,9 +137,9 @@ share/help/de/gnome-terminal/pref-tab-window.page share/help/de/gnome-terminal/pref-user-input.page share/help/de/gnome-terminal/pref.page share/help/de/gnome-terminal/prob-reset.page -share/help/de/gnome-terminal/profile.page share/help/de/gnome-terminal/txt-copy-paste.page share/help/de/gnome-terminal/txt-links.page +share/help/de/gnome-terminal/txt-save-text.page share/help/de/gnome-terminal/txt-search.page share/help/de/gnome-terminal/txt-select-text.page share/help/el/gnome-terminal/adv-keyboard-shortcuts.page @@ -144,6 +149,7 @@ share/help/el/gnome-terminal/app-fonts.page share/help/el/gnome-terminal/app-fullscreen.page share/help/el/gnome-terminal/app-terminal-sizes.page share/help/el/gnome-terminal/app-zoom.page +share/help/el/gnome-terminal/figures/gnome-terminal.png share/help/el/gnome-terminal/gs-execute-commands.page share/help/el/gnome-terminal/gs-tabs.page share/help/el/gnome-terminal/index.page @@ -155,6 +161,7 @@ share/help/el/gnome-terminal/pref-custom-command.page share/help/el/gnome-terminal/pref-custom-exit.page share/help/el/gnome-terminal/pref-encoding.page share/help/el/gnome-terminal/pref-keyboard-access.page +share/help/el/gnome-terminal/pref-login-shell.page share/help/el/gnome-terminal/pref-menubar.page share/help/el/gnome-terminal/pref-profile-char-width.page share/help/el/gnome-terminal/pref-profile-encoding.page @@ -164,9 +171,9 @@ share/help/el/gnome-terminal/pref-tab-window.page share/help/el/gnome-terminal/pref-user-input.page share/help/el/gnome-terminal/pref.page share/help/el/gnome-terminal/prob-reset.page -share/help/el/gnome-terminal/profile.page share/help/el/gnome-terminal/txt-copy-paste.page share/help/el/gnome-terminal/txt-links.page +share/help/el/gnome-terminal/txt-save-text.page share/help/el/gnome-terminal/txt-search.page share/help/el/gnome-terminal/txt-select-text.page share/help/es/gnome-terminal/adv-keyboard-shortcuts.page @@ -187,6 +194,7 @@ share/help/es/gnome-terminal/pref-custom-command.page share/help/es/gnome-terminal/pref-custom-exit.page share/help/es/gnome-terminal/pref-encoding.page share/help/es/gnome-terminal/pref-keyboard-access.page +share/help/es/gnome-terminal/pref-login-shell.page share/help/es/gnome-terminal/pref-menubar.page share/help/es/gnome-terminal/pref-profile-char-width.page share/help/es/gnome-terminal/pref-profile-encoding.page @@ -196,9 +204,9 @@ share/help/es/gnome-terminal/pref-tab-window.page share/help/es/gnome-terminal/pref-user-input.page share/help/es/gnome-terminal/pref.page share/help/es/gnome-terminal/prob-reset.page -share/help/es/gnome-terminal/profile.page share/help/es/gnome-terminal/txt-copy-paste.page share/help/es/gnome-terminal/txt-links.page +share/help/es/gnome-terminal/txt-save-text.page share/help/es/gnome-terminal/txt-search.page share/help/es/gnome-terminal/txt-select-text.page share/help/fi/gnome-terminal/adv-keyboard-shortcuts.page @@ -219,6 +227,7 @@ share/help/fi/gnome-terminal/pref-custom-command.page share/help/fi/gnome-terminal/pref-custom-exit.page share/help/fi/gnome-terminal/pref-encoding.page share/help/fi/gnome-terminal/pref-keyboard-access.page +share/help/fi/gnome-terminal/pref-login-shell.page share/help/fi/gnome-terminal/pref-menubar.page share/help/fi/gnome-terminal/pref-profile-char-width.page share/help/fi/gnome-terminal/pref-profile-encoding.page @@ -228,9 +237,9 @@ share/help/fi/gnome-terminal/pref-tab-window.page share/help/fi/gnome-terminal/pref-user-input.page share/help/fi/gnome-terminal/pref.page share/help/fi/gnome-terminal/prob-reset.page -share/help/fi/gnome-terminal/profile.page share/help/fi/gnome-terminal/txt-copy-paste.page share/help/fi/gnome-terminal/txt-links.page +share/help/fi/gnome-terminal/txt-save-text.page share/help/fi/gnome-terminal/txt-search.page share/help/fi/gnome-terminal/txt-select-text.page share/help/fr/gnome-terminal/adv-keyboard-shortcuts.page @@ -251,6 +260,7 @@ share/help/fr/gnome-terminal/pref-custom-command.page share/help/fr/gnome-terminal/pref-custom-exit.page share/help/fr/gnome-terminal/pref-encoding.page share/help/fr/gnome-terminal/pref-keyboard-access.page +share/help/fr/gnome-terminal/pref-login-shell.page share/help/fr/gnome-terminal/pref-menubar.page share/help/fr/gnome-terminal/pref-profile-char-width.page share/help/fr/gnome-terminal/pref-profile-encoding.page @@ -260,9 +270,9 @@ share/help/fr/gnome-terminal/pref-tab-window.page share/help/fr/gnome-terminal/pref-user-input.page share/help/fr/gnome-terminal/pref.page share/help/fr/gnome-terminal/prob-reset.page -share/help/fr/gnome-terminal/profile.page share/help/fr/gnome-terminal/txt-copy-paste.page share/help/fr/gnome-terminal/txt-links.page +share/help/fr/gnome-terminal/txt-save-text.page share/help/fr/gnome-terminal/txt-search.page share/help/fr/gnome-terminal/txt-select-text.page share/help/gl/gnome-terminal/adv-keyboard-shortcuts.page @@ -283,6 +293,7 @@ share/help/gl/gnome-terminal/pref-custom-command.page share/help/gl/gnome-terminal/pref-custom-exit.page share/help/gl/gnome-terminal/pref-encoding.page share/help/gl/gnome-terminal/pref-keyboard-access.page +share/help/gl/gnome-terminal/pref-login-shell.page share/help/gl/gnome-terminal/pref-menubar.page share/help/gl/gnome-terminal/pref-profile-char-width.page share/help/gl/gnome-terminal/pref-profile-encoding.page @@ -292,9 +303,9 @@ share/help/gl/gnome-terminal/pref-tab-window.page share/help/gl/gnome-terminal/pref-user-input.page share/help/gl/gnome-terminal/pref.page share/help/gl/gnome-terminal/prob-reset.page -share/help/gl/gnome-terminal/profile.page share/help/gl/gnome-terminal/txt-copy-paste.page share/help/gl/gnome-terminal/txt-links.page +share/help/gl/gnome-terminal/txt-save-text.page share/help/gl/gnome-terminal/txt-search.page share/help/gl/gnome-terminal/txt-select-text.page share/help/hu/gnome-terminal/adv-keyboard-shortcuts.page @@ -304,6 +315,7 @@ share/help/hu/gnome-terminal/app-fonts.page share/help/hu/gnome-terminal/app-fullscreen.page share/help/hu/gnome-terminal/app-terminal-sizes.page share/help/hu/gnome-terminal/app-zoom.page +share/help/hu/gnome-terminal/figures/gnome-terminal.png share/help/hu/gnome-terminal/gs-execute-commands.page share/help/hu/gnome-terminal/gs-tabs.page share/help/hu/gnome-terminal/index.page @@ -315,6 +327,7 @@ share/help/hu/gnome-terminal/pref-custom-command.page share/help/hu/gnome-terminal/pref-custom-exit.page share/help/hu/gnome-terminal/pref-encoding.page share/help/hu/gnome-terminal/pref-keyboard-access.page +share/help/hu/gnome-terminal/pref-login-shell.page share/help/hu/gnome-terminal/pref-menubar.page share/help/hu/gnome-terminal/pref-profile-char-width.page share/help/hu/gnome-terminal/pref-profile-encoding.page @@ -324,9 +337,9 @@ share/help/hu/gnome-terminal/pref-tab-window.page share/help/hu/gnome-terminal/pref-user-input.page share/help/hu/gnome-terminal/pref.page share/help/hu/gnome-terminal/prob-reset.page -share/help/hu/gnome-terminal/profile.page share/help/hu/gnome-terminal/txt-copy-paste.page share/help/hu/gnome-terminal/txt-links.page +share/help/hu/gnome-terminal/txt-save-text.page share/help/hu/gnome-terminal/txt-search.page share/help/hu/gnome-terminal/txt-select-text.page share/help/ko/gnome-terminal/adv-keyboard-shortcuts.page @@ -336,6 +349,7 @@ share/help/ko/gnome-terminal/app-fonts.page share/help/ko/gnome-terminal/app-fullscreen.page share/help/ko/gnome-terminal/app-terminal-sizes.page share/help/ko/gnome-terminal/app-zoom.page +share/help/ko/gnome-terminal/figures/gnome-terminal.png share/help/ko/gnome-terminal/gs-execute-commands.page share/help/ko/gnome-terminal/gs-tabs.page share/help/ko/gnome-terminal/index.page @@ -347,6 +361,7 @@ share/help/ko/gnome-terminal/pref-custom-command.page share/help/ko/gnome-terminal/pref-custom-exit.page share/help/ko/gnome-terminal/pref-encoding.page share/help/ko/gnome-terminal/pref-keyboard-access.page +share/help/ko/gnome-terminal/pref-login-shell.page share/help/ko/gnome-terminal/pref-menubar.page share/help/ko/gnome-terminal/pref-profile-char-width.page share/help/ko/gnome-terminal/pref-profile-encoding.page @@ -356,11 +371,45 @@ share/help/ko/gnome-terminal/pref-tab-window.page share/help/ko/gnome-terminal/pref-user-input.page share/help/ko/gnome-terminal/pref.page share/help/ko/gnome-terminal/prob-reset.page -share/help/ko/gnome-terminal/profile.page share/help/ko/gnome-terminal/txt-copy-paste.page share/help/ko/gnome-terminal/txt-links.page +share/help/ko/gnome-terminal/txt-save-text.page share/help/ko/gnome-terminal/txt-search.page share/help/ko/gnome-terminal/txt-select-text.page +share/help/pl/gnome-terminal/adv-keyboard-shortcuts.page +share/help/pl/gnome-terminal/app-colors.page +share/help/pl/gnome-terminal/app-cursor.page +share/help/pl/gnome-terminal/app-fonts.page +share/help/pl/gnome-terminal/app-fullscreen.page +share/help/pl/gnome-terminal/app-terminal-sizes.page +share/help/pl/gnome-terminal/app-zoom.page +share/help/pl/gnome-terminal/figures/gnome-terminal.png +share/help/pl/gnome-terminal/gs-execute-commands.page +share/help/pl/gnome-terminal/gs-tabs.page +share/help/pl/gnome-terminal/index.page +share/help/pl/gnome-terminal/introduction.page +share/help/pl/gnome-terminal/legal.xml +share/help/pl/gnome-terminal/overview.page +share/help/pl/gnome-terminal/pref-bell.page +share/help/pl/gnome-terminal/pref-custom-command.page +share/help/pl/gnome-terminal/pref-custom-exit.page +share/help/pl/gnome-terminal/pref-encoding.page +share/help/pl/gnome-terminal/pref-keyboard-access.page +share/help/pl/gnome-terminal/pref-login-shell.page +share/help/pl/gnome-terminal/pref-menubar.page +share/help/pl/gnome-terminal/pref-profile-char-width.page +share/help/pl/gnome-terminal/pref-profile-encoding.page +share/help/pl/gnome-terminal/pref-profiles.page +share/help/pl/gnome-terminal/pref-scrolling.page +share/help/pl/gnome-terminal/pref-tab-window.page +share/help/pl/gnome-terminal/pref-user-input.page +share/help/pl/gnome-terminal/pref.page +share/help/pl/gnome-terminal/prob-reset.page +share/help/pl/gnome-terminal/txt-copy-paste.page +share/help/pl/gnome-terminal/txt-links.page +share/help/pl/gnome-terminal/txt-save-text.page +share/help/pl/gnome-terminal/txt-search.page +share/help/pl/gnome-terminal/txt-select-text.page share/help/pt_BR/gnome-terminal/adv-keyboard-shortcuts.page share/help/pt_BR/gnome-terminal/app-colors.page share/help/pt_BR/gnome-terminal/app-cursor.page @@ -368,6 +417,7 @@ share/help/pt_BR/gnome-terminal/app-fonts.page share/help/pt_BR/gnome-terminal/app-fullscreen.page share/help/pt_BR/gnome-terminal/app-terminal-sizes.page share/help/pt_BR/gnome-terminal/app-zoom.page +share/help/pt_BR/gnome-terminal/figures/gnome-terminal.png share/help/pt_BR/gnome-terminal/gs-execute-commands.page share/help/pt_BR/gnome-terminal/gs-tabs.page share/help/pt_BR/gnome-terminal/index.page @@ -379,6 +429,7 @@ share/help/pt_BR/gnome-terminal/pref-custom-command.page share/help/pt_BR/gnome-terminal/pref-custom-exit.page share/help/pt_BR/gnome-terminal/pref-encoding.page share/help/pt_BR/gnome-terminal/pref-keyboard-access.page +share/help/pt_BR/gnome-terminal/pref-login-shell.page share/help/pt_BR/gnome-terminal/pref-menubar.page share/help/pt_BR/gnome-terminal/pref-profile-char-width.page share/help/pt_BR/gnome-terminal/pref-profile-encoding.page @@ -388,11 +439,44 @@ share/help/pt_BR/gnome-terminal/pref-tab-window.page share/help/pt_BR/gnome-terminal/pref-user-input.page share/help/pt_BR/gnome-terminal/pref.page share/help/pt_BR/gnome-terminal/prob-reset.page -share/help/pt_BR/gnome-terminal/profile.page share/help/pt_BR/gnome-terminal/txt-copy-paste.page share/help/pt_BR/gnome-terminal/txt-links.page +share/help/pt_BR/gnome-terminal/txt-save-text.page share/help/pt_BR/gnome-terminal/txt-search.page share/help/pt_BR/gnome-terminal/txt-select-text.page +share/help/ro/gnome-terminal/adv-keyboard-shortcuts.page +share/help/ro/gnome-terminal/app-colors.page +share/help/ro/gnome-terminal/app-cursor.page +share/help/ro/gnome-terminal/app-fonts.page +share/help/ro/gnome-terminal/app-fullscreen.page +share/help/ro/gnome-terminal/app-terminal-sizes.page +share/help/ro/gnome-terminal/app-zoom.page +share/help/ro/gnome-terminal/gs-execute-commands.page +share/help/ro/gnome-terminal/gs-tabs.page +share/help/ro/gnome-terminal/index.page +share/help/ro/gnome-terminal/introduction.page +share/help/ro/gnome-terminal/legal.xml +share/help/ro/gnome-terminal/overview.page +share/help/ro/gnome-terminal/pref-bell.page +share/help/ro/gnome-terminal/pref-custom-command.page +share/help/ro/gnome-terminal/pref-custom-exit.page +share/help/ro/gnome-terminal/pref-encoding.page +share/help/ro/gnome-terminal/pref-keyboard-access.page +share/help/ro/gnome-terminal/pref-login-shell.page +share/help/ro/gnome-terminal/pref-menubar.page +share/help/ro/gnome-terminal/pref-profile-char-width.page +share/help/ro/gnome-terminal/pref-profile-encoding.page +share/help/ro/gnome-terminal/pref-profiles.page +share/help/ro/gnome-terminal/pref-scrolling.page +share/help/ro/gnome-terminal/pref-tab-window.page +share/help/ro/gnome-terminal/pref-user-input.page +share/help/ro/gnome-terminal/pref.page +share/help/ro/gnome-terminal/prob-reset.page +share/help/ro/gnome-terminal/txt-copy-paste.page +share/help/ro/gnome-terminal/txt-links.page +share/help/ro/gnome-terminal/txt-save-text.page +share/help/ro/gnome-terminal/txt-search.page +share/help/ro/gnome-terminal/txt-select-text.page share/help/ru/gnome-terminal/adv-keyboard-shortcuts.page share/help/ru/gnome-terminal/app-colors.page share/help/ru/gnome-terminal/app-cursor.page @@ -400,6 +484,7 @@ share/help/ru/gnome-terminal/app-fonts.page share/help/ru/gnome-terminal/app-fullscreen.page share/help/ru/gnome-terminal/app-terminal-sizes.page share/help/ru/gnome-terminal/app-zoom.page +share/help/ru/gnome-terminal/figures/gnome-terminal.png share/help/ru/gnome-terminal/gs-execute-commands.page share/help/ru/gnome-terminal/gs-tabs.page share/help/ru/gnome-terminal/index.page @@ -411,6 +496,7 @@ share/help/ru/gnome-terminal/pref-custom-command.page share/help/ru/gnome-terminal/pref-custom-exit.page share/help/ru/gnome-terminal/pref-encoding.page share/help/ru/gnome-terminal/pref-keyboard-access.page +share/help/ru/gnome-terminal/pref-login-shell.page share/help/ru/gnome-terminal/pref-menubar.page share/help/ru/gnome-terminal/pref-profile-char-width.page share/help/ru/gnome-terminal/pref-profile-encoding.page @@ -420,9 +506,9 @@ share/help/ru/gnome-terminal/pref-tab-window.page share/help/ru/gnome-terminal/pref-user-input.page share/help/ru/gnome-terminal/pref.page share/help/ru/gnome-terminal/prob-reset.page -share/help/ru/gnome-terminal/profile.page share/help/ru/gnome-terminal/txt-copy-paste.page share/help/ru/gnome-terminal/txt-links.page +share/help/ru/gnome-terminal/txt-save-text.page share/help/ru/gnome-terminal/txt-search.page share/help/ru/gnome-terminal/txt-select-text.page share/help/sv/gnome-terminal/adv-keyboard-shortcuts.page @@ -443,6 +529,7 @@ share/help/sv/gnome-terminal/pref-custom-command.page share/help/sv/gnome-terminal/pref-custom-exit.page share/help/sv/gnome-terminal/pref-encoding.page share/help/sv/gnome-terminal/pref-keyboard-access.page +share/help/sv/gnome-terminal/pref-login-shell.page share/help/sv/gnome-terminal/pref-menubar.page share/help/sv/gnome-terminal/pref-profile-char-width.page share/help/sv/gnome-terminal/pref-profile-encoding.page @@ -452,9 +539,9 @@ share/help/sv/gnome-terminal/pref-tab-window.page share/help/sv/gnome-terminal/pref-user-input.page share/help/sv/gnome-terminal/pref.page share/help/sv/gnome-terminal/prob-reset.page -share/help/sv/gnome-terminal/profile.page share/help/sv/gnome-terminal/txt-copy-paste.page share/help/sv/gnome-terminal/txt-links.page +share/help/sv/gnome-terminal/txt-save-text.page share/help/sv/gnome-terminal/txt-search.page share/help/sv/gnome-terminal/txt-select-text.page share/locale/am/LC_MESSAGES/gnome-terminal.mo @@ -554,3 +641,11 @@ share/locale/zh_HK/LC_MESSAGES/gnome-terminal.mo share/locale/zh_TW/LC_MESSAGES/gnome-terminal.mo %%NAUTILUS%%share/metainfo/org.gnome.Terminal.Nautilus.metainfo.xml share/metainfo/org.gnome.Terminal.appdata.xml +@dir share/help/ca/gnome-terminal/figures +@dir share/help/cs/gnome-terminal/figures +@dir share/help/es/gnome-terminal/figures +@dir share/help/fi/gnome-terminal/figures +@dir share/help/fr/gnome-terminal/figures +@dir share/help/gl/gnome-terminal/figures +@dir share/help/ro/gnome-terminal/figures +@dir share/help/sv/gnome-terminal/figures diff --git a/x11/gnome3-lite/Makefile b/x11/gnome3-lite/Makefile index 04b010e9a837..d4bedc9ab9fc 100644 --- a/x11/gnome3-lite/Makefile +++ b/x11/gnome3-lite/Makefile @@ -1,15 +1,13 @@ # Created by: Joe Marcus Clarke <marcus@FreeBSD.org> # $FreeBSD$ -# $MCom: ports/trunk/x11/gnome3-lite/Makefile 18610 2013-06-30 16:33:05Z marcus $ -PORTREVISION= 1 +PORTREVISION= 0 CATEGORIES= x11 gnome PKGNAMESUFFIX= -lite COMMENT= The "meta-port" of the GNOME desktop slimmed down for only the basics MASTERDIR= ${.CURDIR}/../gnome3 -CONFLICTS= gnome2-[0-9]* gnome2-lite-[0-9]* gnome3-[0-9]* DESCR= ${.CURDIR}/pkg-descr PKGMESSAGE= ${.CURDIR}/pkg-message diff --git a/x11/gnome3/Makefile b/x11/gnome3/Makefile index 4e2602e46c3c..2728888bb9d4 100644 --- a/x11/gnome3/Makefile +++ b/x11/gnome3/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gnome3 -PORTVERSION= 3.18.0 -PORTREVISION= 1 +PORTVERSION= 3.28 CATEGORIES?= x11 gnome MAINTAINER= gnome@FreeBSD.org @@ -11,7 +10,7 @@ COMMENT?= "meta-port" for the GNOME 3 integrated X11 desktop RUN_DEPENDS?= dconf-editor:devel/dconf-editor \ gnome-session>=3.0.0:x11/gnome-session \ - gnome-themes-standard>=3.0.0:x11-themes/gnome-themes-standard \ + gnome-themes-extra>=3.28:x11-themes/gnome-themes-extra \ gnome-icon-theme-extras>=3.0.0:misc/gnome-icon-theme-extras \ gnome-icon-theme-symbolic>=3.0.0:x11-themes/gnome-icon-theme-symbolic \ gnome-keyring>=3.0.0:security/gnome-keyring \ @@ -20,7 +19,7 @@ RUN_DEPENDS?= dconf-editor:devel/dconf-editor \ gnome-mount:sysutils/gnome-mount \ gnome-shell>=3.0.0:x11/gnome-shell \ gnome-shell-extensions>=3.0.0:x11/gnome-shell-extensions \ - gnome-tweak-tool:deskutils/gnome-tweak-tool \ + gnome-tweaks:deskutils/gnome-tweaks \ sushi>=0:x11-fm/sushi \ nautilus>=3.0.0:x11-fm/nautilus \ ${LOCALBASE}/share/fonts/bitstream-vera/Vera.ttf:x11-fonts/bitstream-vera \ @@ -41,14 +40,14 @@ USES= metaport .if ${.CURDIR:T}!="gnome3-lite" OPTIONS_DEFINE+=DOCS -DOCS_RUN_DEPENDS= gnome-user-docs>=0:misc/gnome-user-docs +DOCS_RUN_DEPENDS= gnome-user-docs>=0:misc/gnome-user-docs \ + gnome-getting-started-docs>=0:misc/gnome-getting-started-docs .endif .include <bsd.port.options.mk> .if ${.CURDIR:T}!="gnome3-lite" -RUN_DEPENDS+= empathy>=3.0.0:net-im/empathy \ - epiphany>=3.0.0:www/epiphany \ +RUN_DEPENDS+= epiphany>=3.0.0:www/epiphany \ gucharmap>=3.0.0:deskutils/gucharmap \ gnome-characters>=3.0.0:deskutils/gnome-characters \ gnome-calendar>=3.0:deskutils/gnome-calendar \ @@ -57,7 +56,6 @@ RUN_DEPENDS+= empathy>=3.0.0:net-im/empathy \ gedit>=3.0.0:editors/gedit \ gedit-plugins>=3.0.0:editors/gedit-plugins \ gnome-terminal>=3.0.0:x11/gnome-terminal \ - mousetweaks>=3.0.0:accessibility/mousetweaks \ brasero>=3.0.0:sysutils/brasero \ accerciser>=3.0.0:accessibility/accerciser \ gnome-calculator>=3.0.0:math/gnome-calculator \ diff --git a/x11/libgnome/Makefile b/x11/libgnome/Makefile index b86a008339cf..3331ae06e558 100644 --- a/x11/libgnome/Makefile +++ b/x11/libgnome/Makefile @@ -16,7 +16,8 @@ USES= tar:bzip2 .if !defined(REFERENCE_PORT) BUILD_DEPENDS= rarian-sk-config:textproc/rarian -LIB_DEPENDS= libcanberra-gtk.so:audio/libcanberra +LIB_DEPENDS= libcanberra-gtk.so:audio/libcanberra \ + libpopt.so:devel/popt RUN_DEPENDS= rarian-sk-config:textproc/rarian INSTALL_TARGET= install-strip diff --git a/x11/libgnome/files/patch-libgnome_gnome-config.h b/x11/libgnome/files/patch-libgnome_gnome-config.h new file mode 100644 index 000000000000..14b56620abdf --- /dev/null +++ b/x11/libgnome/files/patch-libgnome_gnome-config.h @@ -0,0 +1,11 @@ +--- libgnome/gnome-config.h.orig 2009-04-23 09:29:13 UTC ++++ libgnome/gnome-config.h +@@ -270,7 +270,7 @@ void gnome_config_clean_key_ (const char *path, gboole + #define gnome_config_private_clean_key(path) \ + (gnome_config_clean_key_((path),TRUE)) + +-/* returns the true filename of the config file */ ++/* returns the true filename of the config file */ + #define gnome_config_get_real_path(path) \ + (g_build_filename (gnome_user_dir_get(),(path),NULL)) + #define gnome_config_private_get_real_path(path) \ diff --git a/x11/libgnomekbd/Makefile b/x11/libgnomekbd/Makefile index 4a5c26b7dd6f..b6c40211668f 100644 --- a/x11/libgnomekbd/Makefile +++ b/x11/libgnomekbd/Makefile @@ -1,10 +1,8 @@ # Created by: Michael Johnson <ahze@FreeBSD.org> # $FreeBSD$ -# $MCom: ports/trunk/x11/libgnomekbd/Makefile 19813 2014-08-15 19:44:33Z gusi $ PORTNAME= libgnomekbd -PORTVERSION= 3.6.0 -PORTREVISION= 2 +PORTVERSION= 3.26.0 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome3 @@ -12,18 +10,17 @@ DIST_SUBDIR= gnome3 MAINTAINER= gnome@FreeBSD.org COMMENT= GNOME keyboard shared library -BUILD_DEPENDS= libxklavier>=5.2:x11/libxklavier +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING.LIB + LIB_DEPENDS= libxklavier.so:x11/libxklavier -USES= gettext gmake libtool pathfix pkgconfig tar:xz -USE_GNOME= gnomeprefix gtk30 intltool introspection:build \ - libxml2 +USES= gettext gmake libtool localbase pathfix pkgconfig tar:xz +USE_GNOME= cairo gtk30 introspection:build GNU_CONFIGURE= yes -USE_XORG= ice +USE_XORG= x11 INSTALLS_ICONS= yes USE_LDCONFIG= yes -CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib INSTALL_TARGET= install-strip GLIB_SCHEMAS= org.gnome.libgnomekbd.desktop.gschema.xml \ diff --git a/x11/libgnomekbd/distinfo b/x11/libgnomekbd/distinfo index 7e6f98afc98e..d72733140047 100644 --- a/x11/libgnomekbd/distinfo +++ b/x11/libgnomekbd/distinfo @@ -1,2 +1,3 @@ -SHA256 (gnome3/libgnomekbd-3.6.0.tar.xz) = c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09 -SIZE (gnome3/libgnomekbd-3.6.0.tar.xz) = 373588 +TIMESTAMP = 1507325653 +SHA256 (gnome3/libgnomekbd-3.26.0.tar.xz) = ea3b418c57c30615f7ee5b6f718def7c9d09ce34637324361150744258968875 +SIZE (gnome3/libgnomekbd-3.26.0.tar.xz) = 449204 diff --git a/x11/libgnomekbd/pkg-plist b/x11/libgnomekbd/pkg-plist index 4c83d83b9ae7..4b728c094d20 100644 --- a/x11/libgnomekbd/pkg-plist +++ b/x11/libgnomekbd/pkg-plist @@ -33,6 +33,7 @@ share/locale/be@latin/LC_MESSAGES/libgnomekbd.mo share/locale/bg/LC_MESSAGES/libgnomekbd.mo share/locale/bn/LC_MESSAGES/libgnomekbd.mo share/locale/bn_IN/LC_MESSAGES/libgnomekbd.mo +share/locale/bs/LC_MESSAGES/libgnomekbd.mo share/locale/ca/LC_MESSAGES/libgnomekbd.mo share/locale/ca@valencia/LC_MESSAGES/libgnomekbd.mo share/locale/cs/LC_MESSAGES/libgnomekbd.mo @@ -49,6 +50,7 @@ share/locale/eu/LC_MESSAGES/libgnomekbd.mo share/locale/fa/LC_MESSAGES/libgnomekbd.mo share/locale/fi/LC_MESSAGES/libgnomekbd.mo share/locale/fr/LC_MESSAGES/libgnomekbd.mo +share/locale/fur/LC_MESSAGES/libgnomekbd.mo share/locale/ga/LC_MESSAGES/libgnomekbd.mo share/locale/gl/LC_MESSAGES/libgnomekbd.mo share/locale/gu/LC_MESSAGES/libgnomekbd.mo @@ -59,6 +61,8 @@ share/locale/id/LC_MESSAGES/libgnomekbd.mo share/locale/it/LC_MESSAGES/libgnomekbd.mo share/locale/ja/LC_MESSAGES/libgnomekbd.mo share/locale/ka/LC_MESSAGES/libgnomekbd.mo +share/locale/kk/LC_MESSAGES/libgnomekbd.mo +share/locale/km/LC_MESSAGES/libgnomekbd.mo share/locale/kn/LC_MESSAGES/libgnomekbd.mo share/locale/ko/LC_MESSAGES/libgnomekbd.mo share/locale/lt/LC_MESSAGES/libgnomekbd.mo @@ -88,6 +92,7 @@ share/locale/sr@latin/LC_MESSAGES/libgnomekbd.mo share/locale/sv/LC_MESSAGES/libgnomekbd.mo share/locale/ta/LC_MESSAGES/libgnomekbd.mo share/locale/te/LC_MESSAGES/libgnomekbd.mo +share/locale/tg/LC_MESSAGES/libgnomekbd.mo share/locale/th/LC_MESSAGES/libgnomekbd.mo share/locale/tr/LC_MESSAGES/libgnomekbd.mo share/locale/ug/LC_MESSAGES/libgnomekbd.mo diff --git a/x11/pantheon-terminal/Makefile b/x11/pantheon-terminal/Makefile index 4356821b6252..fb6fc94bcb54 100644 --- a/x11/pantheon-terminal/Makefile +++ b/x11/pantheon-terminal/Makefile @@ -12,6 +12,8 @@ COMMENT= Lightweight, beautiful, and simple terminal from Elementary OS LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING +BROKEN= Doesn't build with vala 0.40+ + LIB_DEPENDS= libgee-0.8.so:devel/libgee \ libgnutls.so:security/gnutls \ libgranite.so:x11-toolkits/granite \ diff --git a/x11/wmdrawer/Makefile b/x11/wmdrawer/Makefile index 6c0510646408..56737d0f2124 100644 --- a/x11/wmdrawer/Makefile +++ b/x11/wmdrawer/Makefile @@ -3,7 +3,7 @@ PORTNAME= wmdrawer PORTVERSION= 0.10.5 -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= x11 windowmaker MASTER_SITES= http://people.easter-eggs.org/~valos/wmdrawer/ \ http://www.sourcefiles.org/Utilities/Desktops/ @@ -15,6 +15,7 @@ LICENSE= GPLv2+ USES= gmake pkgconfig USE_GNOME= gdkpixbuf2 +USE_XORG= x11 xext xi MAKE_ENV= USE_GDKPIXBUF2=1 SUB_FILES= pkg-message diff --git a/x11/yelp/Makefile b/x11/yelp/Makefile index 8040830ca94d..ddcc96e09bf3 100644 --- a/x11/yelp/Makefile +++ b/x11/yelp/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= yelp -PORTVERSION= 3.22.0 -PORTREVISION= 2 +PORTVERSION= 3.28.1 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome3 diff --git a/x11/yelp/distinfo b/x11/yelp/distinfo index aceb45721869..160c54796ccd 100644 --- a/x11/yelp/distinfo +++ b/x11/yelp/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1479730974 -SHA256 (gnome3/yelp-3.22.0.tar.xz) = 8616b77c239aaa731312609f192c9b2c71d54b2cae42ff23efa23b5b3188778e -SIZE (gnome3/yelp-3.22.0.tar.xz) = 1383500 +TIMESTAMP = 1525379562 +SHA256 (gnome3/yelp-3.28.1.tar.xz) = e88a5d05af20e497c50430b36fb523f8fda79a986359a6b7bd25910a2d2e7c0c +SIZE (gnome3/yelp-3.28.1.tar.xz) = 1381180 diff --git a/x11/yelp/pkg-plist b/x11/yelp/pkg-plist index 102e56e6449e..b8a0aa443ef4 100644 --- a/x11/yelp/pkg-plist +++ b/x11/yelp/pkg-plist @@ -148,6 +148,7 @@ share/locale/zh_CN/LC_MESSAGES/yelp.mo share/locale/zh_HK/LC_MESSAGES/yelp.mo share/locale/zh_TW/LC_MESSAGES/yelp.mo share/locale/zu/LC_MESSAGES/yelp.mo +share/metainfo/yelp.appdata.xml %%DATADIR%%-xsl/xslt/common/domains/yelp.xml %%DATADIR%%/dtd/catalog %%DATADIR%%/dtd/docbookx.dtd diff --git a/x11/zenity/Makefile b/x11/zenity/Makefile index 080e7ebe5de3..1e81d845aa54 100644 --- a/x11/zenity/Makefile +++ b/x11/zenity/Makefile @@ -2,10 +2,10 @@ # $FreeBSD$ PORTNAME= zenity -PORTVERSION= 3.18.0 +PORTVERSION= 3.28.1 CATEGORIES= x11 gnome MASTER_SITES= GNOME -DIST_SUBDIR= gnome3 +DIST_SUBDIR= gnome MAINTAINER= gnome@FreeBSD.org COMMENT= Display GNOME dialogs from the command line @@ -16,12 +16,12 @@ BUILD_DEPENDS= itstool:textproc/itstool CONFLICTS= gtkada-1.2.* zenity-2.* -USES= gettext gmake gnome pathfix pkgconfig perl5 tar:xz -USE_GNOME= gnomeprefix gtk30 intlhack +USES= gettext gmake gnome localbase pathfix pkgconfig \ + perl5 tar:xz +USE_GNOME= cairo gdkpixbuf2 gnomeprefix gtk30 intlhack USE_XORG= x11 GNU_CONFIGURE= yes -CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib +CONFIGURE_ARGS= --disable-webkitgtk OPTIONS_DEFINE= NOTIFY OPTIONS_DEFAULT=NOTIFY diff --git a/x11/zenity/distinfo b/x11/zenity/distinfo index c11941ac22b2..d5a0601488ef 100644 --- a/x11/zenity/distinfo +++ b/x11/zenity/distinfo @@ -1,2 +1,3 @@ -SHA256 (gnome3/zenity-3.18.0.tar.xz) = 0efafea95a830f3bf6eca805ff4a8008df760a6ad3e81181b9473dcf721c3a69 -SIZE (gnome3/zenity-3.18.0.tar.xz) = 3876564 +TIMESTAMP = 1525379738 +SHA256 (gnome/zenity-3.28.1.tar.xz) = db179354721fb4e2d5c418e0dc41f09c831a6b2dd440e33f7743dfc266de8a6b +SIZE (gnome/zenity-3.28.1.tar.xz) = 4458404 diff --git a/x11/zenity/pkg-plist b/x11/zenity/pkg-plist index ebd99514e5cb..31a8dfa42002 100644 --- a/x11/zenity/pkg-plist +++ b/x11/zenity/pkg-plist @@ -13,6 +13,7 @@ share/help/C/zenity/figures/zenity-fileselection-screenshot.png share/help/C/zenity/figures/zenity-forms-screenshot.png share/help/C/zenity/figures/zenity-information-screenshot.png share/help/C/zenity/figures/zenity-list-screenshot.png +share/help/C/zenity/figures/zenity-notification-listen-screenshot.png share/help/C/zenity/figures/zenity-notification-screenshot.png share/help/C/zenity/figures/zenity-password-screenshot.png share/help/C/zenity/figures/zenity-progress-screenshot.png @@ -48,6 +49,7 @@ share/help/bg/zenity/figures/zenity-fileselection-screenshot.png share/help/bg/zenity/figures/zenity-forms-screenshot.png share/help/bg/zenity/figures/zenity-information-screenshot.png share/help/bg/zenity/figures/zenity-list-screenshot.png +share/help/bg/zenity/figures/zenity-notification-listen-screenshot.png share/help/bg/zenity/figures/zenity-notification-screenshot.png share/help/bg/zenity/figures/zenity-password-screenshot.png share/help/bg/zenity/figures/zenity-progress-screenshot.png @@ -83,6 +85,7 @@ share/help/ca/zenity/figures/zenity-fileselection-screenshot.png share/help/ca/zenity/figures/zenity-forms-screenshot.png share/help/ca/zenity/figures/zenity-information-screenshot.png share/help/ca/zenity/figures/zenity-list-screenshot.png +share/help/ca/zenity/figures/zenity-notification-listen-screenshot.png share/help/ca/zenity/figures/zenity-notification-screenshot.png share/help/ca/zenity/figures/zenity-password-screenshot.png share/help/ca/zenity/figures/zenity-progress-screenshot.png @@ -118,6 +121,7 @@ share/help/cs/zenity/figures/zenity-fileselection-screenshot.png share/help/cs/zenity/figures/zenity-forms-screenshot.png share/help/cs/zenity/figures/zenity-information-screenshot.png share/help/cs/zenity/figures/zenity-list-screenshot.png +share/help/cs/zenity/figures/zenity-notification-listen-screenshot.png share/help/cs/zenity/figures/zenity-notification-screenshot.png share/help/cs/zenity/figures/zenity-password-screenshot.png share/help/cs/zenity/figures/zenity-progress-screenshot.png @@ -153,6 +157,7 @@ share/help/da/zenity/figures/zenity-fileselection-screenshot.png share/help/da/zenity/figures/zenity-forms-screenshot.png share/help/da/zenity/figures/zenity-information-screenshot.png share/help/da/zenity/figures/zenity-list-screenshot.png +share/help/da/zenity/figures/zenity-notification-listen-screenshot.png share/help/da/zenity/figures/zenity-notification-screenshot.png share/help/da/zenity/figures/zenity-password-screenshot.png share/help/da/zenity/figures/zenity-progress-screenshot.png @@ -188,6 +193,7 @@ share/help/de/zenity/figures/zenity-fileselection-screenshot.png share/help/de/zenity/figures/zenity-forms-screenshot.png share/help/de/zenity/figures/zenity-information-screenshot.png share/help/de/zenity/figures/zenity-list-screenshot.png +share/help/de/zenity/figures/zenity-notification-listen-screenshot.png share/help/de/zenity/figures/zenity-notification-screenshot.png share/help/de/zenity/figures/zenity-password-screenshot.png share/help/de/zenity/figures/zenity-progress-screenshot.png @@ -223,6 +229,7 @@ share/help/el/zenity/figures/zenity-fileselection-screenshot.png share/help/el/zenity/figures/zenity-forms-screenshot.png share/help/el/zenity/figures/zenity-information-screenshot.png share/help/el/zenity/figures/zenity-list-screenshot.png +share/help/el/zenity/figures/zenity-notification-listen-screenshot.png share/help/el/zenity/figures/zenity-notification-screenshot.png share/help/el/zenity/figures/zenity-password-screenshot.png share/help/el/zenity/figures/zenity-progress-screenshot.png @@ -258,6 +265,7 @@ share/help/en_GB/zenity/figures/zenity-fileselection-screenshot.png share/help/en_GB/zenity/figures/zenity-forms-screenshot.png share/help/en_GB/zenity/figures/zenity-information-screenshot.png share/help/en_GB/zenity/figures/zenity-list-screenshot.png +share/help/en_GB/zenity/figures/zenity-notification-listen-screenshot.png share/help/en_GB/zenity/figures/zenity-notification-screenshot.png share/help/en_GB/zenity/figures/zenity-password-screenshot.png share/help/en_GB/zenity/figures/zenity-progress-screenshot.png @@ -293,6 +301,7 @@ share/help/es/zenity/figures/zenity-fileselection-screenshot.png share/help/es/zenity/figures/zenity-forms-screenshot.png share/help/es/zenity/figures/zenity-information-screenshot.png share/help/es/zenity/figures/zenity-list-screenshot.png +share/help/es/zenity/figures/zenity-notification-listen-screenshot.png share/help/es/zenity/figures/zenity-notification-screenshot.png share/help/es/zenity/figures/zenity-password-screenshot.png share/help/es/zenity/figures/zenity-progress-screenshot.png @@ -328,6 +337,7 @@ share/help/eu/zenity/figures/zenity-fileselection-screenshot.png share/help/eu/zenity/figures/zenity-forms-screenshot.png share/help/eu/zenity/figures/zenity-information-screenshot.png share/help/eu/zenity/figures/zenity-list-screenshot.png +share/help/eu/zenity/figures/zenity-notification-listen-screenshot.png share/help/eu/zenity/figures/zenity-notification-screenshot.png share/help/eu/zenity/figures/zenity-password-screenshot.png share/help/eu/zenity/figures/zenity-progress-screenshot.png @@ -363,6 +373,7 @@ share/help/fi/zenity/figures/zenity-fileselection-screenshot.png share/help/fi/zenity/figures/zenity-forms-screenshot.png share/help/fi/zenity/figures/zenity-information-screenshot.png share/help/fi/zenity/figures/zenity-list-screenshot.png +share/help/fi/zenity/figures/zenity-notification-listen-screenshot.png share/help/fi/zenity/figures/zenity-notification-screenshot.png share/help/fi/zenity/figures/zenity-password-screenshot.png share/help/fi/zenity/figures/zenity-progress-screenshot.png @@ -398,6 +409,7 @@ share/help/fr/zenity/figures/zenity-fileselection-screenshot.png share/help/fr/zenity/figures/zenity-forms-screenshot.png share/help/fr/zenity/figures/zenity-information-screenshot.png share/help/fr/zenity/figures/zenity-list-screenshot.png +share/help/fr/zenity/figures/zenity-notification-listen-screenshot.png share/help/fr/zenity/figures/zenity-notification-screenshot.png share/help/fr/zenity/figures/zenity-password-screenshot.png share/help/fr/zenity/figures/zenity-progress-screenshot.png @@ -433,6 +445,7 @@ share/help/gl/zenity/figures/zenity-fileselection-screenshot.png share/help/gl/zenity/figures/zenity-forms-screenshot.png share/help/gl/zenity/figures/zenity-information-screenshot.png share/help/gl/zenity/figures/zenity-list-screenshot.png +share/help/gl/zenity/figures/zenity-notification-listen-screenshot.png share/help/gl/zenity/figures/zenity-notification-screenshot.png share/help/gl/zenity/figures/zenity-password-screenshot.png share/help/gl/zenity/figures/zenity-progress-screenshot.png @@ -468,6 +481,7 @@ share/help/hu/zenity/figures/zenity-fileselection-screenshot.png share/help/hu/zenity/figures/zenity-forms-screenshot.png share/help/hu/zenity/figures/zenity-information-screenshot.png share/help/hu/zenity/figures/zenity-list-screenshot.png +share/help/hu/zenity/figures/zenity-notification-listen-screenshot.png share/help/hu/zenity/figures/zenity-notification-screenshot.png share/help/hu/zenity/figures/zenity-password-screenshot.png share/help/hu/zenity/figures/zenity-progress-screenshot.png @@ -503,6 +517,7 @@ share/help/ja/zenity/figures/zenity-fileselection-screenshot.png share/help/ja/zenity/figures/zenity-forms-screenshot.png share/help/ja/zenity/figures/zenity-information-screenshot.png share/help/ja/zenity/figures/zenity-list-screenshot.png +share/help/ja/zenity/figures/zenity-notification-listen-screenshot.png share/help/ja/zenity/figures/zenity-notification-screenshot.png share/help/ja/zenity/figures/zenity-password-screenshot.png share/help/ja/zenity/figures/zenity-progress-screenshot.png @@ -538,6 +553,7 @@ share/help/oc/zenity/figures/zenity-fileselection-screenshot.png share/help/oc/zenity/figures/zenity-forms-screenshot.png share/help/oc/zenity/figures/zenity-information-screenshot.png share/help/oc/zenity/figures/zenity-list-screenshot.png +share/help/oc/zenity/figures/zenity-notification-listen-screenshot.png share/help/oc/zenity/figures/zenity-notification-screenshot.png share/help/oc/zenity/figures/zenity-password-screenshot.png share/help/oc/zenity/figures/zenity-progress-screenshot.png @@ -561,6 +577,42 @@ share/help/oc/zenity/scale.page share/help/oc/zenity/text.page share/help/oc/zenity/usage.page share/help/oc/zenity/warning.page +share/help/pl/zenity/calendar.page +share/help/pl/zenity/color-selection.page +share/help/pl/zenity/entry.page +share/help/pl/zenity/error.page +share/help/pl/zenity/figures/zenity-calendar-screenshot.png +share/help/pl/zenity/figures/zenity-colorselection-screenshot.png +share/help/pl/zenity/figures/zenity-entry-screenshot.png +share/help/pl/zenity/figures/zenity-error-screenshot.png +share/help/pl/zenity/figures/zenity-fileselection-screenshot.png +share/help/pl/zenity/figures/zenity-forms-screenshot.png +share/help/pl/zenity/figures/zenity-information-screenshot.png +share/help/pl/zenity/figures/zenity-list-screenshot.png +share/help/pl/zenity/figures/zenity-notification-listen-screenshot.png +share/help/pl/zenity/figures/zenity-notification-screenshot.png +share/help/pl/zenity/figures/zenity-password-screenshot.png +share/help/pl/zenity/figures/zenity-progress-screenshot.png +share/help/pl/zenity/figures/zenity-question-screenshot.png +share/help/pl/zenity/figures/zenity-scale-screenshot.png +share/help/pl/zenity/figures/zenity-text-screenshot.png +share/help/pl/zenity/figures/zenity-warning-screenshot.png +share/help/pl/zenity/file-selection.page +share/help/pl/zenity/forms.page +share/help/pl/zenity/index.page +share/help/pl/zenity/info.page +share/help/pl/zenity/intro.page +share/help/pl/zenity/legal.xml +share/help/pl/zenity/list.page +share/help/pl/zenity/message.page +share/help/pl/zenity/notification.page +share/help/pl/zenity/password.page +share/help/pl/zenity/progress.page +share/help/pl/zenity/question.page +share/help/pl/zenity/scale.page +share/help/pl/zenity/text.page +share/help/pl/zenity/usage.page +share/help/pl/zenity/warning.page share/help/pt_BR/zenity/calendar.page share/help/pt_BR/zenity/color-selection.page share/help/pt_BR/zenity/entry.page @@ -573,6 +625,7 @@ share/help/pt_BR/zenity/figures/zenity-fileselection-screenshot.png share/help/pt_BR/zenity/figures/zenity-forms-screenshot.png share/help/pt_BR/zenity/figures/zenity-information-screenshot.png share/help/pt_BR/zenity/figures/zenity-list-screenshot.png +share/help/pt_BR/zenity/figures/zenity-notification-listen-screenshot.png share/help/pt_BR/zenity/figures/zenity-notification-screenshot.png share/help/pt_BR/zenity/figures/zenity-password-screenshot.png share/help/pt_BR/zenity/figures/zenity-progress-screenshot.png @@ -608,6 +661,7 @@ share/help/ru/zenity/figures/zenity-fileselection-screenshot.png share/help/ru/zenity/figures/zenity-forms-screenshot.png share/help/ru/zenity/figures/zenity-information-screenshot.png share/help/ru/zenity/figures/zenity-list-screenshot.png +share/help/ru/zenity/figures/zenity-notification-listen-screenshot.png share/help/ru/zenity/figures/zenity-notification-screenshot.png share/help/ru/zenity/figures/zenity-password-screenshot.png share/help/ru/zenity/figures/zenity-progress-screenshot.png @@ -643,6 +697,7 @@ share/help/sl/zenity/figures/zenity-fileselection-screenshot.png share/help/sl/zenity/figures/zenity-forms-screenshot.png share/help/sl/zenity/figures/zenity-information-screenshot.png share/help/sl/zenity/figures/zenity-list-screenshot.png +share/help/sl/zenity/figures/zenity-notification-listen-screenshot.png share/help/sl/zenity/figures/zenity-notification-screenshot.png share/help/sl/zenity/figures/zenity-password-screenshot.png share/help/sl/zenity/figures/zenity-progress-screenshot.png @@ -678,6 +733,7 @@ share/help/sv/zenity/figures/zenity-fileselection-screenshot.png share/help/sv/zenity/figures/zenity-forms-screenshot.png share/help/sv/zenity/figures/zenity-information-screenshot.png share/help/sv/zenity/figures/zenity-list-screenshot.png +share/help/sv/zenity/figures/zenity-notification-listen-screenshot.png share/help/sv/zenity/figures/zenity-notification-screenshot.png share/help/sv/zenity/figures/zenity-password-screenshot.png share/help/sv/zenity/figures/zenity-progress-screenshot.png @@ -713,6 +769,7 @@ share/help/uk/zenity/figures/zenity-fileselection-screenshot.png share/help/uk/zenity/figures/zenity-forms-screenshot.png share/help/uk/zenity/figures/zenity-information-screenshot.png share/help/uk/zenity/figures/zenity-list-screenshot.png +share/help/uk/zenity/figures/zenity-notification-listen-screenshot.png share/help/uk/zenity/figures/zenity-notification-screenshot.png share/help/uk/zenity/figures/zenity-password-screenshot.png share/help/uk/zenity/figures/zenity-progress-screenshot.png @@ -748,6 +805,7 @@ share/help/zh_CN/zenity/figures/zenity-fileselection-screenshot.png share/help/zh_CN/zenity/figures/zenity-forms-screenshot.png share/help/zh_CN/zenity/figures/zenity-information-screenshot.png share/help/zh_CN/zenity/figures/zenity-list-screenshot.png +share/help/zh_CN/zenity/figures/zenity-notification-listen-screenshot.png share/help/zh_CN/zenity/figures/zenity-notification-screenshot.png share/help/zh_CN/zenity/figures/zenity-password-screenshot.png share/help/zh_CN/zenity/figures/zenity-progress-screenshot.png @@ -801,6 +859,7 @@ share/locale/eu/LC_MESSAGES/zenity.mo share/locale/fa/LC_MESSAGES/zenity.mo share/locale/fi/LC_MESSAGES/zenity.mo share/locale/fr/LC_MESSAGES/zenity.mo +share/locale/fur/LC_MESSAGES/zenity.mo share/locale/ga/LC_MESSAGES/zenity.mo share/locale/gl/LC_MESSAGES/zenity.mo share/locale/gu/LC_MESSAGES/zenity.mo |