[Midnightbsd-cvs] src [7088] trunk/lib/libmport: teach libmport about @shell.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Jul 12 13:42:35 EDT 2015
Revision: 7088
http://svnweb.midnightbsd.org/src/?rev=7088
Author: laffer1
Date: 2015-07-12 13:42:35 -0400 (Sun, 12 Jul 2015)
Log Message:
-----------
teach libmport about @shell. We want to take this a step farther and "register" the shell next.
Modified Paths:
--------------
trunk/lib/libmport/bundle_read_install_pkg.c
trunk/lib/libmport/create_primative.c
trunk/lib/libmport/delete_primative.c
trunk/lib/libmport/mport.h
trunk/lib/libmport/plist.c
Modified: trunk/lib/libmport/bundle_read_install_pkg.c
===================================================================
--- trunk/lib/libmport/bundle_read_install_pkg.c 2015-07-12 16:41:02 UTC (rev 7087)
+++ trunk/lib/libmport/bundle_read_install_pkg.c 2015-07-12 17:42:35 UTC (rev 7088)
@@ -105,7 +105,7 @@
orig_cwd = getcwd(NULL, 0);
/* get the file count for the progress meter */
- if (mport_db_prepare(db, &count, "SELECT COUNT(*) FROM stub.assets WHERE (type=%i or type=%i) AND pkg=%Q", ASSET_FILE, ASSET_SAMPLE, pkg->name) != MPORT_OK)
+ if (mport_db_prepare(db, &count, "SELECT COUNT(*) FROM stub.assets WHERE (type=%i or type=%i or type=%i) AND pkg=%Q", ASSET_FILE, ASSET_SAMPLE, ASSET_SHELL, pkg->name) != MPORT_OK)
RETURN_CURRENT_ERROR;
switch (sqlite3_step(count)) {
@@ -197,6 +197,8 @@
break;
case ASSET_FILE:
/* FALLS THROUGH */
+ case ASSET_SHELL:
+ /* FALLS THROUGH */
case ASSET_SAMPLE:
if (mport_bundle_read_next_entry(bundle, &entry) != MPORT_OK)
goto ERROR;
@@ -243,7 +245,7 @@
SET_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(db));
goto ERROR;
}
- if (type == ASSET_FILE || type == ASSET_SAMPLE) {
+ if (type == ASSET_FILE || type == ASSET_SAMPLE || type == ASSET_SHELL) {
/* don't put the root in the database! */
if (sqlite3_bind_text(insert, 2, file + strlen(mport->root), -1, SQLITE_STATIC) != SQLITE_OK) {
SET_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(db));
Modified: trunk/lib/libmport/create_primative.c
===================================================================
--- trunk/lib/libmport/create_primative.c 2015-07-12 16:41:02 UTC (rev 7087)
+++ trunk/lib/libmport/create_primative.c 2015-07-12 17:42:35 UTC (rev 7088)
@@ -145,7 +145,7 @@
RETURN_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(db));
}
- if (e->type == ASSET_FILE || e->type == ASSET_SAMPLE) {
+ if (e->type == ASSET_FILE || e->type == ASSET_SAMPLE || e->type == ASSET_SHELL) {
/* Don't prepend cwd onto absolute file paths (this is useful for update) */
if (*(e->data) == '/') {
(void)strlcpy(file, e->data, FILENAME_MAX);
@@ -479,7 +479,7 @@
if (e->type == ASSET_CWD)
cwd = e->data == NULL ? pack->prefix : e->data;
- if (e->type != ASSET_FILE && e->type != ASSET_SAMPLE) {
+ if (e->type != ASSET_FILE && e->type != ASSET_SAMPLE && e->type != ASSET_SHELL) {
continue;
}
Modified: trunk/lib/libmport/delete_primative.c
===================================================================
--- trunk/lib/libmport/delete_primative.c 2015-07-12 16:41:02 UTC (rev 7087)
+++ trunk/lib/libmport/delete_primative.c 2015-07-12 17:42:35 UTC (rev 7088)
@@ -83,7 +83,7 @@
}
/* get the file count for the progress meter */
- if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM assets WHERE (type=%i or type=%i) AND pkg=%Q", ASSET_FILE, ASSET_SAMPLE, pack->name) != MPORT_OK)
+ if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM assets WHERE (type=%i or type=%i or type=%i) AND pkg=%Q", ASSET_FILE, ASSET_SAMPLE, ASSET_SHELL, pack->name) != MPORT_OK)
RETURN_CURRENT_ERROR;
switch (sqlite3_step(stmt)) {
@@ -146,6 +146,8 @@
switch (type) {
case ASSET_FILE:
/* falls through */
+ case ASSET_SHELL:
+ /* falls through */
case ASSET_SAMPLE:
(mport->progress_step_cb)(++current, total, file);
Modified: trunk/lib/libmport/mport.h
===================================================================
--- trunk/lib/libmport/mport.h 2015-07-12 16:41:02 UTC (rev 7087)
+++ trunk/lib/libmport/mport.h 2015-07-12 17:42:35 UTC (rev 7088)
@@ -78,7 +78,8 @@
ASSET_COMMENT, ASSET_IGNORE, ASSET_NAME, ASSET_EXEC, ASSET_UNEXEC,
ASSET_SRC, ASSET_DISPLY, ASSET_PKGDEP, ASSET_CONFLICTS, ASSET_MTREE,
ASSET_DIRRM, ASSET_DIRRMTRY, ASSET_IGNORE_INST, ASSET_OPTION, ASSET_ORIGIN,
- ASSET_DEPORIGIN, ASSET_NOINST, ASSET_DISPLAY, ASSET_DIR, ASSET_SAMPLE
+ ASSET_DEPORIGIN, ASSET_NOINST, ASSET_DISPLAY, ASSET_DIR, ASSET_SAMPLE,
+ ASSET_SHELL
};
typedef enum _AssetListEntryType mportAssetListEntryType;
Modified: trunk/lib/libmport/plist.c
===================================================================
--- trunk/lib/libmport/plist.c 2015-07-12 16:41:02 UTC (rev 7087)
+++ trunk/lib/libmport/plist.c 2015-07-12 17:42:35 UTC (rev 7088)
@@ -202,6 +202,8 @@
return ASSET_OPTION;
if (STRING_EQ(s, "sample"))
return ASSET_SAMPLE;
+ if (STRING_EQ(s, "shell"))
+ return ASSET_SHELL;
return ASSET_INVALID;
}
More information about the Midnightbsd-cvs
mailing list