poldek: poldek/Makefile.extra, poldek/capreq.c, poldek/capreq.h, p...

mis mis at pld-linux.org
Thu Jun 21 18:47:50 CEST 2007


Author: mis                          Date: Thu Jun 21 16:47:50 2007 GMT
Module: poldek                        Tag: HEAD
---- Log message:
- basic Suggests cap support

---- Files affected:
poldek/poldek:
   Makefile.extra (1.38 -> 1.39) , capreq.c (1.43 -> 1.44) , capreq.h (1.28 -> 1.29) , configure.in (1.137 -> 1.138) , lib_init.c (1.78 -> 1.79) , pkg.c (1.114 -> 1.115) , pkg.h (1.77 -> 1.78) , poldek_ts.h (1.37 -> 1.38) , test_match.c (1.19 -> 1.20) 
poldek/poldek/cli:
   cli.c (1.39 -> 1.40) , desc.c (1.28 -> 1.29) 
poldek/poldek/doc:
   NEWS.xml (1.5 -> 1.6) , poldek.conf.xml (1.9 -> 1.10) 
poldek/poldek/install:
   requirements.c (1.9 -> 1.10) 
poldek/poldek/pkgdir:
   pkg_restore.c (1.22 -> 1.23) , pkg_store.c (1.23 -> 1.24) , pkg_store.h (1.5 -> 1.6) 
poldek/poldek/pkgdir/pndir:
   pndir.c (1.35 -> 1.36) , pndir.h (1.13 -> 1.14) 
poldek/poldek/pm:
   pm.h (1.19 -> 1.20) 
poldek/poldek/pm/rpm:
   misc.c (1.16 -> 1.17) , rpm_pkg_ld.c (1.13 -> 1.14) 
poldek/poldek/po:
   de.po (1.31 -> 1.32) , pl.po (1.55 -> 1.56) 
poldek/poldek/tests:
   build-test-rpm.sh (1.3 -> 1.4) 

---- Diffs:

================================================================
Index: poldek/poldek/Makefile.extra
diff -u poldek/poldek/Makefile.extra:1.38 poldek/poldek/Makefile.extra:1.39
--- poldek/poldek/Makefile.extra:1.38	Wed Jun 20 00:13:42 2007
+++ poldek/poldek/Makefile.extra	Thu Jun 21 18:47:45 2007
@@ -89,7 +89,7 @@
 	nc -v localhost 25 < ann.1
 
 oncarme:
-	@rsync -avt --exclude python --exclude-from ~/poldek/.cvsignore ~/poldek carme.pld-linux.org:poldek/
+	@rsync -avt --exclude ".#*" --exclude "*.tar.*"  --exclude python --exclude-from ~/poldek/.cvsignore ~/poldek carme.pld-linux.org:poldek/
 	@ssh carme.pld-linux.org "cd poldek/poldek && CC=ccache ./make.sh -j3"
 
 scpsnap: 

================================================================
Index: poldek/poldek/capreq.c
diff -u poldek/poldek/capreq.c:1.43 poldek/poldek/capreq.c:1.44
--- poldek/poldek/capreq.c:1.43	Mon Aug 21 17:40:54 2006
+++ poldek/poldek/capreq.c	Thu Jun 21 18:47:45 2007
@@ -367,8 +367,8 @@
 }
 
 
-struct capreq *capreq_new_evr(const char *name, char *evr, int32_t relflags,
-                              int32_t flags)
+struct capreq *capreq_new_evr(tn_alloc *na, const char *name, char *evr,
+                              int32_t relflags, int32_t flags)
 {
     const char *version = NULL, *release = NULL;
     int32_t epoch = 0;
@@ -376,7 +376,7 @@
     if (evr && !poldek_util_parse_evr(evr, &epoch, &version, &release))
         return NULL;
     
-    return capreq_new(NULL, name, epoch, version, release, relflags, flags);
+    return capreq_new(na, name, epoch, version, release, relflags, flags);
 }
 
 struct capreq *capreq_clone(tn_alloc *na, const struct capreq *cr) 
@@ -430,6 +430,24 @@
     return n_array_bsearch_idx_ex(capreqs, name,
                                   (tn_fn_cmp)capreq_cmp2name);
 }
+
+tn_buf *capreq_arr_join(tn_array *capreqs, tn_buf *nbuf, const char *sep)
+{
+    int i, size = n_array_size(capreqs);
+
+    if (sep == NULL)
+        sep = ", ";
+    
+    if (nbuf == NULL)
+        nbuf = n_buf_new(32 * n_array_size(capreqs));
+    
+    for (i=0; i < size; i++) {
+        n_buf_printf(nbuf, "%s%s", capreq_snprintf_s(n_array_nth(capreqs, i)),
+                     i < size - 1 ? sep  : "");
+    }
+    return nbuf;
+}
+
 
 static
 void capreq_store(struct capreq *cr, tn_buf *nbuf) 

================================================================
Index: poldek/poldek/capreq.h
diff -u poldek/poldek/capreq.h:1.28 poldek/poldek/capreq.h:1.29
--- poldek/poldek/capreq.h:1.28	Mon Aug 21 16:13:08 2006
+++ poldek/poldek/capreq.h	Thu Jun 21 18:47:45 2007
@@ -89,8 +89,8 @@
 #define capreq_revrel(cr) ((cr)->cr_relflags = (cr)->cr_relflags ? \
                           (((uint8_t)~cnfl->cr_relflags) & REL_ALL) : (cr)->cr_relflags)
 
-struct capreq *capreq_new_evr(const char *name, char *evr, int32_t relflags,
-                              int32_t flags);
+struct capreq *capreq_new_evr(tn_alloc *na, const char *name, char *evr,
+                              int32_t relflags, int32_t flags);
 
 struct capreq *capreq_new(tn_alloc *na, const char *name, int32_t epoch,
                           const char *version, const char *release,
@@ -122,6 +122,7 @@
 
 tn_array *capreq_arr_new(int size);
 int capreq_arr_find(tn_array *capreqs, const char *name);
+tn_buf *capreq_arr_join(tn_array *capreqs, tn_buf *nbuf, const char *sep);
 
 int capreq_arr_store_n(tn_array *arr);
 tn_buf *capreq_arr_store(tn_array *arr, tn_buf *nbuf, int n);

================================================================
Index: poldek/poldek/configure.in
diff -u poldek/poldek/configure.in:1.137 poldek/poldek/configure.in:1.138
--- poldek/poldek/configure.in:1.137	Wed Jun 20 01:31:46 2007
+++ poldek/poldek/configure.in	Thu Jun 21 18:47:45 2007
@@ -1,3 +1,4 @@
+
 dnl Process this file with autoconf to produce a configure script.
 dnl $Id$
 
@@ -215,7 +216,15 @@
 		], have_tag_pubkeys=yes, have_tag_pubkeys=no)
 
 	if test "${have_tag_pubkeys}." = "yes." ; then
-		AC_DEFINE([HAVE_RPMTAG_PUBKEYS],1,["RPMTAG_PUBKEYS exists"])
+		AC_DEFINE([HAVE_RPMTAG_PUBKEYS],1,["rpm with RPMTAG_PUBKEYS"])
+	fi
+
+        AC_EGREP_CPP(RPMTAG_SUGGESTS,
+		[ #include <rpm/rpmlib.h>
+		], have_tag_suggests=yes, have_tag_suggests=no)
+
+	if test "${have_tag_suggests}." = "yes." ; then
+		AC_DEFINE([HAVE_RPMTAG_SUGGESTS],1,["rpm with RPMTAG_SUGGESTS support"])
 	fi
 fi
 

================================================================
Index: poldek/poldek/lib_init.c
diff -u poldek/poldek/lib_init.c:1.78 poldek/poldek/lib_init.c:1.79
--- poldek/poldek/lib_init.c:1.78	Wed Jun 20 10:33:40 2007
+++ poldek/poldek/lib_init.c	Thu Jun 21 18:47:45 2007
@@ -815,6 +815,7 @@
     }
 }
 
+#if ENABLE_TRACE
 void poldek__ts_dump_settings(struct poldek_ctx *ctx, struct poldek_ts *ts)
 {
     int i;
@@ -830,7 +831,7 @@
              ctx->ts->getop(ctx->ts, ent->op) ? "y" : "n");
     }
 }
-
+#endif
 
 static
 void poldek__ts_apply_poldek_settings(struct poldek_ctx *ctx,

================================================================
Index: poldek/poldek/pkg.c
diff -u poldek/poldek/pkg.c:1.114 poldek/poldek/pkg.c:1.115
--- poldek/poldek/pkg.c:1.114	Wed Jun 20 10:33:40 2007
+++ poldek/poldek/pkg.c	Thu Jun 21 18:47:45 2007
@@ -290,6 +290,7 @@
     pkg->reqs = NULL;
     pkg->caps = NULL;
     pkg->cnfls = NULL;
+    pkg->sugs = NULL;
     pkg->fl = NULL;
     pkg->reqpkgs = NULL;
     pkg->revreqpkgs = NULL;
@@ -1328,6 +1329,22 @@
     msgn(0, "]");
 }
 
+tn_buf *pkgs_array_join(tn_array *arr, tn_buf *nbuf, const char *sep) 
+{
+    int i, size = n_array_size(arr);
+
+    if (sep == NULL)
+        sep = ", ";
+    
+    if (nbuf == NULL)
+        nbuf = n_buf_new(64 * n_array_size(arr));
+    
+    for (i=0; i < size; i++) {
+        n_buf_printf(nbuf, "%s%s", pkg_id(n_array_nth(arr, i)),
+                     i < size - 1 ? sep  : "");
+    }
+    return nbuf;
+}
 
 tn_array *pkgs_array_new(int size) 
 {

================================================================
Index: poldek/poldek/pkg.h
diff -u poldek/poldek/pkg.h:1.77 poldek/poldek/pkg.h:1.78
--- poldek/poldek/pkg.h:1.77	Sun Jun 17 22:24:47 2007
+++ poldek/poldek/pkg.h	Thu Jun 21 18:47:45 2007
@@ -7,6 +7,7 @@
 #include <trurl/narray.h>
 #include <trurl/nmalloc.h>
 #include <trurl/ntuple.h>
+#include <trurl/nbuf.h>
 
 #include "pkgcmp.h"             /* compares functions */
 
@@ -72,6 +73,7 @@
     tn_array     *caps;       /* capabilities     */
     tn_array     *reqs;       /* requirements     */
     tn_array     *cnfls;      /* conflicts (with obsoletes)  */
+    tn_array     *sugs;       /* suggests */
     
     tn_tuple     *fl;         /* file list, see pkgfl.h  */
     
@@ -257,6 +259,7 @@
                                          const struct pkg *p2));
 void pkgs_array_dump(tn_array *pkgs, const char *prefix); /* for debugging */
 
+tn_buf *pkgs_array_join(tn_array *pkgs, tn_buf *nbuf, const char *sep);
 
 char *pkg_strsize(char *buf, int size, const struct pkg *pkg);
 char *pkg_strbtime(char *buf, int size, const struct pkg *pkg);

================================================================
Index: poldek/poldek/poldek_ts.h
diff -u poldek/poldek/poldek_ts.h:1.37 poldek/poldek/poldek_ts.h:1.38
--- poldek/poldek/poldek_ts.h:1.37	Sun May 20 23:44:28 2007
+++ poldek/poldek/poldek_ts.h	Thu Jun 21 18:47:45 2007
@@ -46,6 +46,7 @@
     POLDEK_OP_GREEDY,   /* --greedy */
     POLDEK_OP_CONFLICTS,  /* honour conflicts */
     POLDEK_OP_OBSOLETES,  /* honour obsoletes */
+    POLDEK_OP_SUGGESTS,   /* honour suggests */
     POLDEK_OP_AGGREEDY,
     POLDEK_OP_ALLOWDUPS, 
     POLDEK_OP_NODEPS,  /* rpm --nodeps */

================================================================
Index: poldek/poldek/test_match.c
diff -u poldek/poldek/test_match.c:1.19 poldek/poldek/test_match.c:1.20
--- poldek/poldek/test_match.c:1.19	Sun May 15 17:56:04 2005
+++ poldek/poldek/test_match.c	Thu Jun 21 18:47:45 2007
@@ -61,7 +61,7 @@
                     char evr[255];
 
                     snprintf(evr, sizeof(evr), "1:1.1");
-                    req = capreq_new_evr("poldek", n_strdup(evr), rels[k++], 0);
+                    req = capreq_new_evr(NULL, "poldek", n_strdup(evr), rels[k++], 0);
 
                     rc1 = pkg_match_req(pkg, req, 1) ? 1:0;
                     rc2 = cap_match_req(cap, req, 1) ? 1:0;
@@ -88,7 +88,7 @@
     
     pkg = pkg_new("poldek", epoch, ver, rel,  NULL, NULL);
 
-    req = capreq_new_evr("poldek", n_strdup(evr), relation, 0);
+    req = capreq_new_evr(NULL, "poldek", n_strdup(evr), relation, 0);
 
     rc1 = pkg_match_req(pkg, req, 1) ? 1:0;
     printf("P %s[%d] match %s ? %s\n", pkg_snprintf_s(pkg),

================================================================
Index: poldek/poldek/cli/cli.c
diff -u poldek/poldek/cli/cli.c:1.39 poldek/poldek/cli/cli.c:1.40
--- poldek/poldek/cli/cli.c:1.39	Wed Jun 20 19:15:45 2007
+++ poldek/poldek/cli/cli.c	Thu Jun 21 18:47:45 2007
@@ -495,9 +495,7 @@
 static
 void poclidek_destroy(struct poclidek_ctx *cctx) 
 {
-    if (cctx->pkgs_available)
-        n_array_free(cctx->pkgs_available);
-    
+    cctx->pkgs_available = NULL;
     cctx->pkgs_installed = NULL;
 
     if (cctx->rootdir)
@@ -765,7 +763,6 @@
         DBGF("+ %s\n", pkg_id(pkg));
         n++;
     }
-    n_array_sort(cctx->pkgs_installed);
         
     if (n)
         cctx->ts_dbpkgdir = time(0);

================================================================
Index: poldek/poldek/cli/desc.c
diff -u poldek/poldek/cli/desc.c:1.28 poldek/poldek/cli/desc.c:1.29
--- poldek/poldek/cli/desc.c:1.28	Sat Jun 16 16:43:12 2007
+++ poldek/poldek/cli/desc.c	Thu Jun 21 18:47:45 2007
@@ -390,9 +390,37 @@
         }
         cmdctx_printf(cmdctx, "\n");
     }
+}
+
 
+static void show_suggests(struct cmdctx *cmdctx, struct pkg *pkg)
+{
+    char *p, *colon = ", ";
+    int i, ncol, term_width;
+    
+    if (pkg->sugs == NULL)
+        return;
+
+    term_width = poldek_term_get_width() - RMARGIN;
+    ncol = IDENT;
+    cmdctx_printf_c(cmdctx, PRCOLOR_CYAN, "%-16s", "Suggests:");
+    for (i=0; i<n_array_size(pkg->sugs); i++) {
+        struct capreq *cr = n_array_nth(pkg->sugs, i);
+                
+        if (i == (n_array_size(pkg->sugs) - 1))
+            colon = "";
+                
+        p = capreq_snprintf_s(cr);
+        if (ncol + (int)strlen(p) >= term_width) {
+            ncol = SUBIDENT;
+            nlident(ncol);
+        }
+        ncol += cmdctx_printf(cmdctx, "%s%s", p, colon);
+    }
+    cmdctx_printf(cmdctx, "\n");
 }
 
+
 static void show_reqdirs(struct cmdctx *cmdctx, struct pkg *pkg)
 {
     int i, ncol = IDENT;
@@ -741,8 +769,10 @@
     if (flags & OPT_DESC_CAPS)
         show_caps(cmdctx, pkg);
 
-    if (flags & OPT_DESC_REQS)
+    if (flags & OPT_DESC_REQS) {
         show_reqs(cmdctx, pkg);
+        show_suggests(cmdctx, pkg);
+    }
 
     if (flags & OPT_DESC_REQDIRS)
         show_reqdirs(cmdctx, pkg);

================================================================
Index: poldek/poldek/doc/NEWS.xml
diff -u poldek/poldek/doc/NEWS.xml:1.5 poldek/poldek/doc/NEWS.xml:1.6
--- poldek/poldek/doc/NEWS.xml:1.5	Sun Aug 20 18:04:57 2006
+++ poldek/poldek/doc/NEWS.xml	Thu Jun 21 18:47:45 2007
@@ -4,7 +4,20 @@
 
 <release version="0.20.1" date="not released yet" focus="bugfix release">
   <entry><para>
-   support for RPM 4.4.6: new internal sysinfo(),getconf(),uname() and cpuinfo()
+  Basic support for package Suggests capabilities
+  </para></entry>
+
+  <entry><para>
+  Improved a lot RPM's multilib support
+  </para></entry>
+
+  <entry><para>
+  <author id="arekm" email="arekm att pld-linux org">Arkadiusz Miskiewicz</author>
+   RPM up to 4.4.9 is supported
+  </para></entry>
+
+  <entry><para>
+   support for RPM 4.4.6's new internal sysinfo(),getconf(),uname() and cpuinfo()
    capabilities and auto-dependecies based on package directories
   </para></entry>
   

================================================================
Index: poldek/poldek/doc/poldek.conf.xml
diff -u poldek/poldek/doc/poldek.conf.xml:1.9 poldek/poldek/doc/poldek.conf.xml:1.10
--- poldek/poldek/doc/poldek.conf.xml:1.9	Sun Aug 20 18:04:57 2006
+++ poldek/poldek/doc/poldek.conf.xml	Thu Jun 21 18:47:45 2007
@@ -452,6 +452,13 @@
     Multilib mode. This feature is not finished yet.
   </description>
 
+  <option name="suggests" type="boolean" default="yes" op="SUGGESTS">
+    <description>
+    Taking into account package Suggests.
+    </description>
+  </option>
+
+
   <option name="obsoletes" type="boolean" default="yes" op="OBSOLETES">
     <description>
     Taking into account package Obsoletes.

================================================================
Index: poldek/poldek/install/requirements.c
diff -u poldek/poldek/install/requirements.c:1.9 poldek/poldek/install/requirements.c:1.10
--- poldek/poldek/install/requirements.c:1.9	Mon Jun 18 11:08:38 2007
+++ poldek/poldek/install/requirements.c	Thu Jun 21 18:47:45 2007
@@ -243,12 +243,54 @@
     return 1;
 }
 
+/* just append sugs to reqs if user wants to */
+static tn_array *process_suggets(struct pkg *pkg, struct poldek_ts *ts) 
+{
+    tn_array *reqs;
+    tn_buf *nbuf;
+    char message[2048], *confirmation;
+    
+    reqs = pkg->reqs;
+    
+    if (pkg->sugs == NULL || !in_is_user_askable(ts))
+        return reqs;
+    
+    if (!ts->getop(ts, POLDEK_OP_SUGGESTS))
+        return reqs;
+    
+    nbuf = capreq_arr_join(pkg->sugs, NULL, NULL);
+
+    n_snprintf(message, sizeof(message), _("%s suggests installation of: %s"),
+               pkg_id(pkg), n_buf_ptr(nbuf));
+    n_buf_free(nbuf);
+        
+    confirmation = ngettext("Try to install it? [N/y]",
+                            "Try to install them? [N/y]",
+                            n_array_size(pkg->sugs));
+            
+    if (ts->ask_fn(0, "%s\n%s", message, confirmation)) {
+        int i;
+        
+        reqs = capreq_arr_new(n_array_size(pkg->reqs) + n_array_size(pkg->sugs));
+            
+        for (i=0; i < n_array_size(pkg->reqs); i++)
+            n_array_push(reqs, n_array_nth(pkg->reqs, i));
+        
+        for (i=0; i < n_array_size(pkg->sugs); i++)
+            n_array_push(reqs, n_array_nth(pkg->sugs, i));
+
+        n_array_ctl_set_freefn(reqs, NULL);
+    }
+
+    return reqs;
+}
 
 
 int in_process_pkg_requirements(int indent, struct install_ctx *ictx,
                                 struct pkg *pkg, int process_as)
 {
     struct successor successor;
+    tn_array *reqs;
     int i;
 
     if (sigint_reached())
@@ -298,9 +340,13 @@
                  ndragged, is_marked);
         }
     }
+
+    reqs = pkg->reqs;
+    if (process_as == PROCESS_AS_NEW)
+        reqs = process_suggets(pkg, ictx->ts);
     
-    for (i=0; i < n_array_size(pkg->reqs); i++) {
-        struct capreq *req = n_array_nth(pkg->reqs, i);
+    for (i=0; i < n_array_size(reqs); i++) {
+        struct capreq *req = n_array_nth(reqs, i);
 
         if (capreq_is_rpmlib(req)) {
             if (process_as == PROCESS_AS_NEW && !capreq_is_satisfied(req)) {
@@ -323,6 +369,9 @@
 
         process_pkg_req(indent, ictx, pkg, req, &successor, process_as);
     }
-
+    
+    if (reqs != pkg->reqs)      /* suggests was processed */
+        n_array_free(reqs);
+    
     return 1;
 }

================================================================
Index: poldek/poldek/pkgdir/pkg_restore.c
diff -u poldek/poldek/pkgdir/pkg_restore.c:1.22 poldek/poldek/pkgdir/pkg_restore.c:1.23
--- poldek/poldek/pkgdir/pkg_restore.c:1.22	Sat Jun 16 19:05:08 2007
+++ poldek/poldek/pkgdir/pkg_restore.c	Thu Jun 21 18:47:45 2007
@@ -77,6 +77,7 @@
     uint32_t   groupid;
     tn_array   *caps;
     tn_array   *reqs;
+    tn_array   *sugs;
     tn_array   *cnfls;
     tn_tuple   *pkgfl;
     off_t      nodep_files_offs; /* non dep files tag off_t */
@@ -278,6 +279,16 @@
                 }
                 pkgt.flags |= PKGT_HAS_REQ;
                 break;
+
+            case PKG_STORETAG_SUGS:
+                pkgt.sugs = capreq_arr_restore_st(na, st);
+                if (pkgt.sugs == NULL) {
+                    logn(LOGERR, errmg_ldtag, fn, ul_offs, *line);
+                    nerr++;
+                    goto l_end;
+                }
+                break;
+
                     
             case PKG_STORETAG_CNFLS:
                 if (pkgt.flags & PKGT_HAS_CNFL) {
@@ -537,6 +548,13 @@
         pkg->reqs = pkgt->reqs;
         pkgt->reqs = NULL;
     }
+
+    if (pkgt->sugs) {
+        n_assert(n_array_size(pkgt->sugs));
+        pkg->sugs = pkgt->sugs;
+        pkgt->sugs = NULL;
+    }
+    
 
     if (pkgt->flags & PKGT_HAS_CNFL) {
         n_assert(pkgt->cnfls && n_array_size(pkgt->cnfls));

================================================================
Index: poldek/poldek/pkgdir/pkg_store.c
diff -u poldek/poldek/pkgdir/pkg_store.c:1.23 poldek/poldek/pkgdir/pkg_store.c:1.24
--- poldek/poldek/pkgdir/pkg_store.c:1.23	Mon Aug 21 17:40:54 2006
+++ poldek/poldek/pkgdir/pkg_store.c	Thu Jun 21 18:47:45 2007
@@ -49,6 +49,7 @@
     { PKG_STORETAG_BINF,  PKG_STORETAG_SIZE8,  "pkg's int32 fields" }, 
     { PKG_STORETAG_CAPS,  PKG_STORETAG_SIZE16, "caps"  },
     { PKG_STORETAG_REQS,  PKG_STORETAG_SIZE16, "reqs"  },
+    { PKG_STORETAG_SUGS,  PKG_STORETAG_SIZE16, "sugs"  },
     { PKG_STORETAG_CNFLS, PKG_STORETAG_SIZE16, "cnfls" },
     { PKG_STORETAG_FL,    PKG_STORETAG_SIZE32, "file list" },
     { PKG_STORETAG_DEPFL, PKG_STORETAG_SIZE32, "depdirs file list" },
@@ -384,6 +385,12 @@
         pkg_store_bintag(PKG_STORETAG_REQS, nbuf); 
         capreq_arr_store(pkg->reqs, nbuf, ncaps);
     }
+
+    if (pkg->sugs && (ncaps = capreq_arr_store_n(pkg->sugs))) {
+        pkg_store_bintag(PKG_STORETAG_SUGS, nbuf); 
+        capreq_arr_store(pkg->sugs, nbuf, ncaps);
+    }
+
     
     if (pkg->cnfls && (ncaps = capreq_arr_store_n(pkg->cnfls))) {
         pkg_store_bintag(PKG_STORETAG_CNFLS, nbuf);

================================================================
Index: poldek/poldek/pkgdir/pkg_store.h
diff -u poldek/poldek/pkgdir/pkg_store.h:1.5 poldek/poldek/pkgdir/pkg_store.h:1.6
--- poldek/poldek/pkgdir/pkg_store.h:1.5	Sun Jul 10 14:32:05 2005
+++ poldek/poldek/pkgdir/pkg_store.h	Thu Jun 21 18:47:45 2007
@@ -14,6 +14,7 @@
 #define PKG_STORETAG_BINF  'f'
 #define PKG_STORETAG_CAPS  'P'
 #define PKG_STORETAG_REQS  'R'
+#define PKG_STORETAG_SUGS  'S'
 #define PKG_STORETAG_CNFLS 'C'
 #define PKG_STORETAG_FL    'l'
 #define PKG_STORETAG_DEPFL 'L'

================================================================
Index: poldek/poldek/pkgdir/pndir/pndir.c
diff -u poldek/poldek/pkgdir/pndir/pndir.c:1.35 poldek/poldek/pkgdir/pndir/pndir.c:1.36
--- poldek/poldek/pkgdir/pndir/pndir.c:1.35	Mon Aug 21 17:41:16 2006
+++ poldek/poldek/pkgdir/pndir/pndir.c	Thu Jun 21 18:47:45 2007
@@ -92,7 +92,7 @@
 };
 
 
-const char *pndir_localidxpath(struct pkgdir *pkgdir)
+const char *pndir_localidxpath(const struct pkgdir *pkgdir)
 {
     struct pndir *idx = pkgdir->mod_data;
     

================================================================
Index: poldek/poldek/pkgdir/pndir/pndir.h
diff -u poldek/poldek/pkgdir/pndir/pndir.h:1.13 poldek/poldek/pkgdir/pndir/pndir.h:1.14
--- poldek/poldek/pkgdir/pndir/pndir.h:1.13	Sun May 15 17:51:19 2005
+++ poldek/poldek/pkgdir/pndir/pndir.h	Thu Jun 21 18:47:45 2007
@@ -105,7 +105,7 @@
                      enum pkgdir_uprc *uprc);
 int pndir_m_update(struct pkgdir *pkgdir, enum pkgdir_uprc *uprc);
 
-const char *pndir_localidxpath(struct pkgdir *pkgdir);
+const char *pndir_localidxpath(const struct pkgdir *pkgdir);
 
 
 /* description.c */

================================================================
Index: poldek/poldek/pm/pm.h
diff -u poldek/poldek/pm/pm.h:1.19 poldek/poldek/pm/pm.h:1.20
--- poldek/poldek/pm/pm.h:1.19	Tue Jun 19 22:39:45 2007
+++ poldek/poldek/pm/pm.h	Thu Jun 21 18:47:45 2007
@@ -100,7 +100,8 @@
     PMCAP_CAP  = 1, 
     PMCAP_REQ  = 2, 
     PMCAP_CNFL = 3,
-    PMCAP_OBSL = 4
+    PMCAP_OBSL = 4,
+    PMCAP_SUG  = 5
 };
 
 /* pkgdb_it */

================================================================
Index: poldek/poldek/pm/rpm/misc.c
diff -u poldek/poldek/pm/rpm/misc.c:1.16 poldek/poldek/pm/rpm/misc.c:1.17
--- poldek/poldek/pm/rpm/misc.c:1.16	Wed Jun 20 10:14:42 2007
+++ poldek/poldek/pm/rpm/misc.c	Thu Jun 21 18:47:45 2007
@@ -68,7 +68,7 @@
             crflags = 0;
         }
         
-        cr = capreq_new_evr(name, tmpptr, crflags, 0);
+        cr = capreq_new_evr(NULL, name, tmpptr, crflags, 0);
         if (cr) {
             msgn(3, "  - %s", capreq_snprintf_s(cr));
             n_array_push(caps, cr);

================================================================
Index: poldek/poldek/pm/rpm/rpm_pkg_ld.c
diff -u poldek/poldek/pm/rpm/rpm_pkg_ld.c:1.13 poldek/poldek/pm/rpm/rpm_pkg_ld.c:1.14
--- poldek/poldek/pm/rpm/rpm_pkg_ld.c:1.13	Wed Jun 20 01:31:46 2007
+++ poldek/poldek/pm/rpm/rpm_pkg_ld.c	Thu Jun 21 18:47:45 2007
@@ -17,9 +17,13 @@
 #include <string.h>
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/poldek/poldek/Makefile.extra?r1=1.38&r2=1.39&f=u
    http://cvs.pld-linux.org/poldek/poldek/capreq.c?r1=1.43&r2=1.44&f=u
    http://cvs.pld-linux.org/poldek/poldek/capreq.h?r1=1.28&r2=1.29&f=u
    http://cvs.pld-linux.org/poldek/poldek/configure.in?r1=1.137&r2=1.138&f=u
    http://cvs.pld-linux.org/poldek/poldek/lib_init.c?r1=1.78&r2=1.79&f=u
    http://cvs.pld-linux.org/poldek/poldek/pkg.c?r1=1.114&r2=1.115&f=u
    http://cvs.pld-linux.org/poldek/poldek/pkg.h?r1=1.77&r2=1.78&f=u
    http://cvs.pld-linux.org/poldek/poldek/poldek_ts.h?r1=1.37&r2=1.38&f=u
    http://cvs.pld-linux.org/poldek/poldek/test_match.c?r1=1.19&r2=1.20&f=u
    http://cvs.pld-linux.org/poldek/poldek/cli/cli.c?r1=1.39&r2=1.40&f=u
    http://cvs.pld-linux.org/poldek/poldek/cli/desc.c?r1=1.28&r2=1.29&f=u
    http://cvs.pld-linux.org/poldek/poldek/doc/NEWS.xml?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/poldek/poldek/doc/poldek.conf.xml?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/poldek/poldek/install/requirements.c?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/poldek/poldek/pkgdir/pkg_restore.c?r1=1.22&r2=1.23&f=u
    http://cvs.pld-linux.org/poldek/poldek/pkgdir/pkg_store.c?r1=1.23&r2=1.24&f=u
    http://cvs.pld-linux.org/poldek/poldek/pkgdir/pkg_store.h?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/poldek/poldek/pkgdir/pndir/pndir.c?r1=1.35&r2=1.36&f=u
    http://cvs.pld-linux.org/poldek/poldek/pkgdir/pndir/pndir.h?r1=1.13&r2=1.14&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/pm.h?r1=1.19&r2=1.20&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/rpm/misc.c?r1=1.16&r2=1.17&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/rpm/rpm_pkg_ld.c?r1=1.13&r2=1.14&f=u
    http://cvs.pld-linux.org/poldek/poldek/po/de.po?r1=1.31&r2=1.32&f=u
    http://cvs.pld-linux.org/poldek/poldek/po/pl.po?r1=1.55&r2=1.56&f=u
    http://cvs.pld-linux.org/poldek/poldek/tests/build-test-rpm.sh?r1=1.3&r2=1.4&f=u



More information about the pld-cvs-commit mailing list