diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.in | 2 | ||||
-rw-r--r-- | src/oh-checkbuilddeps | 43 | ||||
-rw-r--r-- | src/opkbuild | 7 |
3 files changed, 50 insertions, 2 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index cdf0b73..45be948 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -27,7 +27,7 @@ BINDIR = @bindir@ .SUFFIXES: -OBJS = opkbuild oh-applypatches oh-strip \ +OBJS = opkbuild oh-checkbuilddeps oh-applypatches oh-strip \ oh-installfiles oh-gencontrol oh-buildopk .PHONY: all diff --git a/src/oh-checkbuilddeps b/src/oh-checkbuilddeps new file mode 100644 index 0000000..0655fa6 --- /dev/null +++ b/src/oh-checkbuilddeps @@ -0,0 +1,43 @@ +#! /bin/sh +# +# opkhelper +# src/oh-checkbuilddeps +# Make sure that package build dependencies are installed. +# +# Copyright (C) 2012 Patrick "P. J." McDermott +# +# This program 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. +# +# This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + +. @@LIBDIR@@/opkhelper/controlfields + +print_usage() +{ + printf 'Usage: %s...\n' "$1" +} + +if [ ${#} -ne 0 ]; then + print_usage ${0} >&2 + exit 1 +fi + +printf 'oh-checkbuilddeps: Checking build dependencies...\n' + +for dep in $(oh_get_field Build-Depends); do + # TODO: Test this. + if [ -z $(opkg status "${dep}" | grep "^Package: ${dep}") ]; then + printf 'oh-checkbuilddeps: Error: Dependency %s not installed.\n' \ + "${dep}" >&2 + exit 1 + fi +done diff --git a/src/opkbuild b/src/opkbuild index 03389f8..10d5c6e 100644 --- a/src/opkbuild +++ b/src/opkbuild @@ -82,10 +82,15 @@ mkdir tmp cd tmp # Get source package name and version. -printf 'opkbuild: Reading source package control fields...\n\n' +printf 'opkbuild: Reading source package control fields...\n' srcpkg=$(oh_get_field Source) version=$(oh_get_field Version) +# Check build dependencies. +oh-checkbuilddeps || error "${srcpkg}-src" + +printf '\n' + # Build *-src package. printf 'opkbuild: Attempting to build package "%s"...\n' "${srcpkg}-src" printf 'opkbuild: Installing files for package "%s"...\n' "${srcpkg}-src" |