From f97eb4a6b0cdbad2ceedf6a84c7517a0b85ab06b Mon Sep 17 00:00:00 2001 From: piernov Date: Wed, 31 Aug 2011 14:49:02 +0200 Subject: gdm 3.1.90-1 màj port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gdm/.footprint.i686 | 110 ++++++++++++++-------- gdm/.footprint.x86_64 | 110 ++++++++++++++-------- gdm/.md5sum.i686 | 10 +- gdm/.md5sum.x86_64 | 10 +- gdm/2.91_fix_external_program_directories.patch | 48 ---------- gdm/Pkgfile | 79 +++++++--------- gdm/fix_external_program_paths.patch | 24 +++++ gdm/gdm-vt-allocation-hack.patch | 118 ------------------------ gdm/gdm.pam | 14 +++ gdm/post-install | 22 ++++- gdm/pre-install | 4 +- gdm/vt-allocation-hack.patch | 118 ++++++++++++++++++++++++ 12 files changed, 358 insertions(+), 309 deletions(-) delete mode 100644 gdm/2.91_fix_external_program_directories.patch create mode 100644 gdm/fix_external_program_paths.patch delete mode 100644 gdm/gdm-vt-allocation-hack.patch create mode 100644 gdm/gdm.pam create mode 100644 gdm/vt-allocation-hack.patch diff --git a/gdm/.footprint.i686 b/gdm/.footprint.i686 index a447d8c..39e976d 100644 --- a/gdm/.footprint.i686 +++ b/gdm/.footprint.i686 @@ -1,4 +1,18 @@ drwxr-xr-x root/root etc/ +drwxr-xr-x root/root etc/X11/ +drwxr-xr-x root/root etc/X11/dm/ +drwxr-xr-x root/root etc/X11/dm/Sessions/ +drwxr-xr-x root/root etc/X11/gdm/ +drwxr-xr-x root/root etc/X11/gdm/Init/ +-rwxr-xr-x root/root etc/X11/gdm/Init/Default +drwxr-xr-x root/root etc/X11/gdm/PostLogin/ +-rwxr-xr-x root/root etc/X11/gdm/PostLogin/Default.sample +drwxr-xr-x root/root etc/X11/gdm/PostSession/ +-rwxr-xr-x root/root etc/X11/gdm/PostSession/Default +drwxr-xr-x root/root etc/X11/gdm/PreSession/ +-rwxr-xr-x root/root etc/X11/gdm/PreSession/Default +-rwxr-xr-x root/root etc/X11/gdm/Xsession +-rw-r--r-- root/root etc/X11/gdm/custom.conf drwxr-xr-x root/root etc/dbus-1/ drwxr-xr-x root/root etc/dbus-1/system.d/ -rw-r--r-- root/root etc/dbus-1/system.d/gdm.conf @@ -8,27 +22,22 @@ drwxr-xr-x root/root etc/dconf/db/ drwxr-xr-x root/root etc/dconf/profile/ -rw-r--r-- root/root etc/dconf/profile/gdm drwxr-xr-x root/root etc/gconf/ -drwxr-xr-x root/root etc/gdm/ -drwxr-xr-x root/root etc/gdm/Init/ --rwxr-xr-x root/root etc/gdm/Init/Default -drwxr-xr-x root/root etc/gdm/PostLogin/ --rwxr-xr-x root/root etc/gdm/PostLogin/Default.sample -drwxr-xr-x root/root etc/gdm/PostSession/ --rwxr-xr-x root/root etc/gdm/PostSession/Default -drwxr-xr-x root/root etc/gdm/PreSession/ --rwxr-xr-x root/root etc/gdm/PreSession/Default --rwxr-xr-x root/root etc/gdm/Xsession --rw-r--r-- root/root etc/gdm/custom.conf --rw-r--r-- root/root etc/gdm/custom.conf.orig drwxr-xr-x root/root etc/pam.d/ -rw-r--r-- root/root etc/pam.d/gdm -rw-r--r-- root/root etc/pam.d/gdm-autologin +-rw-r--r-- root/root etc/pam.d/gdm-fingerprint +lrwxrwxrwx root/root etc/pam.d/gdm-password -> gdm +-rw-r--r-- root/root etc/pam.d/gdm-smartcard +-rw-r--r-- root/root etc/pam.d/gdm-welcome drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/gdm-screenshot -rwxr-xr-x root/root usr/bin/gdmflexiserver drwxr-xr-x root/root usr/include/ drwxr-xr-x root/root usr/include/gdm/ +drwxr-xr-x root/root usr/include/gdm/greeter/ +-rw-r--r-- root/root usr/include/gdm/greeter/gdm-greeter-client.h +-rw-r--r-- root/root usr/include/gdm/greeter/gdm-greeter-sessions.h drwxr-xr-x root/root usr/include/gdm/simple-greeter/ -rw-r--r-- root/root usr/include/gdm/simple-greeter/gdm-login-extension.h drwxr-xr-x root/root usr/lib/ @@ -40,13 +49,34 @@ drwxr-xr-x root/root usr/lib/ -rwxr-xr-x root/root usr/lib/gdm-simple-chooser -rwxr-xr-x root/root usr/lib/gdm-simple-greeter -rwxr-xr-x root/root usr/lib/gdm-simple-slave +-rwxr-xr-x root/root usr/lib/gdm-smartcard-worker -rwxr-xr-x root/root usr/lib/gdm-xdmcp-chooser-slave +drwxr-xr-x root/root usr/lib/gdm/ +drwxr-xr-x root/root usr/lib/gdm/simple-greeter/ +drwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/ +-rw-r--r-- root/root usr/lib/gdm/simple-greeter/extensions/libfingerprint.a +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libfingerprint.la +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libfingerprint.so +-rw-r--r-- root/root usr/lib/gdm/simple-greeter/extensions/libpassword.a +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libpassword.la +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libpassword.so +-rw-r--r-- root/root usr/lib/gdm/simple-greeter/extensions/libsmartcard.a +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libsmartcard.la +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libsmartcard.so +drwxr-xr-x root/root usr/lib/girepository-1.0/ +-rw-r--r-- root/root usr/lib/girepository-1.0/GdmGreeter-1.0.typelib +-rw-r--r-- root/root usr/lib/libgdmgreeter.a +-rwxr-xr-x root/root usr/lib/libgdmgreeter.la +lrwxrwxrwx root/root usr/lib/libgdmgreeter.so -> libgdmgreeter.so.1.0.0 +lrwxrwxrwx root/root usr/lib/libgdmgreeter.so.1 -> libgdmgreeter.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libgdmgreeter.so.1.0.0 -rw-r--r-- root/root usr/lib/libgdmsimplegreeter.a -rwxr-xr-x root/root usr/lib/libgdmsimplegreeter.la lrwxrwxrwx root/root usr/lib/libgdmsimplegreeter.so -> libgdmsimplegreeter.so.1.0.0 lrwxrwxrwx root/root usr/lib/libgdmsimplegreeter.so.1 -> libgdmsimplegreeter.so.1.0.0 -rwxr-xr-x root/root usr/lib/libgdmsimplegreeter.so.1.0.0 drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/gdmgreeter.pc -rw-r--r-- root/root usr/lib/pkgconfig/gdmsimplegreeter.pc drwxr-xr-x root/root usr/sbin/ -rwxr-xr-x root/root usr/sbin/gdm @@ -56,41 +86,39 @@ drwxr-xr-x root/root usr/share/gconf/ drwxr-xr-x root/root usr/share/gconf/schemas/ -rw-r--r-- root/root usr/share/gconf/schemas/gdm.schemas drwxr-xr-x root/root usr/share/gdm/ -drwxr-xr-x root/root usr/share/gdm/autostart/ -drwxr-xr-x root/root usr/share/gdm/autostart/LoginWindow/ --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/at-spi-registryd-wrapper.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gdm-simple-greeter.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-mag.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-power-manager.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-session-check-accelerated.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-settings-daemon.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gok.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/metacity.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/orca-screen-reader.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/polkit-gnome-authentication-agent-1.desktop --r--r--r-- root/root usr/share/gdm/defaults.conf -rw-r--r-- root/root usr/share/gdm/gdb-cmd -rw-r--r-- root/root usr/share/gdm/gdm-greeter-login-window.ui -rw-r--r-- root/root usr/share/gdm/gdm.schemas +drwxr-xr-x root/root usr/share/gdm/greeter/ +drwxr-xr-x root/root usr/share/gdm/greeter/applications/ +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gdm-simple-greeter.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gnome-mag.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gnome-shell.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gok.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/mime-dummy-handler.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/mimeapps.list +-rw-r--r-- root/root usr/share/gdm/greeter/applications/orca-screen-reader.desktop -rw-r--r-- root/root usr/share/gdm/locale.alias drwxr-xr-x root/root usr/share/gdm/simple-greeter/ drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/ +drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/fingerprint/ +-rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/fingerprint/page.ui +drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/password/ +-rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/password/page.ui +drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/smartcard/ +-rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/smartcard/page.ui drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/unified/ -rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/unified/page.ui -drwxr-xr-x root/root usr/share/gdm/themes/ --rw-rw-r-- root/root usr/share/gdm/themes/Capture.jpg --rwxr-xr-x root/root usr/share/gdm/themes/GdmGreeterTheme.desktop --rw-r--r-- root/root usr/share/gdm/themes/attapu.xml --rwxr-xr-x root/root usr/share/gdm/themes/bg.png -drwxr-xr-x root/root usr/share/gdm/themes/gtk-2.0/ --rwxr-xr-x root/root usr/share/gdm/themes/gtk-2.0/gtkrc --rw-r--r-- root/root usr/share/gdm/themes/halt.png --rw-rw-r-- root/root usr/share/gdm/themes/main_box.png --rw-r--r-- root/root usr/share/gdm/themes/reboot.png --rw-r--r-- root/root usr/share/gdm/themes/suspend.png +drwxr-xr-x root/root usr/share/gir-1.0/ +-rw-r--r-- root/root usr/share/gir-1.0/GdmGreeter-1.0.gir +drwxr-xr-x root/root usr/share/glib-2.0/ +drwxr-xr-x root/root usr/share/glib-2.0/schemas/ +-rw-r--r-- root/root usr/share/glib-2.0/schemas/org.gnome.display-manager.extensions.fingerprint.gschema.xml +-rw-r--r-- root/root usr/share/glib-2.0/schemas/org.gnome.display-manager.extensions.smartcard.gschema.xml drwxr-xr-x root/root usr/share/gnome-session/ drwxr-xr-x root/root usr/share/gnome-session/sessions/ --rw-r--r-- root/root usr/share/gnome-session/sessions/gdm.session +-rw-r--r-- root/root usr/share/gnome-session/sessions/gdm-fallback.session +-rw-r--r-- root/root usr/share/gnome-session/sessions/gdm-shell.session drwxr-xr-x root/root usr/share/gnome/ drwxr-xr-x root/root usr/share/gnome/help/ drwxr-xr-x root/root usr/share/gnome/help/gdm/ @@ -129,11 +157,17 @@ drwxr-xr-x root/root usr/share/icons/ drwxr-xr-x root/root usr/share/icons/hicolor/ drwxr-xr-x root/root usr/share/icons/hicolor/16x16/ drwxr-xr-x root/root usr/share/icons/hicolor/16x16/apps/ +-rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/gdm-fingerprint.png +-rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/gdm-smartcard.png -rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/gdm-xnest.png drwxr-xr-x root/root usr/share/icons/hicolor/32x32/ drwxr-xr-x root/root usr/share/icons/hicolor/32x32/apps/ -rw-r--r-- root/root usr/share/icons/hicolor/32x32/apps/gdm-setup.png -rw-r--r-- root/root usr/share/icons/hicolor/32x32/apps/gdm-xnest.png +drwxr-xr-x root/root usr/share/icons/hicolor/48x48/ +drwxr-xr-x root/root usr/share/icons/hicolor/48x48/apps/ +-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/gdm-fingerprint.png +-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/gdm-smartcard.png drwxr-xr-x root/root usr/share/locale/ drwxr-xr-x root/root usr/share/locale/fr/ drwxr-xr-x root/root usr/share/locale/fr/LC_MESSAGES/ @@ -176,8 +210,6 @@ drwxr-x--T root/gdm var/lib/gdm/.gconf.mandatory/ drwxr-xr-x root/root var/lib/gdm/.local/ drwxr-xr-x root/root var/lib/gdm/.local/share/ drwxr-xr-x gdm/gdm var/lib/gdm/.local/share/applications/ --rw-r--r-- root/root var/lib/gdm/.local/share/applications/mime-dummy-handler.desktop --rw-r--r-- root/root var/lib/gdm/.local/share/applications/mimeapps.list drwxr-xr-x root/root var/log/ drwxr-xr-x root/root var/log/gdm/ drwxr-xr-x root/root var/run/ diff --git a/gdm/.footprint.x86_64 b/gdm/.footprint.x86_64 index a447d8c..39e976d 100644 --- a/gdm/.footprint.x86_64 +++ b/gdm/.footprint.x86_64 @@ -1,4 +1,18 @@ drwxr-xr-x root/root etc/ +drwxr-xr-x root/root etc/X11/ +drwxr-xr-x root/root etc/X11/dm/ +drwxr-xr-x root/root etc/X11/dm/Sessions/ +drwxr-xr-x root/root etc/X11/gdm/ +drwxr-xr-x root/root etc/X11/gdm/Init/ +-rwxr-xr-x root/root etc/X11/gdm/Init/Default +drwxr-xr-x root/root etc/X11/gdm/PostLogin/ +-rwxr-xr-x root/root etc/X11/gdm/PostLogin/Default.sample +drwxr-xr-x root/root etc/X11/gdm/PostSession/ +-rwxr-xr-x root/root etc/X11/gdm/PostSession/Default +drwxr-xr-x root/root etc/X11/gdm/PreSession/ +-rwxr-xr-x root/root etc/X11/gdm/PreSession/Default +-rwxr-xr-x root/root etc/X11/gdm/Xsession +-rw-r--r-- root/root etc/X11/gdm/custom.conf drwxr-xr-x root/root etc/dbus-1/ drwxr-xr-x root/root etc/dbus-1/system.d/ -rw-r--r-- root/root etc/dbus-1/system.d/gdm.conf @@ -8,27 +22,22 @@ drwxr-xr-x root/root etc/dconf/db/ drwxr-xr-x root/root etc/dconf/profile/ -rw-r--r-- root/root etc/dconf/profile/gdm drwxr-xr-x root/root etc/gconf/ -drwxr-xr-x root/root etc/gdm/ -drwxr-xr-x root/root etc/gdm/Init/ --rwxr-xr-x root/root etc/gdm/Init/Default -drwxr-xr-x root/root etc/gdm/PostLogin/ --rwxr-xr-x root/root etc/gdm/PostLogin/Default.sample -drwxr-xr-x root/root etc/gdm/PostSession/ --rwxr-xr-x root/root etc/gdm/PostSession/Default -drwxr-xr-x root/root etc/gdm/PreSession/ --rwxr-xr-x root/root etc/gdm/PreSession/Default --rwxr-xr-x root/root etc/gdm/Xsession --rw-r--r-- root/root etc/gdm/custom.conf --rw-r--r-- root/root etc/gdm/custom.conf.orig drwxr-xr-x root/root etc/pam.d/ -rw-r--r-- root/root etc/pam.d/gdm -rw-r--r-- root/root etc/pam.d/gdm-autologin +-rw-r--r-- root/root etc/pam.d/gdm-fingerprint +lrwxrwxrwx root/root etc/pam.d/gdm-password -> gdm +-rw-r--r-- root/root etc/pam.d/gdm-smartcard +-rw-r--r-- root/root etc/pam.d/gdm-welcome drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/gdm-screenshot -rwxr-xr-x root/root usr/bin/gdmflexiserver drwxr-xr-x root/root usr/include/ drwxr-xr-x root/root usr/include/gdm/ +drwxr-xr-x root/root usr/include/gdm/greeter/ +-rw-r--r-- root/root usr/include/gdm/greeter/gdm-greeter-client.h +-rw-r--r-- root/root usr/include/gdm/greeter/gdm-greeter-sessions.h drwxr-xr-x root/root usr/include/gdm/simple-greeter/ -rw-r--r-- root/root usr/include/gdm/simple-greeter/gdm-login-extension.h drwxr-xr-x root/root usr/lib/ @@ -40,13 +49,34 @@ drwxr-xr-x root/root usr/lib/ -rwxr-xr-x root/root usr/lib/gdm-simple-chooser -rwxr-xr-x root/root usr/lib/gdm-simple-greeter -rwxr-xr-x root/root usr/lib/gdm-simple-slave +-rwxr-xr-x root/root usr/lib/gdm-smartcard-worker -rwxr-xr-x root/root usr/lib/gdm-xdmcp-chooser-slave +drwxr-xr-x root/root usr/lib/gdm/ +drwxr-xr-x root/root usr/lib/gdm/simple-greeter/ +drwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/ +-rw-r--r-- root/root usr/lib/gdm/simple-greeter/extensions/libfingerprint.a +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libfingerprint.la +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libfingerprint.so +-rw-r--r-- root/root usr/lib/gdm/simple-greeter/extensions/libpassword.a +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libpassword.la +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libpassword.so +-rw-r--r-- root/root usr/lib/gdm/simple-greeter/extensions/libsmartcard.a +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libsmartcard.la +-rwxr-xr-x root/root usr/lib/gdm/simple-greeter/extensions/libsmartcard.so +drwxr-xr-x root/root usr/lib/girepository-1.0/ +-rw-r--r-- root/root usr/lib/girepository-1.0/GdmGreeter-1.0.typelib +-rw-r--r-- root/root usr/lib/libgdmgreeter.a +-rwxr-xr-x root/root usr/lib/libgdmgreeter.la +lrwxrwxrwx root/root usr/lib/libgdmgreeter.so -> libgdmgreeter.so.1.0.0 +lrwxrwxrwx root/root usr/lib/libgdmgreeter.so.1 -> libgdmgreeter.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libgdmgreeter.so.1.0.0 -rw-r--r-- root/root usr/lib/libgdmsimplegreeter.a -rwxr-xr-x root/root usr/lib/libgdmsimplegreeter.la lrwxrwxrwx root/root usr/lib/libgdmsimplegreeter.so -> libgdmsimplegreeter.so.1.0.0 lrwxrwxrwx root/root usr/lib/libgdmsimplegreeter.so.1 -> libgdmsimplegreeter.so.1.0.0 -rwxr-xr-x root/root usr/lib/libgdmsimplegreeter.so.1.0.0 drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/gdmgreeter.pc -rw-r--r-- root/root usr/lib/pkgconfig/gdmsimplegreeter.pc drwxr-xr-x root/root usr/sbin/ -rwxr-xr-x root/root usr/sbin/gdm @@ -56,41 +86,39 @@ drwxr-xr-x root/root usr/share/gconf/ drwxr-xr-x root/root usr/share/gconf/schemas/ -rw-r--r-- root/root usr/share/gconf/schemas/gdm.schemas drwxr-xr-x root/root usr/share/gdm/ -drwxr-xr-x root/root usr/share/gdm/autostart/ -drwxr-xr-x root/root usr/share/gdm/autostart/LoginWindow/ --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/at-spi-registryd-wrapper.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gdm-simple-greeter.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-mag.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-power-manager.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-session-check-accelerated.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gnome-settings-daemon.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/gok.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/metacity.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/orca-screen-reader.desktop --rw-r--r-- root/root usr/share/gdm/autostart/LoginWindow/polkit-gnome-authentication-agent-1.desktop --r--r--r-- root/root usr/share/gdm/defaults.conf -rw-r--r-- root/root usr/share/gdm/gdb-cmd -rw-r--r-- root/root usr/share/gdm/gdm-greeter-login-window.ui -rw-r--r-- root/root usr/share/gdm/gdm.schemas +drwxr-xr-x root/root usr/share/gdm/greeter/ +drwxr-xr-x root/root usr/share/gdm/greeter/applications/ +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gdm-simple-greeter.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gnome-mag.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gnome-shell.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/gok.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/mime-dummy-handler.desktop +-rw-r--r-- root/root usr/share/gdm/greeter/applications/mimeapps.list +-rw-r--r-- root/root usr/share/gdm/greeter/applications/orca-screen-reader.desktop -rw-r--r-- root/root usr/share/gdm/locale.alias drwxr-xr-x root/root usr/share/gdm/simple-greeter/ drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/ +drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/fingerprint/ +-rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/fingerprint/page.ui +drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/password/ +-rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/password/page.ui +drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/smartcard/ +-rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/smartcard/page.ui drwxr-xr-x root/root usr/share/gdm/simple-greeter/extensions/unified/ -rw-r--r-- root/root usr/share/gdm/simple-greeter/extensions/unified/page.ui -drwxr-xr-x root/root usr/share/gdm/themes/ --rw-rw-r-- root/root usr/share/gdm/themes/Capture.jpg --rwxr-xr-x root/root usr/share/gdm/themes/GdmGreeterTheme.desktop --rw-r--r-- root/root usr/share/gdm/themes/attapu.xml --rwxr-xr-x root/root usr/share/gdm/themes/bg.png -drwxr-xr-x root/root usr/share/gdm/themes/gtk-2.0/ --rwxr-xr-x root/root usr/share/gdm/themes/gtk-2.0/gtkrc --rw-r--r-- root/root usr/share/gdm/themes/halt.png --rw-rw-r-- root/root usr/share/gdm/themes/main_box.png --rw-r--r-- root/root usr/share/gdm/themes/reboot.png --rw-r--r-- root/root usr/share/gdm/themes/suspend.png +drwxr-xr-x root/root usr/share/gir-1.0/ +-rw-r--r-- root/root usr/share/gir-1.0/GdmGreeter-1.0.gir +drwxr-xr-x root/root usr/share/glib-2.0/ +drwxr-xr-x root/root usr/share/glib-2.0/schemas/ +-rw-r--r-- root/root usr/share/glib-2.0/schemas/org.gnome.display-manager.extensions.fingerprint.gschema.xml +-rw-r--r-- root/root usr/share/glib-2.0/schemas/org.gnome.display-manager.extensions.smartcard.gschema.xml drwxr-xr-x root/root usr/share/gnome-session/ drwxr-xr-x root/root usr/share/gnome-session/sessions/ --rw-r--r-- root/root usr/share/gnome-session/sessions/gdm.session +-rw-r--r-- root/root usr/share/gnome-session/sessions/gdm-fallback.session +-rw-r--r-- root/root usr/share/gnome-session/sessions/gdm-shell.session drwxr-xr-x root/root usr/share/gnome/ drwxr-xr-x root/root usr/share/gnome/help/ drwxr-xr-x root/root usr/share/gnome/help/gdm/ @@ -129,11 +157,17 @@ drwxr-xr-x root/root usr/share/icons/ drwxr-xr-x root/root usr/share/icons/hicolor/ drwxr-xr-x root/root usr/share/icons/hicolor/16x16/ drwxr-xr-x root/root usr/share/icons/hicolor/16x16/apps/ +-rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/gdm-fingerprint.png +-rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/gdm-smartcard.png -rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/gdm-xnest.png drwxr-xr-x root/root usr/share/icons/hicolor/32x32/ drwxr-xr-x root/root usr/share/icons/hicolor/32x32/apps/ -rw-r--r-- root/root usr/share/icons/hicolor/32x32/apps/gdm-setup.png -rw-r--r-- root/root usr/share/icons/hicolor/32x32/apps/gdm-xnest.png +drwxr-xr-x root/root usr/share/icons/hicolor/48x48/ +drwxr-xr-x root/root usr/share/icons/hicolor/48x48/apps/ +-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/gdm-fingerprint.png +-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/gdm-smartcard.png drwxr-xr-x root/root usr/share/locale/ drwxr-xr-x root/root usr/share/locale/fr/ drwxr-xr-x root/root usr/share/locale/fr/LC_MESSAGES/ @@ -176,8 +210,6 @@ drwxr-x--T root/gdm var/lib/gdm/.gconf.mandatory/ drwxr-xr-x root/root var/lib/gdm/.local/ drwxr-xr-x root/root var/lib/gdm/.local/share/ drwxr-xr-x gdm/gdm var/lib/gdm/.local/share/applications/ --rw-r--r-- root/root var/lib/gdm/.local/share/applications/mime-dummy-handler.desktop --rw-r--r-- root/root var/lib/gdm/.local/share/applications/mimeapps.list drwxr-xr-x root/root var/log/ drwxr-xr-x root/root var/log/gdm/ drwxr-xr-x root/root var/run/ diff --git a/gdm/.md5sum.i686 b/gdm/.md5sum.i686 index 3fdeba3..ef71c85 100644 --- a/gdm/.md5sum.i686 +++ b/gdm/.md5sum.i686 @@ -1,6 +1,4 @@ -e09e2cb801927a7960c08a0ea6a65c21 2.91_fix_external_program_directories.patch -381772c7b73076ade63ea724637e2f1a NuTyXlogo.png -8dd264298087f677053ad98b6fb70c27 defaults.conf -5475b1a747418c8a65639f6f6deebd53 gdm-3.1.2.tar.xz -0d167a3b8d03d77b598c7946e6f629bd gdm-vt-allocation-hack.patch -8fb0f6cbf9990b33ece472a65265604e nutyx-attapu-gdm-2.tar.bz2 +9d9e6bf9fd53140d29bcf2f7b137c25d fix_external_program_paths.patch +7e321d02eda07690feed7e7ad5c5b71b gdm-3.1.90.tar.xz +128858f396f44c50e289611c6806a66f gdm.pam +e5e2643269db8ee342690cc515fd620b vt-allocation-hack.patch diff --git a/gdm/.md5sum.x86_64 b/gdm/.md5sum.x86_64 index 3fdeba3..ef71c85 100644 --- a/gdm/.md5sum.x86_64 +++ b/gdm/.md5sum.x86_64 @@ -1,6 +1,4 @@ -e09e2cb801927a7960c08a0ea6a65c21 2.91_fix_external_program_directories.patch -381772c7b73076ade63ea724637e2f1a NuTyXlogo.png -8dd264298087f677053ad98b6fb70c27 defaults.conf -5475b1a747418c8a65639f6f6deebd53 gdm-3.1.2.tar.xz -0d167a3b8d03d77b598c7946e6f629bd gdm-vt-allocation-hack.patch -8fb0f6cbf9990b33ece472a65265604e nutyx-attapu-gdm-2.tar.bz2 +9d9e6bf9fd53140d29bcf2f7b137c25d fix_external_program_paths.patch +7e321d02eda07690feed7e7ad5c5b71b gdm-3.1.90.tar.xz +128858f396f44c50e289611c6806a66f gdm.pam +e5e2643269db8ee342690cc515fd620b vt-allocation-hack.patch diff --git a/gdm/2.91_fix_external_program_directories.patch b/gdm/2.91_fix_external_program_directories.patch deleted file mode 100644 index 912b5cd..0000000 --- a/gdm/2.91_fix_external_program_directories.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -Nur gdm-2.91.91.orig/daemon/gdm-server.c gdm-2.91.91/daemon/gdm-server.c ---- gdm-2.91.91.orig/daemon/gdm-server.c 2011-02-17 19:27:53.000000000 -0800 -+++ gdm-2.91.91/daemon/gdm-server.c 2011-02-27 16:56:51.283347074 -0800 -@@ -131,7 +131,7 @@ - g_return_val_if_fail (GDM_IS_SERVER (server), NULL); - - error = NULL; -- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s", -+ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s", - server->priv->display_name); - - g_debug ("GdmServer: Running helper %s", command); -diff -Nur gdm-2.91.91.orig/data/greeter-autostart/gnome-settings-daemon.desktop.in.in gdm-2.91.91/data/greeter-autostart/gnome-settings-daemon.desktop.in.in ---- gdm-2.91.91.orig/data/greeter-autostart/gnome-settings-daemon.desktop.in.in 2011-02-17 19:27:53.000000000 -0800 -+++ gdm-2.91.91/data/greeter-autostart/gnome-settings-daemon.desktop.in.in 2011-02-26 08:43:28.700009251 -0800 -@@ -1,8 +1,8 @@ - [Desktop Entry] - Type=Application - _Name=GNOME Settings Daemon --TryExec=@LIBEXECDIR@/gnome-settings-daemon --Exec=@LIBEXECDIR@/gnome-settings-daemon -+TryExec=/usr/bin/gnome-settings-daemon -+Exec=/usr/bin/gnome-settings-daemon - OnlyShowIn=GNOME; - X-GNOME-Autostart-Phase=Initialization - X-GNOME-Autostart-Notify=true -diff -Nur gdm-2.91.91.orig/data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in gdm-2.91.91/data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in ---- gdm-2.91.91.orig/data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in 2011-02-17 19:27:53.000000000 -0800 -+++ gdm-2.91.91/data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in 2011-02-26 08:44:06.810009153 -0800 -@@ -1,5 +1,5 @@ - [Desktop Entry] - Type=Application - _Name=PolicyKit Authentication Agent --Exec=@LIBEXECDIR@/polkit-gnome-authentication-agent-1 -+Exec=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 - OnlyShowIn=GNOME; -diff -Nur gdm-2.91.91.orig/gui/simple-chooser/gdm-chooser-session.c gdm-2.91.91/gui/simple-chooser/gdm-chooser-session.c ---- gdm-2.91.91.orig/gui/simple-chooser/gdm-chooser-session.c 2011-02-17 19:27:53.000000000 -0800 -+++ gdm-2.91.91/gui/simple-chooser/gdm-chooser-session.c 2011-02-26 08:45:01.946675918 -0800 -@@ -131,7 +131,7 @@ - ret = FALSE; - - error = NULL; -- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error); -+ g_spawn_command_line_async ("/usr/bin/gnome-settings-daemon", &error); - if (error != NULL) { - g_warning ("Error starting settings daemon: %s", error->message); - g_error_free (error); diff --git a/gdm/Pkgfile b/gdm/Pkgfile index 885eda3..8df4567 100755 --- a/gdm/Pkgfile +++ b/gdm/Pkgfile @@ -1,65 +1,50 @@ -# Description: Gestionnaire de session GNOME -# URL: http://www.5z.com/jirka/gdm.html +# Description: Le gestionnaire d'affichage de GNOME +# URL: http://projects.gnome.org/gdm/ # Maintainer: NuTyX GNOME team -# Packager: thierryn1 at hispeed dot ch -# Depends on: gnome-session, intltool, gnome-doc-utils, gtk, librsvg, libgnomecanvas, desktop-file-utils, linux-pam, upower, accountsservice, xorg-xrdb, xorg -# Run on: gnome-session,librsvg,libgnomecanvas,desktop-file-utils,linux-pam,upower,accountsservice,xorg-xrdb,xorg +# Packager: piernov +# Depends on: gnome-session, intltool, gnome-doc-utils, gtk, librsvg, libgnomecanvas, desktop-file-utils, linux-pam, upower, accountsservice, xorg-xrdb, xorg, consolekit +# Run on: gnome-session,librsvg,libgnomecanvas,desktop-file-utils,linux-pam,upower,accountsservice,xorg-xrdb,xorg,consolekit name=gdm -version=3.1.2 +version=3.1.90 release=1 source=(http://download.gnome.org/sources/$name/${version%.*}/$name-$version.tar.xz \ - http://nutyx.meticul.eu/files/patchs/$name/nutyx-attapu-gdm-2.tar.bz2 \ - http://nutyx.meticul.eu/files/patchs/$name/{NuTyXlogo.png,defaults.conf} - 2.91_fix_external_program_directories.patch - gdm-vt-allocation-hack.patch) + fix_external_program_paths.patch + vt-allocation-hack.patch + gdm.pam) build() { - cd $name-$version - patch -Np1 -i ../2.91_fix_external_program_directories.patch - patch -Np1 -i ../gdm-vt-allocation-hack.patch + cd $name-$version + patch -Np1 -i ../fix_external_program_paths.patch + patch -Np1 -i ../vt-allocation-hack.patch ./configure --prefix=/usr \ - --localstatedir=/var\ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-sysconfsubdir=X11/gdm \ + --with-pam-prefix=/etc \ --with-dmconfdir=/etc/X11/dm \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ --with-at-spi-registryd-directory=/usr/lib/at-spi \ - --enable-console-helper=no \ - --enable-ipv6=yes \ - --with-xdmcp=yes \ - --disable-scrollkeeper \ - --with-xevie=yes \ - --with-pam-prefix=/etc - make + --enable-ipv6=yes \ + --disable-scrollkeeper \ + --with-console-kit=yes \ + --with-xdmcp=yes \ + --with-xevie=yes + make + + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 PAM_PREFIX=/etc DESTDIR=$PKG install - make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=$PKG install install -m755 -d $PKG/usr/share/gconf/schemas gconf-merge-schema $PKG/usr/share/gconf/schemas/$name.schemas --domain gdm $PKG/etc/gconf/schemas/*.schemas rm -r $PKG/etc/gconf/schemas/ - install -v -m755 -d $PKG/var/log/gdm - sed -i.orig "/\[daemon\]/ a LogDir=/var/log/gdm" \ - $PKG/etc/gdm/custom.conf -cat > $PKG/etc/pam.d/gdm << "EOF" -auth required pam_unix.so -auth requisite pam_nologin.so -account required pam_unix.so -password required pam_unix.so -session required pam_unix.so + rm -f $PKG/etc/X11/PreSession/Default + rm -f $PKG/etc/X11/PostSession/Default -EOF -cat > $PKG/etc/pam.d/gdm-autologin << "EOF" -auth required pam_env.so -auth requisite pam_nologin.so -auth required pam_permit.so -account required pam_unix.so -password required pam_unix.so -session required pam_unix.so + mkdir -p $PKG/etc/X11/dm/Sessions + install -v -m755 -d $PKG/var/log/gdm -EOF - install -D -m644 ../NuTyXlogo.png $PKG/usr/share/pixmaps/gdm-foot-logo.png - install -D -m444 ../defaults.conf $PKG/usr/share/gdm/defaults.conf - cp -a $SRC/nutyx-attapu $PKG/usr/share/gdm/themes/ - chown -R root:root $PKG/usr/share/gdm/themes/ + cp -f ../gdm.pam $PKG/etc/pam.d/gdm + rm -f $PKG/etc/pam.d/gdm-password + ln -s gdm $PKG/etc/pam.d/gdm-password } - diff --git a/gdm/fix_external_program_paths.patch b/gdm/fix_external_program_paths.patch new file mode 100644 index 0000000..143e03a --- /dev/null +++ b/gdm/fix_external_program_paths.patch @@ -0,0 +1,24 @@ +diff -Nur gdm-2.91.91.orig/daemon/gdm-server.c gdm-2.91.91/daemon/gdm-server.c +--- gdm-2.91.91.orig/daemon/gdm-server.c 2011-02-17 19:27:53.000000000 -0800 ++++ gdm-2.91.91/daemon/gdm-server.c 2011-02-27 16:56:51.283347074 -0800 +@@ -131,7 +131,7 @@ + g_return_val_if_fail (GDM_IS_SERVER (server), NULL); + + error = NULL; +- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s", ++ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s", + server->priv->display_name); + + g_debug ("GdmServer: Running helper %s", command); +diff -Nur gdm-2.91.91.orig/gui/simple-chooser/gdm-chooser-session.c gdm-2.91.91/gui/simple-chooser/gdm-chooser-session.c +--- gdm-2.91.91.orig/gui/simple-chooser/gdm-chooser-session.c 2011-02-17 19:27:53.000000000 -0800 ++++ gdm-2.91.91/gui/simple-chooser/gdm-chooser-session.c 2011-02-26 08:45:01.946675918 -0800 +@@ -131,7 +131,7 @@ + ret = FALSE; + + error = NULL; +- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error); ++ g_spawn_command_line_async ("/usr/bin/gnome-settings-daemon", &error); + if (error != NULL) { + g_warning ("Error starting settings daemon: %s", error->message); + g_error_free (error); diff --git a/gdm/gdm-vt-allocation-hack.patch b/gdm/gdm-vt-allocation-hack.patch deleted file mode 100644 index 56fa5a1..0000000 --- a/gdm/gdm-vt-allocation-hack.patch +++ /dev/null @@ -1,118 +0,0 @@ -diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c -index 39def47..03488fd 100644 ---- a/daemon/gdm-server.c -+++ b/daemon/gdm-server.c -@@ -33,6 +33,8 @@ - #include - #include - #include -+#include -+#include - - #include - #include -@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server) - return out; - } - -+#ifndef O_NOCTTY -+# define O_NOCTTY 0 -+#endif -+ -+static int -+open_vt (int vtno) -+{ -+ char *vtname; -+ int fd; -+ -+ vtname = g_strdup_printf ("/dev/tty%d", vtno); -+ -+ do { -+ errno = 0; -+ fd = open (vtname, O_RDWR | O_NOCTTY, 0); -+ } while (errno == EINTR); -+ -+ g_free (vtname); -+ return fd; -+} -+ -+static gint -+find_first_probably_free_vt (void) -+{ -+ int fd, fdv; -+ int vtno; -+ unsigned short vtmask; -+ struct vt_stat vtstat; -+ guint v_state; -+ -+ fdv = -1; -+ -+ do { -+ errno = 0; -+ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0); -+ } while (errno == EINTR); -+ -+ if (fd >= 0) { -+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) { -+ v_state = vtstat.v_state; -+ } else { -+ close (fd); -+ v_state = 0; -+ fd = -1; -+ } -+ } else { -+ v_state = 0; -+ } -+ -+ if (fd < 0) { -+ do { -+ errno = 0; -+ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0); -+ } while (errno == EINTR); -+ -+ if (fd >= 0) { -+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) -+ v_state = vtstat.v_state; -+ } -+ } -+ -+ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) { -+ /* Is this console in use? */ -+ if (v_state & vtmask) -+ continue; -+ -+ /* No, try to open it */ -+ fdv = open_vt (vtno); -+ if (fdv >= 0) -+ break; -+ -+ /* If we're here, kernel indicated that the console was free, -+ * but we failed to open it. Just go on to higher VTs. */ -+ } -+ -+ if (fdv >= 0) -+ close (fdv); -+ else -+ vtno = -1; -+ -+ if (fd >= 0) -+ close (fd); -+ -+ return vtno; -+} -+ - char * - gdm_server_get_display_device (GdmServer *server) - { -@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server, - - if (vtarg != NULL && ! gotvtarg) { - argv[len++] = g_strdup (vtarg); -+ } else if (!query_in_arglist && !gotvtarg) { -+ gint vtnum = find_first_probably_free_vt (); -+ -+ if (vtnum > 0) -+ argv [len++] = g_strdup_printf ("vt%d", vtnum); - } - - argv[len++] = NULL; diff --git a/gdm/gdm.pam b/gdm/gdm.pam new file mode 100644 index 0000000..d31f078 --- /dev/null +++ b/gdm/gdm.pam @@ -0,0 +1,14 @@ +#%PAM-1.0 +auth required pam_env.so +auth required pam_succeed_if.so user != root quiet +auth sufficient pam_succeed_if.so user ingroup nopasswdlogin +auth substack system-auth +auth optional pam_gnome_keyring.so +account required pam_nologin.so +account include system-auth +password include system-auth +session optional pam_keyinit.so force revoke +session required pam_loginuid.so +session optional pam_gnome_keyring.so auto_start +session include system-auth +session optional pam_console.so diff --git a/gdm/post-install b/gdm/post-install index 66c0fb8..a78c64d 100755 --- a/gdm/post-install +++ b/gdm/post-install @@ -2,14 +2,28 @@ port=gdm +# corrige le répertoire de gdm +sed "s|gdm:x:21:21:GDM Daemon User:/dev/null:/sbin/nologin|gdm:x:21:21:GDM Daemon User:/var/gdm:/sbin/nologin|" -i /etc/passwd + +# gconf schemas +gconfpkg --install $port + +# glib schemas +/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas + +# scrolls +SCROLLS="`pkginfo -l $port | grep usr/share/omf/.*\.omf$`" + +for SCROLL in $SCROLLS +do + scrollkeeper-install -q -p /var/lib/scrollkeeper /$SCROLL > /dev/null +done + # desktop database -update-desktop-database > /dev/null +update-desktop-database -q # icon cache gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor -# gconf schemas -gconfpkg --install $port - # End of file diff --git a/gdm/pre-install b/gdm/pre-install index ad04647..4555481 100755 --- a/gdm/pre-install +++ b/gdm/pre-install @@ -2,12 +2,12 @@ if [ -z "`grep '^gdm:' /etc/group`" ] then - /usr/sbin/groupadd -g 42 gdm + /usr/sbin/groupadd -g 21 gdm fi if [ -z "`grep '^gdm:' /etc/passwd`" ] then - /usr/sbin/useradd -u 42 -g gdm -d /var/gdm -s /bin/false gdm + /usr/sbin/useradd -u 21 -g gdm -d /var/gdm -s /bin/false gdm /bin/passwd -l gdm fi diff --git a/gdm/vt-allocation-hack.patch b/gdm/vt-allocation-hack.patch new file mode 100644 index 0000000..be0bcd2 --- /dev/null +++ b/gdm/vt-allocation-hack.patch @@ -0,0 +1,118 @@ +diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c +index 39def47..03488fd 100644 +--- a/daemon/gdm-server.c ++++ b/daemon/gdm-server.c +@@ -33,6 +33,8 @@ + #include + #include + #include ++#include ++#include + + #ifdef HAVE_SYS_PRCTL_H + #include +@@ -154,6 +158,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server) + return out; + } + ++#ifndef O_NOCTTY ++# define O_NOCTTY 0 ++#endif ++ ++static int ++open_vt (int vtno) ++{ ++ char *vtname; ++ int fd; ++ ++ vtname = g_strdup_printf ("/dev/tty%d", vtno); ++ ++ do { ++ errno = 0; ++ fd = open (vtname, O_RDWR | O_NOCTTY, 0); ++ } while (errno == EINTR); ++ ++ g_free (vtname); ++ return fd; ++} ++ ++static gint ++find_first_probably_free_vt (void) ++{ ++ int fd, fdv; ++ int vtno; ++ unsigned short vtmask; ++ struct vt_stat vtstat; ++ guint v_state; ++ ++ fdv = -1; ++ ++ do { ++ errno = 0; ++ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0); ++ } while (errno == EINTR); ++ ++ if (fd >= 0) { ++ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) { ++ v_state = vtstat.v_state; ++ } else { ++ close (fd); ++ v_state = 0; ++ fd = -1; ++ } ++ } else { ++ v_state = 0; ++ } ++ ++ if (fd < 0) { ++ do { ++ errno = 0; ++ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0); ++ } while (errno == EINTR); ++ ++ if (fd >= 0) { ++ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) ++ v_state = vtstat.v_state; ++ } ++ } ++ ++ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) { ++ /* Is this console in use? */ ++ if (v_state & vtmask) ++ continue; ++ ++ /* No, try to open it */ ++ fdv = open_vt (vtno); ++ if (fdv >= 0) ++ break; ++ ++ /* If we're here, kernel indicated that the console was free, ++ * but we failed to open it. Just go on to higher VTs. */ ++ } ++ ++ if (fdv >= 0) ++ close (fdv); ++ else ++ vtno = -1; ++ ++ if (fd >= 0) ++ close (fd); ++ ++ return vtno; ++} ++ + char * + gdm_server_get_display_device (GdmServer *server) + { +@@ -314,6 +402,11 @@ gdm_server_resolve_command_line (GdmServer *server, + + if (vtarg != NULL && ! gotvtarg) { + argv[len++] = g_strdup (vtarg); ++ } else if (!query_in_arglist && !gotvtarg) { ++ gint vtnum = find_first_probably_free_vt (); ++ ++ if (vtnum > 0) ++ argv [len++] = g_strdup_printf ("vt%d", vtnum); + } + + argv[len++] = NULL; -- cgit v1.2.3-70-g09d2