Subject: Re: /var/db/pkg/*/+CONTENTS registers wrong symlinks for shared libs
To: Jeremy C. Reed <reed@reedmedia.net>
From: Rhialto <rhialto@azenomei.knuffel.net>
List: tech-pkg
Date: 10/10/2004 01:34:12
On Sat 09 Oct 2004 at 16:07:21 -0700, Jeremy C. Reed wrote:
> On Sun, 10 Oct 2004, Rhialto wrote:
>
> > $ cat /var/db/pkg/Xrender-0.8.4nb1/+CONTENTS
> > @name Xrender-0.8.4nb1
> > @cwd /usr/pkg
> > include/X11/extensions/Xrender.h
> > @comment MD5:d1dd458bedb66fc59da412ce3868086f
> > lib/libXrender.a
> > @comment MD5:b9b888abc486832d1bac0274c5fcd2a1
> > lib/libXrender.la
> > @comment MD5:376b68b72526fa563dc91caa083d9a64
> > lib/libXrender.so
> > @comment Symlink:libXrender.so.1.2.2
> > lib/libXrender.so.1
> > @comment Symlink:libXrender.so.1.2.2
> > lib/libXrender.so.1.2.2
> > @comment MD5:68b6c55bd230ecc611f76bef1c57e458
> > lib/pkgconfig/xrender.pc
> > @comment MD5:444f6b7bdc91cf5e51b54cf2ab18e3e4
>
> > Pkg_delete will complain about this and not remove them. I suppose an
> > install of an upgraded version will then fail.
>
> I don't understand. Are you saying that
> /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so,
> /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so.1, and
> /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so.1.2.2 do not exist?
Yes, they do exist. And now I see that the +CONTENTS above IS correct
for the files in /usr/pkg/packages/Xrender-0.8.4nb1/lib but not
/usr/pkg/lib.
$ l /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so*
lrwxr-xr-x 1 root wheel 19 Oct 10 00:54 /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so@ -> libXrender.so.1.2.2
lrwxr-xr-x 1 root wheel 19 Oct 10 00:54 /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so.1@ -> libXrender.so.1.2.2
-rwxr-xr-x 1 root wheel 32585 Oct 10 00:54 /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so.1.2.2*
Apparently /usr/pkg/packages/Xrender-0.8.4nb1/+CONTENTS and
/usr/pkg/packages/Xrender-0.8.4nb1/+CONTENTS are identical, even though
the symlinks as set in the two locations they apply to are not equivalent.
$ diff /usr/pkg/packages/Xrender-0.8.4nb1/+CONTENTS /var/db/pkg/Xrender-0.8.4nb1/+CONTENTS
2c2
< @cwd /usr/pkg/packages/Xrender-0.8.4nb1
---
> @cwd /usr/pkg
Look at the final pathname components in all names:
$ l /usr/pkg/lib/libXrender.so*
lrwxr-xr-x 1 root wheel 52 Oct 10 00:54 /usr/pkg/lib/libXrender.so@ -> /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so
lrwxr-xr-x 1 root wheel 54 Oct 10 00:54 /usr/pkg/lib/libXrender.so.1@ -> /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so.1
lrwxr-xr-x 1 root wheel 58 Oct 10 00:54 /usr/pkg/lib/libXrender.so.1.2.2@ -> /usr/pkg/packages/Xrender-0.8.4nb1/lib/libXrender.so.1.2.2
I'm recompiling a couple of dozens of packages to try the latest
nautilus, and I see this problem with just about any package that I'm
re-installing (if it's a pkgviews package).
> Jeremy C. Reed
-Olaf.
--
-- Ceterum censeo "authored[1]" delendum esse.
___ Olaf 'Rhialto' Seibert -- [1] Ugly English neologism[2].
\X/ rhialto/at/xs4all.nl -- [2] For lawyers whose English/Latin is below par.