[Midnightbsd-cvs] src [7387] trunk/lib/libmport/bundle_read_install_pkg.c: optimize postexec handler

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue Dec 1 05:13:07 EST 2015


Revision: 7387
          http://svnweb.midnightbsd.org/src/?rev=7387
Author:   laffer1
Date:     2015-12-01 05:13:06 -0500 (Tue, 01 Dec 2015)
Log Message:
-----------
optimize postexec handler

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	2015-11-29 17:32:47 UTC (rev 7386)
+++ trunk/lib/libmport/bundle_read_install_pkg.c	2015-12-01 10:13:06 UTC (rev 7387)
@@ -430,15 +430,12 @@
     sqlite3_stmt *assets = NULL;
     sqlite3 *db;
     mportAssetListEntryType type;
-    const char *data, *checksum;
-    char *mode = NULL;
-    uid_t owner = 0; /* root */
-    gid_t group = 0; /* wheel */
+    const char *data;
 
     db = mport->db;
 
     /* Process @postexec steps */
-    if (mport_db_prepare(db, &assets, "SELECT type,data,checksum FROM stub.assets WHERE pkg=%Q", pkg->name) != MPORT_OK)
+    if (mport_db_prepare(db, &assets, "SELECT type, data FROM stub.assets WHERE pkg=%Q and type in (%Q, %Q)", pkg->name, ASSET_CWD, ASSET_POSTEXEC) != MPORT_OK)
         goto ERROR;
 
     (void) strlcpy(cwd, pkg->prefix, sizeof(cwd));
@@ -458,8 +455,7 @@
         }
 
         type = (mportAssetListEntryType) sqlite3_column_int(assets, 0);
-        data = sqlite3_column_text(assets, 1);
-        checksum = sqlite3_column_text(assets, 2);
+        data = (char *) sqlite3_column_text(assets, 1);
 
         char file[FILENAME_MAX];
         if (data == NULL) {
@@ -475,24 +471,7 @@
                 (void) strlcpy(cwd, data == NULL ? pkg->prefix : data, sizeof(cwd));
                 if (mport_chdir(mport, cwd) != MPORT_OK)
                     goto ERROR;
-
                 break;
-            case ASSET_CHMOD:
-                printf("asset_chmod %s, %s\n", mode, data);
-                if (mode != NULL)
-                    free(mode);
-                /* TODO: should we reset the mode rather than NULL here */
-                if (data == NULL)
-                    mode = NULL;
-                else
-                    mode = strdup(data);
-                break;
-            case ASSET_CHOWN:
-                owner = mport_get_uid(data);
-                break;
-            case ASSET_CHGRP:
-                group = mport_get_gid(data);
-                break;
             case ASSET_POSTEXEC:
                 if (mport_run_asset_exec(mport, data, cwd, file) != MPORT_OK)
                     goto ERROR;



More information about the Midnightbsd-cvs mailing list