#!@@SHELL@@ # # opkhelper # src/oh-buildopk # 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 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 . . @@LIBDIR@@/opkhelper/controlfields . @@LIBDIR@@/opkhelper/architecture . @@LIBDIR@@/opkhelper/messages print_usage() { printf 'Usage: %s -s | pkgname...\n' "${1}" } opts=$(getopt -n "${0}" -o 's' -- "${@}") if [ ${?} -ne 0 ]; then print_usage "${0}" >&2 exit 1; fi eval set -- "${opts}" while true; do case "${1}" in -s) is_srcpkg=true shift ;; --) shift break ;; *) print_usage "${0}" >&2 exit 1 ;; esac done if [ -n "${is_srcpkg}" ]; then pkg="${OH_SRCPKG}-src" # Write debian-binary. echo '2.0' > debian-binary || exit 2 # Pack data.tar.gz. cd ${pkg}.data tar -czf ../data.tar.gz . || exit 2 cd .. # Pack control.tar.gz. cd ${pkg}.control tar -czf ../control.tar.gz . || exit 2 cd .. # Pack opk file. tar -czf ../../${pkg}_${OH_PKGVER}_all.opk \ debian-binary data.tar.gz control.tar.gz || exit 2 rm -Rf debian-binary control data.tar.gz control.tar.gz || exit 2 else if [ ${#} -eq 0 ]; then print_usage ${0} >&2 exit 1 fi # Iterate over packages. while [ ${#} -gt 0 ]; do oh_info 'Packing package "%s"...' "${1}" arch="$(oh_get_package_architecture ${1})" # Write debian-binary. echo '2.0' > debian-binary || exit 2 # Pack data.tar.gz. cd ${1}.data tar -czf ../data.tar.gz . || exit 2 cd .. # Pack control.tar.gz. cd ${1}.control tar -czf ../control.tar.gz . || exit 2 cd .. # Pack opk file. tar -czf ../../${1}_${OH_PKGVER}_${arch}.opk \ debian-binary data.tar.gz control.tar.gz || exit 2 rm -Rf debian-binary control data.tar.gz control.tar.gz || exit 2 shift done fi