Commit 0994893b0e6b627d45a63884ac01af7d0967eff2 added the
alpm_pkg_get_{make,check}depends functions but forgot to include
logic for parsing these fields from the database. As a result these
functions will always return an empty list.

This commit adds the parsing logic.

Signed-off-by: morganamilo <morganam...@gmail.com>

diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c
index 7c2f96b8..f8c3947e 100644
--- a/lib/libalpm/be_local.c
+++ b/lib/libalpm/be_local.c
@@ -773,6 +773,10 @@ static int local_db_read(alpm_pkg_t *info, int inforeq)
                                READ_AND_SPLITDEP(info->depends);
                        } else if(strcmp(line, "%OPTDEPENDS%") == 0) {
                                READ_AND_SPLITDEP(info->optdepends);
+                       } else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
+                               READ_AND_SPLITDEP(info->makedepends);
+                       } else if(strcmp(line, "%CHECKDEPENDS%") == 0) {
+                               READ_AND_SPLITDEP(info->checkdepends);
                        } else if(strcmp(line, "%CONFLICTS%") == 0) {
                                READ_AND_SPLITDEP(info->conflicts);
                        } else if(strcmp(line, "%PROVIDES%") == 0) {
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index 5009a7da..af94b2d5 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -700,17 +700,9 @@ static int sync_db_read(alpm_db_t *db, struct archive 
*archive,
                        } else if(strcmp(line, "%OPTDEPENDS%") == 0) {
                                READ_AND_SPLITDEP(pkg->optdepends);
                        } else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
-                               /* currently unused */
-                               while(1) {
-                                       READ_NEXT();
-                                       if(strlen(line) == 0) break;
-                               }
+                               READ_AND_SPLITDEP(pkg->makedepends);
                        } else if(strcmp(line, "%CHECKDEPENDS%") == 0) {
-                               /* currently unused */
-                               while(1) {
-                                       READ_NEXT();
-                                       if(strlen(line) == 0) break;
-                               }
+                               READ_AND_SPLITDEP(pkg->checkdepends);
                        } else if(strcmp(line, "%CONFLICTS%") == 0) {
                                READ_AND_SPLITDEP(pkg->conflicts);
                        } else if(strcmp(line, "%PROVIDES%") == 0) {
-- 
2.19.1

Reply via email to