[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: links to shared libs in .deb file: order



joost@rulcmc.leidenuniv.nl (joost witteveen)  wrote on 06.01.97 in <[🔎] m0vhNbf-00011wC@rulcmc.leidenuniv.nl>:

> The symlink in the .deb file to the shared libs are supposed
> to be placed _after_ the libs they point to. In the
> libg++ debian/rules file, I try to accomplish this with:
>
>          rm -rf debian/tmp-shared
> 	 [...]
>          make install prefix=$(dir)/debian/tmp-shared/usr
>          rm -rf debian/tmp-shared/usr/{lib/g++-include,include,man,info,bin}
>          rm -f debian/tmp-shared/usr/lib/*.so
>          rm -f debian/tmp-shared/usr/lib/*.so.27
>          rm -f debian/tmp-shared/usr/lib/*.a
>          strip debian/tmp-shared/usr/lib/*.so.*
>          ln -s libg++.so.$(sover).$(h) debian/tmp-shared/usr/lib/libg++.so
>          ln -s libstdc++.so.$(sover).$(h)
> debian/tmp-shared/usr/lib/libstdc++.so
>
> But this doesn't seem to work:
>
>    $ dpkg-deb -c libg++27_2.7.2.1-4.deb
>    [...]
>    usr/lib/libg++.so -> libg++.so.27.2.1
>    usr/lib/libstdc++.so -> libstdc++.so.27.2.1
>    usr/lib/libstdc++.so.27.2.1
>    usr/lib/libg++.so.27.2.1
>    [...]

It may be the strip. I think the problem is that before you start to  
symlink, you have empty directory slots before your lib, so that's where  
the symlinks get put.

The following should always work on ext2 filesystems:

Before doing the symlinks, move everything from that directory to a temp  
directory. Then, move everything back.

Hmm. Isn't there a way tar can be fed the list of files the archive should  
contain? That might be a better fix than relying on file system order. The  
OS/2 (that's what I've currently booted) version of GNU tar does this with  
-Y and -T, it seems.


MfG Kai


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com


Reply to: