[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