|
@@ -1535,7 +1535,7 @@ bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix,
|
|
|
buf[end-start] = 0x0;
|
|
buf[end-start] = 0x0;
|
|
|
if (regexec(&Pattern,buf,0,0,0) != 0)
|
|
if (regexec(&Pattern,buf,0,0,0) != 0)
|
|
|
continue;
|
|
continue;
|
|
|
- res &= TryToInstall(Pkg,Cache,Fix,false,BrokenFix,ExpectedInst);
|
|
|
|
|
|
|
+ res &= TryToInstall(Pkg,Cache,Fix,false,true,ExpectedInst);
|
|
|
found = true;
|
|
found = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1595,6 +1595,18 @@ bool DoInstall(CommandLine &CmdL)
|
|
|
bool Remove = DefRemove;
|
|
bool Remove = DefRemove;
|
|
|
char *VerTag = 0;
|
|
char *VerTag = 0;
|
|
|
bool VerIsRel = false;
|
|
bool VerIsRel = false;
|
|
|
|
|
+
|
|
|
|
|
+ // this is a task!
|
|
|
|
|
+ if (Length >= 1 && S[Length - 1] == '^')
|
|
|
|
|
+ {
|
|
|
|
|
+ S[--Length] = 0;
|
|
|
|
|
+ // tasks must always be confirmed
|
|
|
|
|
+ ExpectedInst += 1000;
|
|
|
|
|
+ // see if we can install it
|
|
|
|
|
+ TryInstallTask(Cache, Fix, BrokenFix, ExpectedInst, S);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
while (Cache->FindPkg(S).end() == true)
|
|
while (Cache->FindPkg(S).end() == true)
|
|
|
{
|
|
{
|
|
|
// Handle an optional end tag indicating what to do
|
|
// Handle an optional end tag indicating what to do
|
|
@@ -1743,10 +1755,8 @@ bool DoInstall(CommandLine &CmdL)
|
|
|
return _error->Error(_("Broken packages"));
|
|
return _error->Error(_("Broken packages"));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if (_config->FindB("APT::Get::AutomaticRemove")) {
|
|
|
|
|
- if (!DoAutomaticRemove(Cache))
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (!DoAutomaticRemove(Cache))
|
|
|
|
|
+ return false;
|
|
|
|
|
|
|
|
/* Print out a list of packages that are going to be installed extra
|
|
/* Print out a list of packages that are going to be installed extra
|
|
|
to what the user asked */
|
|
to what the user asked */
|