Skip to content

Commit

Permalink
Merge pull request #3103 from cgwalters/tmpfiles-factory-var
Browse files Browse the repository at this point in the history
tmpfiles: Copy `/usr/share/factory/var` to `/var`
  • Loading branch information
jmarrero committed Dec 1, 2023
2 parents b0be233 + 66064d9 commit e794a0c
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 4 deletions.
4 changes: 4 additions & 0 deletions src/boot/ostree-tmpfiles.conf
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@
d /run/ostree 0755 root root -
# https://github.com/ostreedev/ostree/issues/393
R! /var/tmp/ostree-unlock-ovl.*
# Automatically propagate all /var content from /usr/share/factory/var;
# the ostree-container stack is being changed to do this, and we want to
# encourage ostree use cases in general to follow this pattern.
C+! /var - - - - -
8 changes: 4 additions & 4 deletions src/libostree/ostree-sysroot-deploy.c
Original file line number Diff line number Diff line change
Expand Up @@ -3039,10 +3039,10 @@ lint_deployment_fs (OstreeSysroot *self, OstreeDeployment *deployment, int deplo
if (dent == NULL)
break;

fprintf (
stderr,
"note: Deploying commit %s which contains content in /var/%s that will be ignored.\n",
ostree_deployment_get_csum (deployment), dent->d_name);
fprintf (stderr,
"note: Deploying commit %s which contains content in /var/%s that should be in "
"/usr/share/factory/var\n",
ostree_deployment_get_csum (deployment), dent->d_name);
}

return TRUE;
Expand Down
29 changes: 29 additions & 0 deletions tests/kolainst/destructive/var-tmpfiles.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash
set -xeuo pipefail

. ${KOLA_EXT_DATA}/libinsttest.sh

require_writable_sysroot
prepare_tmpdir

case "${AUTOPKGTEST_REBOOT_MARK:-}" in
"")
factory_var=rootfs/usr/share/factory/var
mkdir -p ${factory_var}
cd "${factory_var}"
mkdir -p home/someuser
echo bashrc > home/someuser/.bashrc
chown -R 1000:1000 home/someuser
mkdir -m 01777 -p tmp
cd -
ostree commit -b testlint --no-bindings --selinux-policy-from-base --tree=ref="${host_refspec}" --consume --tree=dir=rootfs
ostree admin deploy testlint 2>err.txt
assert_not_file_has_content err.txt 'contains content in /var'

/tmp/autopkgtest-reboot "2"
;;
2)
assert_file_has_content /home/someuser/.bashrc bashrc
;;
*) fatal "Unexpected AUTOPKGTEST_REBOOT_MARK=${AUTOPKGTEST_REBOOT_MARK}" ;;
esac

0 comments on commit e794a0c

Please sign in to comment.