mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-23 21:35:26 +03:00
9d941dcebb
When we [switched to using checkout + force_copy](e8efd1c8dc
),
a side effect that went unnoticed at the time is that we started
setting directory mtimes to zero.
See the below bug where we long ago set the file times to zero, which got fixed,
so let's not regress things by setting the directory times to zero either. (Even
though AFAICS GNU tar doesn't complain about those)
This semantic is somewhat "overloaded" onto `force_copy`, but it avoids adding
yet another boolean; we don't have that many reserved boolean slots left. I
can't really think of many good use cases for `force_copy` *other* than the
`/etc` merge anyways.
https://bugzilla.redhat.com/show_bug.cgi?id=1229160
Closes: https://github.com/ostreedev/ostree/issues/995
Closes: #997
Approved by: jlebon
33 lines
924 B
Bash
Executable File
33 lines
924 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Verify our /etc merge works with selinux
|
|
|
|
set -xeuo pipefail
|
|
|
|
dn=$(dirname $0)
|
|
. ${dn}/libinsttest.sh
|
|
|
|
# Create a new deployment
|
|
ostree admin deploy --karg-proc-cmdline ${host_refspec}
|
|
new_deployment_path=/ostree/deploy/${host_osname}/deploy/${host_commit}.1
|
|
|
|
# Test /etc directory mtime
|
|
if ! test ${new_deployment_path}/etc/NetworkManager -nt /etc/NetworkManager; then
|
|
ls -al ${new_deployment_path}/etc/NetworkManager /etc/NetworkManager
|
|
fatal "/etc directory mtime not newer"
|
|
fi
|
|
|
|
# A set of files that have a variety of security contexts
|
|
for file in fstab passwd exports hostname sysctl.conf yum.repos.d \
|
|
NetworkManager/dispatcher.d/hook-network-manager; do
|
|
if ! test -e /etc/${file}; then
|
|
continue
|
|
fi
|
|
|
|
current=$(cd /etc && ls -Z ${file})
|
|
new=$(cd ${new_deployment_path}/etc && ls -Z ${file})
|
|
assert_streq "${current}" "${new}"
|
|
done
|
|
|
|
ostree admin undeploy 0
|