[Midnightbsd-cvs] src [12291] trunk: fix some bugs with mport upgrade

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Nov 13 01:04:36 EST 2019


Revision: 12291
          http://svnweb.midnightbsd.org/src/?rev=12291
Author:   laffer1
Date:     2019-11-13 01:04:36 -0500 (Wed, 13 Nov 2019)
Log Message:
-----------
fix some bugs with mport upgrade

Modified Paths:
--------------
    trunk/lib/libmport/pkgmeta.c
    trunk/usr.sbin/mport/mport.c

Modified: trunk/lib/libmport/pkgmeta.c
===================================================================
--- trunk/lib/libmport/pkgmeta.c	2019-11-13 06:03:52 UTC (rev 12290)
+++ trunk/lib/libmport/pkgmeta.c	2019-11-13 06:04:36 UTC (rev 12291)
@@ -55,24 +55,34 @@
 
 	free(pack->name);
 	pack->name = NULL;
+
 	free(pack->version);
 	pack->version = NULL;
+
 	free(pack->lang);
 	pack->lang = NULL;
+
 	free(pack->comment);
 	pack->comment = NULL;
+	
 	free(pack->desc);
 	pack->desc = NULL;
+
 	free(pack->prefix);
 	pack->prefix = NULL;
+
 	free(pack->origin);
 	pack->origin = NULL;
+
 	free(pack->os_release);
 	pack->os_release = NULL;
+
 	free(pack->cpe);
 	pack->cpe = NULL;
+
 	free(pack->deprecated);
 	pack->deprecated = NULL;
+
 	free(pack->flavor);
 	pack->flavor = NULL;
 
@@ -84,8 +94,8 @@
 			i++;
 		}
 	}
-
 	free(pack->categories);
+	pack->categories = NULL;
 	free(pack);
 }
 
@@ -94,11 +104,16 @@
 mport_pkgmeta_vec_free(mportPackageMeta **vec)
 {
     int i;
+
+    if (vec == NULL) 
+	return;
+
     for (i = 0; *(vec + i) != NULL; i++) {
-        mport_pkgmeta_free(*(vec + i));
+	mportPackageMeta *pack = *(vec + i);
+        mport_pkgmeta_free(pack);
     }
 
-    free(vec);
+//    free(vec);
 }
 
 

Modified: trunk/usr.sbin/mport/mport.c
===================================================================
--- trunk/usr.sbin/mport/mport.c	2019-11-13 06:03:52 UTC (rev 12290)
+++ trunk/usr.sbin/mport/mport.c	2019-11-13 06:04:36 UTC (rev 12291)
@@ -36,6 +36,7 @@
 #include <err.h>
 #include <dispatch/dispatch.h>
 #include <mport.h>
+#include <mport_private.h>
 
 #define MPORT_TOOLS_PATH "/usr/libexec/"
 #define MPORT_LOCAL_PKG_PATH "/var/db/mport/downloads"
@@ -779,7 +780,9 @@
 
 	if (indexEntries != NULL) {
 		while (*indexEntries != NULL) {
-			if ((*indexEntries)->version != NULL && mport_version_cmp(pack->version, (*indexEntries)->version) < 0) {
+			int osflag = mport_check_preconditions(mport, pack, MPORT_PRECHECK_OS); 
+			if ((*indexEntries)->version != NULL && (mport_version_cmp(pack->version, (*indexEntries)->version) < 0 || 
+			    (mport_version_cmp(pack->version, (*indexEntries)->version) == 0 && osflag == MPORT_OK))) {
 				ret = 1;
 				break;
 			}
@@ -796,8 +799,6 @@
 	mportPackageMeta **depends;
 	int ret = 0;
 
-	fprintf(stderr, "Entering %s\n", pack->name);
-
 	if (mport_pkgmeta_get_downdepends(mport, pack, &depends) == MPORT_OK) {
 		if (depends == NULL) {
 			if (indexCheck(mport, pack)) {
@@ -822,7 +823,6 @@
 				depends++;
 			}
 			if (indexCheck(mport, pack)) {
-				fprintf(stderr, "Updating port called %s\n", pack->name);
 				if (update(mport, pack->name) != 0) {
 					fprintf(stderr, "Error updating %s\n", pack->name);
 				} else



More information about the Midnightbsd-cvs mailing list