runparts: add -b (batch) mode for syslog output

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2024-06-19 09:20:03 +02:00
1 parent d02d65feeb
commit ab62b5282b
1 file changed
+18 -6
+18 -6
View File
@@ -26,18 +26,27 @@
#else #else
#include <sys/prctl.h> #include <sys/prctl.h>
const char *active_msg = NULL;
int interactive = 1;
int debug; int debug;
static void print_desc(const char *prefix, const char *msg) static void print_desc(const char *prefix, const char *msg)
{ {
fprintf(stderr, "\e[1m[\e[0m\e[1;33m ⋯ \e[0m\e[1m]\e[0m %s %s", prefix, msg); if (interactive)
fprintf(stderr, "\e[1m[\e[0m\e[1;33m ⋯ \e[0m\e[1m]\e[0m %s %s", prefix, msg);
else
fprintf(stderr, "%s %s ...\n", prefix, msg);
active_msg = msg;
} }
static void print_result(int rc) static void print_result(int rc)
{ {
if (rc) if (interactive) {
fputs("\r\e[1m[\e[0m\e[1;31mFAIL\e[0m\e[1m]\e[0m\n", stderr); if (rc)
else fputs("\r\e[1m[\e[0m\e[1;31mFAIL\e[0m\e[1m]\e[0m\n", stderr);
fputs("\r\e[1m[\e[0m\e[1;32m OK \e[0m\e[1m]\e[0m\n", stderr); else
fputs("\r\e[1m[\e[0m\e[1;32m OK \e[0m\e[1m]\e[0m\n", stderr);
} else
fprintf(stderr, "[%s] %s\n", rc ? "FAIL" : " OK ", active_msg ?: "");
} }
void sig_unblock(void) void sig_unblock(void)
@@ -193,8 +202,11 @@ int main(int argc, char *argv[])
int rc, c, progress = 0, sysv = 0; int rc, c, progress = 0, sysv = 0;
char *dir; char *dir;
while ((c = getopt(argc, argv, "dh?ps")) != EOF) { while ((c = getopt(argc, argv, "bdh?ps")) != EOF) {
switch(c) { switch(c) {
case 'b': /* batch mode */
interactive = 0;
break;
case 'd': case 'd':
debug = 1; debug = 1;
break; break;