Your message dated Thu, 25 Apr 2013 12:15:02 +0200 with message-id <20130425101502.GW12846@radis.cristau.org> and subject line Re: Bug#694525: nmu: 227 source packages, for GStaticMutex has caused the Debian Bug report #694525, regarding nmu: 14 packages, for GStaticMutex to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 694525: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694525 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: nmu: 227 source packages, for GStaticMutex
- From: Simon McVittie <smcv@debian.org>
- Date: Tue, 27 Nov 2012 09:05:49 +0000
- Message-id: <20121127090549.GA7716@reptile.pseudorandom.co.uk>
Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: binnmu The upgrade from GLib 2.30 to 2.32 breaks ABI on most non-x86 32-bit architectures (#674156). Specifically, the deprecated struct GStaticMutex, and the deprecated structs GStaticRecMutex and GStaticRWLock (each of which contains a GStaticMutex), change in size on each architecture where the alignment of a double is greater than the size of a pointer: for us, that's armel, armhf, mips, mipsel, powerpc, s390 and sparc, plus probably some -ports architectures. Mitigations: * it's in a deprecated struct * the part of GStaticMutex after the initial pointer is no longer used for anything, so it only really matters when a larger struct contains a GStaticMutex followed by other members Upstream consensus appears to be that since their stable branches 2.32 and 2.34 have the "new" ABI, we are way past the point where reverting it or bumping the SONAME would be useful, so we should just consider the new ABI to be the canonical one. I'm inclined to agree: any package in Debian that gets regular uploads will have been built against the new GLib by now, so we'd have to rebuild even more packages to go back. Here is a lengthy list of binNMUs. I would like these to be done on all architectures: our slower architectures are the ones that really need the rebuild anyway, and if we also rebuild on the fast architectures, then those packages from this list that are multiarch remain co-installable. nmu \ 4store_1.1.4-2 \ aisleriot_1:3.4.1-1 \ alarm-clock-applet_0.3.3-1 \ alarm-clock_1.2.5-1.2 \ allegro5_5.0.7-2 \ alsaplayer_0.99.80-5.1 \ amanda_3.3.1-4 \ ardour_2.8.14-1 \ at-spi2-atk_2.5.3-2 \ ats-lang-anairiats_0.2.3-1 \ ats-lang-anairiats_0.2.6-1 \ audacious-plugins_3.2.3-1 \ audiopreview_0.6-2 \ aweather_0.7-1 \ ayttm_0.6.3-3 \ balsa_2.4.12-1 \ banshee-community-extensions_2.4.0-1 \ betaradio_1.4-1 \ bibledit-gtk_4.6-1 \ bluefish_2.2.3-4 \ bluez_4.99-2 \ bognor-regis_0.6.12+git20101007.02c25268-7 \ brasero_3.4.1-4 \ bsl_0.5.0-2.1 \ buzztard_0.5.0-4 \ byzanz_0.2.2+git22.10.2011-1.3 \ cheese_3.4.2-2 \ cinnamon_1.6.2-1 \ clementine_1.0.1+dfsg-2 \ connman_1.0-1 \ crystalhd_1:0.0~git20110715.fdd2f19-7 \ cutter-testing-framework_1.1.7-1.2 \ darktable_1.0.5-1 \ dbus-glib_0.100-1 \ dsyslog_0.6.0 \ dvdisaster_0.72.4-1 \ efax-gtk_3.2.8-1 \ eiskaltdcpp_2.2.6-4 \ entangle_0.4.1-1 \ farstream_0.1.2-1 \ ffgtk_0.8.1-2 \ fluidsynth_1.1.5-2 \ folks_0.6.9-1 \ foxtrotgps_1.1.1-2 \ fso-deviced_0.11.4-1 \ g2ipmsg_0.9.6+dfsg-1.1 \ gamine_1.1-2 \ garcon_0.1.12-1 \ gbemol_0.3.2-2 \ gcompris_12.01-1 \ gegl_0.2.0-2 \ gentoo_0.19.13-2 \ gfal2_2.0.0-1 \ gftp_2.0.19-4 \ gigedit_0.2.0-1 \ gmerlin_1.2.0~dfsg-2 \ gnac_0.2.4-1 \ gnet_2.0.8-2.2 \ gnome-applets_3.4.1-3 \ gnome-dvb-daemon_1:0.2.8-1 \ gnome-games_1:3.4.2-3 \ gnome-keyring_3.4.1-5 \ gnome-media_3.4.0-1 \ gnome-mud_0.11.2-1 \ gnome-settings-daemon_3.4.2+git20120925.a4c817-2 \ gnome-shell_3.4.2-3 \ gnome-subtitles_1.2-4 \ gnome-sushi_0.4.1-3 \ gnome-vfs_1:2.24.4-1 \ gnomeradio_1.8-2 \ gnomint_1.2.1-4 \ gnonlin_0.10.17-2 \ gnubiff_2.2.15-1 \ gobject-introspection_1.32.1-1 \ goobox_3.0.1-5 \ google-gadgets_0.11.2-6 \ gpe-announce_0.14-2 \ gpe-bluetooth_0.56-3 \ gpredict_1.3-2 \ gsmartcontrol_0.8.6-1.2 \ gst-buzztard_0.5.0-2+deb7u1 \ gst-buzztard_0.6.0-1 \ gst-fluendo-mp3_0.10.15.debian-1 \ gst-plugins-base0.10_0.10.36-1 \ gst0.10-python_0.10.22-3 \ gst123_0.3.1-1 \ gstreamer-hplugins_0.2.0-2 \ gstreamer-sharp_0.9.2-4 \ gstreamer0.10-editing-services_0.10.1-2 \ gstreamer0.10-rtsp_0.10.8-3 \ gstreamer0.10_0.10.36-1 \ gthumb_3:3.0.1-2 \ gtkpod_2.1.2-1 \ guayadeque_0.3.5~ds0-4 \ guile-gnome-platform_2.16.2-1 \ gupnp-dlna_0.6.6-1 \ gupnp-igd_0.2.1-2 \ gxine_0.5.907-2 \ haskell-gstreamer_0.12.1-1 \ haskell-gtk_0.12.3-1 \ heartbeat_3.0.5-3 \ iptux_0.5.3-1 \ istanbul_0.2.2-9 \ jabber-muc_0.8-3 \ jd_2.8.5~beta120206-3 \ jnettop_0.13.0-1 \ kamoso_2.0.2-1 \ lensfun_0.2.5-2 \ libbonobo_2.24.3-1 \ libcanberra_0.28-5 \ libdmapsharing_2.9.15-1 \ libepc_0.4.4-1 \ libgda5_5.0.3-1 \ libgdata_0.12.0-1 \ libgdiplus_2.10-3 \ libglib-perl_3:1.260-1 \ libgnome-keyring_3.4.1-1 \ libgnome-media-profiles_3.0.0-1 \ libgnome_2.32.1-2 \ libgnomecups_0.2.3-5 \ libgsecuredelete_0.2-1 \ libgstreamer-interfaces-perl_0.06-2 \ libgstreamer-perl_0.17-1 \ libgusb_0.1.3-5 \ libinstpatch_1.0.0-3 \ libnice_0.1.2-1 \ libplayer_2.0.1-2.1 \ libvisual-plugins_0.4.0.dfsg.1-7 \ libvisual_0.4.0-5 \ libxr_1.0-2.1 \ libzorpll_3.9.1.3-1 \ lightspark_0.6.0.1-2 \ linphone_3.5.2-10 \ linuxdcpp_1.1.0-1 \ longomatch_0.16.8+git20110626-1 \ lua-lgi_0.6.2-1 \ me-tv_1.3.7-0.2 \ medit_1.0.93-1 \ minbar_0.2.1-7 \ mistelix_0.33-3 \ moodbar_0.1.2-3 \ moodbar_0.1.2-4 \ morla_0.16.1-1.1 \ mp3splt-gtk_0.7.2-2 \ mpd_0.17.1-1 \ mtpfs_1.1-2 \ mysql-proxy_0.8.1-1.1 \ mysql-workbench_5.2.40+dfsg-1 \ netbeans_7.0.1+dfsg1-5 \ network-manager_0.9.4.0-6 \ nufw_2.4.3-2.1 \ obex-data-server_0.4.5-1 \ ocaml-gstreamer_0.1.0-3 \ open-vm-tools_8.8.0+2012.05.21-724730-4 \ openfetion_2.2.1-3.2 \ openhpi_2.14.1-1.2 \ orbit2_2.14.19-0.1 \ packagekit_0.7.6-1 \ pango1.0_1.30.0-1 \ parole_0.2.0.6-1 \ passepartout_0.7.1-1 \ performous_0.6.1-6 \ phonon-backend-gstreamer_4:4.6.0.0-2 \ pidgin-sipe_1.13.1-2 \ pidgin_2.10.6-1 \ pidgin_2.10.6-2 \ pigment-python_0.3.12-2 \ pigment_0.3.17-1 \ projectm_2.1.0+dfsg-1 \ psimedia_1.0.3-git20120506-fb54b6e-1 \ purple-plugin-pack_2.6.3-2 \ qemu-kvm_1.1.2+dfsg-2 \ qemu_1.1.2+dfsg-2 \ qt-gstreamer_0.10.2-2 \ rawstudio_2.0-1 \ rhythmbox_2.97-2.1 \ root-system_5.34.00-1 \ ruby-gnome2_1.1.3-2 \ rygel_0.14.3-2 \ scli_0.4.0-2 \ searchmonkey_0.8.1-8 \ sflphone_1.1.0-2 \ shotwell_0.12.3-2 \ sigx_2.0.2-1 \ slurm-llnl_2.3.4-2 \ snappy-player_0.2-1 \ sofia-sip_1.12.11+20110422-1 \ sound-juicer_3.4.0-3 \ spice-gtk_0.12-4 \ sqlheavy_0.1.1-1 \ squeak-vm_1:4.4.7.2357-1.1 \ stardict_3.0.1-9.1 \ subtitleeditor_0.33.0-1 \ swac-explore_0.2-1.2 \ swami_2.0.0+svn389-1 \ sylpheed_3.2.0-1 \ syncevolution_1.2.99.1-1 \ syslog-ng_3.3.5-2 \ telepathy-farstream_0.4.0-3 \ telepathy-qt_0.9.1-4 \ telepathy-ring_2.1.0-1 \ thoggen_0.7.1-1 \ tilda_0.09.6-2 \ toonloop_2.2.0-1 \ totem_3.0.1-8 \ tumbler_0.1.25-1 \ tuxcmd_0.6.70+dfsg-1 \ uget_1.8.2-1 \ vagalume_0.8.5-4 \ vte3_0.32.2-1 \ vte_0.28.2-5 \ wireshark_1.8.2-1 \ workrave_1.9.909+abc941eb70-1 \ xbmc_11.0~git20120510.82388d5-1 \ xfburn_0.4.3-4 \ xfce4-mailwatch-plugin_1.1.0-5 \ xfce4-volumed_0.1.13-3 \ xfconf_4.8.1-1 \ xmms2_0.8+dfsg-4 \ xmp_3.4.0-1.1 \ xneur_0.15.0-1.1 \ xxxterm_1:1.11.3-1 \ yelp_3.4.2-1 \ zathura_0.1.2-4 \ zorp_3.9.5-4 \ . ALL . -m "Ensure package is built against GLib >= 2.32 (see #674156)" Once all those have been binNMU'd, we can try again with gnome-dvb-daemon: gb gnome-dvb-daemon_1:0.2.9-1 . armel armhf mips mipsel powerpc s390 sparc and it will probably build this time. For some packages that I know to be big or significant, I checked the build logs, confirmed that they were built with GLib 2.32 on all affected architectures and excluded them from the list above. For instance, qt4-x11, qtwebkit, webkit and the Mozilla suite don't need rebuilding, thankfully, because their versions in both testing and unstable were built against GLib 2.32 everywhere. There is scope for doing more of that, but at this stage it's probably quicker to just queue the binNMUs... To get that list I searched codesearch.debian.net for: GStaticMutex, GStaticRecMutex, GStaticRWLock (for GLib) \bStaticMutex, \bStaticRecMutex, \bStaticRWLock (for glibmm) libvisual/libvisual.h (for libvisual) and also included every package with a build-dependency on src:gstreamer0.10, by asking dak (there were too many search results for GstElement to look at them individually). Of the affected packages, these headers mention GStaticMutex, GStaticRecMutex or GStaticRWLock: /usr/include/glibmm-2.4/glibmm/thread.h /usr/include/gstreamer-0.10/gst/audio/gstaudiodecoder.h /usr/include/gstreamer-0.10/gst/audio/gstaudioencoder.h /usr/include/gstreamer-0.10/gst/base/gstcollectpads2.h /usr/include/gstreamer-0.10/gst/check/gstcheck.h (false positive) /usr/include/gstreamer-0.10/gst/gstelement.h /usr/include/gstreamer-0.10/gst/gstobject.h /usr/include/gstreamer-0.10/gst/gstpad.h /usr/include/gstreamer-0.10/gst/gsttask.h /usr/include/gstreamer-0.10/gst/gsttrace.h /usr/include/gstreamer-0.10/gst/rtp/gstbasertpdepayload.h /usr/include/gstreamer-0.10/gst/video/gstbasevideocodec.h /usr/include/libinstpatch-1.0/libinstpatch/IpatchItem.h /usr/include/libvisual-0.4/libvisual/lv_thread.h /usr/include/swami/libswami/SwamiLock.h /usr/include/zorp/connect.h /usr/include/zorp/listen.h /usr/include/zorp/proxy.h glibmm was already built against 2.32 on all architectures, because it has a versioned dependency. So we don't have to binNMU glibmm, only things that depend on it (because those might have been built with the old GLib installed). swami and zorp have a -dev but are in fact leaf packages, so we can stop there. I approximated the Gst stuff by the set of packages build-depending on a package from src:gstreamer0.10. I'm open to suggestions for how to improve on this - in theory, things could indirectly subclass one of the Gst objects that contains a static mutex without directly depending on libgstreamer0.10-dev, but in practice I don't think that really happens. Regards, S
--- End Message ---
--- Begin Message ---
- To: Simon McVittie <smcv@debian.org>, 694525-done@bugs.debian.org
- Subject: Re: Bug#694525: nmu: 227 source packages, for GStaticMutex
- From: Julien Cristau <jcristau@debian.org>
- Date: Thu, 25 Apr 2013 12:15:02 +0200
- Message-id: <20130425101502.GW12846@radis.cristau.org>
- In-reply-to: <20121127090549.GA7716@reptile.pseudorandom.co.uk>
- References: <20121127090549.GA7716@reptile.pseudorandom.co.uk>
On Tue, Nov 27, 2012 at 09:05:49 +0000, Simon McVittie wrote: > Package: release.debian.org > Severity: normal > User: release.debian.org@packages.debian.org > Usertags: binnmu > > The upgrade from GLib 2.30 to 2.32 breaks ABI on most non-x86 32-bit > architectures (#674156). Specifically, the deprecated struct GStaticMutex, > and the deprecated structs GStaticRecMutex and GStaticRWLock (each of which > contains a GStaticMutex), change in size on each architecture where the > alignment of a double is greater than the size of a pointer: for us, that's > armel, armhf, mips, mipsel, powerpc, s390 and sparc, plus probably some -ports > architectures. > Let's call this one done. Cheers, JulienAttachment: signature.asc
Description: Digital signature
--- End Message ---