rpm  5.4.15
rpmds.h
Go to the documentation of this file.
1 #ifndef H_RPMDS
2 #define H_RPMDS
3 
9 #include <stdio.h> /* XXX FILE * typedef */
10 #include <sys/types.h> /* XXX size_t typedef */
11 #include <rpmtypes.h>
12 #include <rpmiotypes.h>
13 #include <rpmevr.h>
14 #include <rpmtag.h>
15 #define _RPMNS_INTERNAL
16 #include <rpmns.h>
17 #include <rpmps.h>
18 
21 /*@-exportlocal@*/
22 /*@unchecked@*/
23 extern int _rpmds_debug;
24 /*@=exportlocal@*/
25 
28 /*@unchecked@*/ /*@observer@*/ /*@owned@*/ /*@null@*/
29 extern const char *_sysinfo_path;
30 
33 /*@-exportlocal@*/
34 /*@unchecked@*/
35 extern int _rpmds_nopromote;
36 /*@=exportlocal@*/
37 
38 #if defined(_RPMDS_INTERNAL)
39 #include <mire.h>
40 
44 struct rpmds_s {
45  struct rpmioItem_s _item;
46 /*@observer@*/
47  const char * Type;
48 /*@only@*/ /*@null@*/
49  const char * DNEVR;
50 /*@refcounted@*/ /*@null@*/
51  Header h;
52 /*@only@*/ /*@relnull@*/
53  const char ** N;
54 /*@only@*/ /*@relnull@*/
55  const char ** EVR;
56 /*@only@*/ /*@relnull@*/
57  evrFlags * Flags;
58 /*@only@*/ /*@null@*/
59  rpmuint32_t * Color;
60 /*@only@*/ /*@null@*/
61  rpmuint32_t * Refs;
62 /*@only@*/ /*@null@*/
63  rpmint32_t * Result;
64 /*@null@*/
65  int (*EVRparse) (const char *evrstr, EVR_t evr); /* EVR parsing. */
66  int (*EVRcmp) (const char *a, const char *b); /* EVR comparison. */
67  struct rpmns_s ns;
68 /*@only@*/ /*@null@*/
69  miRE exclude;
70  int nexclude;
71 /*@only@*/ /*@null@*/
72  miRE include;
73  int ninclude;
74 /*@only@*/ /*@null@*/
75  const char * A;
76  rpmuint32_t BT;
77  rpmTag tagN;
78  rpmuint32_t Count;
79  int i;
80  unsigned l;
81  unsigned u;
82  int nopromote;
83 #if defined(__LCLINT__)
84 /*@refs@*/
85  int nrefs;
86 #endif
87 };
88 #endif /* _RPMDS_INTERNAL */
89 
90 #if defined(_RPMPRCO_INTERNAL)
91 
94 struct rpmPRCO_s {
95  struct rpmioItem_s _item;
96 /*@dependent@*/ /*@relnull@*/
97  rpmds * Pdsp;
98 /*@dependent@*/ /*@relnull@*/
99  rpmds * Rdsp;
100 /*@dependent@*/ /*@relnull@*/
101  rpmds * Cdsp;
102 /*@dependent@*/ /*@relnull@*/
103  rpmds * Odsp;
104 /*@dependent@*/ /*@relnull@*/
105  rpmds * Tdsp;
106 /*@dependent@*/ /*@relnull@*/
107  rpmds * Ddsp;
108 /*@dependent@*/ /*@relnull@*/
109  rpmds * Ldsp;
110 /*@refcounted@*/ /*@null@*/
111  rpmds my;
112 /*@refcounted@*/ /*@null@*/
113  rpmds P;
114 /*@refcounted@*/ /*@null@*/
115  rpmds R;
116 /*@refcounted@*/ /*@null@*/
117  rpmds C;
118 /*@refcounted@*/ /*@null@*/
119  rpmds O;
120 /*@refcounted@*/ /*@null@*/
121  rpmds T;
122 /*@refcounted@*/ /*@null@*/
123  rpmds D;
124 /*@refcounted@*/ /*@null@*/
125  rpmds L;
126 #if defined(__LCLINT__)
127 /*@refs@*/
128  int nrefs;
129 #endif
130 };
131 #endif /* _RPMPRCO_INTERNAL */
132 
133 #ifdef __cplusplus
134 extern "C" {
135 #endif
136 
139 
146 /*@unused@*/ /*@null@*/
147 rpmds rpmdsUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmds ds,
148  /*@null@*/ const char * msg)
149  /*@modifies ds @*/;
150 #define rpmdsUnlink(_ds, _msg) \
151  ((rpmds)rpmioUnlinkPoolItem((rpmioItem)(_ds), _msg, __FILE__, __LINE__))
152 
159 /*@unused@*/ /*@newref@*/ /*@null@*/
160 rpmds rpmdsLink (/*@null@*/ rpmds ds, /*@null@*/ const char * msg)
161  /*@modifies ds @*/;
162 #define rpmdsLink(_ds, _msg) \
163  ((rpmds)rpmioLinkPoolItem((rpmioItem)(_ds), _msg, __FILE__, __LINE__))
164 
170 /*@null@*/
171 rpmds rpmdsFree(/*@killref@*/ /*@null@*/ rpmds ds)
172  /*@modifies ds @*/;
173 #define rpmdsFree(_ds) \
174  ((rpmds)rpmioFreePoolItem((rpmioItem)(_ds), __FUNCTION__, __FILE__, __LINE__))
175 
183 /*@null@*/
184 rpmds rpmdsNew(Header h, rpmTag tagN, int flags)
185  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
186  /*@modifies h, rpmGlobalMacroContext, fileSystem, internalState @*/;
187 
193 /*@dependent@*/ /*@observer@*/ /*@null@*/
194 const char * rpmdsNewN(rpmds ds)
195  /*@globals rpmGlobalMacroContext, h_errno, internalState @*/
196  /*@modifies ds, rpmGlobalMacroContext, internalState @*/;
197 
204 char * rpmdsNewDNEVR(const char * dspfx, rpmds ds)
205  /*@globals rpmGlobalMacroContext, h_errno, internalState @*/
206  /*@modifies ds, rpmGlobalMacroContext, internalState @*/;
207 
215 /*@null@*/
216 rpmds rpmdsThis(Header h, rpmTag tagN, evrFlags Flags)
217  /*@globals internalState @*/
218  /*@modifies internalState @*/;
219 
228 /*@null@*/
229 rpmds rpmdsSingle(rpmTag tagN, const char * N, const char * EVR, evrFlags Flags)
230  /*@*/;
231 
237 int rpmdsCount(/*@null@*/ const rpmds ds)
238  /*@*/;
239 
245 int rpmdsIx(/*@null@*/ const rpmds ds)
246  /*@*/;
247 
254 int rpmdsSetIx(/*@null@*/ rpmds ds, int ix)
255  /*@modifies ds @*/;
256 
262 /*@observer@*/ /*@relnull@*/
263 extern const char * rpmdsDNEVR(/*@null@*/ const rpmds ds)
264  /*@*/;
265 
271 /*@observer@*/ /*@null@*/
272 extern const char * rpmdsN(/*@null@*/ rpmds ds)
273  /*@globals internalState @*/
274  /*@modifies internalState @*/;
275 
281 /*@observer@*/ /*@relnull@*/
282 extern const char * rpmdsEVR(/*@null@*/ const rpmds ds)
283  /*@*/;
284 
290 evrFlags rpmdsFlags(/*@null@*/ const rpmds ds)
291  /*@*/;
292 
298 rpmTag rpmdsTagN(/*@null@*/ const rpmds ds)
299  /*@*/;
300 
306 /*@observer@*/ /*@relnull@*/
307 extern const char * rpmdsA(/*@null@*/ const rpmds ds)
308  /*@*/;
309 
315 time_t rpmdsBT(/*@null@*/ const rpmds ds)
316  /*@*/;
317 
324 time_t rpmdsSetBT(/*@null@*/ const rpmds ds, time_t BT)
325  /*@modifies ds @*/;
326 
332 nsType rpmdsNSType(/*@null@*/ const rpmds ds)
333  /*@*/;
334 
348 int rpmdsNoPromote(/*@null@*/ const rpmds ds)
349  /*@*/;
350 
357 int rpmdsSetNoPromote(/*@null@*/ rpmds ds, int nopromote)
358  /*@modifies ds @*/;
359 
366 /*@null@*/
367 void * rpmdsSetEVRparse(/*@null@*/ rpmds ds,
368  /*@null@*/ int (*EVRparse)(const char *everstr, EVR_t evr))
369  /*@modifies ds @*/;
370 
377 /*@null@*/
378 void * rpmdsSetEVRcmp(/*@null@*/ rpmds ds,
379  /*@null@*/ int (*EVRcmp)(const char *a, const char *b))
380  /*@modifies ds @*/;
381 
387 rpmuint32_t rpmdsColor(/*@null@*/ const rpmds ds)
388  /*@*/;
389 
396 rpmuint32_t rpmdsSetColor(/*@null@*/ const rpmds ds, rpmuint32_t color)
397  /*@modifies ds @*/;
398 
404 /*@null@*/
405 void * rpmdsExclude(/*@null@*/ const rpmds ds)
406  /*@*/;
407 
413 int rpmdsNExclude(/*@null@*/ const rpmds ds)
414  /*@*/;
415 
421 /*@null@*/
422 void * rpmdsInclude(/*@null@*/ const rpmds ds)
423  /*@*/;
424 
430 int rpmdsNInclude(/*@null@*/ const rpmds ds)
431  /*@*/;
432 
438 rpmuint32_t rpmdsRefs(/*@null@*/ const rpmds ds)
439  /*@*/;
440 
447 rpmuint32_t rpmdsSetRefs(/*@null@*/ const rpmds ds, rpmuint32_t refs)
448  /*@modifies ds @*/;
449 
455 rpmint32_t rpmdsResult(/*@null@*/ const rpmds ds)
456  /*@*/;
457 
464 rpmint32_t rpmdsSetResult(/*@null@*/ const rpmds ds, rpmint32_t result)
465  /*@modifies ds @*/;
466 
473 /*@-globuse@*/ /* FIX: rpmMessage annotation is a lie */
474 void rpmdsNotify(/*@null@*/ rpmds ds, /*@null@*/ const char * where, int rc)
475  /*@globals fileSystem @*/
476  /*@modifies fileSystem @*/;
477 /*@=globuse@*/
478 
484 int rpmdsNext(/*@null@*/ rpmds ds)
485  /*@modifies ds @*/;
486 
492 /*@null@*/
493 rpmds rpmdsInit(/*@null@*/ rpmds ds)
494  /*@modifies ds @*/;
495 
502 int rpmdsFind(rpmds ds, /*@null@*/ const rpmds ods)
503  /*@modifies ds @*/;
504 
511 int rpmdsMerge(/*@null@*/ /*@out@*/ rpmds * dsp, /*@null@*/ rpmds ods)
512  /*@modifies *dsp, ods @*/;
513 
522 int rpmdsSearch(/*@null@*/ rpmds ds, /*@null@*/ rpmds ods)
523  /*@modifies ds, ods @*/;
524 
527 /*@unchecked@*/ /*@null@*/
528 extern const char * _cpuinfo_path;
529 
536 int rpmdsCpuinfo(/*@out@*/ rpmds * dsp, /*@null@*/ const char * fn)
537  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
538  /*@modifies *dsp, rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/;
539 
546 int rpmdsRpmlib(rpmds * dsp, /*@null@*/ void * tblp)
547  /*@modifies *dsp @*/;
548 
555 int rpmdsSysinfo(rpmPRCO PRCO, /*@null@*/ const char * fn)
556  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
557  /*@modifies PRCO, rpmGlobalMacroContext, h_errno,
558  fileSystem, internalState @*/;
559 
566 int rpmdsGetconf(rpmds * dsp, /*@null@*/ const char * path)
567  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
568  /*@modifies *dsp, rpmGlobalMacroContext, h_errno,
569  fileSystem, internalState @*/;
570 
577 int rpmdsMergePRCO(void * context, rpmds ds)
578  /*@modifies context, ds @*/;
579 
585 /*@null@*/
586 rpmPRCO rpmdsFreePRCO(/*@only@*/ /*@null@*/ rpmPRCO PRCO)
587  /*@modifies PRCO @*/;
588 
594 rpmPRCO rpmdsNewPRCO(/*@null@*/ Header h)
595  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
596  /*@modifies h, rpmGlobalMacroContext, fileSystem, internalState @*/;
597 
604 /*@null@*/
605 rpmds rpmdsFromPRCO(/*@null@*/ rpmPRCO PRCO, rpmTag tagN)
606  /*@*/;
607 
616 int rpmdsELF(const char * fn, int flags,
617  int (*add) (void * context, rpmds ds), void * context)
618  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
619  /*@modifies rpmGlobalMacroContext, fileSystem, internalState @*/;
620 #define RPMELF_FLAG_SKIPPROVIDES 0x1 /*<! rpmdsELF: skip provides */
621 #define RPMELF_FLAG_SKIPREQUIRES 0x2 /*<! rpmdsELF: skip requires */
622 
630 int rpmdsLdconfig(rpmPRCO PRCO, /*@null@*/ const char * fn)
631  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
632  /*@modifies *PRCO, rpmGlobalMacroContext, fileSystem, internalState @*/;
633 
634 #if defined(__sun)
635 
644 int rpmdsRldpath(rpmPRCO PRCO, /*@null@*/ const char * rldp)
645  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
646  /*@modifies *PRCO, rpmGlobalMacroContext, fileSystem, internalState @*/;
647 
656 int rpmdsCrle(rpmPRCO PRCO, /*@null@*/ const char * fn)
657  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
658  /*@modifies *PRCO, rpmGlobalMacroContext, fileSystem, internalState @*/;
659 #endif
660 
667 struct utsname;
668 int rpmdsUname(rpmds * dsp, /*@null@*/ const struct utsname * un)
669  /*@globals internalState @*/
670  /*@modifies *dsp, internalState @*/;
671 
679 int rpmdsPipe(rpmds * dsp, rpmTag tagN, /*@null@*/ const char * cmd)
680  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
681  /*@modifies *dsp, rpmGlobalMacroContext, h_errno,
682  fileSystem, internalState @*/;
683 
690 int rpmdsCompare(const rpmds A, const rpmds B)
691  /*@*/;
692 
699 int rpmdsMatch(const rpmds A, rpmds B)
700  /*@modifies B @*/;
701 
710 void rpmdsProblem(/*@null@*/ rpmps ps, const char * pkgNEVR, const rpmds ds,
711  /*@only@*/ /*@null@*/ const fnpyKey * suggestedKeys,
712  int adding)
713  /*@globals internalState @*/
714  /*@modifies ps, internalState @*/;
715 
723 int rpmdsAnyMatchesDep (const Header h, const rpmds req, int nopromote)
724  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
725  /*@modifies h, rpmGlobalMacroContext, fileSystem, internalState @*/;
726 
734 int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
735  /*@globals internalState @*/
736  /*@modifies internalState @*/;
737 
744 int rpmdsNegateRC(const rpmds ds, int rc)
745  /*@*/;
746 
752 /*@observer@*/
753 const char * rpmdsType(/*@null@*/ const rpmds ds)
754  /*@*/;
755 
756 #if !defined(SWIG)
757 
763 /*@unused@*/ static inline
764 int rpmdsPrint(/*@null@*/ rpmds ds, /*@null@*/ FILE * fp)
765  /*@globals fileSystem @*/
766  /*@modifies ds, *fp, fileSystem @*/
767 {
768  if (fp == NULL)
769  fp = stderr;
770  ds = rpmdsInit(ds);
771  while (rpmdsNext(ds) >= 0)
772  fprintf(fp, "%6d\t%s: %s\n", rpmdsIx(ds), rpmdsType(ds), rpmdsDNEVR(ds)+2);
773  return 0;
774 }
775 
782 /*@unused@*/ static inline
783 int rpmdsPrintResults(/*@null@*/ rpmds ds, /*@null@*/ FILE * fp)
784  /*@globals fileSystem @*/
785  /*@modifies ds, *fp, fileSystem @*/
786 {
787  if (fp == NULL)
788  fp = stderr;
789  ds = rpmdsInit(ds);
790  while (rpmdsNext(ds) >= 0) {
791  rpmint32_t rc = rpmdsResult(ds);
792  if (rc > 0)
793  continue;
794  fprintf(fp, "%6d\t%s: %s\n", rpmdsIx(ds), rpmdsType(ds), rpmdsDNEVR(ds)+2);
795  }
796  return 0;
797 }
798 
806 /*@-mods@*/ /* XXX LCL wonky */
807 /*@unused@*/ static inline
808 int rpmdsPrintClosure(/*@null@*/ rpmds P, /*@null@*/ rpmds R,
809  /*@null@*/ FILE * fp)
810  /*@globals fileSystem @*/
811  /*@modifies P, R, *fp, fileSystem @*/
812 {
813  int rc;
814 
815  /* Allocate the R results array (to be filled in by rpmdsSearch). */
816  (void) rpmdsSetResult(R, 0); /* allocate result array. */
817 
818  /* Collect the rpmdsSearch results (in the R dependency set). */
819  R = rpmdsInit(R);
820  while (rpmdsNext(R) >= 0)
821  rc = rpmdsSearch(P, R);
822 
823  return rpmdsPrintResults(R, fp);
824 }
825 /*@=mods@*/
826 #endif
827 
829 #ifdef __cplusplus
830 }
831 #endif
832 
833 #endif /* H_RPMDS */
const bson * b
Definition: bson.h:280
#define rpmdsFree(_ds)
Definition: rpmds.h:173
const char * _cpuinfo_path
Definition: rpmds.c:1314
rpmds rpmdsInit(rpmds ds)
Initialize dependency set iterator.
Definition: rpmds.c:943
const char * rpmdsA(const rpmds ds)
Return current dependency arch.
Definition: rpmds.c:711
rpmds rpmdsThis(Header h, rpmTag tagN, evrFlags Flags)
Create, load and initialize a dependency for this header.
Definition: rpmds.c:513
int rpmdsMergePRCO(void *context, rpmds ds)
Merge provides/requires/conflicts/obsoletes dependencies.
Definition: rpmds.c:2814
int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
Compare package name-version-release from header with a single dependency.
Definition: rpmds.c:4281
char * rpmdsNewDNEVR(const char *dspfx, rpmds ds)
Return new formatted dependency string.
Definition: rpmds.c:434
rpmint32_t rpmdsSetResult(const rpmds ds, rpmint32_t result)
Set current dependency comparison result.
Definition: rpmds.c:880
enum nsType_e nsType
Dependency types.
const char const char * cmd
Definition: mongo.h:777
int rpmdsSysinfo(rpmPRCO PRCO, const char *fn)
Load sysinfo dependencies into a dependency set.
Definition: rpmds.c:1756
int rpmdsPipe(rpmds *dsp, rpmTag tagN, const char *cmd)
Load provides from a pipe into a dependency set.
Definition: rpmds.c:3858
time_t rpmdsSetBT(const rpmds ds, time_t BT)
Set dependency build time.
Definition: rpmds.c:728
int rpmdsSetIx(rpmds ds, int ix)
Set dependency set index.
Definition: rpmds.c:646
evrFlags rpmdsFlags(const rpmds ds)
Return current dependency flags.
Definition: rpmds.c:691
The Header data structure.
const char * rpmdsNewN(rpmds ds)
Return N string, expanded if necessary.
Definition: rpmds.c:421
int rpmdsNInclude(const rpmds ds)
Return no.
Definition: rpmds.c:834
int rpmdsIx(const rpmds ds)
Return dependency set index.
Definition: rpmds.c:641
Structure(s) and routine(s) used for classifying and parsing names.
struct EVR_s * EVR_t
Definition: rpmevr.h:22
struct rpmps_s * rpmps
Transaction problems found while processing a transaction set/.
Definition: rpmps.h:25
struct rpmds_s * rpmds
Dependency tag sets from a header, so that a header can be discarded early.
Definition: rpmtypes.h:28
struct rpmPRCO_s * rpmPRCO
Container for commonly extracted dependency set(s).
Definition: rpmtypes.h:33
int rpmdsELF(const char *fn, int flags, int(*add)(void *context, rpmds ds), void *context)
Extract ELF dependencies from a file.
Definition: rpmds.c:2952
nsType rpmdsNSType(const rpmds ds)
Return dependency class type.
Definition: rpmds.c:738
const char * rpmdsType(const rpmds ds)
Return current dependency type name.
Definition: rpmds.c:162
enum evrFlags_e evrFlags
Dependency Attributes.
void * rpmdsInclude(const rpmds ds)
Return dependency include patterns.
Definition: rpmds.c:829
int rpmdsFind(rpmds ds, const rpmds ods)
Find a dependency set element using binary search.
Definition: rpmds.c:998
unsigned int rpmuint32_t
Definition: rpmiotypes.h:28
int _rpmds_debug
Definition: rpmds.c:123
#define rpmdsLink(_ds, _msg)
Definition: rpmds.h:162
rpmuint32_t rpmdsSetColor(const rpmds ds, rpmuint32_t color)
Set current dependency color.
Definition: rpmds.c:800
Structures and prototypes used for an "rpmps" problem set.
int rpmdsCount(const rpmds ds)
Return dependency set count.
Definition: rpmds.c:636
rpmTag rpmdsTagN(const rpmds ds)
Return current dependency type.
Definition: rpmds.c:702
#define rpmdsUnlink(_ds, _msg)
Definition: rpmds.h:150
RPM pattern matching.
rpmint32_t rpmdsResult(const rpmds ds)
Return current dependency comparison result.
Definition: rpmds.c:869
int rpmdsSearch(rpmds ds, rpmds ods)
Search a sorted dependency set for an element that overlaps.
Definition: rpmds.c:1108
struct miRE_s * miRE
Definition: mire.h:60
rpmds rpmdsNew(Header h, rpmTag tagN, int flags)
Create and load a dependency set.
Definition: rpmds.c:238
int rpmdsCompare(const rpmds A, const rpmds B)
Compare two versioned dependency ranges, looking for overlap.
Definition: rpmds.c:4044
int rpmdsNoPromote(const rpmds ds)
Return current "Don't promote Epoch:" flag.
Definition: rpmds.c:746
static int rpmdsPrintClosure(rpmds P, rpmds R, FILE *fp)
Check Provides: against Requires: and print closure results.
Definition: rpmds.h:808
int rpmdsGetconf(rpmds *dsp, const char *path)
Load getconf provides into a dependency set.
Definition: rpmds.c:2716
const char * _sysinfo_path
Definition: rpmds.c:1741
rpmds rpmdsFromPRCO(rpmPRCO PRCO, rpmTag tagN)
Retrieve a dependency set from container.
Definition: rpmds.c:2901
int rpmdsNExclude(const rpmds ds)
Return no.
Definition: rpmds.c:824
int rpmdsNext(rpmds ds)
Return next dependency set iterator index.
Definition: rpmds.c:912
int rpmdsLdconfig(rpmPRCO PRCO, const char *fn)
Load /etc/ld.so.cache provides into a dependency set.
Definition: rpmds.c:3510
const char const bson int mongo_write_concern int flags
Definition: mongo.h:485
rpmds rpmdsSingle(rpmTag tagN, const char *N, const char *EVR, evrFlags Flags)
Create, load and initialize a dependency set of size 1.
Definition: rpmds.c:609
int _rpmds_nopromote
Definition: rpmds.c:126
rpmuint32_t rpmdsColor(const rpmds ds)
Return current dependency color.
Definition: rpmds.c:789
int rpmdsRpmlib(rpmds *dsp, void *tblp)
Load rpmlib provides into a dependency set.
Definition: rpmds.c:1587
int rpmint32_t
Definition: rpmiotypes.h:33
#define L(CS)
Definition: fnmatch.c:161
const char const int i
Definition: bson.h:778
void * rpmdsExclude(const rpmds ds)
Return dependency exclude patterns.
Definition: rpmds.c:819
static int rpmdsPrintResults(rpmds ds, FILE *fp)
Print current dependency set results.
Definition: rpmds.h:783
const void * fnpyKey
Definition: rpmiotypes.h:134
int rpmdsMatch(const rpmds A, rpmds B)
Compare A against every member of B, looking for 1st match.
Definition: rpmds.c:4188
Structure(s) and routine(s) used for EVR parsing and comparison.
void * rpmdsSetEVRcmp(rpmds ds, int(*EVRcmp)(const char *a, const char *b))
Set EVR comparison function.
Definition: rpmds.c:778
int rpmdsUname(rpmds *dsp, const struct utsname *un)
Definition: rpmds.c:3814
int rpmdsSetNoPromote(rpmds ds, int nopromote)
Set "Don't promote Epoch:" flag.
Definition: rpmds.c:755
rpmuint32_t rpmdsRefs(const rpmds ds)
Return current dependency file refs.
Definition: rpmds.c:839
const char * rpmdsEVR(const rpmds ds)
Return current dependency epoch-version-release.
Definition: rpmds.c:680
int rpmdsMerge(rpmds *dsp, rpmds ods)
Merge a dependency set maintaining (N,EVR,Flags) sorted order.
Definition: rpmds.c:1030
const char * rpmdsDNEVR(const rpmds ds)
Return current formatted dependency string.
Definition: rpmds.c:657
time_t rpmdsBT(const rpmds ds)
Return dependency build time.
Definition: rpmds.c:720
void rpmdsNotify(rpmds ds, const char *where, int rc)
Notify of results of dependency match.
Definition: rpmds.c:899
void * rpmdsSetEVRparse(rpmds ds, int(*EVRparse)(const char *everstr, EVR_t evr))
Set EVR parsing function.
const char * rpmdsN(rpmds ds)
Return current dependency name.
Definition: rpmds.c:668
int rpmdsAnyMatchesDep(const Header h, const rpmds req, int nopromote)
Compare package provides dependencies from header with a single dependency.
Definition: rpmds.c:4228
enum rpmTag_e rpmTag
Definition: rpmtag.h:470
rpmPRCO rpmdsNewPRCO(Header h)
Create dependency set(s) container.
Definition: rpmds.c:2876
rpmuint32_t rpmdsSetRefs(const rpmds ds, rpmuint32_t refs)
Set current dependency file refs.
Definition: rpmds.c:850
void rpmdsProblem(rpmps ps, const char *pkgNEVR, const rpmds ds, const fnpyKey *suggestedKeys, int adding)
Report a Requires: or Conflicts: dependency problem.
Definition: rpmds.c:4200
static int rpmdsPrint(rpmds ds, FILE *fp)
Print current dependency set contents.
Definition: rpmds.h:764
rpmPRCO rpmdsFreePRCO(rpmPRCO PRCO)
Free dependency set(s) container.
Definition: rpmds.c:2851
int rpmdsCpuinfo(rpmds *dsp, const char *fn)
Load /proc/cpuinfo provides into a dependency set.
Definition: rpmds.c:1316
int rpmdsNegateRC(const rpmds ds, int rc)
Negate return code for negated comparisons.
Definition: rpmds.c:4361