summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/volatile-binds
Commit message (Collapse)AuthorAgeFilesLines
* recipes: Switch away from S = WORKDIRRichard Purdie3 hours1-3/+2
| | | | | | | | | | | | | Where recipes use S = ${WORKDIR}, change them to set UNPACKDIR to a subdir of WORKDIR and make S point at this instead. I've chosen not to force S into any standard UNPACKDIR we may pick in future just so the S = UNPACKDIR case is clearly visible by the directory naming under WORKDIR as that should aid usability. (From OE-Core rev: d9328e3b0b062f0621de3d114584b44f384a1c02) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: Calculate the name of the /var/lib serviceStéphane Veyret2023-10-301-9/+9
| | | | | | | | | | | | | | | | By default, /var/lib is bind mounted on /var/volatile/lib. If this is the case, the recipe adds conditions on systemd-random-seed in the service file mounting it. But as the VOLATILE_BINDS may be modified, /var/lib may be mounted elsewhere, for example in /persistent/var/lib. In this case, the conditions are not set because the service file name does not match expected one. This patch automatically records the name of the service mounting /var/lib, if any, in order to set the condition in the appropriate file. (From OE-Core rev: 66f0c2a1678cb69cf8d50372b0592c55e2dc3e3c) Signed-off-by: Stéphane Veyret <sveyret@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: Allow creation of subdirectoriesStéphane Veyret2023-10-301-1/+2
| | | | | | | | | | | | | The mount-copybind script will create the parent directory of the bind mount if it does not exist. But actually, if this is the case, the service will not even start because of the ConditionPathIsReadWrite. This patch adds a "or" condition to allow the service to start also if the parent directory of the bind mount does not exist. (From OE-Core rev: 1ca031b77546056ca1994469b0f2e93ea2018edf) Signed-off-by: Stéphane Veyret <sveyret@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: Remove TimeoutSec and allow DefaultTimeoutSec to be usedPortia2022-04-301-1/+0
| | | | | | | | | | Remove setting TimeoutSec and allow the DefaultTimeSec to be set for the volatile-binds services. (From OE-Core rev: 86aea324e423ce5f411a21afa18356339e3545a8) Signed-off-by: Portia Stephens <stephensportia@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: Change DefaultDependencies from false to noPortia2022-04-301-1/+1
| | | | | | | | | | The systemd-unit parameter DefaultDependencies changed from true/false to yes/no. This changed in systemd in v242. (From OE-Core rev: add4dcb03dc7b034253db05f0023cb97cab8b26d) Signed-off-by: Portia Stephens <stephensportia@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: add recipe variable to allow disabling OverlayFSLuca Boccassi2022-03-292-0/+5
| | | | | | | | | | | | | Use the new MOUNT_COPYBIND_AVOID_OVERLAYFS flag provided by mount-copybind. When SELinux is enabled, processes accessing OverlayFS mounts will get a denial if the process setting up the mount doesn't have all the permissions that the accessor has. (From OE-Core rev: 6002bdc77643c363a8326bf163baecba8b36e3e0) Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mount-copybind: add MOUNT_COPYBIND_AVOID_OVERLAYFS env var to skip OverlayFSLuca Boccassi2022-03-261-1/+4
| | | | | | | | | | | | | | | | | In some cases we don't want to even attempt to set up OverlayFS, for example because SELinux in enforcing mode would kill the process attempting to use the mount. See: https://lore.kernel.org/all/CA+FmFJBDwt52Z-dVGfuUcnRMiMtGPhK4cCQJ=J_fg0r3x-b6ng@mail.gmail.com/T/#mef98aa406324096d1889d3d467251f30456f403c If MOUNT_COPYBIND_AVOID_OVERLAYFS=1 is set, skip directly to copy and bind mount. (From OE-Core rev: a8e7dca69054798b1c9843a0de889cef3e261c4f) Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mount-copybind: fix shellcheck warningLuca Boccassi2022-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | $ shellcheck meta/recipes-core/volatile-binds/files/mount-copybind In meta/recipes-core/volatile-binds/files/mount-copybind line 54: mountcontext=",rootcontext=$(matchpathcon -n $mountpoint)" ^---------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: mountcontext=",rootcontext=$(matchpathcon -n "$mountpoint")" For more information: https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... (From OE-Core rev: 56c7962a6c31acfe0e118f713954aeafd7e2d9c0) Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mount-copybind: add rootcontext mountoption for overlayfsMaximilian Blenk2021-10-111-1/+13
| | | | | | | | | | | | | | | | If selinux is enabled, the context of the mountpoint for overlayfs needs to be specified manually via the rootcontext option. To this end, the required context is determined using matchpathcon(1) and passed via the rootcontext mount option. Additionally, if the mount source directory is created by mount-copybind it also needs to take care that the context of the directory is correct (From OE-Core rev: 57f51e8c73ab9f55f20815a9459c3afad2b281e6) Signed-off-by: Tobias Kaufmann <Tobias.KA.Kaufmann@bmw.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mount-copybind: add SELinux supportTobias Kaufmann2021-10-111-0/+12
| | | | | | | | | | | | | | bind mounts don't use the SELinux label of the target, but the SELinux label of the source. This patch restores the SELinux context of the bind mount recursively using restorecon. (From OE-Core rev: 6f3e231dc9bc11772573bf9683de9804460362d1) Signed-off-by: Tobias Kaufmann <Tobias.KA.Kaufmann@bmw.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: '${systemd_unitdir}/system' => '${systemd_system_unitdir}'Robert P. J. Day2021-09-071-3/+3
| | | | | | | | | | | Repo-wide replacement to use newer variable to represent systemd system unitdir directory. (From OE-Core rev: 5ace3ada5c54500c71becc8e0c6eddeb8bc053e3) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Manual override fixesRichard Purdie2021-08-021-1/+1
| | | | | | | | | | The automated conversion of OE-Core to use the new override sytax isn't perfect. This patches some mis-converted lines and some lines which were missed by the automation. (From OE-Core rev: 4e9a06b64b43131b731fb59a0305f78a98e27fbd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to new override syntaxRichard Purdie2021-08-021-2/+2
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: add /srv to mount and installSinan Kaya2020-11-241-1/+2
| | | | | | | | | | We are installing a service to volatile mount /srv directory but we are not creating it on the target. (From OE-Core rev: 0fd0b5cc27e3ef72bc00f593b0730b7fca5d0450) Signed-off-by: Sinan Kaya <okaya@kernel.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: Drop StandardOutput=syslog from systemd unitAlex Kiernan2020-08-211-1/+0
| | | | | | | | | | | With systemd v246 the syslog target now generates a warning (and has been deprecated for some time). Drop the target and allow the default to take effect. (From OE-Core rev: dba15118a749b5e633f03b662c9ba00d6b0eff02) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distro_features_check: expand with MACHINE_FEATURES and COMBINED_FEATURES, ↵Denys Dmytriyenko2019-11-211-1/+1
| | | | | | | | | | | | | | | | rename Besides checking DISTRO_FEATURES for required or conflicting features, being able to check MACHINE_FEATURES and/or COMBINED_FEATURES may also be useful at times. Temporarily support the old class name with a warning about future deprecation. (From OE-Core rev: 5f4875b950ce199e91f99c8e945a0c709166dc14) Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: Change cp to use -a instead of -p.Chris PeBenito2019-06-191-2/+2
| | | | | | | | | This is needed on SELinux systems, so the labels (xattrs) are preserved. (From OE-Core rev: ab7e3caf3e29f2d8db55e2901e0a9b01061afd88) Signed-off-by: Chris PeBenito <Christopher.PeBenito@microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: use overlayfs if availableMatt Hoosier2018-10-201-4/+26
| | | | | | | | | | | | | | | | Copying files from the read-only root filesystem to the tmpfs providing the volatile directories can be slow and waste memory. If the kernel supports the overlay filesystem, use it to mount a writable tmpfs on top of the read-only directory from the rootfs and avoid copies. Analogous to the modification made to initscripts's read-only-rootfs-hook in 370fda1b2e8d5dc011522131bba4106de26bfb19. (From OE-Core rev: b4976f3cf8cd028f165100b67867adb862da4d7f) Signed-off-by: Matt Hoosier <matt.hoosier@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: use PN to replace hardcode nameRobert Yang2018-01-061-1/+1
| | | | | | | | | | Otherwise it doesn't work since SYSTEMD_SERVICE_volatile-binds is not defined when multilib. (From OE-Core rev: ccdc709655470af942afccda879e6f8484bebc5e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: correct some errors reported by systemdJoe Slater2017-04-011-0/+9
| | | | | | | | | | | | | systemd-tmpfiles-setup will fail at boot, so we suppress the default versions of etc.conf and home.conf. We also make sure that /var/{cache,spool} and /srv are writeable if they exist. (From OE-Core rev: 4a44a7658cebafab336f061f270b6ff44150a6d6) Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove True option to getVar callsJoshua Lock2016-12-161-1/+1
| | | | | | | | | | | | | getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) (From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: correct path of command umountKai Kang2015-07-231-1/+1
| | | | | | | | | | | It calls /sbin/umount to stop service var-volatile-lib. But umount is installed into directory /bin. Correct it. (From OE-Core rev: 55851c6f389cb027496c96f6e0609c8892032e4d) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: Set S to prevent QA warningThomas Perrot2015-07-081-1/+3
| | | | | | | | | | | Also need to correct the path to COPYING.MIT. (From OE-Core rev: 4c46a6813772d8d35dd1432dbc59f9ff4b3bd074) (From OE-Core rev: 82661c1cbc619956bb71fc2ee0f10b4048435414) Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: use ${PN} for SYSTEMD_SERVICEChen Qi2014-09-291-1/+1
| | | | | | | | | | | | As this recipe inherits allarch, it makes no real difference whether we are using ${PN} or 'volatile-binds'. But using ${PN} would keep the same style with the other recipes in OE. (From OE-Core rev: 708cc039b6cc891e466e89d2b10fcdea6c19287c) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: add recipeChen Qi2014-08-024-0/+139
This recipe is designed to play a key role in a read-only rootfs of systemd based systems. It generates service files from a template, volatile-binds.service.in and the VOLATILE_BINDS variable. By default, VOLATILE_BINDS takes the value of "/var/volatile/lib /var/lib\n", which leads to the generation of volatile-var-lib.service file. This file doesn't have any effect in a read-write system, as it has "ConditionPathIsReadWrite = !/var/lib" in the [Unit] section. In other words, this file only has effect in a read-only rootfs. (From OE-Core rev: ed7d30dc0cdb6d6c56c50ac7a3440c4ed0ee70d3) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>