summaryrefslogtreecommitdiff
path: root/pkgthing/src/libexec
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2009-11-29 00:34:00 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-06-26 00:30:19 -0600
commitd4a42ee34928970141b8299c104d47c0f3faecd0 (patch)
treedf2f64b260c78466f468d367aae67e1ba47b0cb1 /pkgthing/src/libexec
parent3d48e43b9a2c8073663dea1f29815bfc3989c704 (diff)
add copyright notices, and start to autoconfiscate
Diffstat (limited to 'pkgthing/src/libexec')
-rw-r--r--pkgthing/src/libexec/find.sh75
-rw-r--r--pkgthing/src/libexec/search.sh36
2 files changed, 111 insertions, 0 deletions
diff --git a/pkgthing/src/libexec/find.sh b/pkgthing/src/libexec/find.sh
new file mode 100644
index 0000000..82d8f3a
--- /dev/null
+++ b/pkgthing/src/libexec/find.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+#name=pkgthing program finder
+#version=???
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# option handling
+case "$1" in
+ -v|-q) volume=$1; prog=$2;;
+ *) prog="$1";;
+esac
+
+# core
+error() {
+ echo "$0:$@"
+ exit 1
+}
+
+checkList() {
+ prog=$1
+ src=$2
+ file=$3
+ sed -n "s/^\($prog\) \.* \(.*\)/\1\t\2/p" "$src/$file" | \
+ while read line; do
+ _prg=`echo "$line" | cut -f 1`
+ _pkg=`echo "$line" | cut -f 2`
+ echo "\`$_prg' is in the $src package \`$_pkg'"
+ if [ "$volume" == '-v' ]; then
+ pkgthing search "$_pkg" "$src" | sed 's/^\(.\)/ \1/g'
+ fi
+ done
+}
+
+useVar() {
+ var=$1
+ val=$2
+ case "$var" in
+ \$name) _name="$val";;
+ \$union) :;;
+ \$progs)
+ checkList "$prog" "$_name" "$val"
+ :;;
+ esac
+}
+
+# parse files
+for lst in *.lst; do
+ _name='oops'
+ while read line; do
+ if [ -n "$line" ]; then
+ case "$line" in
+ \#*) :;; # comment, do nothing
+ \$*) # setting a variable
+ var=${line%%=*}
+ val=${line#$var=}
+ useVar "$var" "$val"
+ :;;
+ *) :;; # setting a source
+ esac
+ fi
+ done < "$lst"
+done
diff --git a/pkgthing/src/libexec/search.sh b/pkgthing/src/libexec/search.sh
new file mode 100644
index 0000000..7df0541
--- /dev/null
+++ b/pkgthing/src/libexec/search.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#name=pkgthing package search
+#version=???
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+pkg=$1
+src=${2-*}
+
+printname() {
+ name=$1
+ echo -n "$name"
+ if [ -L "${name%/}" ]; then
+ echo -n ' -> '
+ printname `readlink "${name%/}"`
+ else
+ echo '' # or, rather: putchar('\n');
+ fi
+}
+
+for i in $src/*/"$pkg/" $src/*/"$pkg.README"; do
+ if [ -e "$i" ]; then printname "$i"; fi
+done