temp server binary in tmp folder already has full path

This commit is contained in:
2021-11-18 15:33:47 +01:00
parent 4690bd0b19
commit 848884f6cf
2 changed files with 20 additions and 25 deletions

View File

@ -512,23 +512,12 @@ int writeBinaryFile(char *mess, char *fname, char *buffer,
const uint64_t filesize, char *errorPrefix) { const uint64_t filesize, char *errorPrefix) {
LOG(logINFO, ("\tWriting Detector Server Binary...\n")); LOG(logINFO, ("\tWriting Detector Server Binary...\n"));
const int fileNameSize = 128; FILE *fp = fopen(fname, "wb");
char fullname[fileNameSize];
if (getAbsPath(fullname, fileNameSize, fname) == FAIL) {
sprintf(mess,
"Could not %s. Could not get abs path of current "
"process\n",
errorPrefix);
LOG(logERROR, (mess));
return FAIL;
}
FILE *fp = fopen(fullname, "wb");
if (fp == NULL) { if (fp == NULL) {
sprintf(mess, sprintf(mess,
"Could not %s. (opening file to write(%s). " "Could not %s. (opening file to write(%s). "
"Maybe it is being used? Try another name?\n", "Maybe it is being used? Try another name?\n",
errorPrefix, fullname); errorPrefix, fname);
LOG(logERROR, (mess)); LOG(logERROR, (mess));
return FAIL; return FAIL;
} }
@ -572,7 +561,7 @@ int writeBinaryFile(char *mess, char *fname, char *buffer,
LOG(logERROR, (mess)); LOG(logERROR, (mess));
return FAIL; return FAIL;
} }
LOG(logINFO, ("\tWritten binary to %s (%lu bytes)\n", fullname, LOG(logINFO, ("\tWritten binary to %s (%lu bytes)\n", fname,
(long unsigned int)bytesWritten)); (long unsigned int)bytesWritten));
return OK; return OK;
} }

View File

@ -2853,7 +2853,8 @@ std::string CmdProxy::CopyDetectorServer(int action) {
std::ostringstream os; std::ostringstream os;
os << cmd << ' '; os << cmd << ' ';
if (action == defs::HELP_ACTION) { if (action == defs::HELP_ACTION) {
LOG(logWARNING) << "Deprecated! Replaced by updatedetectorserver that requires no tftp.\n"; LOG(logWARNING) << "Deprecated! Replaced by updatedetectorserver that "
"requires no tftp.\n";
os << "[server_name (in tftp folder)] " os << "[server_name (in tftp folder)] "
"[pc_host_name]\n\t[Jungfrau][Eiger][Ctb][Moench][Mythen3][" "[pc_host_name]\n\t[Jungfrau][Eiger][Ctb][Moench][Mythen3]["
"Gotthard2] Copies detector server via TFTP from pc. Ensure that " "Gotthard2] Copies detector server via TFTP from pc. Ensure that "
@ -2933,15 +2934,17 @@ std::string CmdProxy::UpdateFirmwareAndDetectorServer(int action) {
std::ostringstream os; std::ostringstream os;
os << cmd << ' '; os << cmd << ' ';
if (action == defs::HELP_ACTION) { if (action == defs::HELP_ACTION) {
os << "\n\tDeprecated!! Replaced without using tftp (as shown next)[server_name" os << "\n\tUsing tftp: Deprecated!! [server_name"
" (in tftp folder)] [pc_host_name] [fname.pof (incl full path)]"; " (in tftp folder)] [pc_host_name] [fname.pof (incl full path)]"
os << "\n\t[server_name (incl fullpath)] [fname.pof (incl full path)] " "\n\tWithout tftp: Recommended [server_name (incl fullpath)] "
"This does not use tftp." "[fname.pof (incl full path)] "
"This does not use tftp."
"\n\t\t[Jungfrau][Gotthard][CTB][Moench] Updates the " "\n\t\t[Jungfrau][Gotthard][CTB][Moench] Updates the "
"firmware, detector server, creates the symbolic link and then " "firmware, detector server, creates the symbolic link and then "
"reboots detector controller. \n\t[Mythen3][Gotthard2] will " "reboots detector controller. \n\t\t[Mythen3][Gotthard2] will "
"require a script to start up the shorter named server link at " "require a script to start up the shorter named server link at "
"start up. \n\t\tsname is full path name of detector server binary" "start up. \n\t\tsname is full path name of detector server "
"binary"
"\n\t\tfname is full path of programming file" "\n\t\tfname is full path of programming file"
<< '\n'; << '\n';
} else if (action == defs::GET_ACTION) { } else if (action == defs::GET_ACTION) {
@ -2952,17 +2955,20 @@ std::string CmdProxy::UpdateFirmwareAndDetectorServer(int action) {
} }
int fpos = args.size() - 1; int fpos = args.size() - 1;
if (args[fpos].find(".pof") == std::string::npos && args[fpos].find(".rbf") == std::string::npos) { if (args[fpos].find(".pof") == std::string::npos &&
args[fpos].find(".rbf") == std::string::npos) {
throw sls::RuntimeError("Programming file must be a pof/rbf file."); throw sls::RuntimeError("Programming file must be a pof/rbf file.");
} }
if (args.size() == 3) { if (args.size() == 3) {
LOG(logWARNING) << "Deprecated! Recommend to use same command without tftp (no pc name) and using full path to the server binary"; LOG(logWARNING)
<< "Deprecated! Recommend to use same command without tftp (no "
"pc name) and using full path to the server binary";
det->updateFirmwareAndServer(args[0], args[1], args[2], det->updateFirmwareAndServer(args[0], args[1], args[2],
std::vector<int>{det_id}); std::vector<int>{det_id});
} else { } else {
det->updateFirmwareAndServer(args[0], args[1], det->updateFirmwareAndServer(args[0], args[1],
std::vector<int>{det_id}); std::vector<int>{det_id});
} }
os << "successful\n"; os << "successful\n";
} else { } else {