Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
diff sbin/fjail @ 173:6782ac823f86
Handle /var/empty more sanely when populating datasets from a base.txz image
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 16 Aug 2022 08:34:34 +0200 |
| parents | b62b8bc6184f |
| children | 9b23832722dd |
line wrap: on
line diff
--- a/sbin/fjail Thu Dec 17 08:50:50 2020 +0100 +++ b/sbin/fjail Tue Aug 16 08:34:34 2022 +0200 @@ -220,7 +220,22 @@ return 1 fi + # + # Handle /var/empty separately later: could be already there and + # mounted read-only. + # tar -C "${_mp}" --exclude=./var/empty -xJp -f "${_basetxz}" || { echo "ERROR: tar encountered errors" >&2; return 1; } + if [ -d "${_mp}/var/empty" ]; then + # + # If /var/empty exists already try to extract with changing the + # flags (e.g. `schg'). But be tolerant with errors here. + # + tar -C "${_mp}" -xJp -f "${_basetxz}" ./var/empty + else + # Just extract /var/empty normally + tar -C "${_mp}" -xJp -f "${_basetxz}" ./var/empty || { echo "ERROR: tar encountered errors" >&2; return 1; } + fi + find "${_mp}/boot" -type f -delete }
