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