pkgsrc-wip/pkg_summary-utils/files/psu_funcs.awk
Aleksey Cheusov 377aa1981c pkg_src_summary -A: extra / at the end of PKGPATH inside DEPENDS and
BUILD_DEPENDS are removed. This may fix some problems.
2010-06-13 19:13:12 +00:00

37 lines
979 B
Awk

# AWK functions for working on pkgsrc
# return a position where version begins
function pkgver_position (pkgname){
return match(pkgname, /(-|>|>=|<|<=|=)(\[[^\[\]]*\][*+]|[^><=-])*$/)
}
# strip version from PKGNAME
function pkgname2pkgbase (pkgname){
return substr(pkgname, 1, pkgver_position(pkgname)-1)
}
# extract version from PKGNAME, e.g. -1.2.3, -[0-9]*, >=1.0 etc.
function pkgname2version (pkgname, pos){
pos = pkgver_position(pkgname)
if (substr(pkgname, pos, 1) == "-")
return substr(pkgname, pos+1)
else
return substr(pkgname, pos)
}
# remove ../../ prefix, extra spaces and ending /
function normalize_pkgpath (pkgpath){
sub(/^[.][.]\/[.][.]\//, "", pkgpath)
sub(/^ +/, "", pkgpath)
sub(/ +$/, "", pkgpath)
sub(/\/+$/, "", pkgpath)
return pkgpath
}
# Source dependency to PKGPATH
# checkperms>=1.1:../../sysutils/checkperms/ to sysutils/checkperms
function src_depend2pkgpath (dep){
sub(/^[^:]*:/, "", dep)
return normalize_pkgpath(dep)
}