opkg relinks symlinks during unpack to the wrong file

28 views
Skip to first unread message

Koen Kooi

unread,
May 2, 2012, 6:26:39 AM5/2/12
to opkg-devel
Hi,

I've been trying to debug a weird failure in my 3d driver which turned
out to be an opkg bug.

Files after build, before making an .ipk out of them:

koen@dominion:/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/
armv7a-angstrom-linux-gnueabi/libgles-omap3-4.05.00.03-r29/image/usr/
lib$ ls -la | grep libsrv_um
lrwxrwxrwx 1 koen koen 28 2012-05-02 11:28 libsrv_um_dri.so ->
libsrv_um_dri.so.1.6.16.4117*
lrwxrwxrwx 1 koen koen 28 2012-05-02 11:28 libsrv_um_dri.so.1 ->
libsrv_um_dri.so.1.6.16.4117*
lrwxrwxrwx 1 koen koen 28 2012-05-02 11:28 libsrv_um_dri.so.1.6 -
> libsrv_um_dri.so.1.6.16.4117*
-rwxr-xr-x 1 koen koen 647704 2011-10-11 13:36 libsrv_um_dri.so.
1.6.16.4117*
lrwxrwxrwx 1 koen koen 24 2012-05-02 11:28 libsrv_um.so ->
libsrv_um.so.1.6.16.4117*
lrwxrwxrwx 1 koen koen 24 2012-05-02 11:28 libsrv_um.so.1 ->
libsrv_um.so.1.6.16.4117*
lrwxrwxrwx 1 koen koen 24 2012-05-02 11:28 libsrv_um.so.1.6 ->
libsrv_um.so.1.6.16.4117*
-rwxr-xr-x 1 koen koen 647307 2011-10-12 13:09 libsrv_um.so.
1.6.16.4117*

Observe that libsrv_um.so -> libsrv_um.so.1.6.16.4117

On the board, after ar x ipk ; tar zxf data.tar.gz:

root@beagleboard-xM:/tmp/usr/lib# ls -la | grep libsrv_um
lrwxrwxrwx 1 root root 24 May 2 12:15 libsrv_um.so -
> libsrv_um.so.1.6.16.4117
lrwxrwxrwx 1 root root 24 May 2 12:15 libsrv_um.so.
1 -> libsrv_um.so.1.6.16.4117
lrwxrwxrwx 1 root root 24 May 2 12:15 libsrv_um.so.
1.6 -> libsrv_um.so.1.6.16.4117
-rwxr-xr-x 1 1000 1000 142212 May 1 13:33 libsrv_um.so.
1.6.16.4117
lrwxrwxrwx 1 root root 28 May 2 12:15
libsrv_um_dri.so -> libsrv_um_dri.so.1.6.16.4117
lrwxrwxrwx 1 root root 28 May 2 12:15
libsrv_um_dri.so.1 -> libsrv_um_dri.so.1.6.16.4117
lrwxrwxrwx 1 root root 28 May 2 12:15
libsrv_um_dri.so.1.6 -> libsrv_um_dri.so.1.6.16.4117
-rwxr-xr-x 1 1000 1000 142500 May 1 13:32
libsrv_um_dri.so.1.6.16.4117

Observe that libsrv_um.so -> libsrv_um.so.1.6.16.4117

opkg install --force-reinstall ipk

root@beagleboard-xM:/usr/lib# ls -la | grep libsrv_um
lrwxrwxrwx 1 root root 28 May 2 12:20 libsrv_um.so -
> libsrv_um_dri.so.1.6.16.4117
lrwxrwxrwx 1 root root 24 May 2 12:20 libsrv_um.so.
1 -> libsrv_um.so.1.6.16.4117
lrwxrwxrwx 1 root root 24 May 2 12:20 libsrv_um.so.
1.6 -> libsrv_um.so.1.6.16.4117
-rwxr-xr-x 1 root root 142212 May 1 13:33 libsrv_um.so.
1.6.16.4117
lrwxrwxrwx 1 root root 28 May 2 12:20
libsrv_um_dri.so -> libsrv_um_dri.so.1.6.16.4117
lrwxrwxrwx 1 root root 28 May 2 12:20
libsrv_um_dri.so.1 -> libsrv_um_dri.so.1.6.16.4117
lrwxrwxrwx 1 root root 28 May 2 12:20
libsrv_um_dri.so.1.6 -> libsrv_um_dri.so.1.6.16.4117
-rwxr-xr-x 1 root root 142500 May 1 13:32
libsrv_um_dri.so.1.6.16.4117

Observe that libsrv_um.so -> libsrv_um_dri.so.1.6.16.4117, so it links
to the wrong file!

Why does opkg mess up the symlinks?

regards,

Koen
Reply all
Reply to author
Forward
0 new messages