Browse Source

call dpkg with --no-triggers by default

Implemented a long while ago now with relatively good progress reporting
involving triggers is a good time to try delaying the execution of
triggers across dpkg invocations finally by default.

Note: The bugreport talks also about 'smarter' configuration which is a
much bigger part and approached from multiple directions, but doesn't
really involve triggers per-se so considering it decoupled should help
in getting it done…

Closes: #626599
tags/debian/1.3_rc1
David Kalnischkies 5 years ago
parent
commit
0dd19915f4
1 changed files with 7 additions and 6 deletions
  1. +7
    -6
      apt-pkg/deb/dpkgpm.cc

+ 7
- 6
apt-pkg/deb/dpkgpm.cc View File

@@ -1303,7 +1303,7 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
OSArgMax = 32*1024;
OSArgMax -= EnvironmentSize() - 2*1024;
unsigned int const MaxArgBytes = _config->FindI("Dpkg::MaxArgBytes", OSArgMax);
bool const NoTriggers = _config->FindB("DPkg::NoTriggers", false);
bool const NoTriggers = _config->FindB("DPkg::NoTriggers", true);

if (RunScripts("DPkg::Pre-Invoke") == false)
return false;
@@ -1474,6 +1474,12 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
ADDARG(status_fd_buf);
unsigned long const Op = I->Op;

if (NoTriggers == true && I->Op != Item::TriggersPending &&
I->Op != Item::ConfigurePending)
{
ADDARGC("--no-triggers");
}

switch (I->Op)
{
case Item::Remove:
@@ -1520,11 +1526,6 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
break;
}

if (NoTriggers == true && I->Op != Item::TriggersPending &&
I->Op != Item::ConfigurePending)
{
ADDARGC("--no-triggers");
}
char * tmpdir_to_free = nullptr;

// Write in the file or package names


Loading…
Cancel
Save