libopkg: suppress empty provides
[oweals/opkg-lede.git] / libopkg / pkg.c
index 5b1321e6c7c544891b535b34f0d0862c31b94d07..64ee70a00c401244e8a8e7c1d0c06a2a142d1250 100644 (file)
@@ -21,6 +21,7 @@
 #include <string.h>
 #include <ctype.h>
 #include <unistd.h>
+#include <libgen.h>
 
 #include "pkg.h"
 
@@ -461,7 +462,7 @@ set_flags_from_control(pkg_t *pkg){
 
      fp = fopen(file_name, "r");
      if (fp == NULL) {
-            opkg_perror(ERROR, "Failed to open %s");
+            opkg_perror(ERROR, "Failed to open %s", file_name);
             free(file_name);
             return;
      }
@@ -713,7 +714,7 @@ pkg_formatted_field(FILE *fp, pkg_t *pkg, const char *field)
      case 'M':
          if (strcasecmp(field, "Maintainer") == 0) {
               if (pkg->maintainer) {
-                   fprintf(fp, "maintainer: %s\n", pkg->maintainer);
+                   fprintf(fp, "Maintainer: %s\n", pkg->maintainer);
               }
          } else if (strcasecmp(field, "MD5sum") == 0) {
               if (pkg->md5sum) {
@@ -730,7 +731,7 @@ pkg_formatted_field(FILE *fp, pkg_t *pkg, const char *field)
          } else if (strcasecmp(field, "Priority") == 0) {
                fprintf(fp, "Priority: %s\n", pkg->priority);
          } else if (strcasecmp(field, "Provides") == 0) {
-              if (pkg->provides_count) {
+              if (pkg->provides_count > 1) {
                   fprintf(fp, "Provides:");
                  for(i = 1; i < pkg->provides_count; i++) {
                       fprintf(fp, "%s %s", i == 1 ? "" : ",",
@@ -1298,7 +1299,8 @@ pkg_run_script(pkg_t *pkg, const char *script, const char *args)
      free(cmd);
 
      if (err) {
-         opkg_msg(ERROR, "%s script returned status %d.\n", script, err);
+         opkg_msg(ERROR, "package \"%s\" %s script returned status %d.\n", 
+               pkg->name, script, err);
          return err;
      }