All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2] initscripts: remove warnings on read-only-rootfs (again)
@ 2019-08-21 10:25 Jacob Kroon
  2019-08-22 16:10 ` Jacob Kroon
  0 siblings, 1 reply; 2+ messages in thread
From: Jacob Kroon @ 2019-08-21 10:25 UTC (permalink / raw)
  To: openembedded-core

From: Martin Hundebøll <martin@geanix.com>

When the populate-volatile.sh initscript tests if a configured symlink
is already in place, it uses readlink with the '-f' (follow) option:

> [ "$(readlink -f $source)" = "$dest" ]

If the test fails, it proceeds to delete the exisiting folder/file, and
create the configured symlink.

However, the '-f' option to readlink makes it follow symlinks pointing
at symlinks. If the $dest argument is a symlink, the above test fails,
and warnings are printed due to changing a read-only rootfs.

This is the case for /tmp, and /etc/resolv.conf:
> /tmp -> /var/tmp -> /var/volatile/tmp
> /etc/resolv.conf -> /var/run/resolv.conf -> /run/resolv.conf

Fix the warnings by removing the '-f' option, so that the test matches
the configuration.

[ YOCTO #10814 ]

Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
---

v2:
 * Added my own signed-off-by tag
 * Added reference to YOCTO #10814
 * Original patch: https://patchwork.openembedded.org/patch/152602/

 .../initscripts/initscripts-1.0/populate-volatile.sh            | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
index 6f965a6870..1c525b71bd 100755
--- a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
+++ b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
@@ -80,7 +80,7 @@ mk_dir() {
 link_file() {
 	EXEC="
 	if [ -L \"$2\" ]; then
-		[ \"\$(readlink -f \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
+		[ \"\$(readlink \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
 	elif [ -d \"$2\" ]; then
 		if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then
 			cp -a $2/* $1 2>/dev/null;
-- 
2.21.0



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCHv2] initscripts: remove warnings on read-only-rootfs (again)
  2019-08-21 10:25 [PATCHv2] initscripts: remove warnings on read-only-rootfs (again) Jacob Kroon
@ 2019-08-22 16:10 ` Jacob Kroon
  0 siblings, 0 replies; 2+ messages in thread
From: Jacob Kroon @ 2019-08-22 16:10 UTC (permalink / raw)
  To: openembedded-core, Qi.Chen

On 8/21/19 12:25 PM, Jacob Kroon wrote:
> From: Martin Hundebøll <martin@geanix.com>
> 
> When the populate-volatile.sh initscript tests if a configured symlink
> is already in place, it uses readlink with the '-f' (follow) option:
> 
>> [ "$(readlink -f $source)" = "$dest" ]
> 
> If the test fails, it proceeds to delete the exisiting folder/file, and
> create the configured symlink.
> 
> However, the '-f' option to readlink makes it follow symlinks pointing
> at symlinks. If the $dest argument is a symlink, the above test fails,
> and warnings are printed due to changing a read-only rootfs.
> 
> This is the case for /tmp, and /etc/resolv.conf:
>> /tmp -> /var/tmp -> /var/volatile/tmp
>> /etc/resolv.conf -> /var/run/resolv.conf -> /run/resolv.conf
> 
> Fix the warnings by removing the '-f' option, so that the test matches
> the configuration.
> 
> [ YOCTO #10814 ]
> 
> Signed-off-by: Martin Hundebøll <martin@geanix.com>
> Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
> ---
> 
> v2:
>   * Added my own signed-off-by tag
>   * Added reference to YOCTO #10814
>   * Original patch: https://patchwork.openembedded.org/patch/152602/
> 
>   .../initscripts/initscripts-1.0/populate-volatile.sh            | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> index 6f965a6870..1c525b71bd 100755
> --- a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> @@ -80,7 +80,7 @@ mk_dir() {
>   link_file() {
>   	EXEC="
>   	if [ -L \"$2\" ]; then
> -		[ \"\$(readlink -f \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
> +		[ \"\$(readlink \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
>   	elif [ -d \"$2\" ]; then
>   		if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then
>   			cp -a $2/* $1 2>/dev/null;
> 

Hi Chen,

Can I ask you to review the patch above ?
Having spent some time staring at the change and reading up on intended 
behaviour, I think the patch is correct.

Thanks,
Jacob


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-08-22 16:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-21 10:25 [PATCHv2] initscripts: remove warnings on read-only-rootfs (again) Jacob Kroon
2019-08-22 16:10 ` Jacob Kroon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.