Package: src:libproxy Version: 0.4.11-4 Severity: serious Tags: sid stretch patch confirmed User: [email protected] Usertags: libstdc++-cxx11
confirmed, see https://people.debian.org/~doko/logs/gcc5-20150701/libproxy_0.4.11-4_unstable_gcc5.log cmake should binNMUed immediately after this upload. the qt5 stack depends on this, so it is important to get this done soon. Background [1]: libstdc++6 introduces a new ABI to conform to the C++11 standard, but keeps the old ABI to not break existing binaries. Packages which are built with g++-5 from experimental (not the one from testing/unstable) are using the new ABI. Libraries built from this source package export some of the new __cxx11 or B5cxx11 symbols, and dropping other symbols. If these symbols are part of the API of the library, then this rebuild with g++-5 will trigger a transition for the library. What is needed: - Rebuild the library using g++/g++-5 from experimental. Note that most likely all C++ libraries within the build dependencies need a rebuild too. You can find the log for a rebuild in https://people.debian.org/~doko/logs/gcc5-20150701/ Search for "BEGIN GCC CXX11" in the log. - Decide if the symbols matching __cxx11 or B5cxx11 are part of the library API, and are used by the reverse dependencies of the library. - If there are no symbols matching __cxx11 or B5cxx11 in the symbols forming the library API, you should close this issue with a short explanation. - If there are no reverse dependencies, it should be the package maintainers decision if a transition is needed. However this might break software which is not in the Debian archive, and built against these packages. - If a library transition is needed, please prepare for the change. Rename the library package, append "v5" to the name of the package (e.g. libfoo2 -> libfoo2v5). Such a change can be avoided, if you have a soversion bump and you upload this version instead of the renamed package. Prepare a patch and attach it to this issue (mark this issue with patch), so that it is possible to NMU such a package. We'll probably have more than hundred transitions triggered. Then reassign the issue to release.debian.org and properly tag it as a transition issue, by sending an email to [email protected]: user [email protected] usertag <this issue> + transition block <this issue> by 790756 reassign <this issue> release.debian.org - If unsure if a transition is needed, please tag the issue with help to ask for feedback from other Debian developers. The libstdc++6 transition will be a large one, and it will come with a lot of pain. Please help it by preparing the follow-up transitions. [1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition
diff -Nru libproxy-0.4.11/debian/changelog libproxy-0.4.11/debian/changelog --- libproxy-0.4.11/debian/changelog 2013-11-03 13:34:44.000000000 +0100 +++ libproxy-0.4.11/debian/changelog 2015-08-02 18:17:26.000000000 +0200 @@ -1,3 +1,12 @@ +libproxy (0.4.11-4.1) unstable; urgency=medium + + * Non maintainer upload. + * Rename library libproxy1 -> libproxy1v5, needed as a follow-up transition + for the libstdc++6 ABI changes (patch by Sebastien Bacher). + Addresses: #. + + -- Matthias Klose <[email protected]> Sun, 02 Aug 2015 18:11:31 +0200 + libproxy (0.4.11-4) unstable; urgency=low * Upload to unstable diff -Nru libproxy-0.4.11/debian/control libproxy-0.4.11/debian/control --- libproxy-0.4.11/debian/control 2013-11-03 13:43:09.000000000 +0100 +++ libproxy-0.4.11/debian/control 2015-08-02 18:20:15.000000000 +0200 @@ -10,6 +9,7 @@ Uploaders: Debian GNOME Maintainers <[email protected]>, Laurent Bigonville <[email protected]> Build-Depends-Indep: cli-common-dev (>= 0.5.7~), mono-devel (>= 2.4.3) Build-Depends: debhelper (>= 9), + g++ (>= 4:5.2), gnome-pkg-tools, netbase, cmake, @@ -29,12 +29,14 @@ Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/packages/unstable/libproxy/ Homepage: http://code.google.com/p/libproxy/ -Package: libproxy1 +Package: libproxy1v5 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libproxy1 +Replaces: libproxy1 Description: automatic proxy configuration management library (shared) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -46,7 +48,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (GSettings plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -59,7 +61,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (KConfig plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -72,7 +74,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (Network Manager plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -98,7 +100,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (Webkit plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -113,7 +115,7 @@ XS-Testsuite: autopkgtest Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (devel) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -137,7 +139,7 @@ Section: python Depends: ${python:Depends}, ${misc:Depends}, - libproxy1 (>= ${source:Version}) + libproxy1v5 (>= ${source:Version}) Description: automatic proxy configuration management library (python) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. diff -Nru libproxy-0.4.11/debian/control.in libproxy-0.4.11/debian/control.in --- libproxy-0.4.11/debian/control.in 2013-11-03 13:33:47.000000000 +0100 +++ libproxy-0.4.11/debian/control.in 2015-08-02 18:20:03.000000000 +0200 @@ -5,6 +5,7 @@ Uploaders: @GNOME_TEAM@ Build-Depends-Indep: cli-common-dev (>= 0.5.7~), mono-devel (>= 2.4.3) Build-Depends: debhelper (>= 9), + g++ (>= 4:5.2), gnome-pkg-tools, netbase, cmake, @@ -24,12 +25,14 @@ Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/packages/unstable/libproxy/ Homepage: http://code.google.com/p/libproxy/ -Package: libproxy1 +Package: libproxy1v5 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libproxy1 +Replaces: libproxy1 Description: automatic proxy configuration management library (shared) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -41,7 +44,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (GSettings plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -54,7 +57,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (KConfig plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -67,7 +70,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (Network Manager plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -93,7 +96,7 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (Webkit plugin) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -108,7 +111,7 @@ XS-Testsuite: autopkgtest Depends: ${shlibs:Depends}, ${misc:Depends}, - libproxy1 (= ${binary:Version}) + libproxy1v5 (= ${binary:Version}) Description: automatic proxy configuration management library (devel) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. @@ -132,7 +135,7 @@ Section: python Depends: ${python:Depends}, ${misc:Depends}, - libproxy1 (>= ${source:Version}) + libproxy1v5 (>= ${source:Version}) Description: automatic proxy configuration management library (python) libproxy is a lightweight library which makes it easy to develop applications proxy-aware with a simple and stable API. diff -Nru libproxy-0.4.11/debian/control.in.orig libproxy-0.4.11/debian/control.in.orig --- libproxy-0.4.11/debian/control.in.orig 1970-01-01 01:00:00.000000000 +0100 +++ libproxy-0.4.11/debian/control.in.orig 2013-11-03 13:33:47.000000000 +0100 @@ -0,0 +1,164 @@ +Source: libproxy +Section: libs +Priority: optional +Maintainer: Emilio Pozuelo Monfort <[email protected]> +Uploaders: @GNOME_TEAM@ +Build-Depends-Indep: cli-common-dev (>= 0.5.7~), mono-devel (>= 2.4.3) +Build-Depends: debhelper (>= 9), + gnome-pkg-tools, + netbase, + cmake, + python-all-dev (>= 2.6.6-3~), + network-manager-dev [linux-any], + libdbus-1-dev, + libmozjs185-dev (>= 1.8.5), + kdelibs5-dev, + libqt4-dev, + libwebkitgtk-3.0-dev, + libjavascriptcoregtk-3.0-dev, + libglib2.0-dev (>= 2.26), + libxmu-dev +Standards-Version: 3.9.4 +X-Python-Version: >= 2.5 +Vcs-Svn: svn://anonscm.debian.org/pkg-gnome/packages/unstable/libproxy +Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/packages/unstable/libproxy/ +Homepage: http://code.google.com/p/libproxy/ + +Package: libproxy1 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: automatic proxy configuration management library (shared) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the shared library. + +Package: libproxy1-plugin-gsettings +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libproxy1 (= ${binary:Version}) +Description: automatic proxy configuration management library (GSettings plugin) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the plugin to allow libproxy to read proxy settings from + GSettings (GNOME 3) + +Package: libproxy1-plugin-kconfig +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libproxy1 (= ${binary:Version}) +Description: automatic proxy configuration management library (KConfig plugin) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the plugin to allow libproxy to read proxy settings from + KConfig (KDE 4) + +Package: libproxy1-plugin-networkmanager +Architecture: linux-any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libproxy1 (= ${binary:Version}) +Description: automatic proxy configuration management library (Network Manager plugin) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the plugin to allow libproxy to read information from + Network Manager. + +Package: libproxy1-plugin-mozjs +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libproxy1 (= ${binary:Version}) +Description: automatic proxy configuration management library (mozjs plugin) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the plugin to allow libproxy to interpret PAC files + using mozjs + +Package: libproxy1-plugin-webkit +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libproxy1 (= ${binary:Version}) +Description: automatic proxy configuration management library (Webkit plugin) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the plugin to allow libproxy to interpret PAC files + using Webkit + +Package: libproxy-dev +Architecture: any +Multi-Arch: same +Section: libdevel +XS-Testsuite: autopkgtest +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libproxy1 (= ${binary:Version}) +Description: automatic proxy configuration management library (devel) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the development files including vala bindings. + +Package: libproxy-tools +Section: utils +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: automatic proxy configuration management library (tools) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains a program to interact with libproxy from the + command line. + +Package: python-libproxy +Architecture: all +Section: python +Depends: ${python:Depends}, + ${misc:Depends}, + libproxy1 (>= ${source:Version}) +Description: automatic proxy configuration management library (python) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the Python bindings. + +Package: libproxy0.4-cil +Architecture: all +Section: cli-mono +Depends: ${cli:Depends}, + ${misc:Depends} +Description: automatic proxy configuration management library (CLI) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains the CLI bindings. + +Package: libproxy-cil-dev +Architecture: all +Section: cli-mono +Depends: ${cli:Depends}, + ${misc:Depends}, + libproxy0.4-cil (= ${binary:Version}) +Description: automatic proxy configuration management library (CLI devel) + libproxy is a lightweight library which makes it easy to develop + applications proxy-aware with a simple and stable API. + . + This package contains development files for the CLI bindings, and should be + used for compilation. diff -Nru libproxy-0.4.11/debian/libproxy1.install libproxy-0.4.11/debian/libproxy1.install --- libproxy-0.4.11/debian/libproxy1.install 2012-02-15 15:08:52.000000000 +0100 +++ libproxy-0.4.11/debian/libproxy1.install 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -usr/lib/*/libproxy.so.* diff -Nru libproxy-0.4.11/debian/libproxy1v5.install libproxy-0.4.11/debian/libproxy1v5.install --- libproxy-0.4.11/debian/libproxy1v5.install 1970-01-01 01:00:00.000000000 +0100 +++ libproxy-0.4.11/debian/libproxy1v5.install 2015-08-02 18:17:06.000000000 +0200 @@ -0,0 +1 @@ +usr/lib/*/libproxy.so.* diff -Nru libproxy-0.4.11/debian/rules libproxy-0.4.11/debian/rules --- libproxy-0.4.11/debian/rules 2013-09-14 12:40:53.000000000 +0200 +++ libproxy-0.4.11/debian/rules 2015-08-02 18:17:06.000000000 +0200 @@ -3,7 +3,7 @@ include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk SHLIBVER := 0.4.11 -libproxy := $(shell sed -nr 's/^Package:[[:space:]]*(libproxy[0-9]+)[[:space:]]*$$/\1/p' debian/control.in) +libproxy := $(shell sed -nr 's/^Package:[[:space:]]*(libproxy[0-9]+v5)[[:space:]]*$$/\1/p' debian/control.in) #export DH_VERBOSE=1

