summaryrefslogtreecommitdiffstats
path: root/lib/cmd
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2014-09-01 01:20:29 (EDT)
committer P. J. McDermott <pj@pehjota.net>2014-09-01 01:20:29 (EDT)
commit12993a596244293956097194e86d5e705956b8d7 (patch)
tree6cd5848a4409137da8112474b79dd91e711bf3e4 /lib/cmd
parentac6af9180bc9152aa9d6c72e033b12186b3f5a6a (diff)
build: Use package_get_build_deps()
Diffstat (limited to 'lib/cmd')
-rw-r--r--lib/cmd/build.sh43
1 files changed, 11 insertions, 32 deletions
diff --git a/lib/cmd/build.sh b/lib/cmd/build.sh
index 3aa526f..a7af6b9 100644
--- a/lib/cmd/build.sh
+++ b/lib/cmd/build.sh
@@ -21,9 +21,7 @@
use profile
use chroot
use rand
-use control
-
-cmd_build_deps=
+use package
cmd_build_main()
{
@@ -33,6 +31,7 @@ cmd_build_main()
local arg=
local dir=
local uname_s=
+ local build_deps=
local f=
if [ ${#} -lt 2 ]; then
@@ -61,6 +60,7 @@ cmd_build_main()
if ! [ -d "${prev_arg}" ]; then
error 2 "$(get_msg 'cmd_build_not_a_dir')"
fi
+ package_init "${prev_arg}"
rand
dir="/prokit/build.${rand_x}"
@@ -73,18 +73,19 @@ cmd_build_main()
;;
esac
- cmd_build_get_deps "${root}${dir}/pkg"
- if [ "x${cmd_build_deps}" != 'x' ]; then
- cmd_build_make_deps_pkg "${root}${dir}" "${rand_x}"
+ build_deps="$(package_get_build_deps)"
+ if [ "x${build_deps}" != 'x' ]; then
+ cmd_build_make_deps_pkg "${root}${dir}" "${rand_x}" \
+ "${build_deps}"
fi
chroot_exec "${root}" sh <<-EOF
cd '${dir}/pkg'
- if [ 'x${cmd_build_deps}' != 'x' ]; then
+ if [ 'x${build_deps}' != 'x' ]; then
opkg install ../builddeps.opk
fi
opkbuild ${@}
- if [ 'x${cmd_build_deps}' != 'x' ]; then
+ if [ 'x${build_deps}' != 'x' ]; then
opkg --autoremove remove prokit-builddeps-${rand_x}
fi
EOF
@@ -103,33 +104,11 @@ cmd_build_main()
rmdir "${root}${dir}"
}
-cmd_build_get_deps()
-{
- local pkg_dir="${1}"
-
- cmd_build_deps=''
- parse_control "${pkg_dir}/control" cmd_build_deps_field_cb false ''
-}
-
-cmd_build_deps_field_cb()
-{
- local name="${1}"
- local value="${2}"
-
- name="$(printf '%s\n' "${name}" | tr 'A-Z' 'a-z')"
-
- if [ "x${name}" = 'xbuild-depends' ]; then
- cmd_build_deps="${value}"
- return 1
- fi
-
- return 0
-}
-
cmd_build_make_deps_pkg()
{
local build_dir="${1}"
local build_id="${2}"
+ local build_deps="${3}"
printf '2.0\n' >"${build_dir}/builddeps/debian-binary"
cat >"${build_dir}/builddeps/control/control" <<-EOF
@@ -138,7 +117,7 @@ cmd_build_make_deps_pkg()
Version: 1.0
Architecture: all
Platform: all
- Depends: ${cmd_build_deps}
+ Depends: ${build_deps}
Description: Build dependencies metapackage generated by prokit
EOF
(cd "${build_dir}/builddeps/data"; tar -czf ../data.tar.gz .)