Skip to content
  • Norbert Lange's avatar
    bf01e51f
    skeleton + init: prepare /run/lock and adjust compat symlinks · bf01e51f
    Norbert Lange authored
    
    
    Linux distros changed /var/run and /var/lock to reside on an tmpfs in
    /run a long time ago, and buildroot seems to agree by providing this
    tmpfs on all supported init systems.
    
    Packages on the other hand are currently free to either use /var/run
    or /run, and similarly using /var/lock should be identical to the
    replacement /run/lock.
    
    This series aims to ensure that *if* /var/lock is needed, then
    it will be a symlink to /run/lock. Allowing packages to continue
    working and allowing them to migrate to using /run/lock.
    
    If all relevant packages are fixed,
    the compatibility symlinks in /var can be dropped.
    
    Status before this patch:
    
    *   Systemd
    
        /run will be mounted by PID1, /var/run will be recreated by
        /usr/lib/tmpfiles.d/var.conf.
    
        Creating /run/lock/subsys and the compatibility symlink is handled
        in /usr/lib/tmpfiles.d/legacy.conf.
        But this is *currently not installed* by Buildroot, see [1].
    
    *   OpenRC
    
        Seems to check for existence of a /run directory and does all
        necessary setup.
    
    *   SysV
    
        /var/lock is currently a symlink to /tmp.
    
    *   Busybox
    
        Same as sysv (Buildroot uses the sysv skeleton)
    
    Note that we create /run/lock/subsys, so sysv scrips could expect this
    directory to exist. Apart from simplifying scripts, creating the dir
    early as root adds some security.
    
    Signed-off-by: default avatarNorbert Lange <nolange79@gmail.com>
    Signed-off-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
    bf01e51f
    skeleton + init: prepare /run/lock and adjust compat symlinks
    Norbert Lange authored
    
    
    Linux distros changed /var/run and /var/lock to reside on an tmpfs in
    /run a long time ago, and buildroot seems to agree by providing this
    tmpfs on all supported init systems.
    
    Packages on the other hand are currently free to either use /var/run
    or /run, and similarly using /var/lock should be identical to the
    replacement /run/lock.
    
    This series aims to ensure that *if* /var/lock is needed, then
    it will be a symlink to /run/lock. Allowing packages to continue
    working and allowing them to migrate to using /run/lock.
    
    If all relevant packages are fixed,
    the compatibility symlinks in /var can be dropped.
    
    Status before this patch:
    
    *   Systemd
    
        /run will be mounted by PID1, /var/run will be recreated by
        /usr/lib/tmpfiles.d/var.conf.
    
        Creating /run/lock/subsys and the compatibility symlink is handled
        in /usr/lib/tmpfiles.d/legacy.conf.
        But this is *currently not installed* by Buildroot, see [1].
    
    *   OpenRC
    
        Seems to check for existence of a /run directory and does all
        necessary setup.
    
    *   SysV
    
        /var/lock is currently a symlink to /tmp.
    
    *   Busybox
    
        Same as sysv (Buildroot uses the sysv skeleton)
    
    Note that we create /run/lock/subsys, so sysv scrips could expect this
    directory to exist. Apart from simplifying scripts, creating the dir
    early as root adds some security.
    
    Signed-off-by: default avatarNorbert Lange <nolange79@gmail.com>
    Signed-off-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Loading