Author: mlschroe Date: Wed Mar 5 16:10:09 2008 New Revision: 9020 URL: http://svn.opensuse.org/viewcvs/zypp?rev=9020&view=rev Log: - support -b option - support headerend Modified: trunk/sat-solver/tools/repo_rpmdb.c trunk/sat-solver/tools/rpms2solv.c Modified: trunk/sat-solver/tools/repo_rpmdb.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/repo_rpmdb.c?rev=9020&r1=9019&r2=9020&view=diff ============================================================================== --- trunk/sat-solver/tools/repo_rpmdb.c (original) +++ trunk/sat-solver/tools/repo_rpmdb.c Wed Mar 5 16:10:09 2008 @@ -1184,6 +1184,7 @@ int rpmheadsize = 0; FILE *fp; unsigned char lead[4096]; + int headerstart, headerend; if (nrpms <= 0) return; @@ -1223,6 +1224,7 @@ } sigdsize += sigcnt * 16; sigdsize = (sigdsize + 7) & ~7; + headerstart = 96 + 16 + sigdsize; while (sigdsize) { l = sigdsize > 4096 ? 4096 : sigdsize; @@ -1255,6 +1257,7 @@ continue; } l = sigdsize + sigcnt * 16; + headerend = headerstart + 16 + l; if (l > rpmheadsize) rpmhead = sat_realloc(rpmhead, sizeof(*rpmhead) + l); if (fread(rpmhead->data, l, 1, fp) != 1) @@ -1270,6 +1273,8 @@ s = pool_id2solvable(pool, repo_add_solvable(repo)); rpm2solv(pool, repo, repodata, s, rpmhead); add_location(repodata, s, rpms[i]); + if (repodata) + repodata_set_num(repodata, (s - pool->solvables) - repodata->start, SOLVABLE_HEADEREND, headerend); } if (rpmhead) sat_free(rpmhead); Modified: trunk/sat-solver/tools/rpms2solv.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/rpms2solv.c?rev=9020&r1=9019&r2=9020&view=diff ============================================================================== --- trunk/sat-solver/tools/rpms2solv.c (original) +++ trunk/sat-solver/tools/rpms2solv.c Wed Mar 5 16:10:09 2008 @@ -33,11 +33,15 @@ Repo *repo; FILE *fp; char buf[4096], *p; + const char *basefile = 0; - while ((c = getopt(argc, argv, "m:")) >= 0) + while ((c = getopt(argc, argv, "b:m:")) >= 0) { switch(c) { + case 'b': + basefile = optarg; + break; case 'm': manifest = optarg; break; @@ -68,7 +72,7 @@ } repo = repo_create(pool, "rpms2solv"); repo_add_rpms(repo, rpms, nrpms); - tool_write(repo, 0, 0); + tool_write(repo, basefile, 0); pool_free(pool); for (c = 0; c < nrpms; c++) free((char *)rpms[c]); -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org