main.c
changeset 224 5803b6151d02
parent 212 e8f493d8ff9a
child 225 c51f49f38d18
     1.1 --- a/main.c	Wed Apr 09 21:14:36 2008 -0400
     1.2 +++ b/main.c	Sun Jun 08 17:11:41 2008 -0400
     1.3 @@ -810,6 +810,35 @@
     1.4  	return 0;
     1.5  }
     1.6  
     1.7 +static int
     1.8 +command_info(int argc, const char *argv[])
     1.9 +{
    1.10 +	struct razor_set *set;
    1.11 +	struct razor_package_iterator *pi;
    1.12 +	struct razor_package *package;
    1.13 +	const char *pattern = argv[0], *name, *version, *arch;
    1.14 +
    1.15 +	set = razor_set_open(repo_filename);
    1.16 +	pi = razor_package_iterator_create(set);
    1.17 +	while (razor_package_iterator_next(pi, &package,
    1.18 +					   &name, &version, &arch)) {
    1.19 +		if (pattern && fnmatch(pattern, name, 0) != 0)
    1.20 +			continue;
    1.21 +
    1.22 +		printf ("Name:        %s\n", name);
    1.23 +		printf ("Arch:        %s\n", arch);
    1.24 +		printf ("Version:     %s\n", version);
    1.25 +		printf ("Summary:     %s\n", razor_package_get_summary (set, package));
    1.26 +		printf ("Description:\n");
    1.27 +		printf ("%s\n", razor_package_get_description (set, package));
    1.28 +		printf ("\n");
    1.29 +	}
    1.30 +	razor_package_iterator_destroy(pi);
    1.31 +	razor_set_destroy(set);
    1.32 +
    1.33 +	return 0;
    1.34 +}
    1.35 +
    1.36  static struct {
    1.37  	const char *name;
    1.38  	const char *description;
    1.39 @@ -834,7 +863,8 @@
    1.40  	{ "diff", "show diff between two package sets", command_diff },
    1.41  	{ "install", "install rpm", command_install },
    1.42  	{ "init", "init razor root", command_init },
    1.43 -	{ "download", "download packages", command_download }
    1.44 +	{ "download", "download packages", command_download },
    1.45 +	{ "info", "display package details", command_info }
    1.46  };
    1.47  
    1.48  static int