[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