From laffer1 at midnightbsd.org  Tue Nov 12 22:32:21 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Tue, 12 Nov 2019 22:32:21 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12284] stable/1.2/usr.sbin/mport/mport.c:
 clean needs the index loaded in order to delete packages.
Message-ID: <201911130332.xAD3WLSJ054151@stargazer.midnightbsd.org>

Revision: 12284
          http://svnweb.midnightbsd.org/src/?rev=12284
Author:   laffer1
Date:     2019-11-12 22:32:20 -0500 (Tue, 12 Nov 2019)
Log Message:
-----------
clean needs the index loaded in order to delete packages.

Modified Paths:
--------------
    stable/1.2/usr.sbin/mport/mport.c

Modified: stable/1.2/usr.sbin/mport/mport.c
===================================================================
--- stable/1.2/usr.sbin/mport/mport.c	2019-10-31 15:23:25 UTC (rev 12283)
+++ stable/1.2/usr.sbin/mport/mport.c	2019-11-13 03:32:20 UTC (rev 12284)
@@ -209,6 +209,7 @@
 		});
 	} else if (!strcmp(argv[1], "clean")) {
 		dispatch_group_async(grp, q, ^{
+			loadIndex(mport);
 			resultCode = clean(mport);
 		});
         } else if (!strcmp(argv[1], "config")) {


From laffer1 at midnightbsd.org  Tue Nov 12 22:34:37 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Tue, 12 Nov 2019 22:34:37 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12285] stable/1.2/lib/libmport/clean.c:
 Introduce the ability to clean packages that fail checksum or don't match
 the current index.
Message-ID: <201911130334.xAD3YbnL054322@stargazer.midnightbsd.org>

Revision: 12285
          http://svnweb.midnightbsd.org/src/?rev=12285
Author:   laffer1
Date:     2019-11-12 22:34:36 -0500 (Tue, 12 Nov 2019)
Log Message:
-----------
Introduce the ability to clean packages that fail checksum or don't match the current index.

Modified Paths:
--------------
    stable/1.2/lib/libmport/clean.c

Modified: stable/1.2/lib/libmport/clean.c
===================================================================
--- stable/1.2/lib/libmport/clean.c	2019-11-13 03:32:20 UTC (rev 12284)
+++ stable/1.2/lib/libmport/clean.c	2019-11-13 03:34:36 UTC (rev 12285)
@@ -77,12 +77,18 @@
 			    continue;
 
 		    if (mport_index_search(mport, &indexEntry, "bundlefile=%Q", de->d_name) != MPORT_OK) {
+ 		  	    mport_call_msg_cb(mport, "failed to search index %s: ",  mport_err_string());
 			    continue;
 		    }
 
+		    asprintf(&path, "%s/%s", MPORT_FETCH_STAGING_DIR, de->d_name);
+		    if (path == NULL) {
+                        if (indexEntry != NULL)
+			    mport_index_entry_free_vec(indexEntry); 
+                        continue;                                                                                               
+                    }   
+                                  
 		    if (indexEntry == NULL || *indexEntry == NULL) {
-			    asprintf(&path, "%s/%s", MPORT_FETCH_STAGING_DIR, de->d_name);
-			    if (path != NULL) {
 				    if (unlink(path) < 0) {
 					    error_code = SET_ERRORX(MPORT_ERR_FATAL, "Could not delete file %s: %s",
 					                            path, strerror(errno));
@@ -90,11 +96,26 @@
 				    } else {
 					    deleted++;
 				    }
-				    free(path);
-			    }
+                    } else if (mport_verify_hash(path, (*indexEntry)->hash) == 0) {
+                    		    if (unlink(path) < 0) {                                                                                                               
+
+                                            error_code = SET_ERRORX(MPORT_ERR_FATAL, "Could not delete file %s: %s",                                                      
+
+                                                                    path, strerror(errno));                                                                               
+
+                                            mport_call_msg_cb(mport, "%s\n", mport_err_string());                                                                         
+
+                                    } else {                                                                                                                              
+
+                                            deleted++;                                                                                                                    
+
+                                    }                                                                                                                                     
+			    mport_index_entry_free_vec(indexEntry);
 		    } else {
 			    mport_index_entry_free_vec(indexEntry);
 		    }
+
+		    free(path);
 	    }
 
 	    closedir(d);


From laffer1 at midnightbsd.org  Tue Nov 12 22:39:14 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Tue, 12 Nov 2019 22:39:14 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12286] trunk/lib/libmport/clean.c: look at
 hash values to help remove packages.
Message-ID: <201911130339.xAD3dEVp055211@stargazer.midnightbsd.org>

Revision: 12286
          http://svnweb.midnightbsd.org/src/?rev=12286
Author:   laffer1
Date:     2019-11-12 22:39:14 -0500 (Tue, 12 Nov 2019)
Log Message:
-----------
look at hash values to help remove packages.

Modified Paths:
--------------
    trunk/lib/libmport/clean.c

Modified: trunk/lib/libmport/clean.c
===================================================================
--- trunk/lib/libmport/clean.c	2019-11-13 03:34:36 UTC (rev 12285)
+++ trunk/lib/libmport/clean.c	2019-11-13 03:39:14 UTC (rev 12286)
@@ -77,12 +77,18 @@
 			    continue;
 
 		    if (mport_index_search(mport, &indexEntry, "bundlefile=%Q", de->d_name) != MPORT_OK) {
+ 		  	    mport_call_msg_cb(mport, "failed to search index %s: ",  mport_err_string());
 			    continue;
 		    }
 
+		    asprintf(&path, "%s/%s", MPORT_FETCH_STAGING_DIR, de->d_name);
+		    if (path == NULL) {
+                        if (indexEntry != NULL)
+			    mport_index_entry_free_vec(indexEntry); 
+                        continue;                                                                                               
+                    }   
+                                  
 		    if (indexEntry == NULL || *indexEntry == NULL) {
-			    asprintf(&path, "%s/%s", MPORT_FETCH_STAGING_DIR, de->d_name);
-			    if (path != NULL) {
 				    if (unlink(path) < 0) {
 					    error_code = SET_ERRORX(MPORT_ERR_FATAL, "Could not delete file %s: %s",
 					                            path, strerror(errno));
@@ -90,11 +96,26 @@
 				    } else {
 					    deleted++;
 				    }
-				    free(path);
-			    }
+                    } else if (mport_verify_hash(path, (*indexEntry)->hash) == 0) {
+                    		    if (unlink(path) < 0) {                                                                                                               
+
+                                            error_code = SET_ERRORX(MPORT_ERR_FATAL, "Could not delete file %s: %s",                                                      
+
+                                                                    path, strerror(errno));                                                                               
+
+                                            mport_call_msg_cb(mport, "%s\n", mport_err_string());                                                                         
+
+                                    } else {                                                                                                                              
+
+                                            deleted++;                                                                                                                    
+
+                                    }                                                                                                                                     
+			    mport_index_entry_free_vec(indexEntry);
 		    } else {
 			    mport_index_entry_free_vec(indexEntry);
 		    }
+
+		    free(path);
 	    }
 
 	    closedir(d);


From laffer1 at midnightbsd.org  Tue Nov 12 22:39:46 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Tue, 12 Nov 2019 22:39:46 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12287] trunk/usr.sbin/mport/mport.c: load
 index for package checks
Message-ID: <201911130339.xAD3dkNY055274@stargazer.midnightbsd.org>

Revision: 12287
          http://svnweb.midnightbsd.org/src/?rev=12287
Author:   laffer1
Date:     2019-11-12 22:39:45 -0500 (Tue, 12 Nov 2019)
Log Message:
-----------
load index for package checks

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

Modified: trunk/usr.sbin/mport/mport.c
===================================================================
--- trunk/usr.sbin/mport/mport.c	2019-11-13 03:39:14 UTC (rev 12286)
+++ trunk/usr.sbin/mport/mport.c	2019-11-13 03:39:45 UTC (rev 12287)
@@ -209,6 +209,7 @@
 		});
 	} else if (!strcmp(argv[1], "clean")) {
 		dispatch_group_async(grp, q, ^{
+			loadIndex(mport);
 			resultCode = clean(mport);
 		});
         } else if (!strcmp(argv[1], "config")) {


From laffer1 at midnightbsd.org  Tue Nov 12 22:43:00 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Tue, 12 Nov 2019 22:43:00 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12288] trunk/UPDATING: fixed a bug with
 mport clean
Message-ID: <201911130343.xAD3h0a0056089@stargazer.midnightbsd.org>

Revision: 12288
          http://svnweb.midnightbsd.org/src/?rev=12288
Author:   laffer1
Date:     2019-11-12 22:43:00 -0500 (Tue, 12 Nov 2019)
Log Message:
-----------
fixed a bug with mport clean

Modified Paths:
--------------
    trunk/UPDATING

Modified: trunk/UPDATING
===================================================================
--- trunk/UPDATING	2019-11-13 03:39:45 UTC (rev 12287)
+++ trunk/UPDATING	2019-11-13 03:43:00 UTC (rev 12288)
@@ -1,5 +1,11 @@
 Updating Information for MidnightBSD users.
 
+
+20191112:
+	Fixed a bug where packages wouldn't get removed on mport clean.  While there
+	added ability to detect files that don't match the checksum of the packages.
+	This will cleanup failed downloads as well as packages from older releases.
+
 20191031:
 	MidnightBSD 1.2 release, continuing development on 1.3
 


From laffer1 at midnightbsd.org  Wed Nov 13 01:01:18 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Wed, 13 Nov 2019 01:01:18 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12289] stable/1.2/lib/libmport/pkgmeta.c:
 workaround some bugs with mport upgrade for now
Message-ID: <201911130601.xAD61Ic9080522@stargazer.midnightbsd.org>

Revision: 12289
          http://svnweb.midnightbsd.org/src/?rev=12289
Author:   laffer1
Date:     2019-11-13 01:01:17 -0500 (Wed, 13 Nov 2019)
Log Message:
-----------
workaround some bugs with mport upgrade for now

Modified Paths:
--------------
    stable/1.2/lib/libmport/pkgmeta.c

Modified: stable/1.2/lib/libmport/pkgmeta.c
===================================================================
--- stable/1.2/lib/libmport/pkgmeta.c	2019-11-13 03:43:00 UTC (rev 12288)
+++ stable/1.2/lib/libmport/pkgmeta.c	2019-11-13 06:01:17 UTC (rev 12289)
@@ -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);
 }
 
 


From laffer1 at midnightbsd.org  Wed Nov 13 01:03:52 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Wed, 13 Nov 2019 01:03:52 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12290] stable/1.2/usr.sbin/mport/mport.c:
 remove some of the debug logging.
Message-ID: <201911130603.xAD63qnL080804@stargazer.midnightbsd.org>

Revision: 12290
          http://svnweb.midnightbsd.org/src/?rev=12290
Author:   laffer1
Date:     2019-11-13 01:03:52 -0500 (Wed, 13 Nov 2019)
Log Message:
-----------
remove some of the debug logging. add an os check for now to work around old versions that won't upgrade

Modified Paths:
--------------
    stable/1.2/usr.sbin/mport/mport.c

Modified: stable/1.2/usr.sbin/mport/mport.c
===================================================================
--- stable/1.2/usr.sbin/mport/mport.c	2019-11-13 06:01:17 UTC (rev 12289)
+++ stable/1.2/usr.sbin/mport/mport.c	2019-11-13 06:03:52 UTC (rev 12290)
@@ -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


From laffer1 at midnightbsd.org  Wed Nov 13 01:04:36 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Wed, 13 Nov 2019 01:04:36 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12291] trunk: fix some bugs with mport
 upgrade
Message-ID: <201911130604.xAD64a9r080889@stargazer.midnightbsd.org>

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