[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