Your message dated Tue, 16 Feb 2016 21:54:38 +0000
with message-id <[email protected]>
and subject line Bug#758466: fixed in libproxy 0.4.11-5
has caused the Debian Bug report #758466,
regarding [libproxy] Allow bootstrapping a minimal usable libproxy package set
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 [email protected]
immediately.)


-- 
758466: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758466
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: libproxy
Version: 0.4.11-4
Severity: wishlist
Tags: patch

Hi,

Thanks for taking care of libproxy in Debian!

As part of this year's "Bootstrappable Debian" Google Summer of Code
project I took a look at libproxy to break a circular build dependency
as noted in the "Feedback Arc Set" section of
http://bootstrap.debian.net/amd64/ and, more specifically, at
http://bootstrap.debian.net/source/libproxy.html and the
version-specific pages linked from it.  There are two primary goals to
my work on this GSoC project:
- The first goal is to modify some packages so that they may be built in
  some limited way ("nocheck", binary-only, or build profiles like
  "stage1") without some of their usual build dependencies.  In most
  cases this is caused by one or more dependency loops between binary
  and source packages, so that a source package requires for its
  building, directly or indirectly, one of its own binary packages to be
  already built.  The modifications make the source build in a limited
  fashion (not generating documentation, not running tests, not building
  some of the binary packages) so that this may happen with only the
  rest of the build dependencies, so Debian may be bootstrapped on a new
  architecture starting from a very few cross-built toolchain packages
  and then moving along, source package by source package.
- The second goal, which is actually closely related to the first, is
  that in the process of modifications, any changes (some files not
  regenerated, others not built at all) can be made with binary package
  level granularity.  This means that if a binary package is built at
  all during a limited build, then it must have the same contents as the
  same binary package resulting from a full build.  The point here is to
  avoid breakage if other packages in the archive depend on some
  functionality provided by the omitted files; if so, it should be
  obvious that the functionality is missing, and the clearest way to do
  that is by omitting a full binary package or, rather, delaying its
  build until the rest of the build dependencies are present.

The libproxy source package builds what I'd call a minimal usable set of
binary packages (a shared library, a development package for it, a
couple of support packages) and then another set of modules that allow
the core library to interface with various third-party packages.
Consequently, since some of those third-party packages use libproxy on
their own, this creates a lot of build dependency loops.  So what do you
think about the attached patch that checks for a "stage1" build profile
specified in the DEB_BUILD_PROFILES variable and, if so, skips the build
of most of the libproxy modules, thus obviating the need for many of the
build dependencies?

In this iteration, one would also have to manually remove the offending
build dependencies from the control file; I will file another bug that
makes use of the new <profile.*> restriction and the new Build-Profiles
binary stanza header to make this completely automated.  However, that
would have to wait for the actual introduction of build profile-aware
tools in the Debian archive infrastructure.

If anything should go wrong with the patch, it is also available at
https://gitorious.org/roam-debian-bootstrap/libproxy-debian/commits/roam-stage1-build

Thanks in advance for your time, and thanks for your work on Debian!

G'luck,
Peter

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
From b65915d4b632e36b3bfc585fe708e65e984c23bc Mon Sep 17 00:00:00 2001
From: Peter Pentchev <[email protected]>
Date: Sat, 2 Aug 2014 01:57:11 +0300
Subject: [PATCH 1/2] Break a couple of build dependency loops.

Several widely-used libraries depend on libproxy which, in its turn,
tries to build plug-ins to interface with the same widely-used libraries.
This creates several build dependency loops, as outlined on
http://bootstrap.debian.net/source/libproxy.html
and the versioned pages linked from that page.

This commit introduces a stage1 build profile that builds pretty much
only the base libproxy functionality so that the dependent libraries
may be built.  Afterwards, a full build will also generate the plug-ins.
---
 debian/control.in |  4 ++++
 debian/rules      | 35 +++++++++++++++++++++++++----------
 2 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/debian/control.in b/debian/control.in
index e36f5e7..a9c838b 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -3,7 +3,11 @@ Section: libs
 Priority: optional
 Maintainer: Emilio Pozuelo Monfort <[email protected]>
 Uploaders: @GNOME_TEAM@
+# In the stage1 build profile, remove both cli-common-dev and mono-devel.
 Build-Depends-Indep: cli-common-dev (>= 0.5.7~), mono-devel (>= 2.4.3)
+# In the stage1 build profile, remove libmozjs185-dev, kdelibs5-dev,
+# libqt4-dev, libwebkitgtk-3.0-dev, libjavascriptcoregtk-3.0-dev,
+# libglib2.0-dev, libxmu-dev.
 Build-Depends: debhelper (>= 9),
                gnome-pkg-tools,
                netbase,
diff --git a/debian/rules b/debian/rules
index 1be67b7..ec42de8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,41 +10,56 @@ libproxy := $(shell sed -nr 
's/^Package:[[:space:]]*(libproxy[0-9]+)[[:space:]]*
 export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed
 
 # only invoke dh --with cli if cli-common-dev is present
-WITH_CLI = --with cli
-WITH_DOTNET = -DWITH_DOTNET=ON
-ifeq (,$(wildcard /usr/share/perl5/Debian/Debhelper/Sequence/cli.pm))
 WITH_CLI = 
 WITH_DOTNET = -DWITH_DOTNET=OFF
+ifneq (,$(wildcard /usr/share/perl5/Debian/Debhelper/Sequence/cli.pm))
+ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
+WITH_CLI = --with cli
+WITH_DOTNET = -DWITH_DOTNET=ON
+endif
 endif
 
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 CONFIGURE_FLAGS = $(WITH_DOTNET) \
                -DWITH_VALA=ON \
-               -DWITH_GNOME3=ON \
-               -DWITH_MOZJS=ON \
-               -DWITH_WEBKIT3=ON \
                -DGMCS_EXECUTABLE=/usr/bin/mono-csc \
                -DCMAKE_SKIP_RPATH=ON \
                -DBIPR=0 \
                -DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH) \
                
-DLIBEXEC_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/libproxy/$(SHLIBVER)
 
+ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
+CONFIGURE_FLAGS += \
+               -DWITH_GNOME3=ON \
+               -DWITH_MOZJS=ON \
+               -DWITH_WEBKIT3=ON
+DH_EXCLUDE     =
+else
+CONFIGURE_FLAGS += \
+               -DWITH_GNOME3=OFF \
+               -DWITH_MOZJS=OFF \
+               -DWITH_WEBKIT3=OFF
+DH_EXCLUDE     = -Nlibproxy1-plugin-gsettings -Nlibproxy1-plugin-kconfig 
-Nlibproxy1-plugin-mozjs -Nlibproxy1-plugin-webkit -Nlibproxy0.4-cil 
-Nlibproxy-cil-dev
+endif
+
 override_dh_auto_configure:
        dh_auto_configure -- $(CONFIGURE_FLAGS)
 
 override_dh_install-arch:
-       dh_install
+       dh_install $(DH_EXCLUDE)
        rm -f \
          
debian/libproxy-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/libproxy-sharp-*.pc
 
 override_dh_install-indep:
-       dh_install
+       dh_install $(DH_EXCLUDE)
+ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
        sed -i 
's!/usr/lib/mono/libproxy-sharp!/usr/lib/cli/libproxy-sharp-0.4!' \
                debian/libproxy-cil-dev/usr/lib/pkgconfig/libproxy-sharp-1.0.pc
+endif
 
 override_dh_makeshlibs:
-       dh_makeshlibs -V '$(libproxy) (>= $(SHLIBVER))' -- -c4
+       dh_makeshlibs -V '$(libproxy) (>= $(SHLIBVER))' $(DH_EXCLUDE) -- -c4
 
 %:
-       dh $@ $(WITH_CLI) --with python2
+       dh $@ $(WITH_CLI) --with python2 $(DH_EXCLUDE)
-- 
2.1.0.rc1

From ca711b094dced83678dc784f354f4d11ac9686ca Mon Sep 17 00:00:00 2001
From: Peter Pentchev <[email protected]>
Date: Sat, 2 Aug 2014 02:00:21 +0300
Subject: [PATCH 2/2] Regenerate the control file.

---
 debian/control | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/debian/control b/debian/control
index cc432f1..380c958 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,11 @@ Section: libs
 Priority: optional
 Maintainer: Emilio Pozuelo Monfort <[email protected]>
 Uploaders: Debian GNOME Maintainers 
<[email protected]>, Laurent Bigonville 
<[email protected]>
+# In the stage1 build profile, remove both cli-common-dev and mono-devel.
 Build-Depends-Indep: cli-common-dev (>= 0.5.7~), mono-devel (>= 2.4.3)
+# In the stage1 build profile, remove libmozjs185-dev, kdelibs5-dev,
+# libqt4-dev, libwebkitgtk-3.0-dev, libjavascriptcoregtk-3.0-dev,
+# libglib2.0-dev, libxmu-dev.
 Build-Depends: debhelper (>= 9),
                gnome-pkg-tools,
                netbase,
-- 
2.1.0.rc1

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Source: libproxy
Source-Version: 0.4.11-5

We believe that the bug you reported is fixed in the latest version of
libproxy, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Iain Lane <[email protected]> (supplier of updated libproxy package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 16 Feb 2016 13:17:41 +0000
Source: libproxy
Binary: libproxy1v5 libproxy1-plugin-gsettings libproxy1-plugin-kconfig 
libproxy1-plugin-networkmanager libproxy1-plugin-mozjs libproxy1-plugin-webkit 
libproxy-dev libproxy-tools python-libproxy libproxy0.4-cil libproxy-cil-dev
Architecture: source
Version: 0.4.11-5
Distribution: unstable
Urgency: medium
Maintainer: Emilio Pozuelo Monfort <[email protected]>
Changed-By: Iain Lane <[email protected]>
Description:
 libproxy-cil-dev - automatic proxy configuration management library (CLI devel)
 libproxy-dev - automatic proxy configuration management library (devel)
 libproxy-tools - automatic proxy configuration management library (tools)
 libproxy0.4-cil - automatic proxy configuration management library (CLI)
 libproxy1-plugin-gsettings - automatic proxy configuration management library 
(GSettings plugi
 libproxy1-plugin-kconfig - automatic proxy configuration management library 
(KConfig plugin)
 libproxy1-plugin-mozjs - automatic proxy configuration management library 
(mozjs plugin)
 libproxy1-plugin-networkmanager - automatic proxy configuration management 
library (Network Manager
 libproxy1-plugin-webkit - automatic proxy configuration management library 
(Webkit plugin)
 libproxy1v5 - automatic proxy configuration management library (shared)
 python-libproxy - automatic proxy configuration management library (python)
Closes: 758465 758466 758467 768435 768437
Changes:
 libproxy (0.4.11-5) unstable; urgency=medium
 .
   [ Peter Pentchev ]
   * Add explicit zlib build-dependency (Closes: #758465)
   * Break a couple of build dependency loops (Closes: #758466)
   * Add build profile annotations to debian/control (Closes: #758467)
 .
   [ Andreas Henriksson ]
   * Build-depend on dpkg-dev (>= 1.17.2) and bump debhelper to >= 9.20140227
     - these versions introduced build profiles support.
   * Bump Standards-Version to 3.9.5
 .
   [ Iain Lane ]
   * Ack the NMUs, thanks!
   * Fix the build profiles syntax to the current version.
   * 
debian/patches/0001-pacrunner_webkit-allow-linking-against-javascriptcor.patch:
     Cherry-pick - allow building against webkit2gtk. Update BDs too.
   * Add Enhances: from the plugin packages to the library so that people can
     find them easier. (Closes: #768435, #768437)
   * Use the substvar we just added to add Depends on our shared package.
Checksums-Sha1:
 674041e69d74da7aa61640a66356809e6acb084a 3329 libproxy_0.4.11-5.dsc
 de30e4984212017bd8640363588012cc351926b1 9988 libproxy_0.4.11-5.debian.tar.xz
Checksums-Sha256:
 61dcfe3e568c3ea482c9440218ac19274693c64c78d8850382f26eb9c9258244 3329 
libproxy_0.4.11-5.dsc
 bac4502a16b7253e80aff18d16f267ffedf0e8e27c3032dbb6a3333ea5a75dc9 9988 
libproxy_0.4.11-5.debian.tar.xz
Files:
 ff4951ae67e99251c35bd170c144b073 3329 libs optional libproxy_0.4.11-5.dsc
 6cc7c3acc8fb48b225c812040d7515ae 9988 libs optional 
libproxy_0.4.11-5.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJWwyG2AAoJEONS1cUcUEHU7PUP/26BRbzclpEdAUoQCukRgdi2
5cqG5hsMrmGEvR9smic1ZQ+56a+Vhdhw5N/Rm2x+Djwsjfvv1Iei5iOpTDeRgmQN
THhPJsZwIQOIqwBeNpuwcTPaib8TCGuyV3QFuXI+KHutukJH3IgmX7QZnDFvB5vm
jJ9qqpcFDfB1302vFqHfhOujVo4iQMyU8VGJAhA7uD2bbhWgjToZOOI/5YoTewcl
mDFMmKCabP7upJ3MBtrf+v1LxZ+QzN7diAi9wj1njC1/0fpSbynSyAgzE6UhkEDm
o1JC1sFmNqMEf/h1jbyy7gnrOAt3eG3u2I0LL6pWXz5DQY66scWkOBoxmlOt0ncv
Ix1P4E9F6L02K5SwEhferboYQFTYscEWKJsgGiJtNMKw77dW5vCRcIg4iWTd3o+F
urATPMnYhfemrqMoANPjnfsr4lirVKj45u8WyFUJJNFlVmTBLIRoD/8WlAeL821h
JrqZHsW9uQIm3zJD8QKE1AsIIQ9cvK25WG6kf9VULd/THp6ZkrXSQZLHKJfR3lV6
grmdWbuDECY75loi6aoKhUV7BaBQMVPMS/+coLvS3gqxfGbC+F+ZFruDfFbJ13oi
ePvgA9rJ5fi5twtJ/EDqwir5LxrQr1amstoJyeIvAeJoHuP7jeJylrkW8fuNP3HI
VZX4AEvzpj85e6JmGogz
=SsDy
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to