Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37564829
en ru br
ALT Linux repositórios
S:2.8.0-alt2
5.0: 2.0.5-alt3.1
4.1: 2.0.5-alt3
4.0: 2.0.5-alt2
3.0: 2.0.2-alt1

Group :: Sistema/Servidores
RPM: nut

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: nut-2.0.5-alt-upsdrvctl-list.patch
Download


--- nut-2.0.5/drivers/upsdrvctl.c.alt-upsdrvctl-list	2007-07-27 13:20:47 +0400
+++ nut-2.0.5/drivers/upsdrvctl.c	2007-07-27 13:29:30 +0400
@@ -276,16 +276,33 @@ static void start_driver(const ups_t *up
 	forkexec(dfn, argv, ups);
 }
 
+static void list_driver(const ups_t *ups)
+{
+	char	dfn[SMALLBUF];
+	int	ret;
+	struct	stat	fs;
+
+	snprintf(dfn, sizeof(dfn), "%s/%s", driverpath, ups->driver);
+	ret = stat(dfn, &fs);
+
+	if (ret < 0)
+		upslogx(LOG_ERR, "stat: %s: %m", dfn);
+	else
+		puts(dfn);
+}
+
 static void help(const char *progname)
 {
 	printf("Starts and stops UPS drivers via ups.conf.\n\n");
-	printf("usage: %s [OPTIONS] (start | stop | shutdown) [<ups>]\n\n", progname);
+	printf("usage: %s [OPTIONS] (list | start | stop | shutdown) [<ups>]\n\n", progname);
 
 	printf("  -h			display this help\n");
 	printf("  -r <path>		drivers will chroot to <path>\n");
 	printf("  -t			testing mode - prints actions without doing them\n");
 	printf("  -u <user>		drivers started will switch from root to <user>\n");
 	printf("  -D            	raise debugging level\n");
+	printf("  list			list all UPS drivers in ups.conf\n");
+	printf("  list <ups>		only list driver for UPS <ups>\n");
 	printf("  start			start all UPS drivers in ups.conf\n");
 	printf("  start	<ups>		only start driver for UPS <ups>\n");
 	printf("  stop			stop all UPS drivers in ups.conf\n");
@@ -448,6 +465,9 @@ int main(int argc, char **argv)
 			nut_debug_level = 2;
 	}
 
+	if (!strcmp(argv[0], "list"))
+		command = &list_driver;
+
 	if (!strcmp(argv[0], "start"))
 		command = &start_driver;
 
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009