opkg: various additions - only wrap package descriptions when outputting to a tty, simplifies parsing descriptions with external utils - introduce -i (--nocase) flag which makes all matching operations case insensitive - introduce "find" command which searches package names and descriptions (e.g. opkg -i find "*autoconfig*")
SVN-Revision: 34202
This commit is contained in:
58
package/opkg/patches/060-add-find-command.patch
Normal file
58
package/opkg/patches/060-add-find-command.patch
Normal file
@@ -0,0 +1,58 @@
|
||||
--- a/libopkg/opkg_cmd.c
|
||||
+++ b/libopkg/opkg_cmd.c
|
||||
@@ -594,7 +594,7 @@ opkg_download_cmd(int argc, char **argv)
|
||||
|
||||
|
||||
static int
|
||||
-opkg_list_cmd(int argc, char **argv)
|
||||
+opkg_list_find_cmd(int argc, char **argv, int use_desc)
|
||||
{
|
||||
int i;
|
||||
pkg_vec_t *available;
|
||||
@@ -612,6 +612,9 @@ opkg_list_cmd(int argc, char **argv)
|
||||
/* if we have package name or pattern and pkg does not match, then skip it */
|
||||
if (pkg_name && fnmatch(pkg_name, pkg->name, conf->nocase))
|
||||
continue;
|
||||
+ if (pkg_name && use_desc && pkg->description &&
|
||||
+ fnmatch(pkg_name, pkg->description, conf->nocase))
|
||||
+ continue;
|
||||
print_pkg(pkg);
|
||||
}
|
||||
pkg_vec_free(available);
|
||||
@@ -619,6 +622,18 @@ opkg_list_cmd(int argc, char **argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int
|
||||
+opkg_list_cmd(int argc, char **argv)
|
||||
+{
|
||||
+ return opkg_list_find_cmd(argc, argv, 0);
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+opkg_find_cmd(int argc, char **argv)
|
||||
+{
|
||||
+ return opkg_list_find_cmd(argc, argv, 1);
|
||||
+}
|
||||
+
|
||||
|
||||
static int
|
||||
opkg_list_installed_cmd(int argc, char **argv)
|
||||
@@ -1262,6 +1277,7 @@ static opkg_cmd_t cmds[] = {
|
||||
{"configure", 0, (opkg_cmd_fun_t)opkg_configure_cmd, PFM_DESCRIPTION|PFM_SOURCE},
|
||||
{"files", 1, (opkg_cmd_fun_t)opkg_files_cmd, PFM_DESCRIPTION|PFM_SOURCE},
|
||||
{"search", 1, (opkg_cmd_fun_t)opkg_search_cmd, PFM_DESCRIPTION|PFM_SOURCE},
|
||||
+ {"find", 1, (opkg_cmd_fun_t)opkg_find_cmd, PFM_SOURCE},
|
||||
{"download", 1, (opkg_cmd_fun_t)opkg_download_cmd, PFM_DESCRIPTION|PFM_SOURCE},
|
||||
{"compare_versions", 1, (opkg_cmd_fun_t)opkg_compare_versions_cmd, PFM_DESCRIPTION|PFM_SOURCE},
|
||||
{"compare-versions", 1, (opkg_cmd_fun_t)opkg_compare_versions_cmd, PFM_DESCRIPTION|PFM_SOURCE},
|
||||
--- a/src/opkg-cl.c
|
||||
+++ b/src/opkg-cl.c
|
||||
@@ -246,6 +246,7 @@ usage()
|
||||
printf("\tlist-changed-conffiles List user modified configuration files\n");
|
||||
printf("\tfiles <pkg> List files belonging to <pkg>\n");
|
||||
printf("\tsearch <file|regexp> List package providing <file>\n");
|
||||
+ printf("\tfind <regexp> List packages whose name or description matches <regexp>\n");
|
||||
printf("\tinfo [pkg|regexp] Display all info for <pkg>\n");
|
||||
printf("\tstatus [pkg|regexp] Display all status for <pkg>\n");
|
||||
printf("\tdownload <pkg> Download <pkg> to current directory\n");
|
||||
Reference in New Issue
Block a user