diff options
author | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2008-03-24 22:15:12 +0800 |
---|---|---|
committer | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2008-03-24 22:15:12 +0800 |
commit | 6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2 (patch) | |
tree | 09acdfa6f321f4d0e0c3005b95451e0a6b521adb /x11/gdm | |
parent | c92e393a2f49fb071ec395cdc547827de00b20f1 (diff) | |
download | marcuscom-ports-6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2.tar marcuscom-ports-6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2.tar.gz marcuscom-ports-6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2.tar.bz2 marcuscom-ports-6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2.tar.lz marcuscom-ports-6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2.tar.xz marcuscom-ports-6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2.tar.zst marcuscom-ports-6bb1fb05c4e834bb2057264f6b14a9e5adcfe8e2.zip |
Add gdm 2.21.8 from experimental.
Update to 2.21.9.
Remove USE_XLIB, USE_XORG already defined (not test very well).
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@10824 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11/gdm')
-rw-r--r-- | x11/gdm/Makefile | 90 | ||||
-rw-r--r-- | x11/gdm/distinfo | 3 | ||||
-rw-r--r-- | x11/gdm/files/gdm.in | 46 | ||||
-rw-r--r-- | x11/gdm/files/patch-common_gdm-address.c | 29 | ||||
-rw-r--r-- | x11/gdm/files/patch-common_gdm-common.c | 13 | ||||
-rw-r--r-- | x11/gdm/files/patch-common_gdm-settings-keys.h | 10 | ||||
-rw-r--r-- | x11/gdm/files/patch-common_gdm-signal-handler.c | 35 | ||||
-rw-r--r-- | x11/gdm/files/patch-config.h.in | 12 | ||||
-rw-r--r-- | x11/gdm/files/patch-daemon-gdm-server.c | 64 | ||||
-rw-r--r-- | x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c | 10 | ||||
-rw-r--r-- | x11/gdm/files/patch-daemon_Makefile.in | 10 | ||||
-rw-r--r-- | x11/gdm/files/patch-daemon_gdm-session-worker.c | 11 | ||||
-rw-r--r-- | x11/gdm/files/patch-data_gdm.schemas.in.in | 14 | ||||
-rw-r--r-- | x11/gdm/files/patch-gui_simple-greeter_Makefile.in | 11 | ||||
-rw-r--r-- | x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c | 91 | ||||
-rw-r--r-- | x11/gdm/files/patch-gui_simple-greeter_gdm-remote-login-window.c | 10 | ||||
-rw-r--r-- | x11/gdm/pkg-descr | 4 | ||||
-rw-r--r-- | x11/gdm/pkg-install | 59 | ||||
-rw-r--r-- | x11/gdm/pkg-message | 6 | ||||
-rw-r--r-- | x11/gdm/pkg-plist | 200 |
20 files changed, 728 insertions, 0 deletions
diff --git a/x11/gdm/Makefile b/x11/gdm/Makefile new file mode 100644 index 000000000..32139bd62 --- /dev/null +++ b/x11/gdm/Makefile @@ -0,0 +1,90 @@ +# New ports collection makefile for: gdm2 +# Date created: 20 May 2002 +# Whom: Joe Marcus Clarke <marcus@FreeBSD.org> +# +# $FreeBSD$ +# $MCom$ +# + +PORTNAME= gdm +PORTVERSION= 2.21.9 +CATEGORIES= x11 gnome +MASTER_SITES= ${MASTER_SITE_GNOME} +MASTER_SITE_SUBDIR= sources/${PORTNAME:S/2$//}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} +DIST_SUBDIR= gnome2 + +MAINTAINER= gnome@FreeBSD.org +COMMENT= GNOME 2 version of xdm display manager + +BUILD_DEPENDS= zenity:${PORTSDIR}/x11/zenity +LIB_DEPENDS= ck-connector.0:${PORTSDIR}/sysutils/consolekit +RUN_DEPENDS= zenity:${PORTSDIR}/x11/zenity \ + ${LOCALBASE}/libexec/gnome-settings-daemon:${PORTSDIR}/sysutils/gnome-settings-daemon + +CONFLICTS= fast-user-switch-applet-* + +USE_BZIP2= yes +USE_GETTEXT= yes +USE_LDCONFIG= yes +USE_XORG= dmx dmxproto +INSTALLS_OMF= yes +INSTALLS_ICONS= yes +USE_RC_SUBR= gdm +USE_GNOME_SUBR= yes +USE_GMAKE= yes +USE_GNOME= gnomehack intlhack gnomehier libgnomeui librsvg2 gnomedocutils \ + gnomeprefix gnomepanel +GCONF_SCHEMAS= gdm-simple-greeter.schemas +GNU_CONFIGURE= yes +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" \ + GTKDOC="false" + +GDMDIR?= ${PREFIX}/etc/gdm +PKGMESSAGE= ${WRKDIR}/pkg-message + +GNOME_LOCALSTATEDIR= /var + +OPTIONS= IPV6 "Enable IPv6 support" on + +.include <bsd.port.pre.mk> + +.if exists(/usr/include/security/pam_misc.h) +PLIST_SUB+= PAM_MISC="" +.else +PLIST_SUB+= PAM_MISC="@comment " +.endif + +.if !defined(WITHOUT_IPV6) +CONFIGURE_ARGS+= --enable-ipv6 +.else +CONFIGURE_ARGS+= --disable-ipv6 +.endif + +post-patch: +.if ( ${OSVERSION} > 600000 && ${OSVERSION} < 600006 ) || \ + ( ${OSVERSION} < 503101 ) +.for po in zh_CN.po + @${REINPLACE_CMD} -e 's|%-|%|g' ${WRKSRC}/po/${po} +.endfor +.endif + @${REINPLACE_CMD} -e 's|root:root|root:wheel|g' \ + ${WRKSRC}/data/Makefile.in + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${WRKSRC}/daemon/gdm-session-worker.c + @${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g' \ + ${WRKSRC}/configure ${WRKSRC}/daemon/*.c ${WRKSRC}/po/*.po + +post-install: +.if !defined(PACKAGE_BUILDING) + @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL +.endif + ${INSTALL_DATA} ${WRKSRC}/data/gdm.conf-custom \ + ${PREFIX}/etc/gdm/custom.conf.default + ${MKDIR} ${PREFIX}/share/xsessions + @${MKDIR} ${PREFIX}/etc/gdm/Sessions + @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' < ${PKGDIR}/pkg-message \ + | /usr/bin/fmt 75 79 > ${PKGMESSAGE} + @${CAT} ${PKGMESSAGE} + +.include <bsd.port.post.mk> diff --git a/x11/gdm/distinfo b/x11/gdm/distinfo new file mode 100644 index 000000000..1c38110ac --- /dev/null +++ b/x11/gdm/distinfo @@ -0,0 +1,3 @@ +MD5 (gnome2/gdm-2.21.9.tar.bz2) = b20aa0790405f540df9a2ec9e0d6eb03 +SHA256 (gnome2/gdm-2.21.9.tar.bz2) = fef13bbcaba1e8acfb43fc75158acd9aed9089dbee023bb4f784feed9ad7ad2c +SIZE (gnome2/gdm-2.21.9.tar.bz2) = 2203733 diff --git a/x11/gdm/files/gdm.in b/x11/gdm/files/gdm.in new file mode 100644 index 000000000..f44669946 --- /dev/null +++ b/x11/gdm/files/gdm.in @@ -0,0 +1,46 @@ +#!/bin/sh +# $FreeBSD$ +# $MCom: ports-experimental/x11/gdm/files/gdm.in,v 1.1 2008/02/29 22:20:47 mezz Exp $ + +# PROVIDE: gdm +# REQUIRE: LOGIN cleanvar moused syscons dbus +# +# Add the following to /etc/rc.conf to start GDM at boot time: +# +# gdm_enable="YES" +# + +. %%RC_SUBR%% +. %%GNOME_SUBR%% + +gdm_enable=${gdm_enable-${gnome_enable}} + +export PATH=/bin:/sbin:/usr/bin:/usr/sbin:%%LOCALBASE%%/bin:%%LOCALBASE%%/sbin + +name="gdm" +rcvar=`set_rcvar` +command="%%PREFIX%%/sbin/${name}" +pidfile="/var/run/${name}.pid" +procname="%%PREFIX%%/sbin/gdm-binary" +start_cmd="gdm_start" + +gdm_start() +{ + if ! checkyesno gdm_enable ; then + return 0 + fi + echo "Starting ${name}." + + ( iter=0 + while ! ps -axoargs | grep "^/usr/libexec/getty " | grep -qv grep >/dev/null 2>&1; do + if [ ${iter} -eq 60 ]; then + break + fi + sleep 1 + iter=$(expr ${iter} + 1) + done + ${command} ) & +} + +load_rc_config ${name} +run_rc_command "$1" diff --git a/x11/gdm/files/patch-common_gdm-address.c b/x11/gdm/files/patch-common_gdm-address.c new file mode 100644 index 000000000..994bdf404 --- /dev/null +++ b/x11/gdm/files/patch-common_gdm-address.c @@ -0,0 +1,29 @@ +--- common/gdm-address.c.orig 2008-02-03 11:52:26.000000000 -0500 ++++ common/gdm-address.c 2008-02-13 01:23:07.000000000 -0500 +@@ -25,8 +25,9 @@ + #include <stdio.h> + #include <fcntl.h> + #include <unistd.h> +-#include <stropts.h> + #include <string.h> ++#include <sys/types.h> ++#include <sys/param.h> + #ifdef HAVE_SYS_SOCKET_H + #include <sys/socket.h> + #endif +@@ -35,7 +36,6 @@ + #endif + #include <netdb.h> + #include <sys/ioctl.h> +-#include <net/if.h> + + #ifndef G_OS_WIN32 + #include <sys/socket.h> +@@ -46,6 +46,7 @@ + #include <winsock2.h> + #include <ws2tcpip.h> + #endif ++#include <net/if.h> + + #include <glib-object.h> + 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 000000000..9fa4acafa --- /dev/null +++ b/x11/gdm/files/patch-common_gdm-common.c @@ -0,0 +1,13 @@ +--- 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-common_gdm-settings-keys.h b/x11/gdm/files/patch-common_gdm-settings-keys.h new file mode 100644 index 000000000..06ebc0800 --- /dev/null +++ b/x11/gdm/files/patch-common_gdm-settings-keys.h @@ -0,0 +1,10 @@ +--- common/gdm-settings-keys.h.orig 2008-02-20 16:27:34.000000000 -0500 ++++ common/gdm-settings-keys.h 2008-02-25 22:23:35.000000000 -0500 +@@ -30,6 +30,7 @@ G_BEGIN_DECLS + #define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable" + #define GDM_KEY_TIMED_LOGIN_USER "daemon/TimedLogin" + #define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay" ++#define GDM_KEY_VT "daemon/VT" + + #define GDM_KEY_XDMCP_ENABLE "xdmcp/Enable" + #define GDM_KEY_MAX_PENDING "xdmcp/MaxPending" diff --git a/x11/gdm/files/patch-common_gdm-signal-handler.c b/x11/gdm/files/patch-common_gdm-signal-handler.c new file mode 100644 index 000000000..d2a71ddb2 --- /dev/null +++ b/x11/gdm/files/patch-common_gdm-signal-handler.c @@ -0,0 +1,35 @@ +--- common/gdm-signal-handler.c.orig 2007-10-30 11:41:48.000000000 -0400 ++++ common/gdm-signal-handler.c 2007-11-02 15:07:28.000000000 -0400 +@@ -27,7 +27,6 @@ + #include <unistd.h> + #include <string.h> + #include <signal.h> +-#include <execinfo.h> + #include <syslog.h> + #include <sys/wait.h> + #include <sys/stat.h> +@@ -151,6 +150,7 @@ signal_io_watch (GIOChannel *ioc, + static void + fallback_get_backtrace (void) + { ++/* + void * frames[64]; + size_t size; + char ** strings; +@@ -167,13 +167,14 @@ fallback_get_backtrace (void) + } else { + g_warning ("GDM crashed, but symbols couldn't be retrieved."); + } ++*/ + } + + + static gboolean + crashlogger_get_backtrace (void) +-{ +- gboolean success = FALSE; ++{ ++ gboolean success = FALSE; + int pid; + + pid = fork(); diff --git a/x11/gdm/files/patch-config.h.in b/x11/gdm/files/patch-config.h.in new file mode 100644 index 000000000..d17901da1 --- /dev/null +++ b/x11/gdm/files/patch-config.h.in @@ -0,0 +1,12 @@ +--- 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 + #undef HAVE_LIBXDMCP ++#undef HAVE_LOGIN ++#undef HAVE_LOGOUT ++#undef HAVE_LOGWTMP + #undef HAVE_LOGINCAP + #undef HAVE_LOGINDEVPERM + #undef HAVE_LOGINRESTRICTIONS 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 000000000..e57350568 --- /dev/null +++ b/x11/gdm/files/patch-daemon-gdm-server.c @@ -0,0 +1,64 @@ +--- daemon/gdm-server.c.orig 2007-11-19 22:53:12.000000000 +0100 ++++ daemon/gdm-server.c 2007-12-25 11:56:07.000000000 +0100 +@@ -44,6 +44,10 @@ + #include "gdm-common.h" + #include "gdm-signal-handler.h" + ++#include "gdm-settings.h" ++#include "gdm-settings-direct.h" ++#include "gdm-settings-keys.h" ++ + #include "gdm-server.h" + + extern char **environ; +@@ -77,6 +81,7 @@ + char *parent_display_name; + char *parent_auth_file; + char *chosen_hostname; ++ char *vt; + + guint child_watch_id; + }; +@@ -663,7 +668,7 @@ + gboolean res; + + /* fork X server process */ +- res = gdm_server_spawn (server, NULL); ++ res = gdm_server_spawn (server, server->priv->vt); + + return res; + } +@@ -890,12 +895,33 @@ + gdm_server_init (GdmServer *server) + { + ++ int vt; ++ gboolean has_vt; ++ GdmSettings *settings = NULL; + server->priv = GDM_SERVER_GET_PRIVATE (server); + ++ ++ settings = gdm_settings_new(); ++ if (settings == NULL) { ++ g_assert ("Unable to initialize settings"); ++ } ++ ++ if (! gdm_settings_direct_init (settings, GDMCONFDIR "/gdm.schemas", "/")) { ++ g_assert ("Unable to initialize settings"); ++ } ++ ++ has_vt = gdm_settings_direct_get_int (GDM_KEY_VT, &vt); ++ ++ g_object_unref (settings); ++ + server->priv->pid = -1; + server->priv->command = g_strdup (X_SERVER " -br -verbose"); + server->priv->log_dir = g_strdup (LOGDIR); + ++ if (has_vt) { ++ server->priv->vt = g_strdup_printf ("vt %d", vt); ++ } ++ + add_ready_handler (server); + } + 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 000000000..e3062eeea --- /dev/null +++ b/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c @@ -0,0 +1,10 @@ +--- daemon/gdm-xdmcp-display-factory.c.orig 2007-11-01 10:15:58.269325570 -0400 ++++ daemon/gdm-xdmcp-display-factory.c 2007-11-01 10:20:19.093220785 -0400 +@@ -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 diff --git a/x11/gdm/files/patch-daemon_Makefile.in b/x11/gdm/files/patch-daemon_Makefile.in new file mode 100644 index 000000000..9186a23e3 --- /dev/null +++ b/x11/gdm/files/patch-daemon_Makefile.in @@ -0,0 +1,10 @@ +--- daemon/Makefile.in.orig 2007-11-02 20:54:53.000000000 -0400 ++++ daemon/Makefile.in 2007-11-02 20:55:08.000000000 -0400 +@@ -451,6 +451,7 @@ test_session_SOURCES = \ + + test_session_LDADD = \ + $(DAEMON_LIBS) \ ++ $(EXTRA_DAEMON_LIBS) \ + $(PAM_LIBS) \ + $(top_builddir)/common/libgdmcommon.la \ + $(NULL) 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 000000000..67c65fc4c --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-session-worker.c @@ -0,0 +1,11 @@ +--- daemon/gdm-session-worker.c.orig 2008-01-15 17:23:12.000000000 -0500 ++++ daemon/gdm-session-worker.c 2008-01-15 17:22:36.000000000 -0500 +@@ -226,7 +226,7 @@ gdm_session_execute (const char *file, + * what to search if PATH is unset. POSIX may, dunno. + */ + +- path = "/bin:/usr/bin:."; ++ path = "/bin:/usr/bin:%%LOCALBASE%%/bin:."; + } + + len = strlen (file) + 1; diff --git a/x11/gdm/files/patch-data_gdm.schemas.in.in b/x11/gdm/files/patch-data_gdm.schemas.in.in new file mode 100644 index 000000000..ae5572ddd --- /dev/null +++ b/x11/gdm/files/patch-data_gdm.schemas.in.in @@ -0,0 +1,14 @@ +--- data/gdm.schemas.in.in.orig 2007-12-13 12:14:19.000000000 -0500 ++++ data/gdm.schemas.in.in 2007-12-13 12:15:05.000000000 -0500 +@@ -11,6 +11,11 @@ + <signature>s</signature> + <default>gdm</default> + </schema> ++ <schema> ++ <key>daemon/VT</key> ++ <signature>i</signature> ++ <default>9</default> ++ </schema> + + <schema> + <key>xdmcp/Enable</key> diff --git a/x11/gdm/files/patch-gui_simple-greeter_Makefile.in b/x11/gdm/files/patch-gui_simple-greeter_Makefile.in new file mode 100644 index 000000000..56d49b99b --- /dev/null +++ b/x11/gdm/files/patch-gui_simple-greeter_Makefile.in @@ -0,0 +1,11 @@ +--- 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=\""$(prefix)/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 new file mode 100644 index 000000000..0ad57a462 --- /dev/null +++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c @@ -0,0 +1,91 @@ +--- gui/simple-greeter/gdm-languages.c.orig 2008-02-25 17:21:43.000000000 -0500 ++++ gui/simple-greeter/gdm-languages.c 2008-02-27 01:17:09.000000000 -0500 +@@ -50,6 +50,8 @@ + #define ISO_CODES_DATADIR ISO_CODES_PREFIX "/share/xml/iso-codes" + #define ISO_CODES_LOCALESDIR ISO_CODES_PREFIX "/share/locale" + ++#define GDM_DEFAULT_LOCALE "C" ++ + typedef struct _GdmLocale { + char *id; + char *name; +@@ -479,7 +481,7 @@ select_dirs (const struct dirent *dirent + struct stat st; + char *path; + +- path = g_build_filename (LIBLOCALEDIR, dirent->d_name, NULL); ++ path = g_build_filename ("/usr/share/locale", dirent->d_name, NULL); + if (g_stat (path, &st) == 0) { + mode = st.st_mode; + } +@@ -499,7 +501,7 @@ collect_locales_from_directory (void) + int ndirents; + int cnt; + +- ndirents = scandir (LIBLOCALEDIR, &dirents, select_dirs, alphasort); ++ ndirents = scandir ("/usr/share/locale", &dirents, select_dirs, alphasort); + + for (cnt = 0; cnt < ndirents; ++cnt) { + char *path; +@@ -533,7 +535,7 @@ collect_locales_from_directory (void) + } + + /* try to get additional information from LC_IDENTIFICATION */ +- path = g_build_filename (LIBLOCALEDIR, dirents[cnt]->d_name, "LC_IDENTIFICATION", NULL); ++ path = g_build_filename ("/usr/share/locale", dirents[cnt]->d_name, "LC_IDENTIFICATION", NULL); + res = g_file_test (path, G_FILE_TEST_IS_REGULAR); + if (res) { + GMappedFile *mapped; +@@ -568,6 +570,35 @@ collect_locales_from_aliases (void) + } + + static void ++collect_default_locale (void) ++{ ++ GdmLocale *locale; ++ GdmLocale *old_locale; ++ ++ locale = g_new0 (GdmLocale, 1); ++ gdm_parse_language_name (GDM_DEFAULT_LOCALE, ++ &locale->language_code, ++ &locale->territory_code, ++ &locale->codeset, ++ &locale->modifier); ++ ++ locale->id = construct_language_name (locale->language_code, locale->territory_code, ++ NULL, locale->modifier); ++ locale->name = construct_language_name (locale->language_code, locale->territory_code, ++ locale->codeset, locale->modifier); ++ ++ old_locale = g_hash_table_lookup (gdm_available_locales_map, locale->id); ++ if (old_locale != NULL) { ++ if (strlen (old_locale->name) > strlen (locale->name)) { ++ chooser_locale_free (locale); ++ return; ++ } ++ } ++ ++ g_hash_table_insert (gdm_available_locales_map, g_strdup (locale->id), locale); ++} ++ ++static void + collect_locales (void) + { + +@@ -575,6 +606,7 @@ collect_locales (void) + gdm_available_locales_map = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) chooser_locale_free); + } + ++ collect_default_locale (); + collect_locales_from_archive (); + collect_locales_from_directory (); + collect_locales_from_aliases (); +@@ -957,6 +989,8 @@ gdm_get_language_from_name (const char * + } + + language = get_translated_language (language_code, name); ++ if (language == NULL && ! strcmp (language_code, GDM_DEFAULT_LOCALE)) ++ language = GDM_DEFAULT_LOCALE; + + if (territory_code != NULL) { + territory = get_translated_territory (territory_code, name); 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 new file mode 100644 index 000000000..059d72cf4 --- /dev/null +++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-remote-login-window.c @@ -0,0 +1,10 @@ +--- 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/pkg-descr b/x11/gdm/pkg-descr new file mode 100644 index 000000000..1699cf5b7 --- /dev/null +++ b/x11/gdm/pkg-descr @@ -0,0 +1,4 @@ +The GNOME 2.0 version of the xdm display manager. It supports user +icons, multiple sessions, and clean system shutdowns. + +WWW: http://www.gnome.org/projects/gdm/ diff --git a/x11/gdm/pkg-install b/x11/gdm/pkg-install new file mode 100644 index 000000000..29d467924 --- /dev/null +++ b/x11/gdm/pkg-install @@ -0,0 +1,59 @@ +#!/bin/sh + +case $2 in +POST-INSTALL) + USER=gdm + GROUP=${USER} + UID=92 + GID=${UID} + PW=/usr/sbin/pw + CHMOD=/bin/chmod + CHOWN=/usr/sbin/chown + MKDIR=/bin/mkdir + + if ${PW} group show "${GROUP}" 2>/dev/null; then + echo "You already have a group \"${GROUP}\", so I will use it." + else + if ${PW} groupadd ${GROUP} -g ${GID}; then + echo "Added group \"${GROUP}\"." + else + echo "Adding group \"${GROUP}\" failed..." + exit 1 + fi + fi + + if ${PW} user show "${USER}" 2>/dev/null; then + echo "You already have a user \"${USER}\", so I will use it." + uhome=`${PW} user show ${USER} | awk -F: '{print $9}'` + if [ x"${uhome}" = x"/nonexistent" -o x"${uhome}" = x"/var/gdm" ]; then + ${PW} usermod ${USER} -d "${PKG_PREFIX}/etc/gdm/home" + fi + else + if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \ + -d "${PKG_PREFIX}/etc/gdm/home" -s /sbin/nologin -c "GNOME Display Manager" + then + echo "Added user \"${USER}\"." + else + echo "Adding user \"${USER}\" failed..." + exit 1 + fi + fi + ${MKDIR} -p /var/gdm + ${MKDIR} -p /var/log/gdm + ${CHMOD} 0755 /var/log/gdm + ${CHOWN} root:wheel /var/log/gdm + ${CHOWN} -R root:${GROUP} /var/gdm + ${CHMOD} 1770 /var/gdm + ${CHOWN} root:wheel ${PKG_PREFIX}/share/gdm + ${CHMOD} 0755 ${PKG_PREFIX}/share/gdm + ${MKDIR} -p /var/lib/gdm + ${CHMOD} 1770 /var/lib/gdm + ${CHOWN} root:${GROUP} /var/lib/gdm + ${MKDIR} -p ${PKG_PREFIX}/etc/gdm/home + ${CHOWN} ${USER}:${GROUP} ${PKG_PREFIX}/etc/gdm/home + ${CHMOD} 0755 ${PKG_PREFIX}/etc/gdm/home + + ${MKDIR} -p ${PKG_PREFIX}/etc/dm/Sessions + exit 0 + ;; +esac diff --git a/x11/gdm/pkg-message b/x11/gdm/pkg-message new file mode 100644 index 000000000..038101552 --- /dev/null +++ b/x11/gdm/pkg-message @@ -0,0 +1,6 @@ +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 new file mode 100644 index 000000000..e6706c1a6 --- /dev/null +++ b/x11/gdm/pkg-plist @@ -0,0 +1,200 @@ +bin/gdmflexiserver +etc/dbus-1/system.d/gdm.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 +libdata/bonobo/servers/GNOME_FastUserSwitchApplet.server +libexec/gdm-crash-logger +libexec/gdm-factory-slave +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 +%%PAM_MISC%%libexec/gdmaskpass +sbin/gdm +sbin/gdm-binary +sbin/gdm-restart +sbin/gdm-safe-restart +sbin/gdm-stop +%%DATADIR%%/gdm-a11y-preferences-dialog.glade +%%DATADIR%%/gdm-greeter-login-window.glade +%%DATADIR%%/gdm-user-switch-applet.glade +share/gdm/gdb-cmd +share/gnome-2.0/ui/GNOME_FastUserSwitchApplet.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/ar/LC_MESSAGES/gdm.mo +share/locale/as/LC_MESSAGES/gdm.mo +share/locale/az/LC_MESSAGES/gdm.mo +share/locale/be/LC_MESSAGES/gdm.mo +share/locale/bg/LC_MESSAGES/gdm.mo +share/locale/bn/LC_MESSAGES/gdm.mo +share/locale/bn_IN/LC_MESSAGES/gdm.mo +share/locale/bs/LC_MESSAGES/gdm.mo +share/locale/ca/LC_MESSAGES/gdm.mo +share/locale/cs/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_CA/LC_MESSAGES/gdm.mo +share/locale/en_GB/LC_MESSAGES/gdm.mo +share/locale/es/LC_MESSAGES/gdm.mo +share/locale/et/LC_MESSAGES/gdm.mo +share/locale/eu/LC_MESSAGES/gdm.mo +share/locale/fa/LC_MESSAGES/gdm.mo +share/locale/fi/LC_MESSAGES/gdm.mo +share/locale/fr/LC_MESSAGES/gdm.mo +share/locale/ga/LC_MESSAGES/gdm.mo +share/locale/gl/LC_MESSAGES/gdm.mo +share/locale/gu/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 +share/locale/hu/LC_MESSAGES/gdm.mo +share/locale/hy/LC_MESSAGES/gdm.mo +share/locale/id/LC_MESSAGES/gdm.mo +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/kn/LC_MESSAGES/gdm.mo +share/locale/ko/LC_MESSAGES/gdm.mo +share/locale/ku/LC_MESSAGES/gdm.mo +share/locale/lt/LC_MESSAGES/gdm.mo +share/locale/lv/LC_MESSAGES/gdm.mo +share/locale/mg/LC_MESSAGES/gdm.mo +share/locale/mi/LC_MESSAGES/gdm.mo +share/locale/mk/LC_MESSAGES/gdm.mo +share/locale/ml/LC_MESSAGES/gdm.mo +share/locale/mn/LC_MESSAGES/gdm.mo +share/locale/mr/LC_MESSAGES/gdm.mo +share/locale/ms/LC_MESSAGES/gdm.mo +share/locale/nb/LC_MESSAGES/gdm.mo +share/locale/ne/LC_MESSAGES/gdm.mo +share/locale/nl/LC_MESSAGES/gdm.mo +share/locale/nn/LC_MESSAGES/gdm.mo +share/locale/nso/LC_MESSAGES/gdm.mo +share/locale/oc/LC_MESSAGES/gdm.mo +share/locale/or/LC_MESSAGES/gdm.mo +share/locale/pa/LC_MESSAGES/gdm.mo +share/locale/pl/LC_MESSAGES/gdm.mo +share/locale/pt/LC_MESSAGES/gdm.mo +share/locale/pt_BR/LC_MESSAGES/gdm.mo +share/locale/ro/LC_MESSAGES/gdm.mo +share/locale/ru/LC_MESSAGES/gdm.mo +share/locale/rw/LC_MESSAGES/gdm.mo +share/locale/si/LC_MESSAGES/gdm.mo +share/locale/sk/LC_MESSAGES/gdm.mo +share/locale/sl/LC_MESSAGES/gdm.mo +share/locale/sq/LC_MESSAGES/gdm.mo +share/locale/sr/LC_MESSAGES/gdm.mo +share/locale/sr@Latn/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/th/LC_MESSAGES/gdm.mo +share/locale/tr/LC_MESSAGES/gdm.mo +share/locale/uk/LC_MESSAGES/gdm.mo +share/locale/vi/LC_MESSAGES/gdm.mo +share/locale/wa/LC_MESSAGES/gdm.mo +share/locale/xh/LC_MESSAGES/gdm.mo +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/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 +@exec mkdir -p %D/share/xsessions +@dirrmtry share/xsessions +@dirrm share/pixmaps/faces +@dirrm %%DATADIR%% +@dirrm etc/gdm/Sessions +@dirrm etc/gdm/PreSession +@dirrm etc/gdm/PostSession +@dirrm etc/gdm/PostLogin +@dirrm etc/gdm/Init +@unexec rmdir %D/etc/gdm/home 2> /dev/null || /usr/bin/true +@dirrmtry etc/gdm +@dirrmtry etc/dm/Sessions +@dirrmtry etc/dm +@dirrmtry sbin +@dirrmtry share/log/gdm +@dirrmtry share/log +@unexec /bin/rm -rf /var/gdm 2>/dev/null || /usr/bin/true +@unexec /bin/rm -rf /var/log/gdm 2>/dev/null || /usr/bin/true +@unexec /bin/rm -rf /var/lib/gdm 2>/dev/null || /usr/bin/true +@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/si/LC_MESSAGES +@dirrmtry share/locale/si +@dirrmtry share/locale/te/LC_MESSAGES +@dirrmtry share/locale/te +@dirrmtry share/locale/rw/LC_MESSAGES +@dirrmtry share/locale/rw +@dirrmtry share/locale/oc/LC_MESSAGES +@dirrmtry share/locale/oc +@dirrmtry share/locale/nso/LC_MESSAGES +@dirrmtry share/locale/nso +@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/ku/LC_MESSAGES +@dirrmtry share/locale/ku +@dirrmtry share/locale/hy/LC_MESSAGES +@dirrmtry share/locale/hy +@dirrmtry share/locale/dz/LC_MESSAGES +@dirrmtry share/locale/dz +@dirrmtry share/locale/bn_IN/LC_MESSAGES +@dirrmtry share/locale/bn_IN +@dirrmtry share/locale/as/LC_MESSAGES +@dirrmtry share/locale/as |