- Solved multilib problems with documentation (, )

- Removed static library from giflib-devel package ( #c1)
This commit is contained in:
Robert Scheck 2009-05-09 21:45:18 +00:00
parent 0e624fa610
commit 5a479e0356
2 changed files with 50 additions and 150 deletions

View File

@ -1,96 +0,0 @@
--- giflib-4.1.3/lib/gif_hash.c.64 2005-09-20 13:39:32.000000000 -0700
+++ giflib-4.1.3/lib/gif_hash.c 2005-09-20 13:41:40.000000000 -0700
@@ -45,7 +45,7 @@
NumberOfMisses = 0;
#endif /* DEBUG_HIT_RATE */
-static int KeyItem(unsigned long Item);
+static int KeyItem(unsigned int Item);
/******************************************************************************
* Initialize HashTable - allocate the memory needed and clear it. *
@@ -69,17 +69,17 @@
******************************************************************************/
void _ClearHashTable(GifHashTableType *HashTable)
{
- memset(HashTable -> HTable, 0xFF, HT_SIZE * sizeof(long));
+ memset(HashTable -> HTable, 0xFF, HT_SIZE * sizeof(int));
}
/******************************************************************************
* Routine to insert a new Item into the HashTable. The data is assumed to be *
* new one. *
******************************************************************************/
-void _InsertHashTable(GifHashTableType *HashTable, unsigned long Key, int Code)
+void _InsertHashTable(GifHashTableType *HashTable, unsigned int Key, int Code)
{
int HKey = KeyItem(Key);
- unsigned long *HTable = HashTable -> HTable;
+ unsigned int *HTable = HashTable -> HTable;
#ifdef DEBUG_HIT_RATE
NumberOfTests++;
@@ -99,10 +99,10 @@
* Routine to test if given Key exists in HashTable and if so returns its code *
* Returns the Code if key was found, -1 if not. *
******************************************************************************/
-int _ExistsHashTable(GifHashTableType *HashTable, unsigned long Key)
+int _ExistsHashTable(GifHashTableType *HashTable, unsigned int Key)
{
int HKey = KeyItem(Key);
- unsigned long *HTable = HashTable -> HTable, HTKey;
+ unsigned int *HTable = HashTable -> HTable, HTKey;
#ifdef DEBUG_HIT_RATE
NumberOfTests++;
@@ -127,7 +127,7 @@
* Because the average hit ratio is only 2 (2 hash references per entry), *
* evaluating more complex keys (such as twin prime keys) does not worth it! *
******************************************************************************/
-static int KeyItem(unsigned long Item)
+static int KeyItem(unsigned int Item)
{
return ((Item >> 12) ^ Item) & HT_KEY_MASK;
}
--- giflib-4.1.3/lib/gif_hash.h.64 2005-09-20 13:39:42.000000000 -0700
+++ giflib-4.1.3/lib/gif_hash.h 2005-09-20 13:42:08.000000000 -0700
@@ -25,12 +25,12 @@
#define HT_PUT_CODE(l) (l & 0x0FFF)
typedef struct GifHashTableType {
- unsigned long HTable[HT_SIZE];
+ unsigned int HTable[HT_SIZE];
} GifHashTableType;
GifHashTableType *_InitHashTable(void);
void _ClearHashTable(GifHashTableType *HashTable);
-void _InsertHashTable(GifHashTableType *HashTable, unsigned long Key, int Code);
-int _ExistsHashTable(GifHashTableType *HashTable, unsigned long Key);
+void _InsertHashTable(GifHashTableType *HashTable, unsigned int Key, int Code);
+int _ExistsHashTable(GifHashTableType *HashTable, unsigned int Key);
#endif /* _GIF_HASH_H_ */
--- giflib-4.1.3/lib/egif_lib.c.64 2005-09-20 13:45:28.000000000 -0700
+++ giflib-4.1.3/lib/egif_lib.c 2005-09-20 13:43:39.000000000 -0700
@@ -188,6 +188,12 @@
_GifError = E_GIF_ERR_NOT_ENOUGH_MEM;
return NULL;
}
+ if ((Private->HashTable = _InitHashTable()) == NULL) {
+ free(GifFile);
+ free(Private);
+ _GifError = E_GIF_ERR_NOT_ENOUGH_MEM;
+ return NULL;
+ }
GifFile->Private = (VoidPtr) Private;
Private->FileHandle = 0;
@@ -832,7 +838,7 @@
/* Form a new unique key to search hash table for the code combines
* CrntCode as Prefix string with Pixel as postfix char.
*/
- NewKey = (((unsigned long) CrntCode) << 8) + Pixel;
+ NewKey = (((unsigned int) CrntCode) << 8) + Pixel;
if ((NewCode = _ExistsHashTable(HashTable, NewKey)) >= 0) {
/* This Key is already there, or the string is old one, so
* simple take new code as our CrntCode:

View File

@ -1,80 +1,74 @@
Summary: Library for manipulating GIF format image files
Name: giflib
Version: 4.1.6
Release: 1%{?dist}
License: MIT
URL: http://www.sf.net/projects/giflib/
Source0: http://download.sourceforge.net/sourceforge/giflib/%{name}-%{version}.tar.bz2
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libX11-devel, libICE-devel, libSM-devel, libXt-devel
Obsoletes: libungif <= %{version}-%{release}
Provides: libungif <= %{version}-%{release}
Summary: Library for manipulating GIF format image files
Name: giflib
Version: 4.1.6
Release: 2%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://www.sourceforge.net/projects/%{name}/
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
BuildRequires: libX11-devel, libICE-devel, libSM-devel, libXt-devel
Provides: libungif = %{version}-%{release}
Obsoletes: libungif <= %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
The giflib package contains a shared library of functions for
loading and saving GIF format image files. It is API and ABI compatible
with libungif, the library which supported uncompressed GIFs while the
Unisys LZW patent was in effect.
Install the giflib package if you need to write programs that use GIF files.
You should also install the giflib-utils package if you need some simple
utilities to manipulate GIFs.
The giflib package contains a shared library of functions for loading and
saving GIF format image files. It is API and ABI compatible with libungif,
the library which supported uncompressed GIFs while the Unisys LZW patent
was in effect.
%package devel
Summary: Development tools for programs which will use the libungif library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Provides: libungif-devel <= %{version}-%{release}
Obsoletes: libungif-devel <= %{version}-%{release}
Summary: Development tools for programs using the giflib library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Provides: libungif-devel = %{version}-%{release}
Obsoletes: libungif-devel <= %{version}-%{release}
%description devel
This package contains the static libraries, header files and
documentation necessary for development of programs that will use the
giflib library to load and save GIF format image files.
You should install this package if you need to develop programs which
will use giflib library functions. You'll also need to install the
giflib package.
The giflib-devel package includes header files, libraries necessary for
developing programs which use the giflib library to load and save GIF format
image files. It contains the documentation of the giflib library, too.
%package utils
Summary: Programs for manipulating GIF format image files
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Obsoletes: libungif-progs <= %{version}-%{release}
Summary: Programs for manipulating GIF format image files
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Provides: libungif-progs = %{version}-%{release}
Obsoletes: libungif-progs <= %{version}-%{release}
%description utils
The giflib-utils package contains various programs for manipulating
GIF format image files.
Install this package if you need to manipulate GIF format image files.
You'll also need to install the giflib package.
The giflib-utils package contains various programs for manipulating GIF
format image files. Install it if you need to manipulate GIF format image
files.
%prep
%setup -q
%{__sed} -i 's/\r//' doc/lzgif.txt
%build
%configure
make %{?_smp_mflags} all
MAJOR=`echo '%{version}' | sed 's/\([0-9]\+\)\..*/\1/'`
# Handling of libungif compatibility
MAJOR=`echo '%{version}' | sed -e 's/\([0-9]\+\)\..*/\1/'`
%{__cc} $RPM_OPT_FLAGS -shared -Wl,-soname,libungif.so.$MAJOR -Llib/.libs -lgif -o libungif.so.%{version}
%install
rm -rf ${RPM_BUILD_ROOT}
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install
make install DESTDIR=$RPM_BUILD_ROOT
# Handling of libungif compatibility
install -p -m 755 libungif.so.%{version} $RPM_BUILD_ROOT%{_libdir}
ln -sf libungif.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libungif.so.4
ln -sf libungif.so.4 $RPM_BUILD_ROOT%{_libdir}/libungif.so
install -m 0755 -p libungif.so.%{version} $RPM_BUILD_ROOT%{_libdir}
ln -sf libungif.so.%{version} ${RPM_BUILD_ROOT}%{_libdir}/libungif.so.4
ln -sf libungif.so.4 ${RPM_BUILD_ROOT}%{_libdir}/libungif.so
# Don't install any static .a and libtool .la files
rm -f $RPM_BUILD_ROOT%{_libdir}/*.{a,la}
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
# Remove makefile relics from documentation
rm -f doc/Makefile*
%clean
rm -rf ${RPM_BUILD_ROOT}
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
@ -82,14 +76,12 @@ rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,root,-)
%doc COPYING README NEWS ONEWS
%doc ChangeLog TODO BUGS AUTHORS
%doc AUTHORS ChangeLog COPYING NEWS README
%{_libdir}/lib*.so.*
%files devel
%defattr(-,root,root,-)
%doc doc/* util/giffiltr.c util/gifspnge.c
%{_libdir}/lib*.a
%{_libdir}/lib*.so
%{_includedir}/*.h
@ -98,6 +90,10 @@ rm -rf ${RPM_BUILD_ROOT}
%{_bindir}/*
%changelog
* Sat May 09 2009 Robert Scheck <robert@fedoraproject.org> 4.1.6-2
- Solved multilib problems with documentation (#465208, #474538)
- Removed static library from giflib-devel package (#225796 #c1)
* Mon Apr 13 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 4.1.6-1
- update to 4.1.6