Bug#635443: gdm3.init may not require network-manager to be started

Mathieu Parent math.parent at gmail.com
Mon Jul 25 21:16:54 UTC 2011


Package: gdm3
Version: 3.0.4-2
Severity: wishlist
Tags: patch

The gdm3's init script has a should-start directive on network-manager.

It seems to me that network-manager (nm) is not needed for gdm to work. Also,
the nm applet automaticaly shows when nm is started.

The attached fix gains about 1 second of boot.



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (150, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.39-2-686-pae (SMP w/1 CPU core)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gdm3 depends on:
ii  accountsservice             0.6.12-5     query and manipulate user account 
ii  adduser                     3.113        add and remove users and groups
ii  dconf-gsettings-backend     0.7.5-3      simple configuration storage syste
ii  debconf [debconf-2.0]       1.5.40       Debian configuration management sy
ii  gconf2                      2.32.4-1     GNOME configuration database syste
ii  gnome-session [x-session-ma 3.0.2-1      GNOME Session Manager - GNOME 3 se
ii  gnome-session-bin           3.0.2-1      GNOME Session Manager - Minimal ru
ii  gnome-session-fallback [x-s 3.0.2-1      GNOME Session Manager - GNOME fall
ii  gnome-terminal [x-terminal- 3.0.1-1      GNOME terminal emulator applicatio
ii  gsettings-desktop-schemas   3.0.1-1      GSettings deskop-wide schemas
ii  libaccountsservice0         0.6.12-5     query and manipulate user account 
ii  libatk1.0-0                 2.0.1-2      ATK accessibility toolkit
ii  libattr1                    1:2.4.46-3   Extended attribute shared library
ii  libaudit0                   1.7.13-1.2   Dynamic library for security audit
ii  libc6                       2.13-10      Embedded GNU C Library: Shared lib
ii  libcairo-gobject2           1.10.2-6     The Cairo 2D vector graphics libra
ii  libcairo2                   1.10.2-6     The Cairo 2D vector graphics libra
ii  libcanberra-gtk3-0          0.28-1       Gtk+ 3.0 helper for playing widget
ii  libcanberra0                0.28-1       a simple abstract interface for pl
ii  libdbus-1-3                 1.4.12-4     simple interprocess messaging syst
ii  libdbus-glib-1-2            0.94-4       simple interprocess messaging syst
ii  libfontconfig1              2.8.0-3      generic font configuration library
ii  libfreetype6                2.4.4-2      FreeType 2 font engine, shared lib
ii  libgconf2-4                 2.32.4-1     GNOME configuration database syste
ii  libgdk-pixbuf2.0-0          2.23.5-1     GDK Pixbuf library
ii  libglib2.0-0                2.28.6-2     GLib library of C routines
ii  libglib2.0-bin              2.28.6-2     Programs for the GLib library
ii  libgtk-3-0                  3.0.10-1     GTK+ graphical user interface libr
ii  libpam-modules              1.1.3-2      Pluggable Authentication Modules f
ii  libpam-runtime              1.1.3-2      Runtime support for the PAM librar
ii  libpam0g                    1.1.3-2      Pluggable Authentication Modules l
ii  libpango1.0-0               1.28.4-1     Layout and rendering of internatio
ii  librsvg2-common             2.34.0-1     SAX-based renderer library for SVG
ii  libselinux1                 2.0.98-1.1   SELinux runtime shared libraries
ii  libupower-glib1             0.9.12-1     abstraction for power management -
ii  libwrap0                    7.6.q-21     Wietse Venema's TCP wrappers libra
ii  libx11-6                    2:1.4.3-2    X11 client-side library
ii  libxau6                     1:1.0.6-3    X11 authorisation library
ii  libxdmcp6                   1:1.1.0-3    X11 Display Manager Control Protoc
ii  libxklavier16               5.1-1        X Keyboard Extension high-level AP
ii  libxml2                     2.7.8.dfsg-3 GNOME XML library
ii  libxrandr2                  2:1.3.2-2    X11 RandR extension library
ii  lsb-base                    3.2-27       Linux Standard Base 3.2 init scrip
ii  metacity [x-window-manager] 1:2.30.1-3   lightweight GTK+ window manager
ii  policykit-1-gnome           0.101-2      GNOME authentication agent for Pol
ii  twm [x-window-manager]      1:1.0.6-1    Tab window manager
ii  upower                      0.9.12-1     abstraction for power management
ii  xterm [x-terminal-emulator] 270-1        X terminal emulator

Versions of packages gdm3 recommends:
ii  at-spi                        1.30.1-3   Assistive Technology Service Provi
ii  desktop-base                  6.0.6      common files for the Debian Deskto
ii  gnome-icon-theme              3.0.0-4    GNOME Desktop icon theme
ii  gnome-power-manager           3.0.2-1    power management tool for the GNOM
ii  gnome-settings-daemon         3.0.2-1    daemon handling the GNOME session 
ii  x11-xkb-utils                 7.6+4      X11 XKB utilities
pn  xserver-xephyr                <none>     (no description available)
ii  xserver-xorg                  1:7.6+7    X.Org X server
ii  zenity                        2.30.0-1   Display graphical dialog boxes fro

Versions of packages gdm3 suggests:
ii  gnome-mag                     1:0.16.1-2 a screen magnifier for the GNOME d
ii  gnome-orca                    2.91.6-1   Scriptable screen reader
ii  gok                           2.30.0-1   GNOME Onscreen Keyboard
ii  libpam-gnome-keyring          3.0.3-2    PAM module to unlock the GNOME key
ii  metacity                      1:2.30.1-3 lightweight GTK+ window manager

-- Configuration Files:
/etc/init.d/gdm3 changed:
set -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/gdm3
test -x $DAEMON || exit 0
if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi
. /lib/lsb/init-functions
HEED_DEFAULT_DISPLAY_MANAGER=true
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
gen_config() {
  # GConf part is generated with update-gconf-defaults
  if [ -d /var/lib/gdm3/.gconf.mandatory ]; then
    update-gconf-defaults \
	--source=/usr/share/gdm/greeter-config \
	--destination=/var/lib/gdm3/.gconf.mandatory \
	--no-signal \
	--only-if-changed
  fi
  if [ -f /var/lib/gdm3/.gconf.mandatory/%gconf-tree.xml ]; then
    chown Debian-gdm:Debian-gdm /var/lib/gdm3/.gconf.mandatory/%gconf-tree.xml
  fi
  # GSettings part is generated with glib-compile-schemas
  if [ -d /var/lib/gdm3 ]; then
    needed=no
    if [ -f /var/lib/gdm3/gschemas.compiled ]; then
      for f in /usr/share/glib-2.0/schemas/gschemas.compiled /usr/share/gdm/greeter-settings /usr/share/gdm/greeter-settings/*.gschema.override; do
        if [ "$f" -nt /var/lib/gdm3/gschemas.compiled ]; then
          needed=yes
          break
        fi
      done
    else
      needed=yes
    fi
    if [ "$needed" = yes ]; then
      tmpdir=$(mktemp -d --tmpdir gdm-XXXXXX)
      ln -s /usr/share/glib-2.0/schemas/*.xml /usr/share/glib-2.0/schemas/*.override /usr/share/gdm/greeter-settings/*.override $tmpdir/
      glib-compile-schemas --targetdir=/var/lib/gdm3 $tmpdir
      rm -rf $tmpdir
    fi
  fi
}
case "$1" in
  start)
        CONFIGURED_DAEMON=$(basename "$(cat $DEFAULT_DISPLAY_MANAGER_FILE 2> /dev/null)")
        if grep -wqs text /proc/cmdline; then
            log_warning_msg "Not starting GNOME Display Manager; found 'text' in kernel commandline."
        elif [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ] && \
           [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] && \
           [ "$CONFIGURED_DAEMON" != gdm3 ] ; then
                log_action_msg "Not starting GNOME Display Manager; it is not the default display manager"
        else
                log_daemon_msg "Starting GNOME Display Manager" "gdm3"
                gen_config
                start-stop-daemon --start --quiet --pidfile /var/run/gdm3.pid \
			--background --exec $DAEMON || log_end_msg 1
                log_end_msg 0
        fi
  ;;
  stop)
        log_daemon_msg "Stopping GNOME Display Manager" "gdm3"
        set +e
        start-stop-daemon --stop --quiet --pidfile /var/run/gdm3.pid \
                --name gdm3 --retry 5
        set -e
        log_end_msg $?
  ;;
  reload)
        log_daemon_msg "Scheduling reload of GNOME Display Manager configuration" "gdm3"
        set +e
        gen_config
        start-stop-daemon --stop --signal USR1 --quiet --pidfile \
                /var/run/gdm3.pid --name gdm3
        start-stop-daemon --stop --signal HUP --quiet --name gconfd-2 \
                --user Debian-gdm --oknodo
        set -e
        log_end_msg $?
  ;;
  status)
        status_of_proc -p "$PIDFILE" "$DAEMON" gdm3 && exit 0 || exit $?
  ;;
  restart|force-reload)
        $0 stop
        $0 start
  ;;
  *)
        echo "Usage: /etc/init.d/gdm3 {start|stop|restart|reload|force-reload|status}"
        exit 1
  ;;
esac
exit 0


-- debconf information:
* shared/default-x-display-manager: gdm3
  gdm3/daemon_name: /usr/sbin/gdm3
-------------- next part --------------
--- /etc/init.d/gdm3.old	2011-07-25 22:04:44.000000000 +0200
+++ /etc/init.d/gdm3	2011-07-25 22:04:59.000000000 +0200
@@ -1,7 +1,7 @@
 #! /bin/sh
 ### BEGIN INIT INFO
 # Provides:          gdm3
-# Should-Start:      console-screen dbus network-manager
+# Should-Start:      console-screen dbus
 # Required-Start:    $local_fs $remote_fs
 # Required-Stop:     $local_fs $remote_fs
 # Default-Start:     2 3 4 5


More information about the pkg-gnome-maintainers mailing list