Exemple #1
0
void mpkg::exportBase(string output_dir)
{
	say("Exporting data to %s directory\n",output_dir.c_str());
	// First of all, clear previous contents
	system("rm -rf " + output_dir+"; mkdir -p " + output_dir);
	PACKAGE_LIST allPackages;
	SQLRecord sqlSearch;
	sqlSearch.addField("package_installed", 1);
	get_packagelist(&sqlSearch, &allPackages);
	say("Received %d packages\n",allPackages.size());
	for (int i=0; i<allPackages.size(); i++)
	{
		say("[%d/%d] Exporting package %s\n",i+1,allPackages.size(),allPackages.get_package(i)->get_name()->c_str());
		db->exportPackage(output_dir, allPackages.get_package(i));
	}
}
Exemple #2
0
bool mpkg::repair(string fname)
{
	SQLRecord sqlSearch;
	sqlSearch.addField("package_name", &fname);
	sqlSearch.addField("package_installed", 1);
	PACKAGE_LIST p;
	get_packagelist(&sqlSearch, &p);
	if (p.size()==1)
	{
		return repair(p.get_package(0));
	}
	else {
		say(_("Cannot repair or reinstall package %s: it is not installed\n"), fname.c_str());
		return false;
	}
}
Exemple #3
0
bool mpkg::checkPackageIntegrity(string pkgName)
{
	SQLRecord sqlSearch;
	sqlSearch.addField("package_name", &pkgName);
	sqlSearch.addField("package_installed", ST_INSTALLED);
	PACKAGE_LIST table;
	get_packagelist(&sqlSearch, &table);
	if (table.size()==0)
	{
		mError(_("No package \"") + pkgName + _("\" is installed"));
		return true;
	}
	if (table.size()!=1)
	{
		mError(_("Received ") + IntToStr(table.size()) + _(" packages, ambiguity!"));
		return false;
	}
	return checkPackageIntegrity(table.get_package(0));
}