aboutsummaryrefslogtreecommitdiff
path: root/repology
blob: c24f6da00a473218b7c55261daf3dc40ee02bf39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh

# elvis: repology        -- Search Linux distro package metadata with repology.org

# Author: B. Watson (yalhcru at gmail)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.

# https://repology.org//projects/?maintainer=urchlay@slackware.uk&inrepo=slackbuilds&outdated=1

. surfraw || exit 1

w3_usage_hook() {
	cat <<EOF
Usage: $w3_argv0 [options] [search words]...
Description:
  Surfraw search Linux distro package metadata
Local options:
  -p,-pkg,-package              Search package names
  -m,-maint                     Search maintainers by email address
  -o,-outdated                  Search for outdated packages, by email address
By default, if there's an @ in the search term, a maintainer search is done,
otherwise a package search.
EOF
	w3_global_usage
}

w3_parse_option_hook() {
	opt="$1"
	optarg="$2"
	case "$opt" in
		-p|-pkg|-pac*)  repo_target="/projects/"       ;;
		-m|-main*)      repo_target="/maintainers/"    ;;
		-o|-outdated*)  repo_target="/projects/" ; O=1 ;;
		*) return 1 ;;
	esac
	return 0
}

w3_config
w3_parse_args "$@"

[ -z "$repo_target" ] && case "$w3_args" in
	*@*) repo_target="/maintainers/" ;;
	*)   repo_target="/projects/"    ;;
esac

if [ "$O" = "1" ]; then
	[ "$w3_args" = "" ] && w3_args="urchlay@slackware.uk"
	url="https://repology.org/${repo_target}?maintainer=$( w3_url_of_arg $w3_args )&outdated=1";
else
	url="https://repology.org/${repo_target}?search=$( w3_url_of_arg $w3_args )";
fi
w3_browse_url "$url"