d2bd8500da
There are a few reasons to do this. First, systemd changed to refuse mounts on symlinks, and hence if one *wants* "/tmp-on-tmpfs", one would need to write a different `sysroot-tmp.mount` unit. Second, the original rationale for having this symlink was that if you had multiple ostree stateroots ("osnames"), it's nicer if they had the same `/tmp` to avoid duplication. But in practice today that's already an issue due to `/var/tmp`, and further the multiple-stateroot case is pretty unusual. And that case is *further* broken by SELinux (if one wanted to have e.g. an Ubuntu and Fedora) stateroots. So let's fully decouple this and make `/tmp` a plain old directory by default, so systemd's `tmp.mount` can become useful. Now, things get interesting for the case where someone wants a physical `/tmp` that *does* persist across reboots. Right now, if one just did a `systemctl mask tmp.mount` as we do in Fedora Atomic Host's cloud images, you'd get a semantic where `/tmp` stays per-deployment, which is weird. Our recommendation for that should likely be to set up a bind mount for `/tmp` → `/var/tmp`. For now, this stays an option to ensure compatibility; if FAH Cloud images want to stay with "physical /tmp", then we'd have to change the kickstart. Closes: https://github.com/projectatomic/rpm-ostree/issues/669 Closes: #778 Approved by: jlebon
47 lines
1.6 KiB
Bash
Executable File
47 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -xeuo pipefail
|
|
|
|
dn=$(cd $(dirname $0) && pwd)
|
|
. ${dn}/libcomposetest.sh
|
|
|
|
prepare_compose_test "basic"
|
|
# Test metadata json with objects, arrays, numbers
|
|
cat > metadata.json <<EOF
|
|
{
|
|
"exampleos.gitrepo": {
|
|
"rev": "97ec21c614689e533d294cdae464df607b526ab9",
|
|
"src": "https://gitlab.com/exampleos/custom-atomic-host"
|
|
},
|
|
"exampleos.tests": ["smoketested", "e2e"]
|
|
}
|
|
EOF
|
|
runcompose --add-metadata-from-json metadata.json
|
|
ostree --repo=${repobuild} ls -R ${treeref} /usr/lib/ostree-boot > bootls.txt
|
|
if ostree --repo=${repobuild} ls -R ${treeref} /usr/etc/passwd-; then
|
|
assert_not_reached "Found /usr/etc/passwd- backup file in tree"
|
|
fi
|
|
echo "ok compose"
|
|
|
|
ostree --repo=${repobuild} show --print-metadata-key exampleos.gitrepo ${treeref} > meta.txt
|
|
assert_file_has_content meta.txt 'rev.*97ec21c614689e533d294cdae464df607b526ab9'
|
|
assert_file_has_content meta.txt 'src.*https://gitlab.com/exampleos/custom-atomic-host'
|
|
ostree --repo=${repobuild} show --print-metadata-key exampleos.tests ${treeref} > meta.txt
|
|
assert_file_has_content meta.txt 'smoketested.*e2e'
|
|
echo "ok metadata"
|
|
|
|
ostree --repo=${repobuild} ls -R ${treeref} /usr/lib/ostree-boot > bootls.txt
|
|
assert_file_has_content bootls.txt vmlinuz
|
|
assert_file_has_content bootls.txt initramfs
|
|
echo "ok boot files"
|
|
|
|
ostree --repo=${repobuild} ls -R ${treeref} /usr/share/man > manpages.txt
|
|
assert_file_has_content manpages.txt man5/ostree.repo.5
|
|
echo "ok manpages"
|
|
|
|
# https://github.com/projectatomic/rpm-ostree/issues/669
|
|
ostree --repo=${repobuild} ls ${treeref} /tmp > ls.txt
|
|
assert_file_has_content ls.txt 'l00777 0 0 0 /tmp -> sysroot/tmp'
|
|
echo "ok /tmp"
|
|
|