apt ABI for the pkgPackageManager interface
(can be reverted on the next ABI break)
}
/*}}}*/
// DPkgPM::WriteHistoryTag /*{{{*/
}
/*}}}*/
// DPkgPM::WriteHistoryTag /*{{{*/
-void pkgDPkgPM::WriteHistoryTag(string tag, string value)
+void pkgDPkgPM::WriteHistoryTag(FILE *history_out, string tag, string value)
{
if (value.size() > 0)
{
{
if (value.size() > 0)
{
_config->Find("Dir::Log::History"));
if (!history_name.empty())
{
_config->Find("Dir::Log::History"));
if (!history_name.empty())
{
- history_out = fopen(history_name.c_str(),"a");
+ FILE *history_out = fopen(history_name.c_str(),"a");
chmod(history_name.c_str(), 0644);
fprintf(history_out, "\nStart-Date: %s\n", timestr);
string remove, purge, install, upgrade, downgrade;
chmod(history_name.c_str(), 0644);
fprintf(history_out, "\nStart-Date: %s\n", timestr);
string remove, purge, install, upgrade, downgrade;
remove += I.Name() + string(" (") + Cache[I].CurVersion + string("), ");
}
}
remove += I.Name() + string(" (") + Cache[I].CurVersion + string("), ");
}
}
- WriteHistoryTag("Install", install);
- WriteHistoryTag("Upgrade", upgrade);
- WriteHistoryTag("Downgrade",downgrade);
- WriteHistoryTag("Remove",remove);
- WriteHistoryTag("Purge",purge);
- fflush(history_out);
+ WriteHistoryTag(history_out, "Install", install);
+ WriteHistoryTag(history_out, "Upgrade", upgrade);
+ WriteHistoryTag(history_out, "Downgrade",downgrade);
+ WriteHistoryTag(history_out, "Remove",remove);
+ WriteHistoryTag(history_out, "Purge",purge);
+ fclose(history_out);
+ string history_name = flCombine(_config->FindDir("Dir::Log"),
+ _config->Find("Dir::Log::History"));
+ if (!history_name.empty())
- if (dpkg_error.size() > 0)
- fprintf(history_out, "Error: %s\n", dpkg_error.c_str());
+ FILE *history_out = fopen(history_name.c_str(),"a");
fprintf(history_out, "End-Date: %s\n", timestr);
fclose(history_out);
}
fprintf(history_out, "End-Date: %s\n", timestr);
fclose(history_out);
}
if(stopOnError)
RunScripts("DPkg::Post-Invoke");
if(stopOnError)
RunScripts("DPkg::Post-Invoke");
if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV)
strprintf(dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]);
else if (WIFEXITED(Status) != 0)
if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV)
strprintf(dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]);
else if (WIFEXITED(Status) != 0)
strprintf(dpkg_error, "Sub-process %s exited unexpectedly",Args[0]);
if(dpkg_error.size() > 0)
strprintf(dpkg_error, "Sub-process %s exited unexpectedly",Args[0]);
if(dpkg_error.size() > 0)
_error->Error(dpkg_error.c_str());
_error->Error(dpkg_error.c_str());
+ string history_name = flCombine(_config->FindDir("Dir::Log"),
+ _config->Find("Dir::Log::History"));
+ if (!history_name.empty())
+ {
+ FILE *history_out = fopen(history_name.c_str(),"a");
+ fprintf(history_out, "Error: %s\n", dpkg_error.c_str());
+ fclose(history_out);
+ }
+ }
char dpkgbuf[1024];
int dpkgbuf_pos;
FILE *term_out;
char dpkgbuf[1024];
int dpkgbuf_pos;
FILE *term_out;
- FILE *history_out;
- string dpkg_error;
protected:
int pkgFailures;
protected:
int pkgFailures;
// Helpers
bool RunScriptsWithPkgs(const char *Cnf);
bool SendV2Pkgs(FILE *F);
// Helpers
bool RunScriptsWithPkgs(const char *Cnf);
bool SendV2Pkgs(FILE *F);
- void WriteHistoryTag(string tag, string value);
+ void WriteHistoryTag(FILE* history_out, string tag, string value);
// apport integration
void WriteApportReport(const char *pkgpath, const char *errormsg);
// apport integration
void WriteApportReport(const char *pkgpath, const char *errormsg);
bool Debug;
bool DepAdd(pkgOrderList &Order,PkgIterator P,int Depth = 0);
bool Debug;
bool DepAdd(pkgOrderList &Order,PkgIterator P,int Depth = 0);
- void ImmediateAdd(PkgIterator P, bool UseInstallVer, unsigned const int &Depth = 0);
+ // binary-compat change, fix on next abi break
+ void ImmediateAdd(PkgIterator P, bool UseInstallVer) {
+ ImmediateAdd(P, UseInstallVer, 0);
+ }
+ void ImmediateAdd(PkgIterator P, bool UseInstallVer, unsigned const int &Depth);
virtual OrderResult OrderInstall();
bool CheckRConflicts(PkgIterator Pkg,DepIterator Dep,const char *Ver);
bool CreateOrderList();
virtual OrderResult OrderInstall();
bool CheckRConflicts(PkgIterator Pkg,DepIterator Dep,const char *Ver);
bool CreateOrderList();
+apt (0.7.25ubuntu2) lucid; urgency=low
+
+ * Change history branch so that it does not break the
+ apt ABI for the pkgPackageManager interface
+ (can be reverted on the next ABI break)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 23 Dec 2009 10:14:16 +0100
+
apt (0.7.25ubuntu1) lucid; urgency=low
* Merged from the mvo branch
apt (0.7.25ubuntu1) lucid; urgency=low
* Merged from the mvo branch