| [Unit] |
| Description=Variable storage overlay setup |
| ConditionPathIsSymbolicLink=!/var |
| DefaultDependencies=no |
| RequiresMountsFor=/run/buildroot/mounts/var |
| |
| [Service] |
| Type=oneshot |
| RemainAfterExit=yes |
| ExecStart=/usr/bin/mkdir -p /run/buildroot/mounts/var/lower /run/buildroot/mounts/var/upper /run/buildroot/mounts/var/work |
| |
| # Ideally, we would like to use a systemd mount unit to manage the bind |
| # mount. Unfortunately, that creates a circular dependency: such a unit |
| # would have What=/var while var.mount has Where=/var so that introduces |
| # an implicit dependency from that unit to var.mount, but var.mount |
| # would have an explicit dependency to be ordered after that unit. |
| # So we handle the bind mount manually. |
| ExecStart=/usr/bin/mount -n -o bind,private /var /run/buildroot/mounts/var/lower |
| ExecStop=/usr/bin/umount -l /run/buildroot/mounts/var/lower |