Author Topic: Ipkg-link Mount Overwrites Links To Runcompat  (Read 2170 times)

BeKind

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
    • http://www.seizurerobots.com
Ipkg-link Mount Overwrites Links To Runcompat
« on: July 05, 2005, 10:28:45 pm »
Whenever I run packagemanager and install a new package, and consequently run ipkg-link mount, it changes all of my links in opt/qtpalmtop/bin that were linking to runcompat.

Is there something I can do to stop this from happening every time I run ipkg-link mount, so that I don't have to run makecompat again on all my software that uses the alternate libs?

acpkendo

  • Full Member
  • ***
  • Posts: 169
    • View Profile
    • http://
Ipkg-link Mount Overwrites Links To Runcompat
« Reply #1 on: July 06, 2005, 01:09:25 pm »
You can use "ipkg-link add <packagename>" instead, although you'll have to do so for each package you installed independently.  Although, if you're using the (GUI) package manager, you shouldn't have to use ipkg-link at all--it should do so for you.

lardman

  • Hero Member
  • *****
  • Posts: 4512
    • View Profile
    • http://people.bath.ac.uk/enpsgp/Zaurus/
Ipkg-link Mount Overwrites Links To Runcompat
« Reply #2 on: July 06, 2005, 01:29:23 pm »
Would it be possible to run makecompat on the files before they are symlinked - so the file which gets symlinked by ipkg-link is itself already makecompat'ed

Otherwise I agree this is an issue,


Si
C750 OZ3.5.4 (GPE, 2.6.x kernel)
SL5500 OZ3.5.4 (Opie)
Nokia 770
Serial GPS, WCF-12, Socket Ethernet & BT, Ratoc USB
WinXP, Mandriva

CoreDump

  • Hero Member
  • *****
  • Posts: 713
    • View Profile
    • http://www.hentges.net
Ipkg-link Mount Overwrites Links To Runcompat
« Reply #3 on: July 06, 2005, 02:00:05 pm »
Code: [Select]
add () {
    echo "*** Adding $PACKAGE"
    echo "$files" |
    while read line; do
* * * * The next line is causing the problem * * * *
  test -L "$line" && rm "$line"
  if [ ! -e "$line" ]; then
      # Only if it doesn't already exist.
      if [ -d "$PREFIX$line" ]; then
    # It's a directory.
    `mkdir "$line"`
      else
    # It's a file.
    [ ! -d `dirname $line` ] && mkdir -p `dirname $line`
    `ln -s "$PREFIX$line" "$line"`
      fi
  fi
    done
}

I'd rather not remove this line alltogether. It's there as a failsafe in case there already exists a symlink which points to a wrong location (think b0rked install to a different target)

One should probably check where the symlink is pointing to and not remove it when it
points to QtPalmtop.compat/*

Code: [Select]
    
if test -L "$line"
then
    ls –al “$line” | grep –q QtPalmtop.compat || rm "$line"
fi

Should do the trick.
Webmaster of hentges.net & Embedded Linux Developer.