Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP2
glib2.36446
glib2.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File glib2.spec of Package glib2.36446
# # spec file for package glib2 # # Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %bcond_without systemtap Name: glib2 Version: 2.62.6 Release: 0 Summary: General-Purpose Utility Library License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ URL: https://wiki.gnome.org/Projects/GLib Source0: http://download.gnome.org/sources/glib/2.62/glib-%{version}.tar.xz Source1: glib2.sh Source2: glib2.csh # Not upstream file. Only proposes upstream packages: Source4: glib2-upstream-gnome_defaults.conf # Some documentation for people writing branding packages, shipped in the branding-upstream package Source5: README.Gsettings-overrides Source6: macros.glib2 # zsh completion from https://github.com/jmatsuzawa/zsh-comp-gsettings Source8: gsettings.zsh Source98: glib2-rpmlintrc Source99: baselibs.conf # PATCH-FEATURE-UPSTREAM glib2-bgo569829-gettext-gkeyfile.patch fate300461 bgo569829 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that we share with Ubuntu and try to push upstream Patch0: glib2-bgo569829-gettext-gkeyfile.patch # PATCH-FEATURE-OPENSUSE glib2-fate300461-gettext-gkeyfile-suse.patch fate300461 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that deals with the openSUSE specific infrastructure (with desktop_translations) Patch1: glib2-fate300461-gettext-gkeyfile-suse.patch # PATCH-FIX-OPENSUSE glib2-suppress-schema-deprecated-path-warning.patch rh#814053 badshah400@gmail.com -- Suppress the deprecated path warning since it fills up screen unnecessarily during package installations/upgrade. Patch2: glib2-suppress-schema-deprecated-path-warning.patch # PATCH-FIX-OPENSUSE glib2-dbus-socket-path.patch bnc#845287 dimstar@opensuse.org -- Have gio look for the system dbus socket in /run instead of /var/run. Patch3: glib2-dbus-socket-path.patch # PATCH-FIX-OPENSUSE glib2-gdbus-codegen-version.patch olaf@aepfle.de -- Remove version string from files generated by gdbus-codegen Patch4: glib2-gdbus-codegen-version.patch # PATCH-FEATURE-UPSTREAM glib2-add-support-for-slim-timezone-format.patch bsc#1178346, glgo#GNOME/glib!1533 alynx.zhou@suse.com -- Add support for slim timezone format. Patch5: glib2-add-support-for-slim-timezone-format.patch # PATCH-FIX-UPSTREAM glib2-fix-6-days-until-the-end-of-the-month.patch bsc#1178346, glgo#GNOME/glib!1683 alynx.zhou@suse.com -- Fix incorrect DST end of month, require Patch5. Patch6: glib2-fix-6-days-until-the-end-of-the-month.patch # PATCH-FIX-UPSTREAM glib2-CVE-2021-27219-add-g_memdup2.patch bsc#1182362, glgo#GNOME/glib!1927 alynx.zhou@suse.com -- Add g_memdup2 to replace g_memdup because of integer overflow. Patch7: glib2-CVE-2021-27219-add-g_memdup2.patch # PATCH-FIX-UPSTREAM glib2-CVE-2021-27218.patch bsc#1182328, glgo#GNOME/glib!1944 alynx.zhou@suse.com -- Do not create too large GByteArray. Patch8: glib2-CVE-2021-27218.patch # PATCH-FIX-UPSTREAM glib2-CVE-2021-28153.patch boo#1183533 mgorse@suse.com -- fix CREATE_REPLACE_DESTINATION with symlinks. Patch9: glib2-CVE-2021-28153.patch # PATCH-FIX-UPSTREAM glib2-fix-normal-form-handling-in-gvariant.patch CVE-2023-24593, CVE-2023-25180, bsc#1209714, bsc#1209713 alynx.zhou@suse.com -- Various fixes to normal form handling in GVariant Patch10: glib2-fix-normal-form-handling-in-gvariant.patch # PATCH-FIX-UPSTREAM glib2-allocate-SignalSubscriber-structs-individually.patch boo#1224044 mgorse@suse.com -- allocate SignalSubscriber structs individually. Patch11: glib2-allocate-SignalSubscriber-structs-individually.patch # PATCH-FIX-UPSTREAM glib2-CVE-2024-34397.patch boo#1224044 mgorse@suse.com -- don't deliver DBus signals if the sender doesn't match. Patch12: glib2-CVE-2024-34397.patch # PATCH-FIX-UPSTREAM glib2-fix-ibus-regression.patch boo#1124044 mgorse@suse.com -- allow name owners to have the syntax of a well-known name. Patch13: glib2-fix-ibus-regression.patch # PATCH-FIX-UPSTREAM glib2-gdbusmessage-cache-arg0.patch boo#1224044 mgorse@suse.com -- cache the arg0 value in a dbus message. Patch14: glib2-gdbusmessage-cache-arg0.patch # PATCH-FIX-UPSTREAM glib2-CVE-2024-52533.patch boo#1233282 mgorse@suse.com -- fix a single byte buffer overflow. Patch15: glib2-CVE-2024-52533.patch BuildRequires: docbook-xsl-stylesheets BuildRequires: fdupes BuildRequires: gamin-devel BuildRequires: gcc-c++ BuildRequires: gtk-doc BuildRequires: libselinux-devel BuildRequires: m4 BuildRequires: meson >= 0.49.2 BuildRequires: pkgconfig BuildRequires: python3-base # gdbus-codegen is run during the build, so we need python3-xml BuildRequires: python3-xml BuildRequires: translation-update-upstream BuildRequires: xsltproc # Needed for gresource BuildRequires: pkgconfig(libelf) >= 0.8.12 BuildRequires: pkgconfig(libffi) >= 3.0.0 BuildRequires: pkgconfig(libpcre) >= 8.31 BuildRequires: pkgconfig(mount) >= 2.28 BuildRequires: pkgconfig(zlib) # gtk-doc requires glib2-devel, but we will only be building this here; break up a cycle #!BuildIgnore: glib2-devel %if %{with systemtap} BuildRequires: systemtap-dtrace BuildRequires: systemtap-headers %endif %description GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. %package tools Summary: Tools from glib2, a general-purpose utility library Group: Development/Libraries/C and C++ %description tools GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. %package -n gio-branding-upstream Summary: Upstream definitions of default settings and applications Group: System/Libraries Requires: libgio-2_0-0 = %{version} Supplements: packageand(libgio-2_0-0:branding-upstream) Conflicts: gio-branding Provides: %{name}-branding-upstream = %{version} Obsoletes: %{name}-branding-upstream < %{version} Provides: gio-branding = %{version} BuildArch: noarch #BRAND: The /etc/gnome_defaults.conf allows to define arbitrary #BRAND: applications as preferred defaults. #BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override file can #BRAND: be used to override the default value for GSettings keys. See #BRAND: README.Gsettings-overrides for more details. The branding #BRAND: package should then have proper Requires for features changed #BRAND: with such an override file. # NOTE: gnome_defaults is not an upstream feature, but a SuSE # enhancement, but to conform branding conventions, the package is named # as gio-branding-upstream. %description -n gio-branding-upstream This package provides upstream defaults for settings stored with GSettings and applications used by the MIME system. %package devel Summary: Development files for glib, a general-purpose utility library # Now require the subpackages too Group: Development/Libraries/C and C++ Requires: glib2-tools = %{version} Requires: glibc-devel Requires: libgio-2_0-0 = %{version} Requires: libglib-2_0-0 = %{version} Requires: libgmodule-2_0-0 = %{version} Requires: libgobject-2_0-0 = %{version} Requires: libgthread-2_0-0 = %{version} Requires: pkgconfig # Required by gdbus-codegen Requires: python3-xml Provides: glib2-doc = 2.19.6 Obsoletes: glib2-doc < 2.19.6 # %description devel GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. This package contains the development files for GLib. %package devel-static Summary: Static libraries for glib, a general-purpose utility library Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} %description devel-static GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. This package contains static versions of the GLib libraries. %package -n libglib-2_0-0 Summary: General-Purpose Utility Library Group: System/Libraries Provides: %{name} = %{version} Obsoletes: %{name} < %{version} # %description -n libglib-2_0-0 GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. %package -n libgmodule-2_0-0 Summary: General-Purpose Utility Library -- Library for Modules Group: System/Libraries %description -n libgmodule-2_0-0 GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. The libgmodule library provides a portable way to dynamically load object files (commonly known as 'plug-ins'). %package -n libgio-2_0-0 Summary: A virtual file system library API # The tools are useful for people having libgio # bnc#555605: shared-mime-info is required by libgio to properly detect mime types, but not during build #!BuildIgnore: shared-mime-info Group: System/Libraries Requires: %{name}-tools # bnc#678518: libgio interacts with others by means of dbus-launch Requires: dbus-launch Requires: gio-branding = %{version} Requires: shared-mime-info # Needed for branding packages Provides: gio = %{version} # Temporarily disable this, pending further discussion # Recommends: gvfs %description -n libgio-2_0-0 GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. GIO provides a modern, easy-to-use VFS API. %package -n libgio-fam Summary: GIO module to use FAM # we need gio-querymodules in %%post/%%postun Group: System/Libraries Requires(post): %{name}-tools Requires(postun): %{name}-tools Supplements: packageand(libgio-2_0-0:fam) %description -n libgio-fam GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. This packages provides a GIO module to use FAM for file monitoring. %package -n libgthread-2_0-0 Summary: Portable API from glib wrapping system threads Group: System/Libraries %description -n libgthread-2_0-0 GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. The libgthread library provides a portable way to write multi-threaded software. %package -n libgobject-2_0-0 Summary: Object-Oriented Framework for C Group: System/Libraries %description -n libgobject-2_0-0 GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. The GObject library provides an object-oriented framework for C. %package tests Summary: Tests for the glib2 package Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} %description tests The glib2-tests package contains tests that can be used to verify the functionality of the installed glib2 package. %lang_package %prep %setup -q -n glib-%{version} translation-update-upstream %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 cp -a %{SOURCE1} %{SOURCE2} %{SOURCE5} . cp -a %{SOURCE4} gnome_defaults.conf # replace /usr/bin/env shebangs # /usr/bin/env @PYTHON@ -> /usr/bin/python3 grep "%{_bindir}/env @PYTHON@" . -rl | xargs sed -i "s|%{_bindir}/env @PYTHON@|%{_bindir}/python3|g" %build %if %{with systemtap} %global _lto_cflags %{nil} %else %global _lto_cflags %{_lto_cflags} -ffat-lto-objects %endif %meson \ --default-library=both \ -Dselinux=enabled \ -Dman=true \ -Dgtk_doc=true \ -Dfam=true \ %if %{with systemtap} -Dsystemtap=true \ -Ddtrace=true \ %else -Dsystemtap=false \ -Ddtrace=false \ %endif -Dinternal_pcre=false \ -Dinstalled_tests=true \ %{nil} %meson_build %install %meson_install %if 0%{?suse_version} <= 1120 rm %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/* %endif %find_lang glib20 %{?no_lang_C} mkdir -p %{buildroot}%{_sysconfdir}/profile.d install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf # default apps magic mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications touch %{buildroot}%{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list touch %{buildroot}%{_localstatedir}/cache/gio-2.0/xfce-mimeapps.list touch %{buildroot}%{_localstatedir}/cache/gio-2.0/lxde-mimeapps.list ln -s %{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list %{buildroot}%{_datadir}/applications/gnome-mimeapps.list # gio-querymodules magic %if "%{_lib}" == "lib64" mv %{buildroot}%{_bindir}/gio-querymodules %{buildroot}%{_bindir}/gio-querymodules-64 %endif mkdir -p %{buildroot}%{_libdir}/gio/modules touch %{buildroot}%{_libdir}/gio/modules/giomodule.cache # gsettings magic touch %{buildroot}%{_datadir}/glib-2.0/schemas/gschemas.compiled # Install rpm macros mkdir -p %{buildroot}%{_rpmmacrodir} cp %{SOURCE6} %{buildroot}%{_rpmmacrodir} # Install zsh completion for gsettings mkdir -p %{buildroot}%{_datadir}/zsh/site-functions/ cp %{SOURCE8} %{buildroot}%{_datadir}/zsh/site-functions/_gsettings %fdupes %{buildroot}/%{_prefix} %filetriggerin -n glib2-tools -- %{_datadir}/glib-2.0/schemas # Too many users complain about schemas compiled with wrong permissions # when in fact the system just honors there umask setting # Let's reset umask to 022 for glib-compile-schemas, then reset to # what the user had configured UMASK=$(umask) umask 022 %{_bindir}/glib-compile-schemas %{_datadir}/glib-2.0/schemas umask $UMASK unset UMASK %filetriggerpostun -n glib2-tools -- %{_datadir}/glib-2.0/schemas # Too many users complain about schemas compiled with wrong permissions # when in fact the system just honors there umask setting # Let's reset umask to 022 for glib-compile-schemas, then reset to # what the user had configured UMASK=$(umask) umask 022 %{_bindir}/glib-compile-schemas %{_datadir}/glib-2.0/schemas umask $UMASK unset UMASK %post -n libglib-2_0-0 -p /sbin/ldconfig %post -n libgobject-2_0-0 -p /sbin/ldconfig %post -n libgthread-2_0-0 -p /sbin/ldconfig %post -n libgio-2_0-0 /sbin/ldconfig for ENV in gnome xfce lxde ; do if ! test -f %{_localstatedir}/cache/gio-2.0/$ENV-mimeapps.list ; then cat >%{_localstatedir}/cache/gio-2.0/$ENV-mimeapps.list <<EOF # Dummy file. Install desktop-file-utils to get a better defaults. [Default Applications] EOF fi done %check ### FIXME ### Figure out how to run the "stable tests" only ref info from upstream. #%%meson_test %post -n libgmodule-2_0-0 -p /sbin/ldconfig %post -n libgio-fam %if 0 ############################################################################### # Note: when updating this scriptlet, don't forget to also update baselibs.conf ############################################################################### %endif %if "%{_lib}" == "lib64" %{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules %else %{_bindir}/gio-querymodules %{_libdir}/gio/modules %endif %postun -n libglib-2_0-0 -p /sbin/ldconfig %postun -n libgobject-2_0-0 -p /sbin/ldconfig %postun -n libgthread-2_0-0 -p /sbin/ldconfig %postun -n libgio-2_0-0 -p /sbin/ldconfig %postun -n libgmodule-2_0-0 -p /sbin/ldconfig %postun -n libgio-fam %if 0 ############################################################################### # Note: when updating this scriptlet, don't forget to also update baselibs.conf ############################################################################### %endif %if "%{_lib}" == "lib64" [ -x %{_bindir}/gio-querymodules-64 ] && %{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules || : %else [ -x %{_bindir}/gio-querymodules ] && %{_bindir}/gio-querymodules %{_libdir}/gio/modules || : %endif %files tools %{_bindir}/gapplication %{_bindir}/gdbus %{_bindir}/gio %{_bindir}/gio-launch-desktop %{_bindir}/gio-querymodules* %{_bindir}/glib-compile-schemas %{_bindir}/gresource %{_bindir}/gsettings %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/gapplication %{_datadir}/bash-completion/completions/gdbus %{_datadir}/bash-completion/completions/gio %{_datadir}/bash-completion/completions/gresource %{_datadir}/bash-completion/completions/gsettings %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/_gsettings %{_mandir}/man1/gapplication.1%{?ext_man} %{_mandir}/man1/gdbus.1%{?ext_man} %{_mandir}/man1/gio.1%{?ext_man} %{_mandir}/man1/gio-querymodules.1%{?ext_man} %{_mandir}/man1/glib-compile-schemas.1%{?ext_man} %{_mandir}/man1/gresource.1%{?ext_man} %{_mandir}/man1/gsettings.1%{?ext_man} # We put those files here, but they don't really belong here. They just don't # have a better home... The zzz-glib2 scripts could arguably be in # libglib-2_0-0 but that would break the shared library policy. %{_sysconfdir}/profile.d/zzz-glib2.* %files -n gio-branding-upstream %doc README.Gsettings-overrides %config (noreplace) %{_sysconfdir}/gnome_defaults.conf %files -n libglib-2_0-0 %license COPYING %doc AUTHORS README NEWS %{_libdir}/libglib*.so.* %files -n libgmodule-2_0-0 %{_libdir}/libgmodule*.so.* %files -n libgobject-2_0-0 %{_libdir}/libgobject*.so.* %files -n libgthread-2_0-0 %{_libdir}/libgthread*.so.* %files -n libgio-2_0-0 %{_libdir}/libgio*.so.* %dir %{_libdir}/gio %dir %{_libdir}/gio/modules %ghost %{_libdir}/gio/modules/giomodule.cache %dir %{_datadir}/glib-2.0/ %dir %{_datadir}/glib-2.0/schemas/ %ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled %{_datadir}/applications/gnome-mimeapps.list %dir %{_localstatedir}/cache/gio-2.0 %ghost %{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list %ghost %{_localstatedir}/cache/gio-2.0/xfce-mimeapps.list %ghost %{_localstatedir}/cache/gio-2.0/lxde-mimeapps.list %files -n libgio-fam %{_libdir}/gio/modules/libgiofam.so %files devel %doc HACKING README.rationale %{_bindir}/gdbus-codegen %{_bindir}/glib-compile-resources %{_bindir}/glib-genmarshal %{_bindir}/glib-gettextize %{_bindir}/glib-mkenums %{_bindir}/gobject-query %{_bindir}/gtester %{_bindir}/gtester-report %{_mandir}/man?/gdbus-codegen*%{ext_man} %{_mandir}/man?/glib-compile-resources*%{ext_man} %{_mandir}/man?/glib-genmarshal*%{ext_man} %{_mandir}/man?/glib-gettextize*%{ext_man} %{_mandir}/man?/glib-mkenums*%{ext_man} %{_mandir}/man?/gobject-query*%{ext_man} %{_mandir}/man?/gtester*%{ext_man} %dir %{_datadir}/aclocal %{_datadir}/aclocal/glib-2.0.m4 %{_datadir}/aclocal/glib-gettext.m4 %{_datadir}/aclocal/gsettings.m4 %dir %{_datadir}/gettext/its/ %{_datadir}/gettext/its/gschema* %dir %{_datadir}/glib-2.0/ %{_datadir}/glib-2.0/gdb/ %{_datadir}/glib-2.0/gettext/ %{_datadir}/glib-2.0/codegen/ %{_datadir}/glib-2.0/schemas/gschema.dtd %{_datadir}/glib-2.0/valgrind/ %{_includedir}/glib-2.0 %{_includedir}/gio-unix-2.0 %{_libdir}/lib*.so %dir %{_libdir}/glib-2.0/ %{_libdir}/glib-2.0/include/ %{_libdir}/pkgconfig/*.pc %{_datadir}/gtk-doc/html/gio %{_datadir}/gtk-doc/html/glib %{_datadir}/gtk-doc/html/gobject %{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py %if %{with systemtap} %dir %{_datadir}/systemtap %dir %{_datadir}/systemtap/tapset %dir %{_datadir}/systemtap/tapset/* %{_datadir}/systemtap/tapset/*/libgio-*.so.*.stp %{_datadir}/systemtap/tapset/*/libglib-*.so.*.stp %{_datadir}/systemtap/tapset/*/libgobject-*.so.*.stp %endif %{_rpmmacrodir}/macros.glib2 # Own these directories to not avoid breakages throughout the project %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html # Own these directories to avoid build requirement on gdb # only for directories ownership %dir %{_datadir}/gdb %dir %{_datadir}/gdb/auto-load %dir %{_datadir}/gdb/auto-load%{_prefix} %dir %{_datadir}/gdb/auto-load%{_libdir} %files devel-static %{_libdir}/lib*.a %files lang -f glib20.lang %files tests %{_libexecdir}/installed-tests %{_datadir}/installed-tests %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor