summaryrefslogtreecommitdiffstats
path: root/scripts/lib/ptxd_make_opkg_finish.sh
blob: 97e10340f420e9b0651de89d01c619d7cd4b5541 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
#
# Copyright (C) 2005, 2006, 2007 Robert Schwebel <r.schwebel@pengutronix.de>
#               2008, 2009, 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#               2011 by George McCollister <george.mccollister@gmail.com>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# the actual opkg package creation, will run in fakeroot
#
ptxd_make_opkg_finish_impl() {
    chown -R 0:0 "${pkg_xpkg_tmp}" &&
    ptxd_make_xpkg_pkg "${pkg_opkg_tmp}" "${pkg_xpkg_cmds}" "${pkg_xpkg_perms}" &&
    opkg-build ${pkg_opkg_extra_args} "${pkg_opkg_tmp}" "${ptx_pkg_dir}"
}
export -f ptxd_make_opkg_finish_impl


#
# create an opkg package
#
ptxd_make_opkg_finish() {
    local dep

    # replace space with ", "
    dep="${pkg_xpkg_deps[*]}"
    dep="${dep// /, }"

    sed -i -e "s:@DEPENDS@:${dep}:g" "${pkg_xpkg_control}" || return

    local -a fake_args
    if [ -f "${pkg_fake_env}" ]; then
	fake_args=( "-i" "${pkg_fake_env}" )
    fi
    fake_args[${#fake_args[@]}]="-u"

    export ${!pkg_*} ${!ptx_*}
    fakeroot "${fake_args[@]}" -- ptxd_make_opkg_finish_impl
}
export -f ptxd_make_opkg_finish