#!@@SH@@ # # opkbuild # src/ob-buildopk.sh # Pack binary package files into an opk file. # # 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 2 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 . . '@@PKGLIBDIR@@/load.sm' ob_use locale ob_use output ob_use package main() { ob_set_text_domain 'opkbuild' ob_init_package '..' || exit 1 ob_parse_package_metadata -c '.opkbuild.cache' || exit 1 echo '2.0' >'debian-binary' if [ -n "${OB_DO_SOURCE}" ]; then build_opk "src-${OPK_SOURCE}" "${OPK_SOURCE_VERSION}" 'src' 'all' else for pkg in ${OPK_PACKAGES_REDUCED}; do arch="$(ob_get_binary_parameter "${pkg}" 'Architecture')" [ "${arch}" != 'all' ] && arch="${OPK_HOST_ARCH}" plat="$(ob_get_binary_parameter "${pkg}" 'Platform')" [ "${plat}" != 'all' ] && plat="${OPK_HOST_PLAT}" build_opk "${pkg}" "${OPK_BINARY_VERSION}" "${arch}" "${plat}" done fi rm 'debian-binary' } build_opk() { binary="${1}" version="${2}" arch="${3}" plat="${4}" (cd "${binary}.data" && tar -czf '../data.tar.gz' '.') (cd "${binary}.control" && tar -czf '../control.tar.gz' '.') tar -czf "../../${binary}_${version}_${arch}_${plat}.opk" \ 'debian-binary' 'data.tar.gz' 'control.tar.gz' rm -Rf 'data.tar.gz' 'control.tar.gz' } main "${@}"