diff options
author | P. J. McDermott <pj@pehjota.net> | 2014-09-01 00:49:27 (EDT) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2014-09-01 00:49:27 (EDT) |
commit | 040d5382f5d7d33739ea6ec6012d40c05b9b6b8a (patch) | |
tree | 8b2d3669b2e019df89552399dbf16690ae251c16 | |
parent | fef4714de1ec72c3c8ae66b63d9001990b44ceb6 (diff) |
lib/package.sh: New file
-rw-r--r-- | lib/local.mk | 3 | ||||
-rw-r--r-- | lib/package.sh | 57 | ||||
-rw-r--r-- | locale/en_US.sh | 3 |
3 files changed, 62 insertions, 1 deletions
diff --git a/lib/local.mk b/lib/local.mk index b1076f2..1a4ac0e 100644 --- a/lib/local.mk +++ b/lib/local.mk @@ -12,4 +12,5 @@ pkgdata_sources = \ lib/opkg.sh \ lib/rand.sh \ lib/cmd.sh \ - lib/profile.sh + lib/profile.sh \ + lib/package.sh diff --git a/lib/package.sh b/lib/package.sh new file mode 100644 index 0000000..87d0afa --- /dev/null +++ b/lib/package.sh @@ -0,0 +1,57 @@ +# Interface for handling source package metadata +# +# Copyright (C) 2014 Patrick "P. J." McDermott +# +# This file is part of the ProteanOS Development Kit. +# +# The ProteanOS Development Kit 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 3 of the +# License, or (at your option) any later version. +# +# The ProteanOS Development Kit 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 the ProteanOS Development Kit. If not, see +# <http://www.gnu.org/licenses/>. + +[ "x${_PACKAGE_SM+set}" = 'xset' ] && return 0 +_PACKAGE_SM=1 + +use locale +use output + +package_dir= +package_format= + +package_init() +{ + local dir="${1}" + + package_dir="${dir}" + + package_format='' + if [ -r "${package_dir}/format" ]; then + case "$(cat "${package_dir}/format")" in + 2.*) + package_format=2 + ;; + esac + fi + + if [ "x${package_format}" = 'x' ]; then + error 2 "$(get_msg 'package_format_unknown')" + fi + + use "package/${package_format}" + + return 0 +} + +package_get_build_deps() +{ + "package_${package_format}_get_build_deps" +} diff --git a/locale/en_US.sh b/locale/en_US.sh index c8e2fc9..15e1c2f 100644 --- a/locale/en_US.sh +++ b/locale/en_US.sh @@ -98,3 +98,6 @@ msg_prokit_cmd_build_not_a_dir='Not a directory: %s' # lib/profile.sh msg_prokit_profile_not_found='Profile "%s" not found' + +# lib/package.sh +msg_prokit_package_format_unknown='Unable to detect package format' |