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

Re: dpkg error (while performing dist-upgrade)



On Wed, Jun 11, 2003 at 06:58:00PM +0300, Tero Laitinen wrote:
> I tried to upgrade my Debian distribution but following happened during the 
> configuration process. I was instructed to e-mail the error report here.
> 
> -------------------------------
> ...
> ...
> Setting up xbase-clients (4.2.1-3) ...
> ERROR: /usr/X11R6/lib/X11/xinit symbolic link does not exist.  Either the 
> package didn't ship the symbolic link (a bug in the package), or dpkg failed 
> to 
> unpack it to the filesystem (a bug in dpkg).
> Please report the package name, version, and the text of the above error 
> message(s) to <debian-x@lists.debian.org>.
> dpkg: error processing xbase-clients (--configure):
>  subprocess post-installation script returned error exit status 1
> 
> -------------------------------
> 
> So, could you tell me if the package is broken or is it just my system that 
> is causing problems? Thanks in advance.

Sure, run the following shell script with an argument of
"/usr/X11R6/lib/X11/xinit".

#!/bin/sh

message () {
  # pretty-print messages of arbitrary length
  echo "$*" | fold -s -w ${COLUMNS:-80} >&2;
}

message "Searching for overlapping packages..."
DPKG_INFO_DIR=/var/lib/dpkg/info
if [ -d $DPKG_INFO_DIR ]; then
  if [ "$(echo $DPKG_INFO_DIR/*.list)" != "$DPKG_INFO_DIR/*.list" ]; then
    POSSIBLE_CULPRITS=$(ls -1 $DPKG_INFO_DIR/*.list | egrep -v \
      "(xbase-clients|xfree86-common|xfs|xlibs)")
    SMOKING_GUNS=$(grep -l "$1" $POSSIBLE_CULPRITS)
    if [ -n "$SMOKING_GUNS" ]; then
      BAD_PACKAGES=$(printf "\\n")
      for F in $SMOKING_GUNS; do
        # too bad you can't nest parameter expansion voodoo
        P=${F%*.list}      # strip off the trailing ".list"
        PACKAGE=${P##*/}   # strip off the directories
        BAD_PACKAGES=$(printf "%s\n%s" "$BAD_PACKAGES" "$PACKAGE")
      done
      message "The following packages appear to have file overlaps" \
              "with the XFree86 packages; these packages are either very" \
              "old, or in violation of Debian Policy.  Try upgrading each of" \
              "these packages to the latest available version if possible:" \
              "for example, with the command \"apt-get install\".  If no" \
              "newer version of a package is available, you will have to" \
              "remove it: for example, with the command \"apt-get remove\". " \
              "If even the latest available version of the package has this" \
              "file overlap, please file a bug against that package with the" \
              "Debian Bug Tracking System.  You may want to refer the package" \
              "maintainer to section 12.8 of the Debian Policy manual."
      message "The overlapping packages are: $BAD_PACKAGES"
    else
      message "no overlaps found."
    fi
  else
    message "cannot search; no matches for $DPKG_INFO_DIR/*.list."
  fi
else
  message "cannot search; $DPKG_INFO_DIR does not exist."
fi

exit 0

(The above functionality is built-in to XFree86 4.2.1-7 and later.)

-- 
G. Branden Robinson                |    You can have my PGP passphrase when
Debian GNU/Linux                   |    you pry it from my cold, dead
branden@debian.org                 |    brain.
http://people.debian.org/~branden/ |    -- Adam Thornton

Attachment: pgpbJgpX83_gN.pgp
Description: PGP signature


Reply to: