On Fri, Jul 15, 2011 at 3:41 PM, Phil Perry <[email protected]> wrote:

> On 15/07/11 19:54, Andrew Z wrote:
>
>> On Fri, Jul 15, 2011 at 2:42 PM, Phil Perry<[email protected]>  wrote:
>>
>>> On 15/07/11 19:28, Andrew Z wrote:
>>>
>>
>> <Skip>
>>
>>> You need to have your SPEC file create the symlinks in the buildroot so
>>> that
>>> they are a part of the package, i.e, the symlinks are owned by the rpm
>>> package. Then when you uninstall or update the package rpm will
>>> remove/update the symlinks for you rather than leave them dangling as per
>>> your example above.
>>>
>>> Take a look in any relevant package SPEC file from the distro for
>>> examples
>>> of how this should be handled.
>>>
>>
>> Phil,
>>  thank you. That's what i thought and i took a look @
>> glibc-2.3.4-2.54.src.rpm. I didn't notice any of the functionality you
>> mentioned, which prompted me to write the email.
>>
>> another question is :
>>  do i explicitly add the file.version to the %files section  or just
>> mention the link ?
>>
>> Thank you
>> Andrew
>>
>>
> To summarize,  lib_andrew-123.rpm installs the file lib_andrew.so.123 and
> creates a symlink to it called lib_andrew.so
>
> Here is how I would handle it:
>
> # make the libdir directory in the buildroot
> %{__mkdir_p} %{buildroot}/path/to/libdir/
>
> # then install the lib
> %{__install} -p -m 0755 lib_andrew.so.123 %{buildroot}/path/to/libdir/
>
> # then create the symlink(s) as necessary
> %{__ln_s} lib_andrew.so.123 %{buildroot}/path/to/libdir/**lib_andrew.so
>
>
> You must also make sure /path/to/libdir is on the ldconfig path if you have
> installed to a non-standard path - if not, add it like so:
>
> %{__mkdir_p} %{buildroot}%{_sysconfdir}/ld.**so.conf.d/
> echo /path/to/libdir > %{buildroot}%{_sysconfdir}/ld.**
> so.conf.d/lib_andrew.conf
>
> but if you can, it's far easier to just install to /usr/lib(64)
>
> Finally, in %post run /sbin/ldconfig
>
> Your %files section then needs to include all of the above.
>
> Hope that helps
>

Phil this is very helpful indeed. But the links are created by "make" not by
mr (rpm).  So how should we go around this?

Andrew

Reply via email to