# Tests for opkbuild # # Copyright (C) 2019 Patrick McDermott # # This file is part of opkbuild. # # opkbuild 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. # # opkbuild 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 opkbuild. If not, see . set -eu . "${TOP_SRCDIR}/tests/aux/tap-functions.sh" . "${TOP_SRCDIR}/tests/aux/common.sh" ls_outer() { local opk="${1}" shift 1 ${TAR} -tzf "${opk}" } ls_inner() { local opk="${1}" local mbr="${2}" shift 2 ${TAR} -xzOf "${opk}" "${mbr}" | ${TAR} -tz } plan_ 12 export OB_TEST_DATADIR="${TOP_BUILDDIR}/tests/data.build/platconf_foo" # Get out of and remove the work area. cd '../' rm -Rf 'src/' 'tmp/' cp -Rp '../src/' 'src/' command_ok_ 'opkbuild exit status' -- opkbuild -a i686-linux-glibc -p x60 -dc for opk in '../src:foo_1.0-1_src_all.opk' \ '../foo:i686-linux-glibc_1.0-1_i686-linux-glibc_all.opk' \ '../bar_1.0-1_all_all.opk'; do command_ok_ 'opk exists' -- [ -f "${opk}" ] cmd_is 'outer archive contents' ls_outer "${opk}" <<-EOF debian-binary control.tar.gz data.tar.gz EOF done cmd_is 'control.tar.gz contents' \ ls_inner '../src:foo_1.0-1_src_all.opk' control.tar.gz <<-EOF ./ ./control ./md5sums EOF cmd_is 'control.tar.gz contents' \ ls_inner '../foo:i686-linux-glibc_1.0-1_i686-linux-glibc_all.opk' \ control.tar.gz <<-EOF ./ ./control ./md5sums EOF cmd_is 'control.tar.gz contents' \ ls_inner '../bar_1.0-1_all_all.opk' control.tar.gz <<-EOF ./ ./control EOF cmd_is 'data.tar.gz contents' \ ls_inner '../foo:i686-linux-glibc_1.0-1_i686-linux-glibc_all.opk' \ data.tar.gz <<-EOF ./ ./usr/ ./usr/bin/ ./usr/bin/foo.sh ./usr/share/ ./usr/share/doc/ ./usr/share/doc/foo:i686-linux-glibc/ ./usr/share/doc/foo:i686-linux-glibc/README.dist ./usr/share/doc/foo:i686-linux-glibc/README.upstream ./usr/share/doc/foo:i686-linux-glibc/changelog.dist ./usr/share/doc/foo:i686-linux-glibc/copyright EOF cmd_is 'data.tar.gz contents' \ ls_inner '../bar_1.0-1_all_all.opk' data.tar.gz <<-EOF ./ ./usr/ ./usr/share/ ./usr/share/doc/ ./usr/share/doc/bar EOF