28 namespace applydeltarpm
35 const Pathname applydeltarpm_prog(
"/usr/bin/applydeltarpm" );
36 const str::regex applydeltarpm_tick (
"([0-9]+) percent finished" );
43 bool applydeltarpm(
const char *
const argv_r[],
48 for ( std::string line = prog.receiveLine(); ! line.empty(); line = prog.receiveLine() )
52 report_r( str::strtonum<unsigned>( what[1] ) );
55 DBG <<
"Applydeltarpm : " << line;
57 return( prog.close() == 0 );
72 static TriBool _last = indeterminate;
74 bool have = prog.
isX();
81 MIL <<
"Found executable " << prog << endl;
83 WAR <<
"No executable " << prog << endl;
85 return (
bool ) _last;
93 bool check(
const std::string & sequenceinfo_r,
bool quick_r )
98 const char *
const argv[] = {
99 "/usr/bin/applydeltarpm",
100 ( quick_r ?
"-C" :
"-c" ),
101 "-s", sequenceinfo_r.c_str(),
105 return( applydeltarpm( argv ) );
118 const char *
const argv[] = {
119 "/usr/bin/applydeltarpm",
120 ( quick_r ?
"-C" :
"-c" ),
125 return( applydeltarpm( argv ) );
142 const char *
const argv[] = {
143 "/usr/bin/applydeltarpm",
150 if ( ! applydeltarpm( argv, report_r ) )
172 const char *
const argv[] = {
173 "/usr/bin/applydeltarpm",
181 if ( ! applydeltarpm( argv, report_r ) )