7 #if defined(WITH_DBSQL)
9 #elif defined(WITH_SQLITE)
13 extern const char *sqlite3_errmsg(sqlite3 *db)
15 extern int sqlite3_open(
20 extern int sqlite3_exec(
23 int (*callback)(
void*,
int,
char**,
char**),
28 extern int sqlite3_prepare(
32 sqlite3_stmt **ppStmt,
36 extern int sqlite3_reset(sqlite3_stmt *pStmt)
38 extern int sqlite3_step(sqlite3_stmt *pStmt)
40 extern int sqlite3_finalize( sqlite3_stmt *pStmt)
42 extern int sqlite3_close(sqlite3 * db)
53 #define _RPMREPO_INTERNAL
65 #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG))
67 #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG))
68 #define VSF_SET(_vsflags, _FLAG) \
69 (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
70 #define VSF_CLR(_vsflags, _FLAG) \
71 (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
75 #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG))
77 #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG))
78 #define VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG)
79 #define VSF_CLR(_vsflags, _FLAG) (_vsflags) &= ~(RPMVSF_##_FLAG)
94 #if !defined(__LCLINT__)
105 if (repo->basedir ==
NULL)
106 repo->basedir =
xstrdup(repo->directories[0]);
110 if (repo->directories !=
NULL && repo->directories[0] !=
NULL)
111 repo->outputdir =
xstrdup(repo->directories[0]);
114 if (repo->outputdir ==
NULL)
119 if (REPO_ISSET(SPLIT) && REPO_ISSET(CHECKTS))
120 rpmrepoError(1,
_(
"--split and --checkts options are mutually exclusive"));
124 if (repo->manifests !=
NULL) {
125 const char **
av = repo->manifests;
128 while ((fn = *av++) !=
NULL) {
132 xx =
argvAdd(&repo->pkglist, fn);
139 &repo->excludeMire, &repo->nexcludes))
142 &repo->includeMire, &repo->nincludes))
146 if (repo->directories !=
NULL) {
167 #if defined(SUPPORT_NOSIGNATURES)
180 if (rc || REPO_ISSET(DRYRUN))
183 if (!REPO_ISSET(SPLIT)) {
186 fprintf(stdout,
_(
"repo is up to date\n"));
199 {
rpmts ts = repo->_ts;
int rpmrepoDoFinalMove(rpmrepo repo)
Rename temporary repository to final paths.
int mireLoadPatterns(rpmMireMode mode, int tag, const char **patterns, const unsigned char *table, miRE *mirep, int *nmirep)
Load patterns from string array.
void rpmrepoError(int lvl, const char *fmt,...)
Print an error message and exit (if requested).
char * xstrdup(const char *str)
struct rpmts_s * rpmts
The RPM Transaction Set.
rpmts rpmtsFree(rpmts ts)
Destroy transaction set, closing the database as well.
int main(int argc, const char **argv, char **envp)
int argvAppend(ARGV_t *argvp, ARGV_t av)
Append one argv array to another.
const char ** rpmrepoGetFileList(rpmrepo repo, const char *roots[], const char *ext)
Walk file/directory trees, looking for files with an extension.
const char * rpmrepoRealpath(const char *lpath)
Return realpath(3) canonicalized absolute path.
int rpmrepoDoRepoMetadata(rpmrepo repo)
Write repository manifest.
rpmts rpmtsCreate(void)
Create an empty transaction set.
int rpmrepoDoPkgMetadata(rpmrepo repo)
Write repository metadata files.
fprintf(stderr,"--> %s(%p,%p,%p) sig %p sigp %p\n", __FUNCTION__, dig, t, rsactx, sig, sigp)
struct rpmrepo_s * rpmrepo
int argvCount(const ARGV_t argv)
Return no.
ARGV_t argvFree(ARGV_t argv)
Destroy an argv array.
int argvAdd(ARGV_t *argvp, ARGstr_t val)
Add a string to an argv array.
pgpVSFlags rpmVSFlags
Bit(s) to control digest and signature verification.
void argvPrint(const char *msg, ARGV_t argv, FILE *fp)
Print argv array elements.
rpmVSFlags rpmtsSetVSFlags(rpmts ts, rpmVSFlags vsflags)
Set verify signatures flag(s).
int rpmrepoCheckTimeStamps(rpmrepo repo)
Check that repository time stamp is newer than any contained package.
Methods to handle package elements.
rpmrepo rpmrepoNew(char **av, int flags)
Create and load a repo wrapper.
Structures and prototypes used for an "rpmts" transaction set.
int argvSort(ARGV_t argv, int(*compar)(ARGstr_t *, ARGstr_t *))
Sort an argv array.
static void
Print copy of spec file, filling in Group/Description/Summary from specspo.
rpmrepo rpmrepoFree(rpmrepo repo)
Destroy a repo wrapper.
int rpmrepoTestSetupDirs(rpmrepo repo)
Test for repository sanity.