On Tue, 2005-09-20 at 10:02 -1000, Warren Togami wrote:
Jeremy Katz wrote:
> On Tue, 2005-09-20 at 19:11 +0200, Miloslav Trmac wrote:
>
>>Providing a real library (which can be empty and just require
>>libgif.so.4) also solves the provides: (64bit) problems.
>
>
> This feels a bit cleaner to me and thus would get my vote
>
How about we keep the versioned libungif symlink for runtime compat, but
remove libungif.so and libungif-devel provides so packages must build
against giflib-devel explicitly?
This would still require the if conditional for the libungif Provides,
but otherwise is correct.
Well -- here's a spec that implements the procedure Miloslav suggested.
It seems reasonable from the packaging side::
MAJOR=`echo '%{version}' | sed 's/\([0-9]\+\)\..*/\1/'`
%{__cc} $RPM_OPT_FLAGS -shared -Wl,-soname -Wl,libungif.so.$MAJOR \
-Llib/.libs -lgif -o libungif.so.%{version}
Plus three lines to install and symlink the library.
Warren's 64bit Provides conditional is pretty snazzy as well:
%if %{_lib} == lib64
Provides: libungif.so.4()(64bit)
%else
Provides: libungif.so.4
%endif
Which one is better depends on whether we want to actively discourage
libungif linking. Seeing as there are probably upstream authors who may
run FC5 and want to make their own rpms for distribution, allowing
-lungif to create a binary with potential to run on <FC5 may be a plus.
spec & patch for an x86_64 blocker attached.
RPMS available here:
http://www.tiki-lounge.com/~toshio/fedora/
-Toshio