From d4a42ee34928970141b8299c104d47c0f3faecd0 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 29 Nov 2009 00:34:00 -0500 Subject: add copyright notices, and start to autoconfiscate --- pkgthing/src/libexec/find.sh | 75 ++++++++++++++++++++++++++++++++++++++++++ pkgthing/src/libexec/search.sh | 36 ++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 pkgthing/src/libexec/find.sh create mode 100644 pkgthing/src/libexec/search.sh (limited to 'pkgthing/src/libexec') 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 . + +# 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 . + +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 -- cgit v1.2.3-2-g168b