]> git.pld-linux.org Git - packages/poldek.git/blob - poldek-obsoletes-fix2.patch
- added obsoletes-fix2 patch, release 5
[packages/poldek.git] / poldek-obsoletes-fix2.patch
1 ===================================================================
2 RCS file: /cvsroot/installer/poldek/pkgset-install.c,v
3 retrieving revision 1.82.4.9
4 retrieving revision 1.82.4.10
5 diff -u -r1.82.4.9 -r1.82.4.10
6 --- pkgset-install.c    8 Jun 2004 18:37:19 -0000       1.82.4.9
7 +++ pkgset-install.c    22 Jun 2004 17:13:35 -0000      1.82.4.10
8 @@ -11,7 +11,7 @@
9  */
10  
11  /*
12 -  $Id$
13 +  $Id$
14  */
15  
16  #ifdef HAVE_CONFIG_H
17 @@ -716,7 +716,7 @@
18          return 1;
19      }
20      
21 -    
22 +    DBGF("spkg %s\n", db_dep->spkg ? pkg_snprintf_s(db_dep->spkg) : "NO");
23      req = db_dep->req;
24  
25      // still satisfied by db? 
26 @@ -725,7 +725,14 @@
27          DBGF("  [1] -> satisfied by db\n");
28          return 1;
29      }
30 -       
31 +
32 +    if (db_dep->spkg && installset_provides(db_dep->spkg, req, ps, upg)) {
33 +        if (verbose > 1)
34 +            logn(LOGWARN, "cap %s satisfied by install set, shouldn't happen",
35 +                 capreq_snprintf_s(req));
36 +        DBGF("cap %s satisfied by install set\n", capreq_snprintf_s(req));
37 +        return 1;
38 +    }
39      
40      
41      if (db_dep->spkg && !marked_for_removal_by_req(db_dep->spkg, req, upg) &&
42 Index: dbdep.c
43 ===================================================================
44 RCS file: /cvsroot/installer/poldek/dbdep.c,v
45 retrieving revision 1.8.4.2
46 retrieving revision 1.8.4.3
47 diff -u -r1.8.4.2 -r1.8.4.3
48 --- dbdep.c     5 May 2004 16:52:11 -0000       1.8.4.2
49 +++ dbdep.c     22 Jun 2004 17:13:35 -0000      1.8.4.3
50 @@ -9,7 +9,7 @@
51  */
52  
53  /*
54 -  $Id$
55 +  $Id$
56    Module used in pkgset-install.c only
57  */
58  
59 @@ -127,7 +127,8 @@
60  }
61  
62  static
63 -void db_deps_remove_cap(tn_hash *db_deph, struct pkg *pkg, struct capreq *cap)
64 +void db_deps_remove_cap(tn_hash *db_deph, struct pkg *pkg,
65 +                        struct capreq *cap, int requiredonly)
66  {
67      tn_list           *l;
68      tn_list_iterator  it;
69 @@ -139,14 +140,25 @@
70      
71      n_list_iterator_start(l, &it);
72      while ((dep = n_list_iterator_get(&it))) {
73 +        DBGF("rmcap? %s (%s) %s\n", capreq_snprintf_s(cap),
74 +                 capreq_snprintf_s0(dep->req), pkg_snprintf_s(pkg));
75          if (dep->req && cap_match_req(cap, dep->req, 1)) {
76              int i, i_del = -1;
77 +
78 +            if (!requiredonly) {
79 +                DBGF("rmcap %s (%s) %s!\n", capreq_snprintf_s(cap),
80 +                     capreq_snprintf_s0(dep->req), pkg_snprintf_s(pkg));
81 +                dep->req = NULL;
82 +                db_dep_free_pkgs(dep);
83 +                continue;
84 +            }
85              
86              DBGF("rmcap %s (%s) %s?\n", capreq_snprintf_s(cap),
87                   capreq_snprintf_s0(dep->req), pkg_snprintf_s(pkg));
88              
89              for (i=0; i < n_array_size(dep->pkgs); i++) {
90 -                DBGF("  %s\n", pkg_snprintf_s(n_array_nth(dep->pkgs, i)));
91 +                DBGF("  %s cmp %s\n", pkg_snprintf_s(n_array_nth(dep->pkgs, i)),
92 +                     pkg_snprintf_s0(pkg));
93                  if (pkg_cmp_name_evr(n_array_nth(dep->pkgs, i), pkg) == 0) {
94                      i_del = i;
95                  }
96 @@ -249,7 +261,7 @@
97          return;
98          
99      for (i=0; i < n_array_size(pkg->reqs); i++)
100 -        db_deps_remove_cap(db_deph, pkg, n_array_nth(pkg->reqs, i));
101 +        db_deps_remove_cap(db_deph, pkg, n_array_nth(pkg->reqs, i), 1);
102  
103  }
104  
105 @@ -272,7 +284,7 @@
106  
107          
108          cap = n_array_nth(pkg->caps, i);
109 -        db_deps_remove_cap(db_deph, pkg, cap);
110 +        db_deps_remove_cap(db_deph, pkg, cap, 0);
111          continue;
112          
113          if ((l = n_hash_get(db_deph, capreq_name(cap))) == NULL)
This page took 0.034765 seconds and 3 git commands to generate.