package/gconf: remove package, broken

gconf has not seen any release since 2013, and the last commit in
https://gitlab.gnome.org/Archive/gconf is from 2015.

The package example application basic-gconf-app fails to build with a
recent compiler such as GCC 14.x:

basic-gconf-app.c:458:60: error: passing argument 1 of ‘gtk_dialog_get_content_area’ from incompatible pointer type [-Wincompatible-pointer-types]

It is not entirely clear since when this breakage takes place, but
most likely since GCC 14.x was introduced. This issue can be
reproduced including on 2025.02.x with the following defconfig:

BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_LIBGTK3=y
BR2_PACKAGE_GCONF=y

However, for the build issue to happen you need to run:

$ make libgtk3
$ make

So that libgtk3 gets built before gconf. Indeed, there's a hidden
dependency between the two, and the example programs of gconf only get
build if libgtk3 is built before. We've however encountered the
problem in a (real) bigger build where the dependency relationship of
packages have caused libgtk3 to get built before gconf.

Note that we could perhaps have fixed the problem by disabling the
examples, but gconf is anyway so old and deprecated that it isn't
worth the effort.

There are no known autobuilder issues.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Thomas Petazzoni
2026-01-06 21:01:08 +01:00
parent 81bc8bbd5b
commit 3e4e261a16
6 changed files with 7 additions and 50 deletions

View File

@@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2026.02"
config BR2_PACKAGE_GCONF
bool "gconf package removed"
select BR2_LEGACY
help
gconf was no longer maintained upstream, so it has been
dropped.
config BR2_PACKAGE_LIBSVG
bool "libsvg package removed"
select BR2_LEGACY

View File

@@ -1746,7 +1746,6 @@ F: support/testing/tests/package/test_zfs.py
N: Joseph Kogut <joseph.kogut@gmail.com>
F: package/at-spi2-core/
F: package/earlyoom/
F: package/gconf/
F: package/libnss/
F: package/llama-cpp/
F: package/llvm-project/clang/

View File

@@ -2152,7 +2152,6 @@ menu "Other"
source "package/flatcc/Config.in"
source "package/fp16/Config.in"
source "package/fxdiv/Config.in"
source "package/gconf/Config.in"
source "package/gdal/Config.in"
source "package/gemmlowp/Config.in"
source "package/gflags/Config.in"

View File

@@ -1,21 +0,0 @@
config BR2_PACKAGE_GCONF
bool "gconf"
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus, libglib2
depends on BR2_USE_WCHAR # libglib2
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBXML2
help
GConf was a system used by the GNOME desktop environment for
storing configuration settings for the desktop and
applications. It is similar to the Windows Registry.
https://projects.gnome.org/gconf/
comment "gconf needs a toolchain w/ threads, wchar, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR \
|| BR2_STATIC_LIBS

View File

@@ -1,4 +0,0 @@
# From https://download.gnome.org/sources/GConf/3.2/GConf-3.2.6.sha256sum
sha256 1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c GConf-3.2.6.tar.xz
# License files, locally calculated
sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING

View File

@@ -1,23 +0,0 @@
################################################################################
#
# gconf
#
################################################################################
GCONF_VERSION = 3.2.6
GCONF_SOURCE = GConf-$(GCONF_VERSION).tar.xz
GCONF_SITE = https://download.gnome.org/sources/GConf/3.2
GCONF_CONF_OPTS = --disable-orbit
GCONF_DEPENDENCIES = dbus dbus-glib libglib2 libxml2 \
host-intltool $(TARGET_NLS_DEPENDENCIES)
GCONF_LICENSE = LGPL-2.0+
GCONF_LICENSE_FILES = COPYING
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
GCONF_CONF_OPTS += --enable-introspection
GCONF_DEPENDENCIES += gobject-introspection
else
GCONF_CONF_OPTS += --disable-introspection
endif
$(eval $(autotools-package))