[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-discuss
Subject:    [bugs.openembedded.org #179] ipkg considers a package with broken
From:       " via RT" <oe () handhelds ! org>
Date:       2004-12-22 22:06:06
Message-ID: rt-3.2.1-179-578-17.3.11109463560221 () bugs ! openembedded ! org
[Download RAW message or body]


Wed Dec 22 14:06:05 2004: Request 179 was acted upon.
Transaction: Ticket created by guest
       Queue: OE Based Distros
     Subject: ipkg considers a package with broken link as "package not installed"
       Owner: Nobody
  Requestors: slash@dotnetslash.net
      Status: new
 Ticket <URL: http://bugs.openembedded.org/Ticket/Display.html?id=179 >


With oz-compat installed on an SD card mounted on /home, `ipkg remove
oz-compat` exits with:

Package oz-compat already removed.
No packages removed.

Below is a snipped and commented strace of what appears to be happening.
Apparently cvs.handhelds.org is sick? If the source is available
somewhere, I'd be happy to review this in more detail.

=====================================================================
execve("/usr/bin/ipkg", ["ipkg", "remove", "oz-compat"], [/* 13 vars
*/]) = 0
uname({sys="Linux", node="collie", ...}) = 0
brk(0)                                  = 0x10a1c

ipkg reads the config, then starts scanning .list files...
[snip]

munmap(0x40015000, 4096)                = 0
stat64("/home/usr/lib/ipkg/info/oz-character-conversion.list",
{st_mode=S_IFREG|0644, st_size=7357, ...}) = 0
open("/home/usr/lib/ipkg/info/oz-character-conversion.list", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=7357, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40015000
read(3, "/home/opt/Qtopia/lib/gconv/CP112"..., 4096) = 4096
read(3, "b/gconv/GOST_19768-74.so\n/home/o"..., 4096) = 3261
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40015000, 4096)                = 0

It finds and opens the oz-compat file list here:

stat64("/home/usr/lib/ipkg/info/oz-compat.list", {st_mode=S_IFREG|0644,
st_size=963, ...}) = 0
open("/home/usr/lib/ipkg/info/oz-compat.list", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=963, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40015000

Then apparently checks (at least) the first file:

read(3, "/home/opt/QtPalmtop/bin/qeserver"..., 4096) = 963
read(3, "", 4096)                       = 0
close(3)                                = 0

In this case, /home/opt/QtPalmtop/bin/qeserver is installed on an SD 
card mounted on /home. /home/opt/QtPalmtop/bin/qeserver is a soft link 
to /opt/QtPalmtop.compat/bin/qeserver which does NOT exist because the 
package has not been linked to the target. Note that once oz-compat is 
linked in place, the broken link will be resolved properly so it is
correct behavior for a package to contain a link that is broken when 
installed, but not linked.

Unfortunately, ipkg gives up and continues searching other file lists.

munmap(0x40015000, 4096)                = 0
stat64("/usr/lib/ipkg/info/pcmcia-cs.list", {st_mode=S_IFREG|0644,
st_size=1458, ...}) = 0
open("/usr/lib/ipkg/info/pcmcia-cs.list", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1458, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40015000
read(3, "/etc/pcmcia/scsi.opts\n/etc/pcmci"..., 4096) = 1458
read(3, "", 4096)                       = 0

[snip]
Finally, having not found an existing file, it gives up presuming that the
package is not installed.

rmdir("/tmp/ipkg-P9bO9G")               = 0
write(1, "Package oz-compat already remove"..., 56Package oz-compat
already removed.
No packages removed.
) = 56
munmap(0x40015000, 4096)                = 0
io_submit(0, 0xffffffff, 0xfbad2088 <unfinished ... exit status 0>

_______________________________________________
Oe mailing list
Oe@handhelds.org
https://www.handhelds.org/mailman/listinfo/oe
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic