diff options
Diffstat (limited to 'meta/classes-recipe/bin_package.bbclass')
-rw-r--r-- | meta/classes-recipe/bin_package.bbclass | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/classes-recipe/bin_package.bbclass b/meta/classes-recipe/bin_package.bbclass new file mode 100644 index 0000000000..3a1befc29c --- /dev/null +++ b/meta/classes-recipe/bin_package.bbclass | |||
@@ -0,0 +1,42 @@ | |||
1 | # | ||
2 | # Copyright OpenEmbedded Contributors | ||
3 | # | ||
4 | # SPDX-License-Identifier: MIT | ||
5 | # | ||
6 | |||
7 | # Common variable and task for the binary package recipe. | ||
8 | # Basic principle: | ||
9 | # * The files have been unpacked to ${S} by base.bbclass | ||
10 | # * Skip do_configure and do_compile | ||
11 | # * Use do_install to install the files to ${D} | ||
12 | # | ||
13 | # Note: | ||
14 | # The "subdir" parameter in the SRC_URI is useful when the input package | ||
15 | # is rpm, ipk, deb and so on, for example: | ||
16 | # | ||
17 | # SRC_URI = "http://foo.com/foo-1.0-r1.i586.rpm;subdir=foo-1.0" | ||
18 | # | ||
19 | # Then the files would be unpacked to ${WORKDIR}/foo-1.0, otherwise | ||
20 | # they would be in ${WORKDIR}. | ||
21 | # | ||
22 | |||
23 | # Skip the unwanted steps | ||
24 | do_configure[noexec] = "1" | ||
25 | do_compile[noexec] = "1" | ||
26 | |||
27 | # Install the files to ${D} | ||
28 | bin_package_do_install () { | ||
29 | # Do it carefully | ||
30 | [ -d "${S}" ] || exit 1 | ||
31 | if [ -z "$(ls -A ${S})" ]; then | ||
32 | bbfatal bin_package has nothing to install. Be sure the SRC_URI unpacks into S. | ||
33 | fi | ||
34 | cd ${S} | ||
35 | install -d ${D}${base_prefix} | ||
36 | tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \ | ||
37 | | tar --no-same-owner -xpf - -C ${D}${base_prefix} | ||
38 | } | ||
39 | |||
40 | FILES:${PN} = "/" | ||
41 | |||
42 | EXPORT_FUNCTIONS do_install | ||