[Midnightbsd-cvs] src [12122] trunk/usr.sbin/mport/mport.c: add initial support for configuring settings

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Nov 25 15:39:51 EST 2018


Revision: 12122
          http://svnweb.midnightbsd.org/src/?rev=12122
Author:   laffer1
Date:     2018-11-25 15:39:51 -0500 (Sun, 25 Nov 2018)
Log Message:
-----------
add initial support for configuring settings

Modified Paths:
--------------
    trunk/usr.sbin/mport/mport.c

Modified: trunk/usr.sbin/mport/mport.c
===================================================================
--- trunk/usr.sbin/mport/mport.c	2018-11-25 20:19:41 UTC (rev 12121)
+++ trunk/usr.sbin/mport/mport.c	2018-11-25 20:39:51 UTC (rev 12122)
@@ -46,6 +46,8 @@
 static int install_depends(mportInstance *, const char *, const char *);
 static int install(mportInstance *, const char *);
 static int cpeList(mportInstance *);
+static int configGet(mportInstance *, const char *);
+static int configSet(mportInstance *, const char *, const char *);
 static int delete(const char *);
 static int deleteAll(mportInstance *);
 static int download(mportInstance *, const char *);
@@ -202,13 +204,29 @@
 		});
         } else if (!strcmp(argv[1], "stats")) {
 		dispatch_group_async(grp, q, ^{
-		loadIndex(mport);
-                resultCode = stats(mport);
+			loadIndex(mport);
+                	resultCode = stats(mport);
 		});
 	} else if (!strcmp(argv[1], "clean")) {
 		dispatch_group_async(grp, q, ^{
-		resultCode = clean(mport);
+			resultCode = clean(mport);
 		});
+        } else if (!strcmp(argv[1], "config")) {
+		if (argc < 3) {
+			mport_instance_free(mport);
+			usage();
+		}
+
+		if (!strcmp(argv[2], "get")) {
+			dispatch_group_async(grp, q, ^{
+				resultCode = configGet(mport, argv[3]);
+			});
+		} else if (!strcmp(argv[2], "set")) {
+			dispatch_group_async(grp, q, ^{                         
+				resultCode = configSet(mport, 
+					argv[3], argv[4]);
+			});
+		}
 	} else if (!strcmp(argv[1], "cpe")) {
 		dispatch_group_async(grp, q, ^{
 			resultCode = cpeList(mport);
@@ -270,6 +288,8 @@
 	fprintf(stderr, 
 		"usage: mport <command> args:\n"
 		"       mport clean\n"
+		"       mport config get [setting name]\n"
+		"       mport config set [setting name] [setting val]\n"
 		"       mport cpe\n"
 		"       mport delete [package name]\n"
 		"       mport deleteall\n"
@@ -662,6 +682,31 @@
 	return (0);
 }
 
+int configGet(mportInstance *mport, const char *settingName) {
+	char *val;
+
+	val = mport_setting_get(mport, settingName);
+
+	if (val != NULL) {
+		printf("Setting %s value is %s\n", settingName, val);
+	} else {
+		printf("Setting %s is undefined.\n", settingName);
+	}
+
+	return 0;
+}
+
+int configSet(mportInstance *mport, const char *settingName, const char *val) {
+	int result = mport_setting_set(mport, settingName, val);
+
+	if (result != MPORT_OK) {
+		warnx("%s", mport_err_string());
+		return mport_err_code();
+	}
+
+	return 0;
+}
+
 int
 cpeList(mportInstance *mport) {
 	mportPackageMeta **packs;



More information about the Midnightbsd-cvs mailing list