bin_package.bbclass 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #
  2. # ex:ts=4:sw=4:sts=4:et
  3. # -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
  4. #
  5. # Common variable and task for the binary package recipe.
  6. # Basic principle:
  7. # * The files have been unpacked to ${S} by base.bbclass
  8. # * Skip do_configure and do_compile
  9. # * Use do_install to install the files to ${D}
  10. #
  11. # Note:
  12. # The "subdir" parameter in the SRC_URI is useful when the input package
  13. # is rpm, ipk, deb and so on, for example:
  14. #
  15. # SRC_URI = "http://foo.com/foo-1.0-r1.i586.rpm;subdir=foo-1.0"
  16. #
  17. # Then the files would be unpacked to ${WORKDIR}/foo-1.0, otherwise
  18. # they would be in ${WORKDIR}.
  19. #
  20. # Skip the unwanted steps
  21. do_configure[noexec] = "1"
  22. do_compile[noexec] = "1"
  23. # Install the files to ${D}
  24. bin_package_do_install () {
  25. # Do it carefully
  26. [ -d "${S}" ] || exit 1
  27. if [ -z "$(ls -A ${S})" ]; then
  28. bbfatal bin_package has nothing to install. Be sure the SRC_URI unpacks into S.
  29. fi
  30. cd ${S}
  31. tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \
  32. | tar --no-same-owner -xpf - -C ${D}
  33. }
  34. FILES_${PN} = "/"
  35. EXPORT_FUNCTIONS do_install