Bug#726597: Please document Acquire::http::ProxyAutoDetect
On Wed, Oct 16, 2013 at 10:39:06PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> Package: apt
> Version: 0.8.0
> Severity: wishlist
Thanks for your bugreport.
> Acquire::http::ProxyAutoDetect has become very handy for autodetecting
> networks with apt-cachers like ACNG (see for example squid-deb-proxy).
>
> In other words, allows painless proxy discovery for those of us proxy impaired.
>
> Saddly it is not documented in apt.conf(5). Being documented would help in
> implementations like the one described in #726430.
Indeed, how do you like the attach (mostly) documentation patch? If
that covers your needs I will merge it into the debian/sid branch.
Cheers,
Michael
> Thanks, Lisandro.
>
> -- System Information:
> Debian Release: jessie/sid
> APT prefers unstable
> APT policy: (990, 'unstable'), (500, 'testing'), (101, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 3.10.11+edid (SMP w/2 CPU cores)
> Locale: LANG=es_AR.UTF-8, LC_CTYPE=es_AR.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/bash
>
> Versions of packages apt depends on:
> ii debian-archive-keyring 2012.4
> ii gnupg 1.4.15-1
> ii libapt-pkg4.12 0.9.12.1
> ii libc6 2.17-93
> ii libgcc1 1:4.8.1-10
> ii libstdc++6 4.8.1-10
>
> apt recommends no packages.
>
> Versions of packages apt suggests:
> pn apt-doc <none>
> ii aptitude 0.6.8.2-1.2
> ii dpkg-dev 1.17.1
> ii python-apt 0.8.9.1+b1
> ii xz-utils 5.1.1alpha+20120614-2
>
> -- no debconf information
>
>
> --
> To UNSUBSCRIBE, email to deity-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] 20131017013906.18704.95742.reportbug@luna.lisandropm.com.ar">http://lists.debian.org/[🔎] 20131017013906.18704.95742.reportbug@luna.lisandropm.com.ar
>
>From fb099a0b8dc1844a2141f7340db93b6adf9e0b14 Mon Sep 17 00:00:00 2001
From: Michael Vogt <mvo@debian.org>
Date: Sat, 19 Oct 2013 18:29:59 +0200
Subject: [PATCH] add Acquire::http::Proxy-Auto-Detect to the apt.conf.5
manpage (closes: 726597)
---
doc/apt-verbatim.ent | 6 ++++++
doc/apt.conf.5.xml | 8 ++++++++
methods/http.cc | 6 +++++-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent
index c9bb061..0d0d95c 100644
--- a/doc/apt-verbatim.ent
+++ b/doc/apt-verbatim.ent
@@ -124,6 +124,12 @@
</citerefentry>"
>
+<!ENTITY squid-deb-proxy-client "<citerefentry>
+ <refentrytitle><command>squid-deb-proxy-client</command></refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>"
+>
+
<!ENTITY debsign "<citerefentry>
<refentrytitle><command>debsign</command></refentrytitle>
<manvolnum>1</manvolnum>
diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml
index 42119ba..e8da666 100644
--- a/doc/apt.conf.5.xml
+++ b/doc/apt.conf.5.xml
@@ -396,6 +396,14 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
<para><literal>Acquire::http::User-Agent</literal> can be used to set a different
User-Agent for the http download method as some proxies allow access for clients
only if the client uses a known identifier.</para>
+
+ <para><literal>Acquire::http::Proxy-Auto-Detect</literal> can be used to
+ specify a external command to discover the http proxy to use. Apt expects
+ the command to output the proxy on stdout in the style
+ <literal>http://proxy:port/</literal>. See the
+ &squid-deb-proxy-client; package for a example implementation that
+ uses avahi.</para>
+
</listitem>
</varlistentry>
diff --git a/methods/http.cc b/methods/http.cc
index 278ddb2..5622c33 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -1108,7 +1108,6 @@ bool HttpMethod::Configuration(string Message)
PipelineDepth = _config->FindI("Acquire::http::Pipeline-Depth",
PipelineDepth);
Debug = _config->FindB("Debug::Acquire::http",false);
- AutoDetectProxyCmd = _config->Find("Acquire::http::ProxyAutoDetect");
// Get the proxy to use
AutoDetectProxy();
@@ -1373,6 +1372,11 @@ int HttpMethod::Loop()
/* */
bool HttpMethod::AutoDetectProxy()
{
+ // option is "Acquire::http::Proxy-Auto-Detect" but we allow the old
+ // name without the dash ("-")
+ AutoDetectProxyCmd = _config->Find("Acquire::http::Proxy-Auto-Detect",
+ _config->Find("Acquire::http::ProxyAutoDetect"));
+
if (AutoDetectProxyCmd.empty())
return true;
--
1.8.3.2
Reply to: