aboutsummaryrefslogtreecommitdiff
path: root/x11/gdm
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2014-11-19 11:49:04 +0000
committerKoop Mast <kwm@FreeBSD.org>2014-11-19 11:49:04 +0000
commitaf3811313c14afb06fe2d1f6158e3e431bbfc2b6 (patch)
tree1ad98a4e8faecd0e2fa9ac2c18e65da4cf89c236 /x11/gdm
parentc7d4d6bd7ef6ff4955eab2863a5c6e2feb14b839 (diff)
downloadports-af3811313c14afb06fe2d1f6158e3e431bbfc2b6.tar.gz
ports-af3811313c14afb06fe2d1f6158e3e431bbfc2b6.zip
The FreeBSD GNOME team proudly presents GNOME 3.14 and Cinnamon 2.2.
Gnome 3.14.1 and Cinnamon 2.2.16 are supported on FreeBSD 9.3-RELEASE and up. This commit removes the old GNOME 2 desktop, bindings and some ports that can't be compiled. A few ports where updated to more recent versions to allow them to compile with this update. Apart from updating ports to newer versions GDM is more integrated with gnome-shell now, and handles several things for the GNOME desktop such as screen locking. If you want to use GNOME 3 via startx, you will have to add your own lock screen/screensaver. For example xscreensaver can be used for sessions started without GDM. Shell Extensions can be installed via https://extensions.gnome.org/ , we have ported a few that can't be installed via this way. The old gnome-utils and gnome-games ports where split up into single ports and where converted to meta-ports. gnome-terminal requires a UTF-8 locale to run, gdm handles this already, but if you use startx you need to do this yourself. Upgrade instructions: Delete the old and conflicting packages: # pkg delete clutter gnome-utils gnome-panel gnome-keyring vala-vapigen \ guile gcalctool gnome-media libgnomekbd # pkg delete gnome-screensaver gnome-applets bug-buddy evolution-exchange \ evolution-webcal gnome-system-tools seahorse-plugins gnome-control-center For package users the following lines will be enough: # pkg upgrade # pkg install gnome3 For ports users should do the following: # portmaster -a # portmaster x11/gnome3 We are currently aware of two issues. The first issue is a bug in the file monitoring code in the glib20 port. This bug causes glib programs to crash when files in a monitored directory are added or removed. Upstream is aware of the problem, but since the problem is quite complex there is no solution yet. This problem isn't restricted to BSD. The second issue is that on certain video cards totem will display a purple/pink overlay on the video. It not clear yet where the issues comes from. Major thanks goes to Gustau Perez for being a driving force behind getting GNOME 3 up to speed again. Also thanks to Antoine Brodin for running the exp-runs. This update was also made possible by: Joe Maloney Kris Moore Beeblebrox Ryan Lortie Antoine Jacoutot and everyone I missed
Notes
Notes: svn path=/head/; revision=372768
Diffstat (limited to 'x11/gdm')
-rw-r--r--x11/gdm/Makefile145
-rw-r--r--x11/gdm/distinfo4
-rw-r--r--x11/gdm/files/client.conf.in2
-rw-r--r--x11/gdm/files/gdm-autologin.in12
-rw-r--r--x11/gdm/files/gdm-launch-environment.in12
-rw-r--r--x11/gdm/files/gdm-password.in15
-rw-r--r--x11/gdm/files/gdm.in16
-rw-r--r--x11/gdm/files/gdm.pam.in22
-rw-r--r--x11/gdm/files/locale.conf.in3
-rw-r--r--x11/gdm/files/patch-common_Makefile.in20
-rw-r--r--x11/gdm/files/patch-common_gdm-address.h11
-rw-r--r--x11/gdm/files/patch-common_gdm-common.c13
-rw-r--r--x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c48
-rw-r--r--x11/gdm/files/patch-daemon_Makefile.in14
-rw-r--r--x11/gdm/files/patch-daemon_gdm-session-worker.c68
-rw-r--r--x11/gdm/files/patch-daemon_gdm-xdmcp-display-factory.c11
-rw-r--r--x11/gdm/files/patch-data_Xsession.in46
-rw-r--r--x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop10
-rw-r--r--x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings11
-rw-r--r--x11/gdm/files/patch-data_gconf.path9
-rw-r--r--x11/gdm/files/patch-data_gdm.conf-custom.in12
-rw-r--r--x11/gdm/files/patch-data_greeter-autostart_gdm-simple-greeter.desktop.in.in7
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_Makefile.in11
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c11
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-remote-login-window.c10
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c57
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-user.c34
-rw-r--r--x11/gdm/files/patch-gui_user-switch-applet_Makefile.in11
-rw-r--r--x11/gdm/pkg-deinstall15
-rw-r--r--x11/gdm/pkg-install22
-rw-r--r--x11/gdm/pkg-message1
-rw-r--r--x11/gdm/pkg-plist267
32 files changed, 346 insertions, 604 deletions
diff --git a/x11/gdm/Makefile b/x11/gdm/Makefile
index 3142661882ad..4317dae651e2 100644
--- a/x11/gdm/Makefile
+++ b/x11/gdm/Makefile
@@ -1,51 +1,81 @@
# Created by: Joe Marcus Clarke <marcus@FreeBSD.org>
# $FreeBSD$
-# $MCom: ports/x11/gdm/Makefile,v 1.192 2012/09/03 16:28:28 mezz Exp $
+# $MCom: ports/trunk/x11/gdm/Makefile 20031 2014-11-02 21:47:55Z kwm $
PORTNAME= gdm
-PORTVERSION= 2.30.7
-PORTREVISION= 3
+PORTVERSION= 3.14.1
CATEGORIES= x11 gnome
MASTER_SITES= GNOME
-DIST_SUBDIR= gnome2
+DIST_SUBDIR= gnome3
MAINTAINER= gnome@FreeBSD.org
-COMMENT= GNOME 2 version of xdm display manager
+COMMENT= GNOME 3 version of xdm display manager
-BUILD_DEPENDS= zenity:${PORTSDIR}/x11/zenity \
- ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes
+BUILD_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
+ itstool:${PORTSDIR}/textproc/itstool \
+ iso-codes>=0:${PORTSDIR}/misc/iso-codes
LIB_DEPENDS= libck-connector.so:${PORTSDIR}/sysutils/consolekit \
- libpolkit-gtk-1.so:${PORTSDIR}/sysutils/polkit-gnome \
+ libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
libupower-glib.so:${PORTSDIR}/sysutils/upower \
- libxklavier.so:${PORTSDIR}/x11/libxklavier \
- libcanberra-gtk.so:${PORTSDIR}/audio/libcanberra
-RUN_DEPENDS= zenity:${PORTSDIR}/x11/zenity \
- ${LOCALBASE}/libexec/gnome-settings-daemon:${PORTSDIR}/sysutils/gnome-settings-daemon \
- gnome-session:${PORTSDIR}/x11/gnome-session \
- ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes
-
-CONFLICTS= gdm-3.[0-9]*
+ libnss3.so:${PORTSDIR}/security/nss \
+ libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
+ libaccountsservice.so:${PORTSDIR}/sysutils/accountsservice \
+ libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3
+RUN_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
+ gnome-settings-daemon>=3.0.0:${PORTSDIR}/sysutils/gnome-settings-daemon \
+ gnome-keyring-3:${PORTSDIR}/security/gnome-keyring \
+ gnome-session>=3.0.0:${PORTSDIR}/x11/gnome-session \
+ gnome-icon-theme-symbolic>=0:${PORTSDIR}/x11-themes/gnome-icon-theme-symbolic \
+ polkit-gnome>=0.105:${PORTSDIR}/sysutils/polkit-gnome \
+ at-spi2-core>=0:${PORTSDIR}/accessibility/at-spi2-core \
+ iso-codes>=0:${PORTSDIR}/misc/iso-codes
+# used in scripts
+RUN_DEPENDS+= xrdb:${PORTSDIR}/x11/xrdb \
+ setxkbmap:${PORTSDIR}/x11/setxkbmap \
+ xmodmap:${PORTSDIR}/x11/xmodmap \
+ xterm:${PORTSDIR}/x11/xterm
USERS= gdm
GROUPS= gdm
+USES= execinfo gettext gmake libtool pathfix pkgconfig tar:xz
+USE_GNOME= dconf gnomeprefix intlhack introspection librsvg2
USE_LDCONFIG= yes
USE_XORG= dmx dmxproto
INSTALLS_ICONS= yes
USE_RC_SUBR= gdm
USE_GNOME_SUBR= yes
-USES= alias execinfo gettext gmake pathfix pkgconfig tar:xz
-USE_GNOME= intlhack gnomehier gconf2 librsvg2 \
- gnomedocutils gnomeprefix gnomepanel
-GCONF_SCHEMAS= gdm-simple-greeter.schemas
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --with-working-directory=${PREFIX}/etc/gdm/home \
- --with-at-spi-registryd-directory=${LOCALBASE}/libexec
-CONFIGURE_ENV= GTKDOC="false"
+GLIB_SCHEMAS= org.gnome.login-screen.gschema.xml
+CONFIGURE_ARGS= --disable-static \
+ --mandir=${PREFIX}/man \
+ --with-lang-file=${PREFIX}/etc/gdm/locale.conf \
+ --with-at-spi-registryd-directory=${LOCALBASE}/libexec \
+ --with-custom-conf=${PREFIX}/etc/gdm/custom.conf \
+ --with-dbus-sys=${PREFIX}/etc/dbus-1/system.d \
+ --with-log-dir=/var/log/gdm \
+ --with-working-directory=${PREFIX}/etc/gdm/home \
+ --with-sysconfsubdir=gdm \
+ --with-pid-file=/var/run/gdm.pid \
+ --with-dmconfdir=${LOCALBASE}/share/xsessions \
+ --with-screenshot-dir=/var/run/gdm/greeter \
+ --enable-authentication-scheme=pam \
+ --with-user=gdm \
+ --with-group=gdm \
+ --with-initial-vt=09 \
+ --with-systemd=no
+
+# this is a hack until we can get our own pam dir and dir in order.
+CONFIGURE_ARGS+=--with-default-pam-config=redhat
CPPFLAGS+= -I${LOCALBASE}/include -DHAS_SA_LEN
-LIBS+= -L${LOCALBASE}/lib -lm
+LDFLAGS+= -L${LOCALBASE}/lib
+INSTALL_TARGET= install-strip
-SUB_FILES+= gdm.pam
+SUB_FILES+= gdm-launch-environment \
+ gdm-password \
+ gdm-autologin \
+ client.conf \
+ locale.conf
GDMDIR?= ${PREFIX}/etc/gdm
PKGMESSAGE= ${WRKDIR}/pkg-message
@@ -54,50 +84,69 @@ GNOME_LOCALSTATEDIR= /var
OPTIONS_DEFINE= IPV6 KEYRING
OPTIONS_DEFAULT=KEYRING
-KEYRING_DESC= GnomeKeyring/PAM integration
+KEYRING_DESC= Gnomekeyring/PAM integration
+KEYRING_LIB_DEPENDS= libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring
+IPV6_CONFIGURE_ENABLE= ipv6
.include <bsd.port.options.mk>
+.if defined(WITH_DEBUG)
+CONFIGURE_ARGS+= --enable-debug
+.endif
+
.if ${PORT_OPTIONS:MKEYRING}
-LIB_DEPENDS+= libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring
SUB_LIST+= PAM_KEYRING=
.else
SUB_LIST+= PAM_KEYRING=\#
.endif
-.if ${PORT_OPTIONS:MIPV6}
-CONFIGURE_ARGS+= --enable-ipv6
-.else
-CONFIGURE_ARGS+= --disable-ipv6
-.endif
-
post-patch:
- @${REINPLACE_CMD} -e '/root:/d; s/1640/0640/g' \
+ @${REINPLACE_CMD} -e 's|root:root|root:wheel|g' \
${WRKSRC}/data/Makefile.in
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
-e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
- ${WRKSRC}/daemon/gdm-session-worker.c \
- ${WRKSRC}/data/gconf.path
- @${REINPLACE_CMD} -e 's|/bin/true|/usr/bin/true|g' \
- ${WRKSRC}/data/session-setup.entries
+ ${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|/usr/lib|${LOCALBASE}/lib|g' \
- ${WRKSRC}/data/greeter-autostart/*.desktop.in*
+ @${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
+ @${REINPLACE_CMD} -e 's|/etc/X11|${LOCALBASE}/etc/X11|g' \
+ ${WRKSRC}/data/Init.in \
+ ${WRKSRC}/data/PostLogin \
+ ${WRKSRC}/data/PostSession.in \
+ ${WRKSRC}/data/PreSession.in \
+ ${WRKSRC}/data/Xsession.in
+ @${RM} ${WRKSRC}/data/applications/gdm-simple-greeter.desktop \
+ ${WRKSRC}/data/applications/gdm-simple-greeter.desktop.in \
+ ${WRKSRC}/data/applications/gnome-shell.desktop \
post-install:
- ${INSTALL_DATA} ${WRKSRC}/data/gconf.path \
- ${STAGEDIR}${PREFIX}/share/gdm/gconf.path
- ${INSTALL_DATA} ${WRKSRC}/data/session-setup.entries \
- ${STAGEDIR}${PREFIX}/share/gdm/session-setup.entries
${INSTALL_DATA} ${WRKSRC}/data/gdm.conf-custom \
${STAGEDIR}${PREFIX}/etc/gdm/custom.conf.default
${MKDIR} ${STAGEDIR}${PREFIX}/share/xsessions
- ${INSTALL_DATA} ${WRKDIR}/gdm.pam ${STAGEDIR}${PREFIX}/etc/pam.d/gdm
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/gdm/Sessions
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/dm/Sessions
+
+ ${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}/client.conf ${STAGEDIR}${PREFIX}/etc/gdm/home/.pulse/
+
+ ${INSTALL_DATA} ${WRKDIR}/locale.conf ${STAGEDIR}${PREFIX}/etc/gdm/
+
@${SED} -e 's|%%PREFIX%%|${PREFIX}|g' < ${PKGDIR}/pkg-message \
| /usr/bin/fmt 75 79 > ${PKGMESSAGE}
- ${RM} -rf ${STAGEDIR}${ETCDIR}/home/.gconf*
- ${RM} -f ${STAGEDIR}${ETCDIR}/custom.conf
- ${MKDIR} ${STAGEDIR}${PREFIX}/etc/gdm/Sessions ${STAGEDIR}${PREFIX}/etc/dm/Sessions
+
+# logwtmp lives here.
+.if ${OSVERSION} < 900000
+CONFIGLIBS+= -lutil
+.endif
.include <bsd.port.mk>
diff --git a/x11/gdm/distinfo b/x11/gdm/distinfo
index 1346e9a0ca65..e63b0b900853 100644
--- a/x11/gdm/distinfo
+++ b/x11/gdm/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome2/gdm-2.30.7.tar.xz) = e5a098ebf0fdb5aff669dfca6e696433c4c8962c005bd13f296b7e13a60bc03b
-SIZE (gnome2/gdm-2.30.7.tar.xz) = 1715056
+SHA256 (gnome3/gdm-3.14.1.tar.xz) = ed83498131bcea69ce60f882783c669c24b007d2b7e1219b4bdde18f6c94deb1
+SIZE (gnome3/gdm-3.14.1.tar.xz) = 1503232
diff --git a/x11/gdm/files/client.conf.in b/x11/gdm/files/client.conf.in
new file mode 100644
index 000000000000..ef886bff7259
--- /dev/null
+++ b/x11/gdm/files/client.conf.in
@@ -0,0 +1,2 @@
+autospawn = no
+daemon-binary = /usr/bin/true
diff --git a/x11/gdm/files/gdm-autologin.in b/x11/gdm/files/gdm-autologin.in
new file mode 100644
index 000000000000..378cd549e9bd
--- /dev/null
+++ b/x11/gdm/files/gdm-autologin.in
@@ -0,0 +1,12 @@
+# $OpenBSD: gdm-autologin,v 1.4 2012/10/10 08:47:14 ajacoutot Exp $
+#
+# gdm-autologin settings for pam(3)
+
+auth required pam_permit.so
+
+account required pam_nologin.so
+account include system
+
+password include system
+
+session include system
diff --git a/x11/gdm/files/gdm-launch-environment.in b/x11/gdm/files/gdm-launch-environment.in
new file mode 100644
index 000000000000..f2de8abe8311
--- /dev/null
+++ b/x11/gdm/files/gdm-launch-environment.in
@@ -0,0 +1,12 @@
+# $OpenBSD: gdm-launch-environment,v 1.3 2012/10/10 08:47:14 ajacoutot Exp $
+#
+# gdm-launch-environment settings for pam(3)
+
+auth required pam_permit.so
+
+account required pam_nologin.so
+account include system
+
+password include system
+
+session include system
diff --git a/x11/gdm/files/gdm-password.in b/x11/gdm/files/gdm-password.in
new file mode 100644
index 000000000000..bf5b63b353b2
--- /dev/null
+++ b/x11/gdm/files/gdm-password.in
@@ -0,0 +1,15 @@
+# $OpenBSD: gdm-password,v 1.4 2012/10/10 08:47:14 ajacoutot Exp $
+#
+# gdm-password settings for pam(3)
+
+auth include system
+auth optional /usr/local/lib/pam_ck_connector.so
+%%PAM_KEYRING%%auth optional %%LOCALBASE%%/lib/pam_gnome_keyring.so
+
+account required pam_nologin.so
+account include system
+
+password include system
+
+session include system
+%%PAM_KEYRING%%session optional %%LOCALBASE%%/lib/pam_gnome_keyring.so auto_start
diff --git a/x11/gdm/files/gdm.in b/x11/gdm/files/gdm.in
index 9feb8801fe67..e0b13582b940 100644
--- a/x11/gdm/files/gdm.in
+++ b/x11/gdm/files/gdm.in
@@ -1,6 +1,6 @@
#!/bin/sh
# $FreeBSD$
-# $MCom: ports/x11/gdm/files/gdm.in,v 1.50 2012/01/15 18:18:36 kwm Exp $
+# $MCom: ports/trunk/x11/gdm3/files/gdm.in 18610 2013-06-30 16:33:05Z marcus $
# PROVIDE: gdm
# REQUIRE: LOGIN cleanvar moused syscons dbus
@@ -25,6 +25,7 @@ command="%%PREFIX%%/sbin/${name}"
pidfile="/var/run/${name}.pid"
procname="%%PREFIX%%/sbin/gdm-binary"
start_cmd="gdm_start"
+stop_cmd="gdm_stop"
gdm_start()
{
@@ -33,6 +34,10 @@ gdm_start()
fi
echo "Starting ${name}."
+ # we need to remove locking files under $gdm_home/.cache/gnome-shell/
+ # until XDG_RUNTIME_DIR can be set and used
+ rm -fr %%PREFIX%%/etc/gdm/home/.cache/gnome-shell/runtime-state*
+
# make sure there is no pam configuration for gdm service in base system
if ! checkyesno gdm_preserve_base_pam_conf && [ -f /etc/pam.d/gdm ]; then
cp -p /etc/pam.d/gdm /etc/pam.d/gdm_disabled
@@ -58,5 +63,14 @@ gdm_start()
LANG=${gdm_lang} ${command} ${gdm_flags} ) &
}
+gdm_stop()
+{
+ /bin/kill -9 $(/bin/cat "${pidfile}")
+ pkill -9 -u gdm
+ pkill -9 X
+ pkill -9 gdm-session-worker
+
+}
+
load_rc_config ${name}
run_rc_command "$1"
diff --git a/x11/gdm/files/gdm.pam.in b/x11/gdm/files/gdm.pam.in
deleted file mode 100644
index d6382bb34a69..000000000000
--- a/x11/gdm/files/gdm.pam.in
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# $FreeBSD$
-# $MCom: ports/x11/gdm/files/gdm.pam.in,v 1.17 2011/06/02 11:58:24 kwm Exp $
-#
-# PAM configuration for the "gdm" service
-#
-
-# auth
-#auth sufficient pam_krb5.so no_warn try_first_pass
-#auth sufficient pam_ssh.so no_warn try_first_pass
-auth required pam_unix.so no_warn try_first_pass
-%%PAM_KEYRING%%auth optional %%LOCALBASE%%/lib/pam_gnome_keyring.so
-
-# account
-account required pam_nologin.so
-#account required pam_krb5.so
-account required pam_unix.so
-
-# session
-#session optional pam_ssh.so
-session required pam_permit.so
-%%PAM_KEYRING%%session optional %%LOCALBASE%%/lib/pam_gnome_keyring.so auto_start
diff --git a/x11/gdm/files/locale.conf.in b/x11/gdm/files/locale.conf.in
new file mode 100644
index 000000000000..884682f48149
--- /dev/null
+++ b/x11/gdm/files/locale.conf.in
@@ -0,0 +1,3 @@
+LANG="en_US.UTF-8"
+LC_CTYPE="en_US.UTF-8"
+LC_MESSAGES="en_US.UTF-8"
diff --git a/x11/gdm/files/patch-common_Makefile.in b/x11/gdm/files/patch-common_Makefile.in
index 2ab0a50015ea..87f2cc911408 100644
--- a/x11/gdm/files/patch-common_Makefile.in
+++ b/x11/gdm/files/patch-common_Makefile.in
@@ -1,20 +1,10 @@
---- common/Makefile.in.orig 2008-08-20 14:34:16.000000000 -0400
-+++ common/Makefile.in 2008-08-20 14:36:50.000000000 -0400
-@@ -428,7 +428,8 @@ gdm_crash_logger_CPPFLAGS = \
- -DLOCALSTATEDIR=\"$(localstatedir)\" \
- $(NULL)
-
--gdm_crash_logger_LDADD = $(GTHREAD_LIBS)
-+gdm_crash_logger_LDADD = $(GTHREAD_LIBS) \
-+ -lexecinfo
- @MKDTEMP_MISSING_FALSE@MKDTEMP_FILES =
- @MKDTEMP_MISSING_TRUE@MKDTEMP_FILES = mkdtemp.c mkdtemp.h
- libgdmcommon_la_SOURCES = \
-@@ -473,6 +474,7 @@ libgdmcommon_la_CFLAGS = \
+--- common/Makefile.in.orig 2014-03-21 08:15:10.657611891 +0000
++++ common/Makefile.in 2014-03-21 08:17:08.641605278 +0000
+@@ -548,6 +548,7 @@
$(NULL)
libgdmcommon_la_LIBADD = \
-+ -lexecinfo \
++ -lexecinfo \
+ $(SYSTEMD_LIBS) \
$(NULL)
- libgdmcommon_la_LDFLAGS = \
diff --git a/x11/gdm/files/patch-common_gdm-address.h b/x11/gdm/files/patch-common_gdm-address.h
deleted file mode 100644
index a4fd3931075a..000000000000
--- a/x11/gdm/files/patch-common_gdm-address.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- common/gdm-address.h.orig 2009-05-09 21:08:07.000000000 -0400
-+++ common/gdm-address.h 2009-05-09 21:08:34.000000000 -0400
-@@ -36,6 +36,8 @@ G_BEGIN_DECLS
-
- #define GDM_TYPE_ADDRESS (gdm_address_get_type ())
-
-+#define gdm_sockaddr_len(sa) (((struct sockaddr *)sa)->sa_family == AF_INET6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in))
-+
- typedef struct _GdmAddress GdmAddress;
-
- GType gdm_address_get_type (void);
diff --git a/x11/gdm/files/patch-common_gdm-common.c b/x11/gdm/files/patch-common_gdm-common.c
deleted file mode 100644
index 9fa4acafa6c8..000000000000
--- a/x11/gdm/files/patch-common_gdm-common.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- common/gdm-common.c.orig 2007-12-23 10:29:20.000000000 +0100
-+++ common/gdm-common.c 2007-12-23 10:29:34.000000000 +0100
-@@ -33,6 +33,10 @@
-
- #include "gdm-common.h"
-
-+#ifndef ENODATA
-+#define ENODATA EAGAIN
-+#endif
-+
- void
- gdm_set_fatal_warnings_if_unstable (void)
- {
diff --git a/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c b/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c
deleted file mode 100644
index ede7f2c2f8b6..000000000000
--- a/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c
+++ /dev/null
@@ -1,48 +0,0 @@
---- daemon/gdm-xdmcp-display-factory.c.orig 2009-12-21 17:36:30.000000000 +0100
-+++ daemon/gdm-xdmcp-display-factory.c 2009-12-26 23:26:24.000000000 +0100
-@@ -35,6 +35,7 @@
- #include <netdb.h>
- #include <arpa/inet.h>
- #include <net/if.h>
-+#include <netinet/in.h>
- #ifdef HAVE_SYS_SOCKIO_H
- #include <sys/sockio.h>
- #endif
-@@ -76,7 +77,7 @@
- #define DEFAULT_USE_MULTICAST FALSE
- #define DEFAULT_MULTICAST_ADDRESS "ff02::1"
- #define DEFAULT_HONOR_INDIRECT TRUE
--#define DEFAULT_MAX_DISPLAYS_PER_HOST 1
-+#define DEFAULT_MAX_DISPLAYS_PER_HOST 2
- #define DEFAULT_MAX_DISPLAYS 16
- #define DEFAULT_MAX_PENDING_DISPLAYS 4
- #define DEFAULT_MAX_WAIT 30
-@@ -404,6 +405,11 @@
- create_socket (struct addrinfo *ai)
- {
- int sock;
-+#ifdef ENABLE_IPV6
-+#ifdef IPV6_V6ONLY
-+ int off = 0;
-+#endif
-+#endif
-
- sock = socket (ai->ai_family, ai->ai_socktype, ai->ai_protocol);
- if (sock < 0) {
-@@ -411,6 +417,16 @@
- return sock;
- }
-
-+#ifdef ENABLE_IPV6
-+#ifdef IPV6_V6ONLY
-+ if (setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&off, sizeof (off)) < 0) {
-+ g_warning ("setsockopt: %s", g_strerror (errno));
-+ close (sock);
-+ return -1;
-+ }
-+#endif
-+#endif
-+
- if (bind (sock, ai->ai_addr, ai->ai_addrlen) < 0) {
- g_warning ("bind: %s", g_strerror (errno));
- close (sock);
diff --git a/x11/gdm/files/patch-daemon_Makefile.in b/x11/gdm/files/patch-daemon_Makefile.in
index 137352970a91..4b6e01c7fe7d 100644
--- a/x11/gdm/files/patch-daemon_Makefile.in
+++ b/x11/gdm/files/patch-daemon_Makefile.in
@@ -1,14 +1,6 @@
---- daemon/Makefile.in.orig 2009-05-31 15:51:18.000000000 -0400
-+++ daemon/Makefile.in 2009-05-31 15:56:32.000000000 -0400
-@@ -525,6 +525,7 @@ test_session_LDADD = \
- $(XLIB_LIBS) \
- $(EXTRA_DAEMON_LIBS) \
- $(DAEMON_LIBS) \
-+ $(EXTRA_DAEMON_LIBS) \
- $(PAM_LIBS) \
- $(NULL)
-
-@@ -660,6 +661,7 @@ gdm_session_worker_SOURCES = session-wor
+--- 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) \
diff --git a/x11/gdm/files/patch-daemon_gdm-session-worker.c b/x11/gdm/files/patch-daemon_gdm-session-worker.c
deleted file mode 100644
index a15c91658554..000000000000
--- a/x11/gdm/files/patch-daemon_gdm-session-worker.c
+++ /dev/null
@@ -1,68 +0,0 @@
---- daemon/gdm-session-worker.c.orig 2011-06-02 09:50:17.000000000 -0500
-+++ daemon/gdm-session-worker.c 2011-06-24 17:59:50.000000000 -0500
-@@ -31,6 +31,9 @@
- #include <errno.h>
- #include <grp.h>
- #include <pwd.h>
-+#ifdef HAVE_LOGINCAP
-+#include <login_cap.h>
-+#endif
-
- #ifdef HAVE_LOGINDEVPERM
- #include <libdevinfo.h>
-@@ -341,7 +344,7 @@
- * what to search if PATH is unset. POSIX may, dunno.
- */
-
-- path = "/bin:/usr/bin:.";
-+ path = "/bin:/usr/bin:%%LOCALBASE%%/bin:.";
- }
-
- len = strlen (file) + 1;
-@@ -2032,15 +2035,16 @@
- char *cachedirname;
- char *home_dir;
- int fd;
-+#ifdef HAVE_LOGINCAP
-+ char *login = worker->priv->username;
-+ struct passwd *pwent = getpwnam (login);
-+#endif
-
- /* Make sure cachedir gets created before we drop to user */
- cachedirname = gdm_session_worker_create_cachedir (worker);
- g_free (cachedirname);
-
-- if (setuid (worker->priv->uid) < 0) {
-- g_debug ("GdmSessionWorker: could not reset uid - %s", g_strerror (errno));
-- _exit (1);
-- }
-+ /* Call setsid() before setusercontext() */
-
- if (setsid () < 0) {
- g_debug ("GdmSessionWorker: could not set pid '%u' as leader of new session and process group - %s",
-@@ -2048,6 +2052,25 @@
- _exit (2);
- }
-
-+#ifdef HAVE_LOGINCAP
-+ if (setusercontext (NULL, pwent, pwent->pw_uid,
-+ LOGIN_SETALL & ~LOGIN_SETGROUP) < 0) {
-+ g_debug ("%s: setusercontext () failed for %s. "
-+ "Aborting.", "gdm_session_worker_start_user_session",
-+ login ? login : "(null)");
-+ }
-+
-+ /* Propagate PATH environment variable from user context to child processes */
-+
-+ gdm_session_worker_set_environment_variable (worker, "PATH", getenv ("PATH"));
-+
-+#else
-+ if (setuid (worker->priv->uid) < 0) {
-+ g_debug ("GdmSessionWorker: could not reset uid - %s", g_strerror (errno));
-+ _exit (1);
-+ }
-+#endif
-+
- environment = gdm_session_worker_get_environment (worker);
-
- g_assert (geteuid () == getuid ());
diff --git a/x11/gdm/files/patch-daemon_gdm-xdmcp-display-factory.c b/x11/gdm/files/patch-daemon_gdm-xdmcp-display-factory.c
new file mode 100644
index 000000000000..2d5aa39d1285
--- /dev/null
+++ b/x11/gdm/files/patch-daemon_gdm-xdmcp-display-factory.c
@@ -0,0 +1,11 @@
+--- daemon/gdm-xdmcp-display-factory.c.orig 2014-03-21 08:21:57.405582553 +0000
++++ daemon/gdm-xdmcp-display-factory.c 2014-03-21 08:22:13.029582593 +0000
+@@ -77,7 +77,7 @@
+ #define DEFAULT_USE_MULTICAST FALSE
+ #define DEFAULT_MULTICAST_ADDRESS "ff02::1"
+ #define DEFAULT_HONOR_INDIRECT TRUE
+-#define DEFAULT_MAX_DISPLAYS_PER_HOST 1
++#define DEFAULT_MAX_DISPLAYS_PER_HOST 2
+ #define DEFAULT_MAX_DISPLAYS 16
+ #define DEFAULT_MAX_PENDING_DISPLAYS 4
+ #define DEFAULT_MAX_WAIT 30
diff --git a/x11/gdm/files/patch-data_Xsession.in b/x11/gdm/files/patch-data_Xsession.in
index 894c97d1620c..9675cb2af95a 100644
--- a/x11/gdm/files/patch-data_Xsession.in
+++ b/x11/gdm/files/patch-data_Xsession.in
@@ -1,39 +1,21 @@
---- data/Xsession.in.orig 2008-05-12 20:25:54.000000000 -0400
-+++ data/Xsession.in 2008-06-09 01:29:59.000000000 -0400
-@@ -231,12 +231,31 @@ if [ "x$command" = "xdefault" ] ; then
+--- data/Xsession.in.orig 2014-05-08 18:53:58.000000000 +0200
++++ data/Xsession.in 2014-05-08 18:54:21.000000000 +0200
+@@ -184,6 +184,10 @@
fi
fi
-+is_gnome=0
-+if [ "x$command" = "xgnome-session" ]; then
-+ is_gnome=1
-+fi
-+
-+# add seahorse-agent if found
-+if [ ${is_gnome} = 1 ]; then
-+ seahorseagent="`gdmwhich seahorse-agent`"
-+ if [ -n "$seahorseagent" ] && [ -x "$seahorseagent" ] && [ -z "$GPG_AGENT_INFO" ] ; then
-+ command="dbus-launch --exit-with-session $seahorseagent --execute $command"
-+ elif [ -z "$seahorseagent" ] ; then
-+ echo "$0: seahorse-agent not found!"
-+ fi
-+fi
-+
++# Do not start ssh-agent(1) in case we run gnome-session (gnome-keyring
++# already provides the functionality of an SSH agent), see:
++# https://bugzilla.redhat.com/show_bug.cgi?id=441123
++if [ "x$command" != "xgnome-session" ]; then
# add ssh-agent if found
--sshagent="`gdmwhich ssh-agent`"
--if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
-- command="$sshagent -- $command"
--elif [ -z "$sshagent" ] ; then
-- echo "$0: ssh-agent not found!"
-+# ssh-agent functionality is handled by gnome-keyring-daemon which is launched
-+# from gnome-session
-+if [ ${is_gnome} != 1 ]; then
-+ sshagent="`gdmwhich ssh-agent`"
-+ if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
-+ command="$sshagent -- $command"
-+ elif [ -z "$sshagent" ] ; then
-+ echo "$0: ssh-agent not found!"
-+ fi
+ sshagent="`gdmwhich ssh-agent`"
+ if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+@@ -191,6 +195,7 @@
+ elif [ -z "$sshagent" ] ; then
+ echo "$0: ssh-agent not found!"
fi
++fi
echo "$0: Setup done, will execute: $command"
+
diff --git a/x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop b/x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop
new file mode 100644
index 000000000000..e1183761c946
--- /dev/null
+++ b/x11/gdm/files/patch-data_applications_mime-dummy-handler.desktop
@@ -0,0 +1,10 @@
+--- data/applications/mime-dummy-handler.desktop.orig 2013-08-26 10:09:17.171162980 +0000
++++ data/applications/mime-dummy-handler.desktop 2013-08-26 10:09:28.342160146 +0000
+@@ -1,6 +1,6 @@
+ [Desktop Entry]
+ Type=Application
+ Name=Dummy URI Handler
+-Exec=/bin/true %U
++Exec=/usr/bin/true %U
+ Terminal=false
+ StartupNotify=false
diff --git a/x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings b/x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings
new file mode 100644
index 000000000000..0000c8b0d06f
--- /dev/null
+++ b/x11/gdm/files/patch-data_dconf_defaults_00-upstream-settings
@@ -0,0 +1,11 @@
+--- data/dconf/defaults/00-upstream-settings.orig 2014-03-21 08:45:14.698486081 +0000
++++ data/dconf/defaults/00-upstream-settings 2014-03-21 08:45:23.489485407 +0000
+@@ -13,7 +13,7 @@
+ show-desktop-icons=false
+
+ [org/gnome/desktop/default-applications/terminal]
+-exec='/bin/true'
++exec='/usr/bin/true'
+
+ [org/gnome/desktop/interface]
+ toolkit-accessibility=true
diff --git a/x11/gdm/files/patch-data_gconf.path b/x11/gdm/files/patch-data_gconf.path
deleted file mode 100644
index 2efdb3cc975d..000000000000
--- a/x11/gdm/files/patch-data_gconf.path
+++ /dev/null
@@ -1,9 +0,0 @@
---- data/gconf.path.orig 2008-12-26 17:04:03.000000000 -0500
-+++ data/gconf.path 2008-12-26 17:04:13.000000000 -0500
-@@ -1,5 +1,5 @@
- # treat system-wide settings as mandatory
--xml:readonly:/etc/gconf/gconf.xml.system
-+xml:readonly:%%LOCALBASE%%/etc/gconf/gconf.xml.system
-
- # override some settings
- # we treat settings in this location as
diff --git a/x11/gdm/files/patch-data_gdm.conf-custom.in b/x11/gdm/files/patch-data_gdm.conf-custom.in
new file mode 100644
index 000000000000..7bf827126730
--- /dev/null
+++ b/x11/gdm/files/patch-data_gdm.conf-custom.in
@@ -0,0 +1,12 @@
+--- data/gdm.conf-custom.in.orig 2013-11-20 10:35:05.845253412 +0000
++++ data/gdm.conf-custom.in 2013-11-20 10:35:11.644252821 +0000
+@@ -2,6 +2,9 @@
+
+ [daemon]
+
++HaltCommand=/sbin/shutdown -p now
++RebootCommand=/sbin/shutdown -r now
++
+ [security]
+
+ [xdmcp]
diff --git a/x11/gdm/files/patch-data_greeter-autostart_gdm-simple-greeter.desktop.in.in b/x11/gdm/files/patch-data_greeter-autostart_gdm-simple-greeter.desktop.in.in
deleted file mode 100644
index 7febf5165bdd..000000000000
--- a/x11/gdm/files/patch-data_greeter-autostart_gdm-simple-greeter.desktop.in.in
+++ /dev/null
@@ -1,7 +0,0 @@
---- data/greeter-autostart/gdm-simple-greeter.desktop.in.in.orig 2008-11-23 22:22:04.000000000 -0500
-+++ data/greeter-autostart/gdm-simple-greeter.desktop.in.in 2008-11-23 22:22:09.000000000 -0500
-@@ -5,4 +5,3 @@ Exec=@LIBEXECDIR@/gdm-simple-greeter
- OnlyShowIn=GNOME;
- X-GNOME-Autostart-Phase=Application
- X-GNOME-Autostart-Notify=true
--X-GNOME-AutoRestart=true
diff --git a/x11/gdm/files/patch-gui_simple-greeter_Makefile.in b/x11/gdm/files/patch-gui_simple-greeter_Makefile.in
deleted file mode 100644
index e8a958e66ac4..000000000000
--- a/x11/gdm/files/patch-gui_simple-greeter_Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- gui/simple-greeter/Makefile.in.orig 2008-02-13 01:57:37.000000000 -0500
-+++ gui/simple-greeter/Makefile.in 2008-02-13 01:57:44.000000000 -0500
-@@ -445,7 +445,7 @@ INCLUDES = \
- -DGDMCONFDIR=\"$(gdmconfdir)\" \
- -DDATADIR=\""$(datadir)"\" \
- -DSYSCONFDIR=\""$(sysconfdir)"\" \
-- -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \
-+ -DLIBLOCALEDIR=\""/usr/share/locale"\" \
- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
- -DGLADEDIR=\""$(pkgdatadir)"\" \
- -DLIBEXECDIR=\""$(libexecdir)"\" \
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c
deleted file mode 100644
index cd8a0f496b5d..000000000000
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- gui/simple-greeter/gdm-languages.c.orig 2010-01-13 16:20:08.000000000 +0000
-+++ gui/simple-greeter/gdm-languages.c 2010-01-17 13:10:50.000000000 +0000
-@@ -365,7 +365,7 @@ add_locale (const char *language_name,
- if (is_utf8) {
- name = g_strdup (language_name);
- } else if (utf8_only) {
-- name = g_strdup_printf ("%s.utf8", language_name);
-+ name = g_strdup_printf ("%s.UTF-8", language_name);
-
- language_name_get_codeset_details (name, NULL, &is_utf8);
- if (is_utf8) {
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-remote-login-window.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-remote-login-window.c
deleted file mode 100644
index 059d72cf456b..000000000000
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-remote-login-window.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- gui/simple-greeter/gdm-remote-login-window.c.orig 2008-03-24 11:27:13.000000000 +0100
-+++ gui/simple-greeter/gdm-remote-login-window.c 2008-03-24 11:27:31.000000000 +0100
-@@ -25,6 +25,7 @@
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-+#include <sys/signal.h>
- #include <errno.h>
-
- #include <glib.h>
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
deleted file mode 100644
index a7bfbc883da0..000000000000
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
+++ /dev/null
@@ -1,57 +0,0 @@
---- gui/simple-greeter/gdm-user-manager.c.orig 2010-06-26 00:09:31.000000000 +0200
-+++ gui/simple-greeter/gdm-user-manager.c 2010-07-20 23:23:07.000000000 +0200
-@@ -62,6 +62,8 @@
-
- #ifdef __sun
- #define DEFAULT_MINIMAL_UID 100
-+#elif defined(__FreeBSD__)
-+#define DEFAULT_MINIMAL_UID 1000
- #else
- #define DEFAULT_MINIMAL_UID 500
- #endif
-@@ -1678,12 +1680,17 @@ reload_passwd_file (GHashTable *valid_sh
- NULL,
- g_object_unref);
-
-+#ifdef __FreeBSD__
-+ setpwent ();
-+#else
-+
- errno = 0;
- fp = fopen (PATH_PASSWD, "r");
- if (fp == NULL) {
- g_warning ("Unable to open %s: %s", PATH_PASSWD, g_strerror (errno));
- goto out;
- }
-+#endif
-
- /* Make sure we keep users who are logged in no matter what. */
- g_hash_table_iter_init (&iter, current_users_by_name);
-@@ -1733,9 +1740,15 @@ reload_passwd_file (GHashTable *valid_sh
-
- g_debug ("GdmUserManager: include_all is TRUE");
-
-+#ifdef __FreeBSD__
-+ for (pwent = getpwent ();
-+ pwent != NULL;
-+ pwent = getpwent ()) {
-+#else
- for (pwent = fgetpwent (fp);
- pwent != NULL;
- pwent = fgetpwent (fp)) {
-+#endif
-
- /* Skip users below MinimalUID... */
- if (pwent->pw_uid < DEFAULT_MINIMAL_UID) {
-@@ -1810,7 +1823,11 @@ reload_passwd_file (GHashTable *valid_sh
- out:
- /* Cleanup */
-
-+#ifdef __FreeBSD__
-+ endpwent ();
-+#else
- fclose (fp);
-+#endif
-
- g_hash_table_iter_init (&iter, new_users_by_name);
- while (g_hash_table_iter_next (&iter, (gpointer *) &name, (gpointer *) &user)) {
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-user.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-user.c
deleted file mode 100644
index e5fb649c66ca..000000000000
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-user.c
+++ /dev/null
@@ -1,34 +0,0 @@
---- gui/simple-greeter/gdm-user.c.orig 2009-12-16 17:52:36.000000000 -0500
-+++ gui/simple-greeter/gdm-user.c 2009-12-18 21:43:38.000000000 -0500
-@@ -425,6 +425,7 @@ _gdm_user_update (GdmUser *u
- /* Display Name */
- if (pwent->pw_gecos && pwent->pw_gecos[0] != '\0') {
- gchar *first_comma = NULL;
-+ gchar *ampersand;
- gchar *valid_utf8_name = NULL;
-
- if (g_utf8_validate (pwent->pw_gecos, -1, NULL)) {
-@@ -449,6 +450,23 @@ _gdm_user_update (GdmUser *u
- g_free (real_name);
- real_name = NULL;
- }
-+
-+ while (real_name != NULL && (ampersand = strchr (real_name, '&')) != NULL) {
-+ gchar *temp_real_name1;
-+ gchar *temp_real_name2;
-+ gchar *temp_name;
-+
-+ temp_real_name1 = g_strndup (real_name,
-+ (ampersand - real_name));
-+ temp_real_name2 = g_strdup (ampersand + 1);
-+ temp_name = g_strdup (pwent->pw_name);
-+ temp_name[0] = toupper (temp_name[0]);
-+ g_free (real_name);
-+ real_name = g_strdup_printf ("%s%s%s", temp_real_name1, temp_name, temp_real_name2);
-+ g_free (temp_real_name1);
-+ g_free (temp_real_name2);
-+ g_free (temp_name);
-+ }
- } else {
- real_name = NULL;
- }
diff --git a/x11/gdm/files/patch-gui_user-switch-applet_Makefile.in b/x11/gdm/files/patch-gui_user-switch-applet_Makefile.in
deleted file mode 100644
index d14791f00d06..000000000000
--- a/x11/gdm/files/patch-gui_user-switch-applet_Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- gui/user-switch-applet/Makefile.in.orig 2010-03-20 15:19:16.000000000 -0500
-+++ gui/user-switch-applet/Makefile.in 2010-03-20 15:20:28.000000000 -0500
-@@ -324,7 +324,7 @@
- -DLIBDIR=\""$(libdir)"\" \
- -DDATADIR=\""$(datadir)"\" \
- -DSYSCONFDIR=\""$(sysconfdir)"\" \
-- -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \
-+ -DLIBLOCALEDIR=\""/usr/share/locale"\" \
- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
- -DGLADEDIR=\""$(pkgdatadir)"\" \
- -DLIBEXECDIR=\""$(libexecdir)"\" \
diff --git a/x11/gdm/pkg-deinstall b/x11/gdm/pkg-deinstall
new file mode 100644
index 000000000000..6cb043caeb1c
--- /dev/null
+++ b/x11/gdm/pkg-deinstall
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+case $2 in
+DEINSTALL)
+ echo ""
+ echo "To really remove the gdm port, please remove the following"
+ echo "directories manualy:"
+ echo ""
+ echo "/var/cache/gdm /var/gdm /var/log/gdm and /var/run/gdm"
+ echo ""
+ ;;
+esac
diff --git a/x11/gdm/pkg-install b/x11/gdm/pkg-install
index fb834c40fbc2..9c3cae51803c 100644
--- a/x11/gdm/pkg-install
+++ b/x11/gdm/pkg-install
@@ -8,18 +8,30 @@ POST-INSTALL)
CHOWN=/usr/sbin/chown
MKDIR=/bin/mkdir
+ ${MKDIR} -p /var/gdm
+ ${MKDIR} -p /var/log/gdm
+ ${CHMOD} 1770 /var/log/gdm
+ ${CHOWN} ${USER}:${GROUP} /var/log/gdm
+ ${CHOWN} -R root:${GROUP} /var/gdm
+ ${CHMOD} 1770 /var/gdm
+ ${MKDIR} -p /var/run/gdm/greeter
+ ${CHOWN} root:${GROUP} /var/run/gdm
+ ${CHMOD} -R 1777 /var/run/gdm
+ ${MKDIR} -p /var/cache/gdm
+ ${CHMOD} 1755 /var/cache/gdm
+ ${CHOWN} root:${GROUP} /var/cache/gdm
${CHOWN} root:wheel ${PKG_PREFIX}/share/gdm
${CHMOD} 0755 ${PKG_PREFIX}/share/gdm
- ${MKDIR} -p ${PKG_PREFIX}/etc/gdm/home
- ${CHOWN} ${USER}:${GROUP} ${PKG_PREFIX}/etc/gdm/home
- ${CHMOD} 1770 ${PKG_PREFIX}/etc/gdm/home
- install -o root -g wheel -m 444 ${PKG_PREFIX}/share/gdm/gconf.path ${PKG_PREFIX}/etc/gdm/home/.gconf.path
gconftool-2 --direct --config-source=xml:merged:${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory --recursive-unset /
- gconftool-2 --direct --config-source=xml:merged:${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory --load ${PKG_PREFIX}/share/gdm/session-setup.entries
${CHOWN} -R ${USER}:${GROUP} ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory
${CHMOD} 1750 ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory
${CHMOD} 1640 ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory/*.xml
+ ${MKDIR} -p ${PKG_PREFIX}/etc/gdm/Sessions
+ ${MKDIR} -p ${PKG_PREFIX}/etc/dm/Sessions
+
+ ${CHOWN} -R ${USER}:${GROUP} ${PKG_PREFIX}/etc/gdm/home
+
exit 0
;;
esac
diff --git a/x11/gdm/pkg-message b/x11/gdm/pkg-message
index 03810155292d..99ecdf8ddfa6 100644
--- a/x11/gdm/pkg-message
+++ b/x11/gdm/pkg-message
@@ -3,4 +3,3 @@ GDM is installed.
Do _NOT_ use /etc/ttys to start gdm at boot time. This will result in gdm
hanging or restarting constantly. Instead, add gdm_enable="YES" to
/etc/rc.conf. GDM will be started automatic on the next reboot.
-
diff --git a/x11/gdm/pkg-plist b/x11/gdm/pkg-plist
index a52215641dad..c1f9b731eaff 100644
--- a/x11/gdm/pkg-plist
+++ b/x11/gdm/pkg-plist
@@ -1,65 +1,89 @@
bin/gdm-screenshot
bin/gdmflexiserver
etc/dbus-1/system.d/gdm.conf
+etc/gdm/Xsession
+etc/gdm/custom.conf
+etc/gdm/custom.conf.default
+etc/gdm/locale.conf
etc/gdm/Init/Default
etc/gdm/PostLogin/Default.sample
etc/gdm/PostSession/Default
etc/gdm/PreSession/Default
-etc/gdm/Xsession
-@unexec if cmp -s %D/etc/gdm/custom.conf %D/etc/gdm/custom.conf.default; then rm -f %D/etc/gdm/custom.conf; fi
-etc/gdm/custom.conf.default
-@exec [ -f %B/custom.conf ] || cp %B/%f %B/custom.conf
-etc/gdm/gdm.schemas
-@(gdm,gdm,) etc/gdm/home/.local/share/applications/mime-dummy-handler.desktop
-@(gdm,gdm,) etc/gdm/home/.local/share/applications/mimeapps.list
-etc/pam.d/gdm
-libdata/bonobo/servers/GNOME_FastUserSwitchApplet.server
-libexec/gdm-crash-logger
-libexec/gdm-factory-slave
+etc/gdm/home/.pulse/client.conf
+etc/pam.d/gdm-autologin
+etc/pam.d/gdm-launch-environment
+etc/pam.d/gdm-password
+include/gdm/gdm-client-glue.h
+include/gdm/gdm-client.h
+include/gdm/gdm-sessions.h
+include/gdm/gdm-user-switching.h
+lib/libgdm.so
+lib/libgdm.so.1
+lib/libgdm.so.1.0.0
+lib/girepository-1.0/Gdm-1.0.typelib
+libdata/pkgconfig/gdm.pc
libexec/gdm-host-chooser
-libexec/gdm-product-slave
libexec/gdm-session-worker
libexec/gdm-simple-chooser
-libexec/gdm-simple-greeter
-libexec/gdm-simple-slave
-libexec/gdm-user-switch-applet
-libexec/gdm-xdmcp-chooser-slave
sbin/gdm
-sbin/gdm-binary
-%%DATADIR%%/autostart/LoginWindow/at-spi-registryd-wrapper.desktop
-%%DATADIR%%/autostart/LoginWindow/gdm-simple-greeter.desktop
-%%DATADIR%%/autostart/LoginWindow/gnome-mag.desktop
-%%DATADIR%%/autostart/LoginWindow/gnome-power-manager.desktop
-%%DATADIR%%/autostart/LoginWindow/gnome-settings-daemon.desktop
-%%DATADIR%%/autostart/LoginWindow/gok.desktop
-%%DATADIR%%/autostart/LoginWindow/metacity.desktop
-%%DATADIR%%/autostart/LoginWindow/orca-screen-reader.desktop
-%%DATADIR%%/autostart/LoginWindow/polkit-gnome-authentication-agent-1.desktop
-%%DATADIR%%/gconf.path
+share/dconf/profile/gdm
+share/gir-1.0/Gdm-1.0.gir
%%DATADIR%%/gdb-cmd
-%%DATADIR%%/gdm-greeter-login-window.ui
+%%DATADIR%%/gdm.schemas
+%%DATADIR%%/greeter/autostart/caribou-autostart.desktop
+%%DATADIR%%/greeter-dconf-defaults
+%%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
-%%DATADIR%%/session-setup.entries
-share/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml
-share/gnome/help/gdm/C/gdm.xml
-share/gnome/help/gdm/C/legal.xml
-share/gnome/help/gdm/de/gdm.xml
-share/gnome/help/gdm/el/gdm.xml
-share/gnome/help/gdm/en_GB/gdm.xml
-share/gnome/help/gdm/es/gdm.xml
-share/gnome/help/gdm/fr/gdm.xml
-share/gnome/help/gdm/it/gdm.xml
-share/gnome/help/gdm/ko/gdm.xml
-share/gnome/help/gdm/oc/gdm.xml
-share/gnome/help/gdm/ru/gdm.xml
-share/gnome/help/gdm/sv/gdm.xml
-share/gnome/help/gdm/uk/gdm.xml
-share/gnome/help/gdm/zh_CN/gdm.xml
+share/gnome-session/sessions/gdm-shell.session
+share/help/C/gdm/index.docbook
+share/help/C/gdm/legal.xml
+share/help/ca/gdm/index.docbook
+share/help/ca/gdm/legal.xml
+share/help/de/gdm/index.docbook
+share/help/de/gdm/legal.xml
+share/help/el/gdm/index.docbook
+share/help/el/gdm/legal.xml
+share/help/en_GB/gdm/index.docbook
+share/help/en_GB/gdm/legal.xml
+share/help/es/gdm/index.docbook
+share/help/es/gdm/legal.xml
+share/help/fr/gdm/index.docbook
+share/help/fr/gdm/legal.xml
+share/help/gl/gdm/index.docbook
+share/help/gl/gdm/legal.xml
+share/help/hu/gdm/index.docbook
+share/help/hu/gdm/legal.xml
+share/help/id/gdm/index.docbook
+share/help/id/gdm/legal.xml
+share/help/it/gdm/index.docbook
+share/help/it/gdm/legal.xml
+share/help/ko/gdm/index.docbook
+share/help/ko/gdm/legal.xml
+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/ru/gdm/index.docbook
+share/help/ru/gdm/legal.xml
+share/help/sl/gdm/index.docbook
+share/help/sl/gdm/legal.xml
+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/uk/gdm/index.docbook
+share/help/uk/gdm/legal.xml
+share/help/zh_CN/gdm/index.docbook
+share/help/zh_CN/gdm/legal.xml
share/icons/hicolor/16x16/apps/gdm-xnest.png
share/icons/hicolor/32x32/apps/gdm-setup.png
share/icons/hicolor/32x32/apps/gdm-xnest.png
share/locale/af/LC_MESSAGES/gdm.mo
share/locale/am/LC_MESSAGES/gdm.mo
+share/locale/an/LC_MESSAGES/gdm.mo
share/locale/ar/LC_MESSAGES/gdm.mo
share/locale/as/LC_MESSAGES/gdm.mo
share/locale/ast/LC_MESSAGES/gdm.mo
@@ -75,14 +99,15 @@ share/locale/ca/LC_MESSAGES/gdm.mo
share/locale/ca@valencia/LC_MESSAGES/gdm.mo
share/locale/crh/LC_MESSAGES/gdm.mo
share/locale/cs/LC_MESSAGES/gdm.mo
+share/locale/csb/LC_MESSAGES/gdm.mo
share/locale/cy/LC_MESSAGES/gdm.mo
share/locale/da/LC_MESSAGES/gdm.mo
share/locale/de/LC_MESSAGES/gdm.mo
share/locale/dz/LC_MESSAGES/gdm.mo
share/locale/el/LC_MESSAGES/gdm.mo
+share/locale/en@shaw/LC_MESSAGES/gdm.mo
share/locale/en_CA/LC_MESSAGES/gdm.mo
share/locale/en_GB/LC_MESSAGES/gdm.mo
-share/locale/en@shaw/LC_MESSAGES/gdm.mo
share/locale/eo/LC_MESSAGES/gdm.mo
share/locale/es/LC_MESSAGES/gdm.mo
share/locale/et/LC_MESSAGES/gdm.mo
@@ -91,9 +116,12 @@ share/locale/fa/LC_MESSAGES/gdm.mo
share/locale/fi/LC_MESSAGES/gdm.mo
share/locale/fr/LC_MESSAGES/gdm.mo
share/locale/fur/LC_MESSAGES/gdm.mo
+share/locale/fy/LC_MESSAGES/gdm.mo
share/locale/ga/LC_MESSAGES/gdm.mo
+share/locale/gd/LC_MESSAGES/gdm.mo
share/locale/gl/LC_MESSAGES/gdm.mo
share/locale/gu/LC_MESSAGES/gdm.mo
+share/locale/gv/LC_MESSAGES/gdm.mo
share/locale/he/LC_MESSAGES/gdm.mo
share/locale/hi/LC_MESSAGES/gdm.mo
share/locale/hr/LC_MESSAGES/gdm.mo
@@ -105,9 +133,11 @@ share/locale/it/LC_MESSAGES/gdm.mo
share/locale/ja/LC_MESSAGES/gdm.mo
share/locale/ka/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
share/locale/ko/LC_MESSAGES/gdm.mo
share/locale/ku/LC_MESSAGES/gdm.mo
+share/locale/ky/LC_MESSAGES/gdm.mo
share/locale/lt/LC_MESSAGES/gdm.mo
share/locale/lv/LC_MESSAGES/gdm.mo
share/locale/mai/LC_MESSAGES/gdm.mo
@@ -143,6 +173,7 @@ share/locale/sr@latin/LC_MESSAGES/gdm.mo
share/locale/sv/LC_MESSAGES/gdm.mo
share/locale/ta/LC_MESSAGES/gdm.mo
share/locale/te/LC_MESSAGES/gdm.mo
+share/locale/tg/LC_MESSAGES/gdm.mo
share/locale/th/LC_MESSAGES/gdm.mo
share/locale/tr/LC_MESSAGES/gdm.mo
share/locale/ug/LC_MESSAGES/gdm.mo
@@ -156,142 +187,24 @@ share/locale/zh_CN/LC_MESSAGES/gdm.mo
share/locale/zh_HK/LC_MESSAGES/gdm.mo
share/locale/zh_TW/LC_MESSAGES/gdm.mo
share/locale/zu/LC_MESSAGES/gdm.mo
-share/omf/gdm/gdm-C.omf
-share/omf/gdm/gdm-de.omf
-share/omf/gdm/gdm-el.omf
-share/omf/gdm/gdm-en_GB.omf
-share/omf/gdm/gdm-es.omf
-share/omf/gdm/gdm-fr.omf
-share/omf/gdm/gdm-it.omf
-share/omf/gdm/gdm-ko.omf
-share/omf/gdm/gdm-oc.omf
-share/omf/gdm/gdm-ru.omf
-share/omf/gdm/gdm-sv.omf
-share/omf/gdm/gdm-uk.omf
-share/omf/gdm/gdm-zh_CN.omf
-share/pixmaps/faces/astronaut.jpg
-share/pixmaps/faces/baseball.png
-share/pixmaps/faces/butterfly.png
-share/pixmaps/faces/cat-eye.jpg
-share/pixmaps/faces/chess.jpg
-share/pixmaps/faces/coffee.jpg
-share/pixmaps/faces/dice.jpg
-share/pixmaps/faces/energy-arc.jpg
-share/pixmaps/faces/fish.jpg
-share/pixmaps/faces/flake.jpg
-share/pixmaps/faces/flower.jpg
-share/pixmaps/faces/grapes.jpg
-share/pixmaps/faces/guitar.jpg
-share/pixmaps/faces/launch.jpg
-share/pixmaps/faces/leaf.jpg
-share/pixmaps/faces/lightning.jpg
-share/pixmaps/faces/penguin.jpg
-share/pixmaps/faces/puppy.jpg
-share/pixmaps/faces/sky.jpg
-share/pixmaps/faces/soccerball.png
-share/pixmaps/faces/sunflower.jpg
-share/pixmaps/faces/sunset.jpg
-share/pixmaps/faces/tennis-ball.png
-share/pixmaps/faces/yellow-rose.jpg
share/pixmaps/gdm-foot-logo.png
share/pixmaps/gdm-setup.png
share/pixmaps/gdm-xnest.png
share/pixmaps/gdm.png
share/pixmaps/nobody.png
share/pixmaps/nohost.png
-@dirrmtry share/xsessions
-@dirrm share/pixmaps/faces
-@dirrm share/omf/gdm
-@dirrm share/gnome/help/gdm/zh_CN
-@dirrm share/gnome/help/gdm/uk
-@dirrm share/gnome/help/gdm/sv
-@dirrm share/gnome/help/gdm/ru
-@dirrm share/gnome/help/gdm/oc
-@dirrm share/gnome/help/gdm/ko
-@dirrm share/gnome/help/gdm/it
-@dirrm share/gnome/help/gdm/fr
-@dirrm share/gnome/help/gdm/es
-@dirrm share/gnome/help/gdm/en_GB
-@dirrm share/gnome/help/gdm/el
-@dirrm share/gnome/help/gdm/de
-@dirrm share/gnome/help/gdm/C
-@dirrm share/gnome/help/gdm
-@dirrm %%DATADIR%%/autostart/LoginWindow
-@dirrm %%DATADIR%%/autostart
-@dirrm %%DATADIR%%
-@dirrm etc/dm/Sessions
-@dirrm etc/dm
-@dirrm etc/gdm/Sessions
-@dirrm etc/gdm/PreSession
-@dirrm etc/gdm/PostSession
-@dirrm etc/gdm/PostLogin
-@dirrm etc/gdm/Init
-@dirrmtry etc/gdm/home/.local/share/applications
-@dirrmtry etc/gdm/home/.local/share
-@dirrmtry etc/gdm/home/.local
+@exec mkdir -p %D/share/xsessions
+@exec dconf update
+@unexec dconf update
+@mode 1775
+@dir etc/gdm/home
+@mode
@unexec rm -rf %D/etc/gdm/home/.gconf*
-@dirrmtry etc/gdm/home
-@dirrmtry etc/gdm
-@dirrmtry share/locale/zu/LC_MESSAGES
-@dirrmtry share/locale/zu
-@dirrmtry share/locale/zh_HK/LC_MESSAGES
-@dirrmtry share/locale/zh_HK
-@dirrmtry share/locale/xh/LC_MESSAGES
-@dirrmtry share/locale/xh
-@dirrmtry share/locale/uz@cyrillic/LC_MESSAGES
-@dirrmtry share/locale/uz@cyrillic
-@dirrmtry share/locale/ug/LC_MESSAGES
-@dirrmtry share/locale/ug
-@dirrmtry share/locale/te/LC_MESSAGES
-@dirrmtry share/locale/te
-@dirrmtry share/locale/sr@latin/LC_MESSAGES
-@dirrmtry share/locale/sr@latin
-@dirrmtry share/locale/si/LC_MESSAGES
-@dirrmtry share/locale/si
-@dirrmtry share/locale/rw/LC_MESSAGES
-@dirrmtry share/locale/rw
-@dirrmtry share/locale/ps/LC_MESSAGES
-@dirrmtry share/locale/ps
-@dirrmtry share/locale/oc/LC_MESSAGES
-@dirrmtry share/locale/oc
-@dirrmtry share/locale/nso/LC_MESSAGES
-@dirrmtry share/locale/nso
-@dirrmtry share/locale/nds/LC_MESSAGES
-@dirrmtry share/locale/nds
-@dirrmtry share/locale/mr/LC_MESSAGES
-@dirrmtry share/locale/mr
-@dirrmtry share/locale/mi/LC_MESSAGES
-@dirrmtry share/locale/mi
-@dirrmtry share/locale/mg/LC_MESSAGES
-@dirrmtry share/locale/mg
-@dirrmtry share/locale/mai/LC_MESSAGES
-@dirrmtry share/locale/mai
-@dirrmtry share/locale/ku/LC_MESSAGES
-@dirrmtry share/locale/ku
-@dirrmtry share/locale/kk/LC_MESSAGES
-@dirrmtry share/locale/kk
-@dirrmtry share/locale/hy/LC_MESSAGES
-@dirrmtry share/locale/hy
-@dirrmtry share/locale/fur/LC_MESSAGES
-@dirrmtry share/locale/fur
-@dirrmtry share/locale/en@shaw/LC_MESSAGES
-@dirrmtry share/locale/en@shaw
-@dirrmtry share/locale/dz/LC_MESSAGES
-@dirrmtry share/locale/dz
-@dirrmtry share/locale/crh/LC_MESSAGES
-@dirrmtry share/locale/crh
-@dirrmtry share/locale/ca@valencia/LC_MESSAGES
-@dirrmtry share/locale/ca@valencia
-@dirrmtry share/locale/bn_IN/LC_MESSAGES
-@dirrmtry share/locale/bn_IN
-@dirrmtry share/locale/be@latin/LC_MESSAGES
-@dirrmtry share/locale/be@latin
-@dirrmtry share/locale/ast/LC_MESSAGES
-@dirrmtry share/locale/ast
-@dirrmtry share/locale/as/LC_MESSAGES
-@dirrmtry share/locale/as
-@dirrmtry(root,gdm,1777) /var/run/gdm/greeter
-@dirrmtry(root,gdm,1777) /var/run/gdm
-@dirrmtry(gdm,gdm,1770) /var/log/gdm
-@dirrmtry(root,gdm,1775) /var/cache/gdm
-@dirrmtry(root,gdm,1770) /var/gdm
+@dir %%ETCDIR%%/Sessions
+@dir etc/dm
+@dir etc/dm/Sessions
+@dir /var/cache/gdm/
+@dir /var/run/gdm/greeter
+@dir /var/run/gdm/
+@dir /var/log/gdm/
+@unexec rm -fr /var/gdm