d455914332
- Fix CVE-2017-6312: Integer overflow in io-ico.c in gdk-pixbuf allows context-dependent attackers to cause a denial of service (segmentation fault and application crash) via a crafted image entry offset in an ICO file, which triggers an out-of-bounds read, related to compiler optimizations. - Fix CVE-2017-6313: Integer underflow in the load_resources function in io-icns.c in gdk-pixbuf allows context-dependent attackers to cause a denial of service (out-of-bounds read and program crash) via a crafted image entry size in an ICO file. - Fix CVE-2017-6314: The make_available_at_least function in io-tiff.c in gdk-pixbuf allows context-dependent attackers to cause a denial of service (infinite loop) via a large TIFF file. Also update indentation in hash file (two spaces) Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
98 lines
3.1 KiB
Makefile
98 lines
3.1 KiB
Makefile
################################################################################
|
|
#
|
|
# gdk-pixbuf
|
|
#
|
|
################################################################################
|
|
|
|
GDK_PIXBUF_VERSION_MAJOR = 2.36
|
|
GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).12
|
|
GDK_PIXBUF_SOURCE = gdk-pixbuf-$(GDK_PIXBUF_VERSION).tar.xz
|
|
GDK_PIXBUF_SITE = http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/$(GDK_PIXBUF_VERSION_MAJOR)
|
|
GDK_PIXBUF_LICENSE = LGPL-2.0+
|
|
GDK_PIXBUF_LICENSE_FILES = COPYING
|
|
GDK_PIXBUF_INSTALL_STAGING = YES
|
|
GDK_PIXBUF_DEPENDENCIES = \
|
|
host-gdk-pixbuf host-libglib2 host-pkgconf \
|
|
libglib2 $(if $(BR2_ENABLE_LOCALE),,libiconv)
|
|
HOST_GDK_PIXBUF_DEPENDENCIES = host-libpng host-pkgconf host-libglib2
|
|
|
|
GDK_PIXBUF_CONF_ENV = \
|
|
ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY) \
|
|
gio_can_sniff=no
|
|
|
|
HOST_GDK_PIXBUF_CONF_ENV = \
|
|
gio_can_sniff=no
|
|
|
|
GDK_PIXBUF_CONF_OPTS = --disable-glibtest
|
|
HOST_GDK_PIXBUF_CONF_OPTS = --disable-introspection
|
|
|
|
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
|
|
GDK_PIXBUF_CONF_OPTS += --enable-introspection
|
|
GDK_PIXBUF_DEPENDENCIES += gobject-introspection
|
|
else
|
|
GDK_PIXBUF_CONF_OPTS += --disable-introspection
|
|
endif
|
|
|
|
ifneq ($(BR2_PACKAGE_LIBPNG),y)
|
|
GDK_PIXBUF_CONF_OPTS += --without-libpng
|
|
else
|
|
GDK_PIXBUF_DEPENDENCIES += libpng
|
|
endif
|
|
|
|
ifneq ($(BR2_PACKAGE_JPEG),y)
|
|
HOST_GDK_PIXBUF_CONF_OPTS += --without-libjpeg
|
|
GDK_PIXBUF_CONF_OPTS += --without-libjpeg
|
|
else
|
|
GDK_PIXBUF_DEPENDENCIES += jpeg
|
|
HOST_GDK_PIXBUF_DEPENDENCIES += host-libjpeg
|
|
endif
|
|
|
|
ifneq ($(BR2_PACKAGE_TIFF),y)
|
|
GDK_PIXBUF_CONF_OPTS += --without-libtiff
|
|
HOST_GDK_PIXBUF_CONF_OPTS += --without-libtiff
|
|
else
|
|
GDK_PIXBUF_DEPENDENCIES += tiff
|
|
GDK_PIXBUF_CONF_ENV += \
|
|
LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libtiff-4`"
|
|
HOST_GDK_PIXBUF_DEPENDENCIES += host-tiff
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
|
|
GDK_PIXBUF_CONF_OPTS += --with-x11
|
|
GDK_PIXBUF_DEPENDENCIES += xlib_libX11
|
|
endif
|
|
|
|
# gdk-pixbuf requires the loaders.cache file populated to work properly
|
|
# Rather than doing so at runtime, since the fs can be read-only, do so
|
|
# here after building and installing to target.
|
|
# And since the cache file will contain absolute host directory names we
|
|
# need to sanitize (strip) them.
|
|
ifeq ($(BR2_STATIC_LIBS),)
|
|
define GDK_PIXBUF_UPDATE_CACHE
|
|
GDK_PIXBUF_MODULEDIR=$(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders \
|
|
$(HOST_DIR)/bin/gdk-pixbuf-query-loaders \
|
|
> $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
|
|
$(SED) "s,$(HOST_DIR)/lib,/usr/lib,g" \
|
|
$(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
|
|
endef
|
|
GDK_PIXBUF_POST_INSTALL_TARGET_HOOKS += GDK_PIXBUF_UPDATE_CACHE
|
|
endif
|
|
|
|
# Tests don't build correctly with uClibc
|
|
define GDK_PIXBUF_DISABLE_TESTS
|
|
$(SED) 's/ tests//' $(@D)/Makefile.in
|
|
endef
|
|
GDK_PIXBUF_POST_PATCH_HOOKS += GDK_PIXBUF_DISABLE_TESTS
|
|
|
|
# Target gdk-pixbuf needs loaders.cache populated to build for the
|
|
# thumbnailer. Use the host-built since it matches the target options
|
|
# regarding mime types (which is the used information).
|
|
define GDK_PIXBUF_COPY_LOADERS_CACHE
|
|
cp -f $(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
|
|
$(@D)/gdk-pixbuf
|
|
endef
|
|
GDK_PIXBUF_PRE_BUILD_HOOKS += GDK_PIXBUF_COPY_LOADERS_CACHE
|
|
|
|
$(eval $(autotools-package))
|
|
$(eval $(host-autotools-package))
|