From e1a1c3d600964d6f77b728ee643627c90845d1d1 Mon Sep 17 00:00:00 2001 From: obrien Date: Sun, 9 Dec 2007 02:06:00 +0000 Subject: Add the 'pkg_search' script. This makes it easier to figure what packages you want to install. Submitted by: Matthias Schmidt --- usr.sbin/pkg_install/Makefile | 2 +- usr.sbin/pkg_install/add/pkg_add.1 | 1 + usr.sbin/pkg_install/create/pkg_create.1 | 1 + usr.sbin/pkg_install/delete/pkg_delete.1 | 1 + usr.sbin/pkg_install/info/pkg_info.1 | 1 + usr.sbin/pkg_install/search/Makefile | 6 ++ usr.sbin/pkg_install/search/pkg_search.1 | 74 ++++++++++++++++++++++++ usr.sbin/pkg_install/search/pkg_search.sh | 86 ++++++++++++++++++++++++++++ usr.sbin/pkg_install/updating/pkg_updating.1 | 1 + usr.sbin/pkg_install/version/pkg_version.1 | 1 + 10 files changed, 173 insertions(+), 1 deletion(-) create mode 100644 usr.sbin/pkg_install/search/Makefile create mode 100644 usr.sbin/pkg_install/search/pkg_search.1 create mode 100644 usr.sbin/pkg_install/search/pkg_search.sh (limited to 'usr.sbin/pkg_install') diff --git a/usr.sbin/pkg_install/Makefile b/usr.sbin/pkg_install/Makefile index d89e0ac..5c51667 100644 --- a/usr.sbin/pkg_install/Makefile +++ b/usr.sbin/pkg_install/Makefile @@ -2,7 +2,7 @@ .include -SUBDIR= lib add create delete info ${_sign} updating version +SUBDIR= lib add create delete info search ${_sign} updating version .if ${MK_OPENSSL} != "no" _sign= sign diff --git a/usr.sbin/pkg_install/add/pkg_add.1 b/usr.sbin/pkg_install/add/pkg_add.1 index e20f224..24a20ef 100644 --- a/usr.sbin/pkg_install/add/pkg_add.1 +++ b/usr.sbin/pkg_install/add/pkg_add.1 @@ -559,6 +559,7 @@ Default location of the installed package database. .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , +.Xr pkg_search 1 , .Xr pkg_version 1 , .Xr mktemp 3 , .Xr sysconf 3 , diff --git a/usr.sbin/pkg_install/create/pkg_create.1 b/usr.sbin/pkg_install/create/pkg_create.1 index 6fb6d58..525908b 100644 --- a/usr.sbin/pkg_install/create/pkg_create.1 +++ b/usr.sbin/pkg_install/create/pkg_create.1 @@ -608,6 +608,7 @@ is unsuitable. .Xr pkg_add 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , +.Xr pkg_search 1 , .Xr pkg_version 1 , .Xr sysconf 3 .Sh HISTORY diff --git a/usr.sbin/pkg_install/delete/pkg_delete.1 b/usr.sbin/pkg_install/delete/pkg_delete.1 index 3f10b9c..1538630 100644 --- a/usr.sbin/pkg_install/delete/pkg_delete.1 +++ b/usr.sbin/pkg_install/delete/pkg_delete.1 @@ -281,6 +281,7 @@ Default location of the installed package database. .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_info 1 , +.Xr pkg_search 1 , .Xr pkg_version 1 , .Xr mktemp 3 , .Xr mtree 8 diff --git a/usr.sbin/pkg_install/info/pkg_info.1 b/usr.sbin/pkg_install/info/pkg_info.1 index 17c0bba..dcbb35c 100644 --- a/usr.sbin/pkg_install/info/pkg_info.1 +++ b/usr.sbin/pkg_install/info/pkg_info.1 @@ -280,6 +280,7 @@ Default location of the installed package database. .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , +.Xr pkg_search 1 , .Xr pkg_version 1 , .Xr mktemp 3 , .Xr mtree 8 diff --git a/usr.sbin/pkg_install/search/Makefile b/usr.sbin/pkg_install/search/Makefile new file mode 100644 index 0000000..281ce47 --- /dev/null +++ b/usr.sbin/pkg_install/search/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +SCRIPTS=pkg_search.sh +MAN= pkg_search.1 + +.include diff --git a/usr.sbin/pkg_install/search/pkg_search.1 b/usr.sbin/pkg_install/search/pkg_search.1 new file mode 100644 index 0000000..80f4328 --- /dev/null +++ b/usr.sbin/pkg_install/search/pkg_search.1 @@ -0,0 +1,74 @@ +.\"- +.\" Copyright (c) 2006 Matthias Schmidt +.\" +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions are met: +.\" +.\" - Redistributions of source code must retain the above copyright notice, +.\" this list of conditions and the following disclaimer. +.\" - Redistributions in binary form must reproduce the above copyright notice, +.\" this list of conditions and the following disclaimer in the documentation +.\" and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +.\" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +.\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +.\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd March 12, 2006 +.Dt PKG_SEARCH 1 +.Os +.Sh NAME +.Nm pkg_search +.Nd "pkg_search command manual page" +.Sh SYNOPSIS +.Nm +.Op Fl i | Fl k | Fl r +.Ar name +.Sh DESCRIPTION +.Nm +querys the appropriate database file for a given package name. +By default the complete package name and Comment is displayed. +.Pp +The options are as follows: +.Bl -tag -width ".Fl d Ar argument" +.It Fl i +Print verbose information (Ports directory, URL, depencies) +.It Fl k +Also query the Info and WWW field. +.It Fl r +Print the directory within the Ports Collection where the port lives. +.It Ar name +Required package +.Ar name . +.El +.Sh EXAMPLES +The following is an example of a typical usage +of the +.Nm +command: +.Pp +.Dl "pkg_search -i ctwm" +.Sh SEE ALSO +.Xr pkg_add 1 , +.Xr pkg_create 1 , +.Xr pkg_delete 1 , +.Xr pkg_info 1 , +.Xr pkg_search 1 +.Sh AUTHORS +.Nm +was written by +.An Matthias Schmidt Aq schmidtm@mathematik.uni-marburg.de +and +.An David O'Brien Aq obrien@FreeBSD.org . diff --git a/usr.sbin/pkg_install/search/pkg_search.sh b/usr.sbin/pkg_install/search/pkg_search.sh new file mode 100644 index 0000000..6dbf5e3 --- /dev/null +++ b/usr.sbin/pkg_install/search/pkg_search.sh @@ -0,0 +1,86 @@ +#! /bin/sh +#- +# Copyright (c) 2007 David O'Brien +# Copyright (c) 2006 Matthias Schmidt +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# - Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# - Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ +# + +PORTSDIR=${PORTSDIR:-/usr/ports} +id=`uname -r | cut -d '.' -f 1` +INDEXFILE=${INDEXFILE:-INDEX-$id} + +if [ -z $1 ]; then + echo "Usage: $0 [ -i | -k | -r] " + exit 1 +fi + +if [ ! -d $PORTSDIR ]; then + echo "No Ports Tree Found! Please install." + exit 1 +fi + +case "$1" in +-i) + awk -F\| -v name="$2" \ + '{\ + if ($1 ~ name) { \ + split($2, a, "/"); \ + printf("Name\t: %s-50\nDir\t: %-50s\nDesc\t: %-50s\nURL\t: %-50s\nDeps\t: %s\n\n", $1, $2, $4, $10, $9); \ + } + }' ${PORTSDIR}/${INDEXFILE} + ;; +-k) + awk -F\| -v name="$2" \ + '{\ + if ($1 ~ name || $4 ~ name || $10 ~ name) { \ + split($2, a, "/"); \ + printf("%-20s\t%-25s\n", $1, $4); \ + } + }' ${PORTSDIR}/${INDEXFILE} + + ;; +-r) + awk -F\| -v name="$2" \ + '{\ + if ($1 ~ name) { \ + split($2, a, "/"); \ + printf("%-20s\t%s\n", $1, $2); \ + } + }' ${PORTSDIR}/${INDEXFILE} + ;; +*) + awk -F\| -v name="$1" \ + '{\ + if ($1 ~ name) { \ + split($2, a, "/"); \ + printf("%-20s\t%-25s\n", $1, $4); \ + } + }' ${PORTSDIR}/${INDEXFILE} + ;; +esac + +exit $? diff --git a/usr.sbin/pkg_install/updating/pkg_updating.1 b/usr.sbin/pkg_install/updating/pkg_updating.1 index 16554b6..e0f5784 100644 --- a/usr.sbin/pkg_install/updating/pkg_updating.1 +++ b/usr.sbin/pkg_install/updating/pkg_updating.1 @@ -79,6 +79,7 @@ The default ports directory and default location of the UPDATING file .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , +.Xr pkg_search 1 , .Xr pkg_version 1 .Sh AUTHORS .An Beat Gätzi Aq beat@chruetertee.ch diff --git a/usr.sbin/pkg_install/version/pkg_version.1 b/usr.sbin/pkg_install/version/pkg_version.1 index 0607ada..a0c6ebd 100644 --- a/usr.sbin/pkg_install/version/pkg_version.1 +++ b/usr.sbin/pkg_install/version/pkg_version.1 @@ -239,6 +239,7 @@ option has been deprecated and is no longer supported. .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , +.Xr pkg_search 1 , .Xr portupgrade 8 .Sh AUTHORS The -- cgit v1.1