On Tue, 16 Aug 2011 10:38:43 -0500, RS (Richard) wrote: > > cd %{buildroot}%{libdir} > > ldconfig -n $(pwd) > > ln -s %{name}.so.? %{name}.so > > cd - > > Wouldn't that create a symlink of a symlink? That isn't a problem, is it? All that matters is that the final symlink would point at a usable library the build-time linker can load libfoo.so -> libfoo.so.1 > libfoo.so.1.0.0 and ldconfig adjusts libfoo.so.1 to point at the latest version anyway. Or just the direct: libfoo.so -> libfoo.so.1.0.0 Both types of symlinks exist in Fedora packages. You could shopt -s failglob ln -s %{name}.so.*.* %{name}.so enforcing existence of a fully versioned library, and else an error. All that matters is that the final symlink would point at a usable library. > I ended up doing it this way: > > # Extract library name from Makefile > LIBNAME=$(make -f Makefile -f - <<<'lib_so:; @echo $(lib_so)' lib_so) > > # Create symbolic link for -devel subpackage. > ldconfig -n %{buildroot}%{_libdir} > pushd %{buildroot}%{_libdir} > ln -s $LIBNAME %{name}.so > popd Enjoy it if it works for you. :) Note though that if the make command fails, you would end up with an empty $LIBNAME and a %{name}.so -> %{name}.so most likely, so some guard in the spec file would be beneficial. -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel