Author: kkaempf Date: Fri Feb 15 17:31:01 2008 New Revision: 8748 URL: http://svn.opensuse.org/viewcvs/zypp?rev=8748&view=rev Log: add help to rpmmd2solv and patchxml2solv prepare all tools and scripts for command line switches Modified: trunk/sat-solver/tools/patchxml2solv.c trunk/sat-solver/tools/repo2solv.sh trunk/sat-solver/tools/repo_patchxml.c trunk/sat-solver/tools/repo_patchxml.h trunk/sat-solver/tools/repo_rpmmd.c trunk/sat-solver/tools/repo_rpmmd.h trunk/sat-solver/tools/rpmmd2solv.c Modified: trunk/sat-solver/tools/patchxml2solv.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/patchxml2solv.c?rev=8748&r1=8747&r2=8748&view=diff ============================================================================== --- trunk/sat-solver/tools/patchxml2solv.c (original) +++ trunk/sat-solver/tools/patchxml2solv.c Fri Feb 15 17:31:01 2008 @@ -17,12 +17,59 @@ #include "repo_patchxml.h" #include "common_write.h" +static void +usage(const char *err) +{ + if (err) + fprintf(stderr, "\n** Error:\n %s\n", err); + fprintf(stderr, "\nUsage:\n" + "patchxml2solv [-a][-h][-k][-n <attrname>]\n" + " reads a 'patchxml' file from <stdin> and writes a .solv file to <stdout>\n" + " -h : print help & exit\n" + " -k : don't mix kinds (experimental!)\n" + " -n <name>: save attributes as <name>.attr\n" + ); + exit(0); +} + int main(int argc, char **argv) { + int flags = 0; + char *attrname = 0; + Pool *pool = pool_create(); Repo *repo = repo_create(pool, "<stdin>"); - repo_add_patchxml(repo, stdin); + + argv++; + argc--; + while (argc--) + { + const char *s = argv[0]; + if (*s++ == '-') + while (*s) + switch (*s++) + { + case 'h': usage(NULL); break; + case 'n': + if (argc) + { + attrname = argv[1]; + argv++; + argc--; + } + else + usage("argument required for '-n'"); + break; + case 'k': + flags |= PATCHXML_KINDS_SEPARATELY; + break; + default : break; + } + argv++; + } + + repo_add_patchxml(repo, stdin, flags); tool_write(repo, 0, 0); pool_free(pool); exit(0); Modified: trunk/sat-solver/tools/repo2solv.sh URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/repo2solv.sh?rev=8748&r1=8747&r2=8748&view=diff ============================================================================== --- trunk/sat-solver/tools/repo2solv.sh (original) +++ trunk/sat-solver/tools/repo2solv.sh Fri Feb 15 17:31:01 2008 @@ -25,7 +25,7 @@ if test -n "$cmd"; then # we have some primary.xml* primfile=`mktemp` || exit 3 - $cmd $i | rpmmd2solv > $primfile + $cmd $i | rpmmd2solv $(PARSER_OPTIONS) > $primfile fi patchfile="/nonexist" @@ -41,7 +41,7 @@ esac done echo '</patches>' - ) | grep -v '\?xml' | patchxml2solv > $patchfile + ) | grep -v '\?xml' | patchxml2solv $(PARSER_OPTIONS) > $patchfile fi # Now merge primary and patches @@ -89,6 +89,6 @@ esac done fi - ) | susetags2solv -c "${olddir}/content" + ) | susetags2solv -c "${olddir}/content" $(PARSER_OPTIONS) cd "$olddir" fi Modified: trunk/sat-solver/tools/repo_patchxml.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/repo_patchxml.c?rev=8748&r1=8747&r2=8748&view=diff ============================================================================== --- trunk/sat-solver/tools/repo_patchxml.c (original) +++ trunk/sat-solver/tools/repo_patchxml.c Fri Feb 15 17:31:01 2008 @@ -613,7 +613,7 @@ #define BUFF_SIZE 8192 void -repo_add_patchxml(Repo *repo, FILE *fp) +repo_add_patchxml(Repo *repo, FILE *fp, int flags) { Pool *pool = repo->pool; struct parsedata pd; Modified: trunk/sat-solver/tools/repo_patchxml.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/repo_patchxml.h?rev=8748&r1=8747&r2=8748&view=diff ============================================================================== --- trunk/sat-solver/tools/repo_patchxml.h (original) +++ trunk/sat-solver/tools/repo_patchxml.h Fri Feb 15 17:31:01 2008 @@ -5,4 +5,6 @@ * for further information */ -extern void repo_add_patchxml(Repo *repo, FILE *fp); +#define PATCHXML_KINDS_SEPARATELY 1 + +extern void repo_add_patchxml(Repo *repo, FILE *fp, int flags); Modified: trunk/sat-solver/tools/repo_rpmmd.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/repo_rpmmd.c?rev=8748&r1=8747&r2=8748&view=diff ============================================================================== --- trunk/sat-solver/tools/repo_rpmmd.c (original) +++ trunk/sat-solver/tools/repo_rpmmd.c Fri Feb 15 17:31:01 2008 @@ -742,7 +742,7 @@ #define BUFF_SIZE 8192 void -repo_add_rpmmd(Repo *repo, FILE *fp) +repo_add_rpmmd(Repo *repo, FILE *fp, int flags) { Pool *pool = repo->pool; struct parsedata pd; Modified: trunk/sat-solver/tools/repo_rpmmd.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/repo_rpmmd.h?rev=8748&r1=8747&r2=8748&view=diff ============================================================================== --- trunk/sat-solver/tools/repo_rpmmd.h (original) +++ trunk/sat-solver/tools/repo_rpmmd.h Fri Feb 15 17:31:01 2008 @@ -5,4 +5,6 @@ * for further information */ -extern void repo_add_rpmmd(Repo *repo, FILE *fp); +#define RPMMD_KINDS_SEPARATELY 1 + +extern void repo_add_rpmmd(Repo *repo, FILE *fp, int flags); Modified: trunk/sat-solver/tools/rpmmd2solv.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/rpmmd2solv.c?rev=8748&r1=8747&r2=8748&view=diff ============================================================================== --- trunk/sat-solver/tools/rpmmd2solv.c (original) +++ trunk/sat-solver/tools/rpmmd2solv.c Fri Feb 15 17:31:01 2008 @@ -17,12 +17,59 @@ #include "repo_rpmmd.h" #include "common_write.h" +static void +usage(const char *err) +{ + if (err) + fprintf(stderr, "\n** Error:\n %s\n", err); + fprintf(stderr, "\nUsage:\n" + "rpmmd2solv [-a][-h][-k][-n <attrname>]\n" + " reads a 'rpmmd' repository from <stdin> and writes a .solv file to <stdout>\n" + " -h : print help & exit\n" + " -k : don't mix kinds (experimental!)\n" + " -n <name>: save attributes as <name>.attr\n" + ); + exit(0); +} + + int main(int argc, char **argv) { + int flags = 0; + char *attrname = 0; + Pool *pool = pool_create(); Repo *repo = repo_create(pool, "<stdin>"); - repo_add_rpmmd(repo, stdin); + + argv++; + argc--; + while (argc--) + { + const char *s = argv[0]; + if (*s++ == '-') + while (*s) + switch (*s++) + { + case 'h': usage(NULL); break; + case 'n': + if (argc) + { + attrname = argv[1]; + argv++; + argc--; + } + else + usage("argument required for '-n'"); + break; + case 'k': + flags |= RPMMD_KINDS_SEPARATELY; + break; + default : break; + } + argv++; + } + repo_add_rpmmd(repo, stdin, flags); tool_write(repo, 0, 0); pool_free(pool); exit(0); -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org