summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2014-11-05 17:48:11 +0100
committerMichael Vogt <mvo@ubuntu.com>2014-11-05 17:48:11 +0100
commit3e68f7e41022790619c698a32390a5256fadba7c (patch)
treed9a9e08517ecedc342177512921a2fba43615fa1
parent6e2261d0f250406058d66b360080aa986953ae19 (diff)
parent28460cb27846b2437010b08adf10bde18e370974 (diff)
Merge branch 'debian/sid' into debian/experimental
Conflicts: debian/changelog
-rw-r--r--apt-pkg/deb/dpkgpm.cc23
-rw-r--r--debian/changelog16
-rw-r--r--doc/examples/configure-index4
3 files changed, 39 insertions, 4 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 95fae9a28..0cded32e1 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -55,6 +55,18 @@
using namespace std;
+APT_PURE static unsigned int
+EnvironmentSize()
+{
+ unsigned int size = 0;
+ char **envp = environ;
+
+ while (*envp != NULL)
+ size += strlen (*envp++) + 1;
+
+ return size;
+}
+
class pkgDPkgPMPrivate
{
public:
@@ -1230,8 +1242,15 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
fd_set rfds;
struct timespec tv;
- unsigned int const MaxArgs = _config->FindI("Dpkg::MaxArgs",8*1024);
- unsigned int const MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes",32*1024);
+ // FIXME: do we really need this limit when we have MaxArgBytes?
+ unsigned int const MaxArgs = _config->FindI("Dpkg::MaxArgs",32*1024);
+
+ // try to figure out the max environment size
+ int OSArgMax = sysconf(_SC_ARG_MAX);
+ if(OSArgMax < 0)
+ OSArgMax = 32*1024;
+ OSArgMax -= EnvironmentSize() - 2*1024;
+ unsigned int const MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes", OSArgMax);
bool const NoTriggers = _config->FindB("DPkg::NoTriggers", false);
if (RunScripts("DPkg::Pre-Invoke") == false)
diff --git a/debian/changelog b/debian/changelog
index 2b3d739b4..a196ed5e7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -213,6 +213,22 @@ apt (1.1~exp1) experimental; urgency=low
-- Michael Vogt <mvo@debian.org> Thu, 19 Jun 2014 12:01:48 +0200
+apt (1.0.9.3) unstable; urgency=medium
+
+ [ josch ]
+ * implement the updated build profile spec
+
+ [ Michael Vogt ]
+ * methods/rsh.cc: replace strcat with std::string (Closes: #76442)
+
+ [ Guillem Jover ]
+ * Update Status field values handling
+
+ [ David Kalnischkies ]
+ * don't cleanup cdrom files in apt-get update (Closes: 765458)
+
+ -- Michael Vogt <mvo@debian.org> Wed, 15 Oct 2014 19:49:38 +0200
+
apt (1.0.9.2) unstable; urgency=medium
[ Michael Vogt ]
diff --git a/doc/examples/configure-index b/doc/examples/configure-index
index 2925733d7..ef1ae056d 100644
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@ -414,8 +414,8 @@ DPkg
FlushSTDIN "true";
// Control the size of the command line passed to dpkg.
- MaxBytes 1024;
- MaxArgs 350;
+ MaxArgBytes 32768;
+ MaxArgs 8192;
// controls if apt will apport on the first dpkg error or if it
// tries to install as many packages as possible