Compare commits

..

No commits in common. "rawhide" and "f16" have entirely different histories.

9 changed files with 64 additions and 827 deletions

7
.gitignore vendored
View file

@ -1,8 +1 @@
giflib-4.1.6.tar.bz2
/giflib-5.1.4.tar.bz2
/giflib-5.1.6.tar.gz
/giflib-5.1.7.tar.gz
/giflib-5.1.8.tar.gz
/giflib-5.1.9.tar.gz
/giflib-5.2.1.tar.gz
/giflib-5.2.2.tar.gz

View file

@ -1,142 +0,0 @@
cmake_minimum_required(VERSION 3.5)
project(giflib C)
include(GNUInstallDirs)
SET(BUILD_STATIC_LIBS OFF CACHE BOOL "Whether to also build static libs")
execute_process(COMMAND ./getversion
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(LIBMAJOR 7)
set(LIBMINOR 1)
set(LIBPOINT 0)
set(LIBVER "${LIBMAJOR}.${LIBMINOR}.${LIBPOINT}")
set(giflib_SRC
dgif_lib.c
egif_lib.c
getarg.c
gifalloc.c
gif_err.c
gif_font.c
gif_hash.c
openbsd-reallocarray.c
qprintf.c
quantize.c
)
# Some utilities are installed
set(giflib_INSTALLABLE
gif2rgb
gifbuild
giffix
giftext
giftool
gifclrmp
)
# Some utilities are only used internally for testing.
# There is a parallel list in doc/Makefile.
# These are all candidates for removal in future releases.
set(giflib_UTILS
${giflib_INSTALLABLE}
gifbg
gifcolor
gifecho
giffilter
gifhisto
gifinto
gifwedge
)
file(GLOB giflib_MAN doc/*.1)
### Build library / tools
add_library(gif SHARED ${giflib_SRC})
target_link_libraries(gif m)
set_target_properties(gif PROPERTIES VERSION ${LIBVER} SOVERSION ${LIBMAJOR})
if(WIN32)
set_target_properties(gif PROPERTIES SUFFIX "-${LIBMAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}")
endif(WIN32)
if(${BUILD_STATIC_LIBS})
add_library(gif_static STATIC ${giflib_SRC})
set_target_properties(gif_static PROPERTIES OUTPUT_NAME gif)
endif(${BUILD_STATIC_LIBS})
foreach(UTILITY ${giflib_UTILS})
add_executable(${UTILITY} ${UTILITY}.c)
target_link_libraries(${UTILITY} gif)
endforeach()
### Installation
install(TARGETS gif
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
if(${BUILD_STATIC_LIBS})
install(TARGETS gif_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif(${BUILD_STATIC_LIBS})
foreach(UTILITY ${giflib_UTILS})
install(TARGETS ${UTILITY} DESTINATION ${CMAKE_INSTALL_BINDIR})
endforeach()
install(FILES gif_lib.h gif_getarg.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES ${giflib_MAN} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
### Distribution tarball
set(giflib_DIST
*.c
*.h
README
NEWS
TODO
COPYING
getversion
ChangeLog
CMakeLists.txt
build.adoc
history.adoc
control
doc/whatsinagif
doc/*.1
doc/*.xml
doc/*.txt
doc/index.html.in
doc/00README
doc/Makefile
tests
pic
)
# We include all of the XML, and also generated manual pages
# so people working from the distribution tarball won't need xmlto.
add_custom_target(dist-gz
COMMAND tar --transform='s:^:giflib-${VERSION}/:' -czf giflib-${VERSION}.tar.gz ${giflib_DIST}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
add_custom_target(dist-bz2
COMMAND tar --transform='s:^:giflib-${VERSION}/:' -cjf giflib-${VERSION}.tar.bz2 ${giflib_DIST}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
add_custom_target(dist DEPENDS dist-gz DEPENDS dist-bz2)
### Auditing tools
# cppcheck should run clean
add_custom_target(cppcheck
COMMAND cppcheck --inline-suppr --template gcc --enable=all --suppress=unusedFunction --force *.[ch]
)

View file

@ -1,308 +0,0 @@
diff -rupN --no-dereference giflib-5.2.2/getarg.c giflib-5.2.2-new/getarg.c
--- giflib-5.2.2/getarg.c 2024-02-19 04:01:27.000000000 +0100
+++ giflib-5.2.2-new/getarg.c 2025-04-15 16:56:27.276152030 +0200
@@ -112,7 +112,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#define MAX_PARAM 100 /* maximum number of parameters allowed. */
#define CTRL_STR_MAX_LEN 1024
diff -rupN --no-dereference giflib-5.2.2/getarg.h giflib-5.2.2-new/getarg.h
--- giflib-5.2.2/getarg.h 2024-02-19 03:20:00.000000000 +0100
+++ giflib-5.2.2-new/getarg.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,54 +0,0 @@
-/***************************************************************************
-
-getarg.h - Support routines for the giflib utilities
-
-SPDX-License-Identifier: MIT
-
- **************************************************************************/
-
-#ifndef _GETARG_H
-#define _GETARG_H
-
-#include "gif_lib.h"
-#include <stdbool.h>
-
-#define VERSION_COOKIE " Version %d.%d, "
-
-/***************************************************************************
- Error numbers as returned by GAGetArg routine:
-***************************************************************************/
-#define CMD_ERR_NotAnOpt 1 /* None Option found. */
-#define CMD_ERR_NoSuchOpt 2 /* Undefined Option Found. */
-#define CMD_ERR_WildEmpty 3 /* Empty input for !*? seq. */
-#define CMD_ERR_NumRead 4 /* Failed on reading number. */
-#define CMD_ERR_AllSatis 5 /* Fail to satisfy (must-'!') option. */
-
-bool GAGetArgs(int argc, char **argv, char *CtrlStr, ...);
-void GAPrintErrMsg(int Error);
-void GAPrintHowTo(char *CtrlStr);
-
-/******************************************************************************
- From qprintf.c
-******************************************************************************/
-extern void GifQprintf(char *Format, ...);
-extern void PrintGifError(int ErrorCode);
-
-/******************************************************************************
- Color table quantization
-******************************************************************************/
-int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
- int *ColorMapSize, GifByteType *RedInput,
- GifByteType *GreenInput, GifByteType *BlueInput,
- GifByteType *OutputBuffer, GifColorType *OutputColorMap);
-
-/* These used to live in the library header */
-#define GIF_MESSAGE(Msg) fprintf(stderr, "\n%s: %s\n", PROGRAM_NAME, Msg)
-#define GIF_EXIT(Msg) \
- { \
- GIF_MESSAGE(Msg); \
- exit(-3); \
- }
-
-#endif /* _GETARG_H */
-
-/* end */
diff -rupN --no-dereference giflib-5.2.2/gif2rgb.c giflib-5.2.2-new/gif2rgb.c
--- giflib-5.2.2/gif2rgb.c 2025-04-15 16:56:27.247167987 +0200
+++ giflib-5.2.2-new/gif2rgb.c 2025-04-15 16:56:27.276617411 +0200
@@ -34,7 +34,7 @@ with our utilities mainly interesting as
#include <io.h>
#endif /* _WIN32 */
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gif2rgb"
diff -rupN --no-dereference giflib-5.2.2/gifbg.c giflib-5.2.2-new/gifbg.c
--- giflib-5.2.2/gifbg.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/gifbg.c 2025-04-15 16:56:27.276870781 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifbg"
diff -rupN --no-dereference giflib-5.2.2/gifbuild.c giflib-5.2.2-new/gifbuild.c
--- giflib-5.2.2/gifbuild.c 2024-02-19 04:05:16.000000000 +0100
+++ giflib-5.2.2-new/gifbuild.c 2025-04-15 16:56:27.277111740 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifbuild"
diff -rupN --no-dereference giflib-5.2.2/gifclrmp.c giflib-5.2.2-new/gifclrmp.c
--- giflib-5.2.2/gifclrmp.c 2024-02-19 04:01:27.000000000 +0100
+++ giflib-5.2.2-new/gifclrmp.c 2025-04-15 16:56:27.277368098 +0200
@@ -14,7 +14,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifclrmp"
diff -rupN --no-dereference giflib-5.2.2/gifcolor.c giflib-5.2.2-new/gifcolor.c
--- giflib-5.2.2/gifcolor.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/gifcolor.c 2025-04-15 16:56:27.277585194 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifcolor"
diff -rupN --no-dereference giflib-5.2.2/gifecho.c giflib-5.2.2-new/gifecho.c
--- giflib-5.2.2/gifecho.c 2024-02-19 04:01:27.000000000 +0100
+++ giflib-5.2.2-new/gifecho.c 2025-04-15 16:56:27.277769355 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifecho"
diff -rupN --no-dereference giflib-5.2.2/giffilter.c giflib-5.2.2-new/giffilter.c
--- giflib-5.2.2/giffilter.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/giffilter.c 2025-04-15 16:56:27.277955467 +0200
@@ -25,7 +25,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "giffilter"
diff -rupN --no-dereference giflib-5.2.2/giffix.c giflib-5.2.2-new/giffix.c
--- giflib-5.2.2/giffix.c 2024-02-19 04:01:27.000000000 +0100
+++ giflib-5.2.2-new/giffix.c 2025-04-15 16:56:27.278150152 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "giffix"
diff -rupN --no-dereference giflib-5.2.2/gif_getarg.h giflib-5.2.2-new/gif_getarg.h
--- giflib-5.2.2/gif_getarg.h 1970-01-01 01:00:00.000000000 +0100
+++ giflib-5.2.2-new/gif_getarg.h 2025-04-15 16:56:27.278343984 +0200
@@ -0,0 +1,54 @@
+/***************************************************************************
+
+getarg.h - Support routines for the giflib utilities
+
+SPDX-License-Identifier: MIT
+
+ **************************************************************************/
+
+#ifndef _GETARG_H
+#define _GETARG_H
+
+#include "gif_lib.h"
+#include <stdbool.h>
+
+#define VERSION_COOKIE " Version %d.%d, "
+
+/***************************************************************************
+ Error numbers as returned by GAGetArg routine:
+***************************************************************************/
+#define CMD_ERR_NotAnOpt 1 /* None Option found. */
+#define CMD_ERR_NoSuchOpt 2 /* Undefined Option Found. */
+#define CMD_ERR_WildEmpty 3 /* Empty input for !*? seq. */
+#define CMD_ERR_NumRead 4 /* Failed on reading number. */
+#define CMD_ERR_AllSatis 5 /* Fail to satisfy (must-'!') option. */
+
+bool GAGetArgs(int argc, char **argv, char *CtrlStr, ...);
+void GAPrintErrMsg(int Error);
+void GAPrintHowTo(char *CtrlStr);
+
+/******************************************************************************
+ From qprintf.c
+******************************************************************************/
+extern void GifQprintf(char *Format, ...);
+extern void PrintGifError(int ErrorCode);
+
+/******************************************************************************
+ Color table quantization
+******************************************************************************/
+int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
+ int *ColorMapSize, GifByteType *RedInput,
+ GifByteType *GreenInput, GifByteType *BlueInput,
+ GifByteType *OutputBuffer, GifColorType *OutputColorMap);
+
+/* These used to live in the library header */
+#define GIF_MESSAGE(Msg) fprintf(stderr, "\n%s: %s\n", PROGRAM_NAME, Msg)
+#define GIF_EXIT(Msg) \
+ { \
+ GIF_MESSAGE(Msg); \
+ exit(-3); \
+ }
+
+#endif /* _GETARG_H */
+
+/* end */
diff -rupN --no-dereference giflib-5.2.2/gifhisto.c giflib-5.2.2-new/gifhisto.c
--- giflib-5.2.2/gifhisto.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/gifhisto.c 2025-04-15 16:56:27.278489203 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifhisto"
diff -rupN --no-dereference giflib-5.2.2/gifinto.c giflib-5.2.2-new/gifinto.c
--- giflib-5.2.2/gifinto.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/gifinto.c 2025-04-15 16:56:27.278753624 +0200
@@ -19,7 +19,7 @@ SPDX-License-Identifier: MIT
#include <unistd.h>
#endif /* _WIN32 */
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifinto"
diff -rupN --no-dereference giflib-5.2.2/gifsponge.c giflib-5.2.2-new/gifsponge.c
--- giflib-5.2.2/gifsponge.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/gifsponge.c 2025-04-15 16:56:27.278945283 +0200
@@ -25,7 +25,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifsponge"
diff -rupN --no-dereference giflib-5.2.2/giftext.c giflib-5.2.2-new/giftext.c
--- giflib-5.2.2/giftext.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/giftext.c 2025-04-15 16:56:27.279142751 +0200
@@ -16,7 +16,7 @@ SPDX-License-Identifier: MIT
#include <io.h>
#endif /* _WIN32 */
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "giftext"
diff -rupN --no-dereference giflib-5.2.2/giftool.c giflib-5.2.2-new/giftool.c
--- giflib-5.2.2/giftool.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/giftool.c 2025-04-15 16:56:27.279376975 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "getopt.h"
#include "gif_lib.h"
diff -rupN --no-dereference giflib-5.2.2/gifwedge.c giflib-5.2.2-new/gifwedge.c
--- giflib-5.2.2/gifwedge.c 2024-02-19 04:01:27.000000000 +0100
+++ giflib-5.2.2-new/gifwedge.c 2025-04-15 16:56:27.279666309 +0200
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
#include <stdlib.h>
#include <string.h>
-#include "getarg.h"
+#include "gif_getarg.h"
#include "gif_lib.h"
#define PROGRAM_NAME "gifwedge"
diff -rupN --no-dereference giflib-5.2.2/Makefile giflib-5.2.2-new/Makefile
--- giflib-5.2.2/Makefile 2025-04-15 16:56:27.223615747 +0200
+++ giflib-5.2.2-new/Makefile 2025-04-15 16:56:27.279870038 +0200
@@ -34,7 +34,7 @@ HEADERS = gif_hash.h gif_lib.h gif_lib
OBJECTS = $(SOURCES:.c=.o)
USOURCES = qprintf.c getarg.c
-UHEADERS = getarg.h
+UHEADERS = gif_getarg.h
UOBJECTS = $(USOURCES:.c=.o)
UNAME:=$(shell uname)

View file

@ -1,15 +0,0 @@
diff -rupN --no-dereference giflib-5.2.2/gif2rgb.c giflib-5.2.2-new/gif2rgb.c
--- giflib-5.2.2/gif2rgb.c 2025-04-15 16:56:27.300766548 +0200
+++ giflib-5.2.2-new/gif2rgb.c 2025-04-15 16:56:27.308678722 +0200
@@ -337,6 +337,11 @@ static void DumpScreen2RGB(char *FileNam
GifRow = ScreenBuffer[i];
GifQprintf("\b\b\b\b%-4d", ScreenHeight - i);
for (j = 0; j < ScreenWidth; j++) {
+ /* Check if color is within color palete */
+ if (GifRow[j] >= ColorMap->ColorCount) {
+ GIF_EXIT(GifErrorString(
+ D_GIF_ERR_IMAGE_DEFECT));
+ }
ColorMapEntry = &ColorMap->Colors[GifRow[j]];
Buffers[0][j] = ColorMapEntry->Red;
Buffers[1][j] = ColorMapEntry->Green;

View file

@ -1,318 +1,95 @@
Name: giflib
Summary: A library and utilities for processing GIFs
Version: 5.2.2
Release: 8%{?dist}
License: MIT
URL: http://www.sourceforge.net/projects/%{name}/
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# Downstream cmake support
Source1: CMakeLists.txt
# Move quantize.c back into libgif.so (#1750122)
Patch0: giflib_quantize.patch
# Fix several defects found by Coverity scan
Patch1: giflib_coverity.patch
# Generate HTML docs with consistent section IDs to avoid multilib difference
Patch2: giflib_html-docs-consistent-ids.patch
# Rename getarg.h to gif_getarg.h
# https://sourceforge.net/p/giflib/code/merge-requests/18/
Patch3: getarg.patch
# Proposed patch for CVE-2025-31344
Patch4: https://raw.githubusercontent.com/OpenMandrivaAssociation/giflib/refs/heads/master/giflib-5.2.2-cve-2025-31344.patch
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: xmlto
BuildRequires: mingw32-filesystem
BuildRequires: mingw32-gcc
BuildRequires: mingw64-filesystem
BuildRequires: mingw64-gcc
Summary: Library for manipulating GIF format image files
Name: giflib
Version: 4.1.6
Release: 4%{?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
giflib is a library for reading and writing gif images.
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 files for programs using the giflib library
Requires: %{name}%{?_isa} = %{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
The giflib-devel package includes header files, libraries necessary for
developing programs which use the giflib library.
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
Requires: %{name}%{?_isa} = %{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.
%package -n mingw32-%{name}
Summary: MinGW Windows %{name} library
Obsoletes: mingw32-%{name}-static
BuildArch: noarch
%description -n mingw32-%{name}
%{summary}.
%package -n mingw32-%{name}-tools
Summary: Tools for the MinGW Windows %{name} library
Requires: mingw32-%{name} = %{version}-%{release}
BuildArch: noarch
%description -n mingw32-%{name}-tools
%{summary}.
%package -n mingw64-%{name}
Summary: MinGW Windows %{name} library
Obsoletes: mingw64-%{name}-static
BuildArch: noarch
%description -n mingw64-%{name}
%{summary}.
%package -n mingw64-%{name}-tools
Summary: Tools for the MinGW Windows %{name} library
Requires: mingw64-%{name} = %{version}-%{release}
BuildArch: noarch
%description -n mingw64-%{name}-tools
%{summary}.
%{?mingw_debug_package}
format image files. Install it if you need to manipulate GIF format image
files.
%prep
%autosetup -p1
cp -a %{SOURCE1} .
%setup -q
%build
# Native build
%cmake
%cmake_build
# MinGW build
%mingw_cmake
%mingw_make_build
%configure
make %{?_smp_mflags} all
# 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
%cmake_install
%mingw_make_install
rm -rf %{buildroot}%{mingw32_mandir}
rm -rf %{buildroot}%{mingw64_mandir}
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install
# 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
%mingw_debug_install_post
# Don't install any static .a and libtool .la files
rm -f $RPM_BUILD_ROOT%{_libdir}/*.{a,la}
# Remove makefile relics from documentation
rm -f doc/Makefile*
%files
%doc ChangeLog NEWS README
%license COPYING
%{_libdir}/libgif.so.7*
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING NEWS README
%{_libdir}/lib*.so.*
%files devel
%doc doc/*
%{_libdir}/libgif.so
%{_includedir}/gif_lib.h
%{_includedir}/gif_getarg.h
%defattr(-,root,root,-)
%doc doc/* util/giffiltr.c util/gifspnge.c
%{_libdir}/lib*.so
%{_includedir}/*.h
%files utils
%{_bindir}/gif*
%{_mandir}/man1/*.1*
%files -n mingw32-%{name}
%license COPYING
%{mingw32_bindir}/libgif-7.dll
%{mingw32_includedir}/gif_lib.h
%{mingw32_includedir}/gif_getarg.h
%{mingw32_libdir}/libgif.dll.a
%files -n mingw32-%{name}-tools
%{mingw32_bindir}/*.exe
%files -n mingw64-%{name}
%license COPYING
%{mingw64_bindir}/libgif-7.dll
%{mingw64_includedir}/gif_lib.h
%{mingw64_includedir}/gif_getarg.h
%{mingw64_libdir}/libgif.dll.a
%files -n mingw64-%{name}-tools
%{mingw64_bindir}/*.exe
%defattr(-,root,root,-)
%{_bindir}/*
%changelog
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jul 16 2025 Sandro Mani <manisandro@gmail.com> - 5.2.2-7
- Increase minimum cmake version to 3.5
- Use GnuInstallDirs
* Tue Apr 15 2025 Sandro Mani <manisandro@gmail.com> - 5.2.2-6
- Add proposed patch for CVE-2025-31334
* Wed Apr 02 2025 Benson Muite <fed500@fedoraproject.org> - 5.2.2-5
- Rename getarg.h to gif_getarg.h
* Wed Apr 02 2025 Benson Muite <fed500@fedoraproject.org> - 5.2.2-4
- Install getarg.h header file
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Feb 19 2024 Sandro Mani <manisandro@gmail.com> - 5.2.2-1
- Update to 5.2.2
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Sep 14 2023 Sandro Mani <manisandro@gmail.com> - 5.2.1-17
- Add patch for CVE-2023-39742
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-14
- Backport fix for CVE-2022-28506
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Mar 25 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-12
- Rebuild with mingw-gcc-12
* Thu Feb 24 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-11
- Make mingw subpackages noarch
* Sat Feb 19 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-10
- Add mingw subpackage
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Feb 17 2020 Sandro Mani <manisandro@gmail.com> - 5.2.1-5
- Fix several defects found by Coverity scan
- Generate HTML docs with consistent section IDs to avoid multilib difference
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 01 2019 Sandro Mani <manisandro@gmail.com> - 5.2.1-3
- Move quantize.c back into libgif.so (#1750122)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Jun 28 2019 Sandro Mani <manisandro@gmail.com> - 5.2.1-1
- Update to 5.2.1
* Mon Apr 01 2019 Sandro Mani <manisandro@gmail.com> - 5.1.9-1
- Update to 5.1.9
* Wed Mar 20 2019 Sandro Mani <manisandro@gmail.com> - 5.1.8-1
- Update to 5.1.8
* Mon Mar 11 2019 Sandro Mani <manisandro@gmail.com> - 5.1.7-1
- Update to 5.1.7
* Sat Feb 23 2019 Sandro Mani <manisandro@gmail.com> - 5.1.6-2
- Fix broken soname
* Mon Feb 18 2019 Sandro Mani <manisandro@gmail.com> - 5.1.6-1
- Update to 5.1.6
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Feb 11 2018 Sandro Mani <manisandro@gmail.com> - 5.1.4-1
- Update to 5.1.4
* Thu Feb 8 2018 Florian Weimer <fweimer@redhat.com> - 4.1.6-22
- Build libungif with linker flags from redhat-rpm-config
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1.6-20
- Switch to %%ldconfig_scriptlets
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Mar 29 2017 Stephen Gallagher <sgallagh@redhat.com> - 4.1.6-17
- Fix compilation errors when -Werror=format-security
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Aug 14 2015 Adam Jackson <ajax@redhat.com> 4.1.6-14
- Link libungif with -z now too
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Dec 18 2013 Peter Robinson <pbrobinson@fedoraproject.org> 4.1.6-10
- Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 4.1.6-8
- Perl 5.18 rebuild
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

View file

@ -1,39 +0,0 @@
diff -rupN --no-dereference giflib-5.2.2/gif2rgb.c giflib-5.2.2-new/gif2rgb.c
--- giflib-5.2.2/gif2rgb.c 2024-02-19 04:01:28.000000000 +0100
+++ giflib-5.2.2-new/gif2rgb.c 2025-04-15 16:56:27.228197561 +0200
@@ -165,6 +165,8 @@ static void SaveGif(GifByteType *OutputB
/* Open stdout for the output file: */
if ((GifFile = EGifOpenFileHandle(1, &Error)) == NULL) {
PrintGifError(Error);
+ free(OutputBuffer);
+ GifFreeMapObject(OutputColorMap);
exit(EXIT_FAILURE);
}
@@ -173,6 +175,8 @@ static void SaveGif(GifByteType *OutputB
EGifPutImageDesc(GifFile, 0, 0, Width, Height, false, NULL) ==
GIF_ERROR) {
PrintGifError(Error);
+ free(OutputBuffer);
+ GifFreeMapObject(OutputColorMap);
exit(EXIT_FAILURE);
}
@@ -182,6 +186,8 @@ static void SaveGif(GifByteType *OutputB
for (i = 0; i < Height; i++) {
if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR) {
+ free(OutputBuffer);
+ GifFreeMapObject(OutputColorMap);
exit(EXIT_FAILURE);
}
GifQprintf("\b\b\b\b%-4d", Height - i - 1);
@@ -191,6 +197,8 @@ static void SaveGif(GifByteType *OutputB
if (EGifCloseFile(GifFile, &Error) == GIF_ERROR) {
PrintGifError(Error);
+ free(OutputBuffer);
+ GifFreeMapObject(OutputColorMap);
exit(EXIT_FAILURE);
}
}

View file

@ -1,12 +0,0 @@
diff -rupN --no-dereference giflib-5.2.2/doc/Makefile giflib-5.2.2-new/doc/Makefile
--- giflib-5.2.2/doc/Makefile 2024-02-18 19:15:05.000000000 +0100
+++ giflib-5.2.2-new/doc/Makefile 2025-04-15 16:56:27.252074979 +0200
@@ -1,7 +1,7 @@
.SUFFIXES: .xml .html .txt .adoc .1 .7
.xml.html:
- xmlto xhtml-nochunks $<
+ xmlto --stringparam generate.consistent.ids=1 xhtml-nochunks $<
.xml.1:
xmlto man $<

View file

@ -1,17 +0,0 @@
diff -rupN --no-dereference giflib-5.2.2/Makefile giflib-5.2.2-new/Makefile
--- giflib-5.2.2/Makefile 2024-02-19 02:01:50.000000000 +0100
+++ giflib-5.2.2-new/Makefile 2025-04-15 16:56:27.204960961 +0200
@@ -29,11 +29,11 @@ LIBPOINT=0
LIBVER=$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT)
SOURCES = dgif_lib.c egif_lib.c gifalloc.c gif_err.c gif_font.c \
- gif_hash.c openbsd-reallocarray.c
+ gif_hash.c openbsd-reallocarray.c quantize.c
HEADERS = gif_hash.h gif_lib.h gif_lib_private.h
OBJECTS = $(SOURCES:.c=.o)
-USOURCES = qprintf.c quantize.c getarg.c
+USOURCES = qprintf.c getarg.c
UHEADERS = getarg.h
UOBJECTS = $(USOURCES:.c=.o)

View file

@ -1 +1 @@
SHA512 (giflib-5.2.2.tar.gz) = 0865ab2b1904fa14640c655fdb14bb54244ad18a66e358565c00287875d00912343f9be8bfac7658cc0146200d626f7ec9160d7a339f20ba3be6b9941d73975f
7125644155ae6ad33dbc9fc15a14735f giflib-4.1.6.tar.bz2