[Midnightbsd-cvs] src [7662] trunk/lib/libmport/bundle_read_install_pkg.c: mark package clean/installed only after post install steps now.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Aug 6 15:27:02 EDT 2016


Revision: 7662
          http://svnweb.midnightbsd.org/src/?rev=7662
Author:   laffer1
Date:     2016-08-06 15:27:02 -0400 (Sat, 06 Aug 2016)
Log Message:
-----------
mark package clean/installed only after post install steps now.

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

Modified: trunk/lib/libmport/bundle_read_install_pkg.c
===================================================================
--- trunk/lib/libmport/bundle_read_install_pkg.c	2016-08-06 19:10:35 UTC (rev 7661)
+++ trunk/lib/libmport/bundle_read_install_pkg.c	2016-08-06 19:27:02 UTC (rev 7662)
@@ -54,6 +54,7 @@
 static int create_categories(mportInstance *mport, mportPackageMeta *pkg);
 static int create_depends(mportInstance *mport, mportPackageMeta *pkg);
 static int create_sample_file(char *file);
+static int mark_complete(mportInstance *, mportPackageMeta *);
 
 /**
  * This is a wrapper for all bund read install operations
@@ -574,11 +575,6 @@
 
     sqlite3_finalize(assets);
     sqlite3_finalize(insert);
-    if (mport_db_do(db, "UPDATE packages SET status='clean' WHERE pkg=%Q", pkg->name) != MPORT_OK) {
-        SET_ERROR(MPORT_ERR_FATAL, "Unable to mark package clean");
-        goto ERROR;
-    }
-    mport_pkgmeta_logevent(mport, pkg, "Installed");
 
     (mport->progress_free_cb)();
     (void) mport_chdir(NULL, orig_cwd);
@@ -606,6 +602,19 @@
                                 }
                                 
 static int
+mark_complete(mportInstance *mport, mportPackageMeta *pkg)
+{
+	if (mport_db_do(mport->db, "UPDATE packages SET status='clean' WHERE pkg=%Q", pkg->name) != MPORT_OK) {
+		SET_ERROR(MPORT_ERR_FATAL, "Unable to mark package clean");
+		RETURN_CURRENT_ERROR;
+	}
+	mport_pkgmeta_logevent(mport, pkg, "Installed");
+
+	return MPORT_OK;
+}
+
+
+static int
 do_post_install(mportInstance *mport, mportBundleRead *bundle, mportPackageMeta *pkg)
 {
     char to[FILENAME_MAX], from[FILENAME_MAX];
@@ -621,7 +630,10 @@
     if (display_pkg_msg(mport, bundle, pkg) != MPORT_OK)
         RETURN_CURRENT_ERROR;
 
-    return run_pkg_install(mport, bundle, pkg, "POST-INSTALL");
+    if (run_pkg_install(mport, bundle, pkg, "POST-INSTALL") != MPORT_OK)
+		RETURN_CURRENT_ERROR;
+
+	return mark_complete(mport, pkg);
 }
 
 static int



More information about the Midnightbsd-cvs mailing list