diff options
author | Bryan Evenson <bevenson@melinkcorp.com> | 2015-04-14 17:08:15 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-04-17 22:39:32 +0100 |
commit | 433ec67686d6991d2d5f43fd1af957968da1971c (patch) | |
tree | 054ebe76a1b337806a4d15d0cb65680079a0583d /meta/recipes-core/base-files | |
parent | f77133783e5145858ac94b9bae1576852a7e838d (diff) | |
download | poky-433ec67686d6991d2d5f43fd1af957968da1971c.tar.gz |
base-files: Check for /run and /var/lock softlinks on upgrade
Commit ea647cd9eebdc3e3121b84074519c4bb305adac9 moved the locations
of /run and /var/lock to match the FHS 3 draft specifications.
However, the install doesn't remove the existing directories.
As a result, upgrading a system may result in /run as a softlink
to /var/run and /var/run as a softlink to /run, creating a circular
link.
During pre-install, check for the existence of the old softlinks and
remove them so the new directories can be installed.
(From OE-Core rev: edeeee8432dc749b02e5e6eca0503229e394ebd3)
Signed-off-by: Bryan Evenson <bevenson@melinkcorp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/base-files')
-rw-r--r-- | meta/recipes-core/base-files/base-files_3.0.14.bb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb index 07f5c54c97..9021103158 100644 --- a/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb | |||
@@ -66,6 +66,29 @@ hostname = "openembedded" | |||
66 | 66 | ||
67 | BASEFILESISSUEINSTALL ?= "do_install_basefilesissue" | 67 | BASEFILESISSUEINSTALL ?= "do_install_basefilesissue" |
68 | 68 | ||
69 | # In previous versions of base-files, /run was a softlink to /var/run and the | ||
70 | # directory was located in /var/volatlie/run. Also, /var/lock was a softlink | ||
71 | # to /var/volatile/lock which is where the real directory was located. Now, | ||
72 | # /run and /run/lock are the real directories. If we are upgrading, we may | ||
73 | # need to remove the symbolic links first before we create the directories. | ||
74 | # Otherwise the directory creation will fail and we will have circular symbolic | ||
75 | # links. | ||
76 | # | ||
77 | pkg_preinst_${PN} () { | ||
78 | #!/bin/sh -e | ||
79 | if [ x"$D" = "x" ]; then | ||
80 | if [ -h "/var/lock" ]; then | ||
81 | # Remove the symbolic link | ||
82 | rm -f /var/lock | ||
83 | fi | ||
84 | |||
85 | if [ -h "/run" ]; then | ||
86 | # Remove the symbolic link | ||
87 | rm -f /run | ||
88 | fi | ||
89 | fi | ||
90 | } | ||
91 | |||
69 | do_install () { | 92 | do_install () { |
70 | for d in ${dirs755}; do | 93 | for d in ${dirs755}; do |
71 | install -m 0755 -d ${D}$d | 94 | install -m 0755 -d ${D}$d |
@@ -79,6 +102,7 @@ do_install () { | |||
79 | for d in ${volatiles}; do | 102 | for d in ${volatiles}; do |
80 | ln -sf volatile/$d ${D}${localstatedir}/$d | 103 | ln -sf volatile/$d ${D}${localstatedir}/$d |
81 | done | 104 | done |
105 | |||
82 | ln -snf ../run ${D}${localstatedir}/run | 106 | ln -snf ../run ${D}${localstatedir}/run |
83 | ln -snf ../run/lock ${D}${localstatedir}/lock | 107 | ln -snf ../run/lock ${D}${localstatedir}/lock |
84 | 108 | ||