1 /* opkglib.c - the opkg package management system
5 Copyright (C) 2003 kernel concepts
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2, or (at
10 your option) any later version.
12 This program is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 General Public License for more details.
22 #include "opkg_conf.h"
24 #include "file_util.h"
26 #include "opkg_message.h"
28 /* This is used for backward compatibility */
30 opkg_op (int argc, char *argv[])
39 opts = args_parse (&args, argc, argv);
40 if (opts == argc || opts < 0)
42 args_usage ("opkg must have one sub-command argument");
45 cmd_name = argv[opts++];
47 if ( !strcmp(cmd_name,"print-architecture") ||
48 !strcmp(cmd_name,"print_architecture") ||
49 !strcmp(cmd_name,"print-installation-architecture") ||
50 !strcmp(cmd_name,"print_installation_architecture") )
51 args.nocheckfordirorfile = 1;
53 if ( !strcmp(cmd_name,"flag") ||
54 !strcmp(cmd_name,"configure") ||
55 !strcmp(cmd_name,"remove") ||
56 !strcmp(cmd_name,"files") ||
57 !strcmp(cmd_name,"search") ||
58 !strcmp(cmd_name,"compare_versions") ||
59 !strcmp(cmd_name,"compare-versions") ||
60 !strcmp(cmd_name,"list_installed") ||
61 !strcmp(cmd_name,"list-installed") ||
62 !strcmp(cmd_name,"status") )
63 args.noreadfeedsfile = 1;
65 cmd = opkg_cmd_find (cmd_name);
68 fprintf (stderr, "%s: unknown sub-command %s\n", argv[0],
75 err = opkg_conf_init (&args);
84 if (cmd->requires_args && opts == argc)
87 "%s: the ``%s'' command requires at least one argument\n",
92 err = opkg_cmd_exec (cmd, argc - opts, (const char **) (argv + opts));