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 #include #include +#include #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 #include #include +#include #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