aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormerakor <cem@ckyln.com>2021-02-23 13:40:30 +0000
committermerakor <cem@ckyln.com>2021-02-23 13:40:30 +0000
commit5a9bd4ebbde9f250633455505816e0cea8289e30 (patch)
tree82e49fa45ea2aa7dd26b33ed38e02bfe7b3c5dfd /src
parentf134f150ed336ad6b418806ce5720c07507b3913 (diff)
downloadcpt-5a9bd4ebbde9f250633455505816e0cea8289e30.tar.gz
pkg_query_meta(): new function to query meta files inside package directories
FossilOrigin-Name: 6ffa441f3ea44d7176fd45de239f0f54ac2175f1e17b6d6419579a2d5c2cbc98
Diffstat (limited to 'src')
-rw-r--r--src/cpt-lib.in14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cpt-lib.in b/src/cpt-lib.in
index 2c7471f..0e80577 100644
--- a/src/cpt-lib.in
+++ b/src/cpt-lib.in
@@ -1911,6 +1911,20 @@ pkg_gentree() (
printf "$format" "$@"
)
+pkg_query_meta() {
+ # Query the 'meta' file of the given meta package. If there is no meta file,
+ # or the key being queried is unavailable, the function will return with
+ # error.
+ repo_dir=$(pkg_find "$1")
+ [ -f "$repo_dir/meta" ] || return
+ while IFS=': ' read -r key val; do
+ case $key in
+ "$2") printf '%s\n' "$val"; return 0
+ esac
+ done < "$repo_dir/meta"
+ return 1
+}
+
pkg_clean() {
# Clean up on exit or error. This removes everything related
# to the build.