[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#471233: marked as done (discover1: obsolete initscript blocks insserv)



Your message dated Sun, 10 Aug 2008 09:55:38 +0200
with message-id <2flhc9ti9s5.fsf@klodrik.uio.no>
and subject line Re: discover1: obsolete initscript blocks insserv
has caused the Debian Bug report #471233,
regarding discover1: obsolete initscript blocks insserv
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
471233: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471233
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: discover1
Version: 1.7.22
Severity: normal
Usertags: obsolete-initscript

*** Please type your report below this line ***

Hi,

------------------------------------------------------------
# sudo dpkg-reconfigure insserv
info: Checking if it is safe to convert to dependency based boot.
error: Obsolete conffile /etc/init.d/discover left behind by package discover1
info: Please check out this manually.
info: Refusing to convert boot sequence until this is fixed
info: See http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
info: for more information on how to solve these issues.  Most likely,
info: it is a bug in the binary package with the init.d script in
info: question, and not with insserv.
error: Unable to enable dependency based boot system.
------------------------------------------------------------

And here's the obsolete script:

------------------------------------------------------------
# dpkg-query -W -f='${Conffiles}\n' discover1
 /etc/discover.conf 909aa5c740bbf1fa23d88be8d175e049
 /etc/discover.conf-2.6 c486ab1e23b205b82006311ef34ba73d
 /etc/init.d/discover fac8bbcb8d1d0c1f8dbd189e7687aba9 obsolete
# md5sum /etc/init.d/discover
fac8bbcb8d1d0c1f8dbd189e7687aba9  /etc/init.d/discover
------------------------------------------------------------

The contents of /etc/init.d/discover:

------------------------------------------------------------
#!/bin/sh
### BEGIN INIT INFO
# Provides:          discover
# Required-Start:    mountdevsubfs checkroot $local_fs
# Required-Stop: 
# Default-Start:     S
# Default-Stop:
### END INIT INFO

set -e

test -x /sbin/discover || exit 0

# Only work with discover version 1, not with version 2
case "`/sbin/discover --version`" in
   "discover version 1"*)
      break
      ;;
   *)
      exit 0
      ;;
esac

# file that determines the discover program's default behavior
CONFFILE=/etc/discover.conf

# list of modules for which to skip loading attempts
SKIPFILE=/etc/discover-autoskip.conf

# file that controls this init script's management of device symlinks
INITFILE=/etc/default/discover

# module we're loading, if it crashes then we know the culprit and can skip it
CRASHFILE=/lib/discover/crash

# cache, used more than once
KVERS=$(uname -r)

case "$1" in
    start|restart) ;;
    stop|reload|force-reload) exit 0 ;;
    *) echo "Usage: $0 {start|restart}"; exit 1 ;;
esac

# Load init script parameters.
if [ -r $INITFILE ]; then
    . $INITFILE
fi

if [ -f /lib/lsb/init-functions ]; then
  . /lib/lsb/init-functions
else
  log_begin_msg()   { echo "$@"; }
  log_success_msg() { echo "$@"; }
  log_warning_msg() { echo "$@"; }
fi
. /etc/default/rcS

discover_uniq() {
  local result=""

  while read module; do
    if ! ( echo "$result" | grep -q "$module " ); then
      result="$result $module "
    fi
  done

  echo "$result"
}

if [ -f $CRASHFILE ]
then
    # The system crashed trying to load a module during the last boot
    # cycle, so add an appropriate "skip" line to the skip file:
    echo "skip $(<$CRASHFILE)" >> $SKIPFILE
    rm -f $CRASHFILE
    sync
fi

read_configuration()
{
    filename="$1"

    if [ ! -f "$1" ]; then return; fi
    
    while read action arg argb; do
        case "$action" in
            enable | disable) DISCOVER_ARGS="$DISCOVER_ARGS --$action=$arg" ;;
            skip) SKIPLIST="$SKIPLIST $arg"
            ;;
            boot) TYPES="$TYPES $(echo $arg | sed 's/,/ /g')" ;;
            map)
                under=$(echo $arg | sed 's/-/_/g')
                case "$KVERS" in 
                    2.6.* | 2.5.*) argb=$(echo $argb | sed 's/-/_/g') ;;
                esac
                eval "map_$under=$argb"
            ;;
        esac
    done < "$filename"
}

read_configuration "$CONFFILE"

case "$KVERS" in
    2.6.* | 2.5.*) read_configuration "$CONFFILE-2.6" ;;
esac

read_configuration "$SKIPFILE"

SKIPFILE_DIR="/etc/discover.d"
if [ -d "$SKIPFILE_DIR" ]; then
    for part in $(run-parts --list "$SKIPFILE_DIR" 2>/dev/null || true); do
        read_configuration "$part"
    done

    case "$KVERS" in
        2.6.* | 2.5.*)
            if [ -d "$SKIPFILE_DIR/2.6" ]; then
                for part in $(run-parts --list "$SKIPFILE_DIR/2.6" 2>/dev/null || true); do
                    read_configuration "$part"
                done
            fi
        ;;
    esac
fi

# Detect hardware:
log_begin_msg "Detecting hardware..."
MODULES=$(discover $DISCOVER_ARGS --module $TYPES | discover_uniq)
# Get rid of ide-scsi for kernels that don't need it. This is a horrible hack,
# but since we're retiring this version anyway I don't care
case "$KVERS" in
    2.[0-4].*) true;;
    *) MODULES=$(echo $MODULES | sed -e 's/ide-scsi //' -e 's/-/_/g');;
esac

if [ "$VERBOSE" != no ]; then
    log_success_msg "Discovered hardware for these modules: $MODULES"
fi

skip()
{
    echo "$SKIPLIST" | grep -wq -e "$1"
}
            
get_aliases_regexp() {
  searchmod="$(echo $1 | sed -e 's#\(-\|_\)#(-|_)#g')"
  search=""
  
  if [ -e "/etc/modprobe.conf" ]; then search="$search /etc/modprobe.conf"; fi
  if [ -e "/etc/modules.conf" ]; then search="$search /etc/modules.conf"; fi

  if [ -n "$search" ]; then
    grep -h '^alias' $search | ( while read dummy alias module; do
      if [ "$dummy" = alias ]; then
        if [ "$1" = "$alias" ]; then
          echo -n "|$module"
        elif [ "$1" = "$module" ]; then
          echo -n "|$alias"
        fi
      fi
    done ) | sed 's/*/\\*/g' | # Quote regex chars
    ( case "$KVERS" in 
        2.6.* | 2.5.*) sed 's/-/_/g' ;;
        *) cat ;;
      esac
    )
  fi
}

# Determine if the module is already loaded
is_loaded() {
    module="$1"
    aliases="$(get_aliases_regexp $1)"
    # No cut(1) without /usr
    sed 's/ .*$//' /proc/modules | grep -qE "^(${module}${aliases})\$"
}

# Load the appropriate modules:
for MODULE in $MODULES
do
    # See if we should skip $MODULE:
    if [ "$MODULE" = ignore ] || [ "$MODULE" = unknown ]
    then
        continue
    fi

    over=$(echo $MODULE | sed 's/-/_/g')
    MAPPED=$(eval "echo \$map_$over")
    if [ -n "$MAPPED" ]; then
        MODULE=$MAPPED
    fi
    
    if skip $MODULE
    then
        if [ "$VERBOSE" != no ]; then
            log_warning_msg "$MODULE disabled in configuration."
        fi
        continue
    fi
    
    case "$MODULE" in
      Server:*)
        continue
      ;;
    esac

    if is_loaded "$MODULE" ; then
        if [ "$VERBOSE" != no ]; then
            log_warning_msg "Skipping already loaded module $MODULE."
        fi
        continue
    fi

    if ! (modprobe -n ${MODULE}) > /dev/null 2>&1
    then
        if [ "$VERBOSE" != no ]; then
            log_warning_msg "Skipping unavailable/built-in $MODULE module."
        fi
        continue
    fi

    if [ "$VERBOSE" != no ]; then
	log_success_msg "Loading $MODULE module..."
    fi

    # Note the module being loaded in $CRASHFILE. If loading
    # the module crashes the machine, this file will exist at the next
    # boot, and we'll add an appropriate "skip" line to the conffile so we
    # don't try to load it again.
    echo $MODULE > $CRASHFILE
    sync

    # '|| true' make sure we start up, even if one module fails to load.
    modprobe $MODULE || true

    # The module loaded without incident, so we can safely remove the crash
    # file.
    rm -f $CRASHFILE
    sync
done

# vim:ai:et:sts=4:sw=4:tw=0:
------------------------------------------------------------

	Sami


-- Package-specific info:
lspci:
00:00.0 Host bridge [0600]: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub [8086:2a00] (rev 0c)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller [8086:2a02] (rev 0c)
00:02.1 Display controller [0380]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller [8086:2a03] (rev 0c)
00:19.0 Ethernet controller [0200]: Intel Corporation 82562GT 10/100 Network Connection [8086:10c4] (rev 03)
00:1a.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 [8086:2834] (rev 03)
00:1a.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 [8086:283a] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 [8086:283f] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 [8086:2841] (rev 03)
00:1c.4 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 [8086:2847] (rev 03)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 [8086:2830] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 [8086:2831] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 [8086:2832] (rev 03)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 [8086:2836] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev f3)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller [8086:2815] (rev 03)
00:1f.1 IDE interface [0101]: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller [8086:2850] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller [8086:2829] (rev 03)
10:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4222] (rev 02)

lsusb:

discover:
:::Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub
:::Intel Corporation 82801H (ICH8 Family) PCI Express Port 1
:::Intel Corporation 82801H (ICH8 Family) PCI Express Port 2
:::Intel Corporation 82801H (ICH8 Family) PCI Express Port 5
i810_rng:::Intel Corporation 82801 Mobile PCI Bridge
:::Intel Corporation 82801HEM (ICH8M) LPC Interface Controller
:::MATSHITA DVD-RAM UJ-861H
e1000:::Intel Corporation 82562GT 10/100 Network Connection
:::Intel Corporation PRO/Wireless 3945ABG Network Connection
:::Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller
:::Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4
:::Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2
:::Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1
:::Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2
:::Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3
:::Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1
:XFree86:intel:Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller
:unknown:unknown:Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller
:::ATA FUJITSU MHY2120B

discover (video):
Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller	XFree86	intel
Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller	unknown	unknown

loaded modules:
8086:2a00 intel_agp
8086:10c4 e1000
8086:2834 uhci_hcd
8086:283a ehci_hcd
8086:284b snd_hda_intel
8086:2830 uhci_hcd
8086:2831 uhci_hcd
8086:2832 uhci_hcd
8086:2836 ehci_hcd
8086:2850 ata_piix
8086:2829 ahci
8086:4222 iwl3945


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24.2
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages discover1 depends on:
ii  discover1-data              2.2008.01.12 Data lists for Discover hardware d
ii  libc6                       2.7-9        GNU C Library: Shared libraries
ii  libdiscover1                1.7.22       hardware identification library

discover1 recommends no packages.

-- no debconf information

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Version: 2.1.2-3

I believe this issue was fixed with the upload of discover version
2.1.2-3, migrating all discover1 users to use discover, and removing
the old init.d scripts in the process.

Happy hacking,
-- 
Petter Reinholdtsen


--- End Message ---

Reply to: