summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-08-01 07:36:51 (EDT)
committer P. J. McDermott <pjm@nac.net>2012-08-01 07:38:54 (EDT)
commit506d856a942847904f087484dbc3990a60b815c5 (patch)
tree855b6cc1144f0ce42b14dc4181407dd58fb9f718 /src
parenta1fbd80adeacca779cc3db1eaec28f755a405ac9 (diff)
Parse source and binary control files in opkbuild.
Diffstat (limited to 'src')
-rw-r--r--src/opkbuild.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/opkbuild.sh b/src/opkbuild.sh
index 6ad194b..3347b7f 100644
--- a/src/opkbuild.sh
+++ b/src/opkbuild.sh
@@ -22,6 +22,7 @@
. @@LIBDIR@@/messages
. @@LIBDIR@@/locale
. @@LIBDIR@@/changelog
+. @@LIBDIR@@/control
# Environment variables:
export OH_SOURCE=
@@ -85,6 +86,7 @@ main()
fi
if [ "${OPT_BUILD}" != 'source' ]; then
+ setup_source_control
"${OPT_CHECK_BUILD_DEPS}" && oh-checkbuilddeps
setup_build
print_arch_stats
@@ -258,6 +260,17 @@ build_source()
rm -Rf "src:${OH_SOURCE}.data" || oh_error "${oh_str_cant_rm_src_pkg_data}"
}
+setup_source_control()
+{
+ oh_control_parse_source
+ for field in ${OH_CONTROL_SOURCE_FIELDS_REQUIRED} \
+ ${OH_CONTROL_SOURCE_FIELDS_OPTIONAL}; do
+ param="OH_CONTROL_SOURCE_FIELD_$(LC_CTYPE=C \
+ tr '[:lower:]-' '[:upper:]_')"
+ oh_pv_set 'src:.control' "${field}" "$(eval echo \$\{"${param}"\})"
+ done
+}
+
setup_build()
{
setup_build_arch
@@ -379,6 +392,26 @@ step_config()
./config
+ step_bincontrol
+}
+
+step_bincontrol()
+{
+ oh_cv_set step bincontrol
+
+ for pkg in ../*.pkg/; do
+ pkg="${pkg#../}"
+ pkg="${pkg%/}"
+ oh_control_parse_binary "${pkg}"
+ for field in ${OH_CONTROL_BINARY_FIELDS_REQUIRED} \
+ ${OH_CONTROL_BINARY_FIELDS_OPTIONAL}; do
+ param="OH_CONTROL_BINARY_FIELD_$(LC_CTYPE=C \
+ tr '[:lower:]-' '[:upper:]_')"
+ oh_pv_set "${pkg}.control" \
+ "${field}" "$(eval echo \$\{"${param}"\})"
+ done
+ done
+
step_platconf
}