diff mbox series

package/gconf: remove package, broken

Message ID 20251226154448.946753-1-thomas.petazzoni@bootlin.com
State New
Headers show
Series package/gconf: remove package, broken | expand

Commit Message

Thomas Petazzoni Dec. 26, 2025, 3:44 p.m. UTC
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>
---
 Config.in.legacy         |  7 +++++++
 DEVELOPERS               |  1 -
 package/Config.in        |  1 -
 package/gconf/Config.in  | 21 ---------------------
 package/gconf/gconf.hash |  4 ----
 package/gconf/gconf.mk   | 23 -----------------------
 6 files changed, 7 insertions(+), 50 deletions(-)
 delete mode 100644 package/gconf/Config.in
 delete mode 100644 package/gconf/gconf.hash
 delete mode 100644 package/gconf/gconf.mk
diff mbox series

Patch

diff --git a/Config.in.legacy b/Config.in.legacy
index 51f77ad312..ddb6886029 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -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_OPENCV3_WITH_FFMPEG
 	bool "opencv3 ffmpeg support removed"
 	select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 8671c721b3..264e04c1c2 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1751,7 +1751,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/
diff --git a/package/Config.in b/package/Config.in
index 2f6644271a..2aaf5380cb 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2188,7 +2188,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"
diff --git a/package/gconf/Config.in b/package/gconf/Config.in
deleted file mode 100644
index a2371b3f23..0000000000
--- a/package/gconf/Config.in
+++ /dev/null
@@ -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
diff --git a/package/gconf/gconf.hash b/package/gconf/gconf.hash
deleted file mode 100644
index ad0064fa99..0000000000
--- a/package/gconf/gconf.hash
+++ /dev/null
@@ -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
diff --git a/package/gconf/gconf.mk b/package/gconf/gconf.mk
deleted file mode 100644
index b84fa96082..0000000000
--- a/package/gconf/gconf.mk
+++ /dev/null
@@ -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))