mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-23 21:35:26 +03:00
61 lines
2.8 KiB
Bash
Executable File
61 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright (C) 2020 Red Hat, Inc.
|
|
#
|
|
# SPDX-License-Identifier: LGPL-2.0+
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2 of the License, or (at your option) any later version.
|
|
#
|
|
# This library 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
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
set -euo pipefail
|
|
|
|
. $(dirname $0)/libtest.sh
|
|
|
|
echo "1..1"
|
|
|
|
# Exports OSTREE_SYSROOT so --sysroot not needed.
|
|
kver="3.6.0"
|
|
modulesdir="usr/lib/modules/${kver}"
|
|
setup_os_repository "archive" "syslinux" ${modulesdir}
|
|
|
|
cd ${test_tmpdir}
|
|
os_repository_new_commit "test" "test with device tree directory"
|
|
|
|
devicetree_path=osdata/${modulesdir}/dtb/asoc-board.dtb
|
|
devicetree_overlay_path=osdata/${modulesdir}/dtb/overlays/overlay.dtbo
|
|
|
|
mkdir -p osdata/${modulesdir}/dtb
|
|
echo "a device tree" > ${devicetree_path}
|
|
mkdir -p osdata/${modulesdir}/dtb/overlays
|
|
echo "a device tree overlay" > ${devicetree_overlay_path}
|
|
|
|
${CMD_PREFIX} ostree --repo=testos-repo commit --tree=dir=osdata/ -b testos/buildmain/x86_64-runtime
|
|
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmain/x86_64-runtime
|
|
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo remote add --set=gpg-verify=false testos file://$(pwd)/testos-repo testos/buildmain/x86_64-runtime
|
|
${CMD_PREFIX} env OSTREE_SYSROOT_DEBUG=${OSTREE_SYSROOT_DEBUG},no-dtb ostree admin deploy --os=testos testos:testos/buildmain/x86_64-runtime
|
|
assert_has_file sysroot/boot/ostree/testos-${bootcsum}/vmlinuz-3.6.0
|
|
assert_not_has_file sysroot/boot/ostree/testos-${bootcsum}/dtb/asoc-board.dtb 'a device tree'
|
|
assert_streq $(ls sysroot/boot/ostree | wc -l) 1
|
|
assert_streq $(find sysroot/boot/ostree -name '*.dtb' | wc -l) 0
|
|
${CMD_PREFIX} ostree --repo=testos-repo commit --tree=dir=osdata/ -b testos/buildmain/x86_64-runtime
|
|
env OSTREE_SYSROOT_DEBUG=${OSTREE_SYSROOT_DEBUG},no-dtb ${CMD_PREFIX} ostree admin upgrade --os=testos
|
|
${CMD_PREFIX} ostree --repo=testos-repo commit --tree=dir=osdata/ -b testos/buildmain/x86_64-runtime
|
|
${CMD_PREFIX} ostree admin upgrade --os=testos
|
|
assert_streq $(ls sysroot/boot/ostree | wc -l) 2
|
|
# Note that the bootcsum computed by the test suite doesn't include devicetree
|
|
# And currently we end up installing the dtb for the *previous* deployment
|
|
# too which is a bug - in the future this should be fixed to assert 1.
|
|
assert_streq $(find sysroot/boot/ostree -name '*.dtb' | wc -l) 2
|
|
|
|
echo "ok update with no dtb to dtb"
|