#include "zypp/ZYppFactory.h"
#include "zypp/ZConfig.h"
-using std::endl;
+using namespace std;
using namespace zypp::filesystem;
#define WARNINGMAILPATH "/var/log/YaST2/"
#else
const char* quoteInFilename_m = " \t\'\"";
#endif
-inline std::string rpmQuoteFilename( const Pathname & path_r )
+inline string rpmQuoteFilename( const Pathname & path_r )
{
- std::string path( path_r.asString() );
- for ( std::string::size_type pos = path.find_first_of( quoteInFilename_m );
- pos != std::string::npos;
+ string path( path_r.asString() );
+ for ( string::size_type pos = path.find_first_of( quoteInFilename_m );
+ pos != string::npos;
pos = path.find_first_of( quoteInFilename_m, pos ) )
{
path.insert( pos, "\\" );
static shared_ptr<KeyRingSignalReceiver> sKeyRingReceiver;
-unsigned diffFiles(const std::string file1, const std::string file2, std::string& out, int maxlines)
+unsigned diffFiles(const string file1, const string file2, string& out, int maxlines)
{
const char* argv[] =
{
//if(!prog)
//return 2;
- std::string line;
+ string line;
int count = 0;
for (line = prog.receiveLine(), count=0;
!line.empty();
**
**
** FUNCTION NAME : stringPath
- ** FUNCTION TYPE : inline std::string
+ ** FUNCTION TYPE : inline string
*/
-inline std::string stringPath( const Pathname & root_r, const Pathname & sub_r )
+inline string stringPath( const Pathname & root_r, const Pathname & sub_r )
{
return librpmDb::stringPath( root_r, sub_r );
}
**
**
** FUNCTION NAME : operator<<
- ** FUNCTION TYPE : std::ostream &
+ ** FUNCTION TYPE : ostream &
*/
-std::ostream & operator<<( std::ostream & str, const RpmDb::DbStateInfoBits & obj )
+ostream & operator<<( ostream & str, const RpmDb::DbStateInfoBits & obj )
{
if ( obj == RpmDb::DbSI_NO_INIT )
{
//
//
// METHOD NAME : RpmDb::dumpOn
-// METHOD TYPE : std::ostream &
+// METHOD TYPE : ostream &
//
-std::ostream & RpmDb::dumpOn( std::ostream & str ) const
+ostream & RpmDb::dumpOn( ostream & str ) const
{
str << "RpmDb[";
process?process->getpid():0) )
+ "Packages" );
- std::string line;
- std::string errmsg;
+ string line;
+ string errmsg;
while ( systemReadLine( line ) )
{
if ( rpm_status != 0 )
{
//TranslatorExplanation after semicolon is error message
- ZYPP_THROW(RpmSubprocessException(std::string(_("RPM failed: ")) + (errmsg.empty() ? error_message: errmsg) ) );
+ ZYPP_THROW(RpmSubprocessException(string(_("RPM failed: ") +
+ (errmsg.empty() ? error_message: errmsg))));
}
else
{
TmpFile tmpfile( getZYpp()->tmpPath() );
{
- std::ofstream tmpos( tmpfile.path().c_str() );
+ ofstream tmpos( tmpfile.path().c_str() );
for_( it, rpmKeys.begin(), rpmKeys.end() )
{
// we export the rpm key into a file
RpmHeader::constPtr result;
- getData( "gpg-pubkey", *it, result );
+ getData( string("gpg-pubkey"), *it, result );
tmpos << result->tag_description() << endl;
}
}
// check if the key is already in the rpm database
Edition keyEd( pubkey_r.gpgPubkeyVersion(), pubkey_r.gpgPubkeyRelease() );
- std::set<Edition> rpmKeys = pubkeyEditions();
+ set<Edition> rpmKeys = pubkeyEditions();
bool hasOldkeys = false;
for_( it, rpmKeys.begin(), rpmKeys.end() )
// rpm3 database, if the current database is a temporary one.
run_rpm( opts, ExternalProgram::Stderr_To_Stdout );
- std::string line;
+ string line;
while ( systemReadLine( line ) )
{
( str::startsWith( line, "error:" ) ? WAR : DBG ) << line << endl;
RpmArgVec opts;
opts.push_back ( "--import" );
opts.push_back ( "--" );
- std::string pubkeypath( pubkey_r.path().asString() );
- opts.push_back ( pubkeypath.c_str() );
+ opts.push_back ( pubkey_r.path().asString().c_str() );
// don't call modifyDatabase because it would remove the old
// rpm3 database, if the current database is a temporary one.
run_rpm( opts, ExternalProgram::Stderr_To_Stdout );
- std::string line;
+ string line;
while ( systemReadLine( line ) )
{
( str::startsWith( line, "error:" ) ? WAR : DBG ) << line << endl;
// check if the key is in the rpm database and just
// return if it does not.
- std::set<Edition> rpm_keys = pubkeyEditions();
- std::set<Edition>::const_iterator found_edition = rpm_keys.end();
+ set<Edition> rpm_keys = pubkeyEditions();
+ set<Edition>::const_iterator found_edition = rpm_keys.end();
std::string pubkeyVersion( pubkey_r.gpgPubkeyVersion() );
for_( it, rpm_keys.begin(), rpm_keys.end() )
return;
}
- std::string rpm_name("gpg-pubkey-" + found_edition->asString());
+ string rpm_name("gpg-pubkey-" + found_edition->asString());
RpmArgVec opts;
opts.push_back ( "-e" );
// rpm3 database, if the current database is a temporary one.
run_rpm( opts, ExternalProgram::Stderr_To_Stdout );
- std::string line;
+ string line;
while ( systemReadLine( line ) )
{
if ( line.substr( 0, 6 ) == "error:" )
//
//
// METHOD NAME : RpmDb::pubkeys
-// METHOD TYPE : std::set<Edition>
+// METHOD TYPE : set<Edition>
//
-std::list<PublicKey> RpmDb::pubkeys() const
+list<PublicKey> RpmDb::pubkeys() const
{
- std::list<PublicKey> ret;
+ list<PublicKey> ret;
librpmDb::db_const_iterator it;
- for ( it.findByName( "gpg-pubkey" ); *it; ++it )
+ for ( it.findByName( string( "gpg-pubkey" ) ); *it; ++it )
{
Edition edition = it->tag_edition();
if (edition != Edition::noedition)
{
// we export the rpm key into a file
RpmHeader::constPtr result;
- getData( "gpg-pubkey", edition, result );
+ getData( string("gpg-pubkey"), edition, result );
TmpFile file(getZYpp()->tmpPath());
- std::ofstream os;
+ ofstream os;
try
{
os.open(file.path().asString().c_str());
PublicKey key(file);
ret.push_back(key);
}
- catch ( std::exception & e )
+ catch (exception &e)
{
ERR << "Could not dump key " << edition.asString() << " in tmp file " << file.path() << endl;
// just ignore the key
return ret;
}
-std::set<Edition> RpmDb::pubkeyEditions() const
+set<Edition> RpmDb::pubkeyEditions() const
{
- std::set<Edition> ret;
+ set<Edition> ret;
librpmDb::db_const_iterator it;
- for ( it.findByName( "gpg-pubkey" ); *it; ++it )
+ for ( it.findByName( string( "gpg-pubkey" ) ); *it; ++it )
{
Edition edition = it->tag_edition();
if (edition != Edition::noedition)
//
// DESCRIPTION :
//
-std::list<FileInfo>
-RpmDb::fileList( const std::string & name_r, const Edition & edition_r ) const
+list<FileInfo>
+RpmDb::fileList( const string & name_r, const Edition & edition_r ) const
{
- std::list<FileInfo> result;
+ list<FileInfo> result;
librpmDb::db_const_iterator it;
bool found;
//
// DESCRIPTION :
//
-bool RpmDb::hasFile( const std::string & file_r, const std::string & name_r ) const
+bool RpmDb::hasFile( const string & file_r, const string & name_r ) const
{
librpmDb::db_const_iterator it;
bool res;
//
//
// METHOD NAME : RpmDb::whoOwnsFile
-// METHOD TYPE : std::string
+// METHOD TYPE : string
//
// DESCRIPTION :
//
-std::string RpmDb::whoOwnsFile( const std::string & file_r) const
+string RpmDb::whoOwnsFile( const string & file_r) const
{
librpmDb::db_const_iterator it;
if (it.findByFile( file_r ))
//
// DESCRIPTION :
//
-bool RpmDb::hasProvides( const std::string & tag_r ) const
+bool RpmDb::hasProvides( const string & tag_r ) const
{
librpmDb::db_const_iterator it;
return it.findByProvides( tag_r );
//
// DESCRIPTION :
//
-bool RpmDb::hasRequiredBy( const std::string & tag_r ) const
+bool RpmDb::hasRequiredBy( const string & tag_r ) const
{
librpmDb::db_const_iterator it;
return it.findByRequiredBy( tag_r );
//
// DESCRIPTION :
//
-bool RpmDb::hasConflicts( const std::string & tag_r ) const
+bool RpmDb::hasConflicts( const string & tag_r ) const
{
librpmDb::db_const_iterator it;
return it.findByConflicts( tag_r );
//
// DESCRIPTION :
//
-bool RpmDb::hasPackage( const std::string & name_r ) const
+bool RpmDb::hasPackage( const string & name_r ) const
{
librpmDb::db_const_iterator it;
return it.findPackage( name_r );
//
// DESCRIPTION :
//
-bool RpmDb::hasPackage( const std::string & name_r, const Edition & ed_r ) const
+bool RpmDb::hasPackage( const string & name_r, const Edition & ed_r ) const
{
librpmDb::db_const_iterator it;
return it.findPackage( name_r, ed_r );
//
// DESCRIPTION :
//
-void RpmDb::getData( const std::string & name_r,
+void RpmDb::getData( const string & name_r,
RpmHeader::constPtr & result_r ) const
{
librpmDb::db_const_iterator it;
//
// DESCRIPTION :
//
-void RpmDb::getData( const std::string & name_r, const Edition & ed_r,
+void RpmDb::getData( const string & name_r, const Edition & ed_r,
RpmHeader::constPtr & result_r ) const
{
librpmDb::db_const_iterator it;
if ( res == 0 )
{
- // remove trailing NL!
- detail_r.push_back( CheckPackageDetail::value_type( CHK_OK, str::rtrim( std::move(vresult) ) ) );
+ detail_r.push_back( CheckPackageDetail::value_type( CHK_OK, std::move(vresult) ) );
return CHK_OK;
}
// determine changed files of installed package
bool
-RpmDb::queryChangedFiles(FileList & fileList, const std::string& packageName)
+RpmDb::queryChangedFiles(FileList & fileList, const string& packageName)
{
bool ok = true;
M Mode (includes permissions and file type)
*/
- std::string line;
+ string line;
while (systemReadLine(line))
{
if (line.length() > 12 &&
(line[0] == '.' && line[7] == 'T')))
{
// file has been changed
- std::string filename;
+ string filename;
filename.assign(line, 11, line.length() - 11);
fileList.insert(filename);
/*--------------------------------------------------------------*/
/* Read a line from the rpm process */
/*--------------------------------------------------------------*/
-bool RpmDb::systemReadLine( std::string & line )
+bool RpmDb::systemReadLine( string & line )
{
line.erase();
{
if ( linebuffer[nread-1] == '\n' )
--nread;
- line += std::string( linebuffer, nread );
+ line += string( linebuffer, nread );
}
if ( ! ::ferror( inputfile ) || ::feof( inputfile ) )
// generate diff mails for config files
-void RpmDb::processConfigFiles(const std::string& line, const std::string& name, const char* typemsg, const char* difffailmsg, const char* diffgenmsg)
+void RpmDb::processConfigFiles(const string& line, const string& name, const char* typemsg, const char* difffailmsg, const char* diffgenmsg)
{
- std::string msg = line.substr(9);
- std::string::size_type pos1 = std::string::npos;
- std::string::size_type pos2 = std::string::npos;
- std::string file1s, file2s;
+ string msg = line.substr(9);
+ string::size_type pos1 = string::npos;
+ string::size_type pos2 = string::npos;
+ string file1s, file2s;
Pathname file1;
Pathname file2;
pos1 = msg.find (typemsg);
for (;;)
{
- if ( pos1 == std::string::npos )
+ if ( pos1 == string::npos )
break;
pos2 = pos1 + strlen (typemsg);
file2 = _root + file2;
}
- std::string out;
+ string out;
int ret = diffFiles (file1.asString(), file2.asString(), out, 25);
if (ret)
{
break;
}
file += Date(Date::now()).form("config_diff_%Y_%m_%d.log");
- std::ofstream notify(file.asString().c_str(), std::ios::out|std::ios::app);
+ ofstream notify(file.asString().c_str(), ios::out|ios::app);
if (!notify)
{
ERR << "Could not open " << file << endl;
{
out.replace(4, file1.asString().length(), file1s);
}
- std::string::size_type pos = out.find("\n+++ ");
- if (pos != std::string::npos)
+ string::size_type pos = out.find("\n+++ ");
+ if (pos != string::npos)
{
out.replace(pos+5, file2.asString().length(), file2s);
}
opts.push_back("--");
// rpm requires additional quoting of special chars:
- std::string quotedFilename( rpmQuoteFilename( workaroundRpmPwdBug( filename ) ) );
+ string quotedFilename( rpmQuoteFilename( workaroundRpmPwdBug( filename ) ) );
opts.push_back ( quotedFilename.c_str() );
modifyDatabase(); // BEFORE run_rpm
run_rpm( opts, ExternalProgram::Stderr_To_Stdout );
- std::string line;
- std::string rpmmsg;
- std::vector<std::string> configwarnings;
+ string line;
+ string rpmmsg;
+ vector<string> configwarnings;
unsigned linecnt = 0;
while (systemReadLine(line))
int rpm_status = systemStatus();
// evaluate result
- for (std::vector<std::string>::iterator it = configwarnings.begin();
+ for (vector<string>::iterator it = configwarnings.begin();
it != configwarnings.end(); ++it)
{
processConfigFiles(*it, Pathname::basename(filename), " saved as ",
historylog.comment(
str::form("%s install failed", Pathname::basename(filename).c_str()),
true /*timestamp*/);
- std::ostringstream sstr;
+ ostringstream sstr;
sstr << "rpm output:" << endl << rpmmsg << endl;
historylog.comment(sstr.str());
// TranslatorExplanation the colon is followed by an error message
- ZYPP_THROW(RpmSubprocessException(_("RPM failed: ") + (rpmmsg.empty() ? error_message : rpmmsg) ));
+ ZYPP_THROW(RpmSubprocessException(string(_("RPM failed: ")) +
+ (rpmmsg.empty() ? error_message : rpmmsg)));
}
else if ( ! rpmmsg.empty() )
{
historylog.comment(
str::form("%s installed ok", Pathname::basename(filename).c_str()),
true /*timestamp*/);
- std::ostringstream sstr;
+ ostringstream sstr;
sstr << "Additional rpm output:" << endl << rpmmsg << endl;
historylog.comment(sstr.str());
// METHOD NAME : RpmDb::removePackage
// METHOD TYPE : PMError
//
-void RpmDb::removePackage( const std::string & name_r, RpmInstFlags flags )
+void RpmDb::removePackage( const string & name_r, RpmInstFlags flags )
{
callback::SendReport<RpmRemoveReport> report;
}
-void RpmDb::doRemovePackage( const std::string & name_r, RpmInstFlags flags, callback::SendReport<RpmRemoveReport> & report )
+void RpmDb::doRemovePackage( const string & name_r, RpmInstFlags flags, callback::SendReport<RpmRemoveReport> & report )
{
FAILIFNOTINITIALIZED;
HistoryLog historylog;
modifyDatabase(); // BEFORE run_rpm
run_rpm (opts, ExternalProgram::Stderr_To_Stdout);
- std::string line;
- std::string rpmmsg;
+ string line;
+ string rpmmsg;
// got no progress from command, so we fake it:
// 5 - command started
{
historylog.comment(
str::form("%s remove failed", name_r.c_str()), true /*timestamp*/);
- std::ostringstream sstr;
+ ostringstream sstr;
sstr << "rpm output:" << endl << rpmmsg << endl;
historylog.comment(sstr.str());
// TranslatorExplanation the colon is followed by an error message
- ZYPP_THROW(RpmSubprocessException(_("RPM failed: ") + (rpmmsg.empty() ? error_message: rpmmsg) ));
+ ZYPP_THROW(RpmSubprocessException(string(_("RPM failed: ")) +
+ (rpmmsg.empty() ? error_message: rpmmsg)));
}
else if ( ! rpmmsg.empty() )
{
historylog.comment(
str::form("%s removed ok", name_r.c_str()), true /*timestamp*/);
- std::ostringstream sstr;
+ ostringstream sstr;
sstr << "Additional rpm output:" << endl << rpmmsg << endl;
historylog.comment(sstr.str());
// METHOD NAME : RpmDb::backupPackage
// METHOD TYPE : bool
//
-bool RpmDb::backupPackage(const std::string& packageName)
+bool RpmDb::backupPackage(const string& packageName)
{
HistoryLog progresslog;
bool ret = true;
return false;
}
- std::ofstream fp ( filestobackupfile.asString().c_str(), std::ios::out|std::ios::trunc );
+ ofstream fp ( filestobackupfile.asString().c_str(), ios::out|ios::trunc );
if (!fp)
{
for (FileList::const_iterator cit = fileList.begin();
cit != fileList.end(); ++cit)
{
- std::string name = *cit;
+ string name = *cit;
if ( name[0] == '/' )
{
// remove slash, file must be relative to -C parameter of tar
// execute tar in inst-sys (we dont know if there is a tar below _root !)
ExternalProgram tar(argv, ExternalProgram::Stderr_To_Stdout, false, -1, true);
- std::string tarmsg;
+ string tarmsg;
// TODO: its probably possible to start tar with -v and watch it adding
// files to report progress
- for (std::string output = tar.receiveLine(); output.length() ;output = tar.receiveLine())
+ for (string output = tar.receiveLine(); output.length() ;output = tar.receiveLine())
{
tarmsg+=output;
}