This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

/!\ Warning:
This is only a proposal at this time, and not approved for project-wide application.
This should not be applied before being officially turned into a GNOME Goal!

GNOME Goal: Use the new deprecation macros to annotate deprecated functions

Summary

Rigth now we just hiding deprecated symbols behind an ifdef. And to help people find the uses of deprecated symbols in their code, GNOME_MAINTAINER_MODE_DEFINES enables those ifdefs. Taken together, these two imply instant build breakage whenever a new deprecation is added.

Thankfully, gcc (other compilers too) has long supported a way to annotate deprecated functions so that each use triggers a compiler warning and we even have a new macro wrapper (G_DEPRECATED) around this function attribute in GLib 2.31; so for use this macro you have to bump the glib dependency in configure.ac to 2.31 in your library.

More info in the Matthias' blog post

Guidelines

Take a look to the GTK+ commit to use the new deprecation macro.

Comments before approval

{i} Add your comments to this goal proposal here

Status of this goal

{i} Tip: If you choose to work on a module, create the bug report on the GNOME bugzilla for the relevant module, and make it block bug <<insert here a link to the tracker bug>>. This way people will know someone already works on it, and won't duplicate the work you're doing.

State

Markup

todo

<: #ff8080> todo

patch

<: #ffcc50> [[GnomeBug:xxxxx|patch]]

done

<: #80ff80> [[GnomeBug:xxxxx|done]]

not needed

<: #80ff80> not needed

Above are the states and corresponding markup to update the modules state table below.

Tarball

Status

core

evolution-data-server

to do

gvfs

to do

mutter

to do

telepathy-mission-control

to do

core-fallback

GConf

to do

gnome-panel

to do

metacity

to do

core-os-services

NetworkManager

to do

core-deps

atk

to do

atkmm

to do

cairo

to do

cairomm

to do

clutter

done

cogl

to do

gcr

to do

gdk-pixbuf

done

glib

done

glibmm

to do

gmime

to do

gstreamer

to do

gtk+

done

gtk-doc

to do

gtkhtml

to do

gtkmm

to do

json-glib

to do

libgcrypt

to do

libgee

to do

libgnome-keyring

to do

libgsf

to do

libical

to do

libnotify

to do

libpeas

to do

librest

to do

libsoup

to do

p11-kit

to do

pango

done

pangomm

to do

telepathy-glib

to do

totem-pl-parser

to do

tracker

to do

vala

to do

vte

to do

apps

devhelp

to do

glade

to do


2024-10-23 11:17