1 #ifndef _RPMBUILD_MISC_H
2 #define _RPMBUILD_MISC_H
5 #include <rpm/rpmtypes.h>
13 * Truncate comment lines.
14 * @param s skip white space, truncate line at '#'
17 void handleComments(char * s);
19 /** \ingroup rpmstring
21 typedef struct StringBufRec *StringBuf;
23 /** \ingroup rpmstring
26 StringBuf newStringBuf(void);
28 /** \ingroup rpmstring
31 StringBuf freeStringBuf( StringBuf sb);
33 /** \ingroup rpmstring
36 const char * getStringBuf(StringBuf sb);
38 /** \ingroup rpmstring
41 void stripTrailingBlanksStringBuf(StringBuf sb);
43 /** \ingroup rpmstring
45 #define appendStringBuf(sb, s) appendStringBufAux(sb, s, 0)
47 /** \ingroup rpmstring
49 #define appendLineStringBuf(sb, s) appendStringBufAux(sb, s, 1)
51 /** \ingroup rpmstring
54 void appendStringBufAux(StringBuf sb, const char * s, int nl);
57 * Parse an unsigned number.
58 * @param line from spec file
59 * @retval res pointer to uint32_t
60 * @return 0 on success, 1 on failure
63 uint32_t parseUnsignedNum(const char * line, uint32_t * res);
66 * Add dependency to header, filtering duplicates.
68 * @param tagN tag, identifies type of dependency
69 * @param N (e.g. Requires: foo < 0:1.2-3, "foo")
70 * @param EVR (e.g. Requires: foo < 0:1.2-3, "0:1.2-3")
71 * @param Flags (e.g. Requires: foo < 0:1.2-3, both "Requires:" and "<")
72 * @param index (0 always)
73 * @return 0 on success, 1 on error
76 int addReqProv(Header h, rpmTagVal tagN,
77 const char * N, const char * EVR, rpmsenseFlags Flags,
81 * Add rpmlib feature dependency.
83 * @param feature rpm feature name (i.e. "rpmlib(Foo)" for feature Foo)
84 * @param featureEVR rpm feature epoch/version/release
88 int rpmlibNeedsFeature(Header h, const char * feature, const char * featureEVR);
94 #endif /* _RPMBUILD_MISC_H */