summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/package/2.sh43
1 files changed, 33 insertions, 10 deletions
diff --git a/lib/package/2.sh b/lib/package/2.sh
index 00b0f25..ce96e5f 100644
--- a/lib/package/2.sh
+++ b/lib/package/2.sh
@@ -23,6 +23,8 @@ _OB_BINARY_FIELDS_REQUIRED_2='Architecture Platform Description'
_OB_BINARY_FIELDS_OPTIONAL_2='Essential Depends Recommends Suggests '\
'Pre-Depends Conflicts Provides Replaces'
+_ob_source_substvars_set_2=false
+
_ob_parse_package_metadata_2()
{
local pkg=
@@ -151,7 +153,7 @@ _ob_get_doc_files_2()
return 0
}
-_ob_substvar_2()
+_ob_source_substvar_2()
{
local name="${1}"
local value="${2}"
@@ -163,22 +165,43 @@ _ob_substvar_2()
return 0
}
+_ob_binary_substvar_2()
+{
+ local name="${1}"
+ local value="${2}"
+ local pkg="${3}"
+ shift 3 || _ob_abort
+
+ ob_set_binary_substvar "${name}" "${value}" "${pkg}"
+
+ return 0
+}
+
_ob_set_package_substvars_2()
{
local pkg="${1}"
shift 1 || _ob_abort
- if [ -f "${_ob_package_dir}/substvars" ]; then
- ob_parse_control "${_ob_package_dir}/substvars" \
- _ob_substvar_2 ''
+ if ! ${_ob_source_substvars_set_2}; then
+ if [ -f "${_ob_package_dir}/substvars" ]; then
+ ob_parse_control "${_ob_package_dir}/substvars" \
+ _ob_source_substvar_2 ''
+ fi
+
+ ob_set_source_substvar 'Source-Version' \
+ "$(ob_get_source_parameter 'Version')"
+ ob_set_source_substvar 'Binary-Version' \
+ "$(ob_get_source_parameter 'Version')"
+ ob_set_source_substvar 'Host-Arch' "${OPK_HOST_ARCH}"
+ ob_set_source_substvar 'Host-Plat' "${OPK_HOST_PLAT}"
+
+ _ob_source_substvars_set_2=true
fi
- ob_set_source_substvar 'Source-Version' \
- "$(ob_get_source_parameter 'Version')"
- ob_set_source_substvar 'Binary-Version' \
- "$(ob_get_source_parameter 'Version')"
- ob_set_source_substvar 'Host-Arch' "${OPK_HOST_ARCH}"
- ob_set_source_substvar 'Host-Plat' "${OPK_HOST_PLAT}"
+ if [ -f "${pkg}.substvars" ]; then
+ ob_parse_control "${pkg}.substvars" \
+ _ob_binary_substvar_2 "${pkg}"
+ fi
return 0
}