diff mbox series

[V6] systemd: fix dead link /var/log/README

Message ID 20240307065635.1261288-1-changqing.li@windriver.com
State Accepted, archived
Commit 18d46e11d85da1f6feaba5a135931e43060024d6
Headers show
Series [V6] systemd: fix dead link /var/log/README | expand

Commit Message

Changqing Li March 7, 2024, 6:56 a.m. UTC
From: Changqing Li <changqing.li@windriver.com>

There are 2 issues here:
First, in package systemd, there is a file /usr/lib/tmpfile.d/legacy.conf,
which will create a symlink to /usr/share/doc/systemd/README.logs during
boot time. But for oe, /usr/share/doc/systemd/README.logs is packaged in
systemd-doc, which will make /var/log/README is dead link.

Second, the symlink /var/log/README in legacy.conf use relative path:
"L /var/log/README - - - - ../../usr/share/doc/systemd/README.logs"
But for oe, when VOLATILE_LOG_DIR is true, /var/log is a link to
/var/volatile/log, so /var/log/README need link to
../../../usr/share/doc/systemd/README.logs, while VOLATILE_LOG_DIR is
false, /var/log is a dir, so /var/log/README need link to
../../usr/share/doc/systemd/README.logs. So current symlink in
legacy.conf will also make it a dead link when VOLATILE_LOG_DIR is true.

Turn off CREATE_LOG_DIRS to avoid these issues.

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 meta/recipes-core/systemd/systemd_255.1.bb | 1 +
 1 file changed, 1 insertion(+)

Comments

Khem Raj March 7, 2024, 5:23 p.m. UTC | #1
This is causing errors in do_install

| chown: cannot access
'/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/systemd/255.4/image/var/log/journal':
No such file or directory

On Wed, Mar 6, 2024 at 10:56 PM Changqing Li
<changqing.li@eng.windriver.com> wrote:
>
> From: Changqing Li <changqing.li@windriver.com>
>
> There are 2 issues here:
> First, in package systemd, there is a file /usr/lib/tmpfile.d/legacy.conf,
> which will create a symlink to /usr/share/doc/systemd/README.logs during
> boot time. But for oe, /usr/share/doc/systemd/README.logs is packaged in
> systemd-doc, which will make /var/log/README is dead link.
>
> Second, the symlink /var/log/README in legacy.conf use relative path:
> "L /var/log/README - - - - ../../usr/share/doc/systemd/README.logs"
> But for oe, when VOLATILE_LOG_DIR is true, /var/log is a link to
> /var/volatile/log, so /var/log/README need link to
> ../../../usr/share/doc/systemd/README.logs, while VOLATILE_LOG_DIR is
> false, /var/log is a dir, so /var/log/README need link to
> ../../usr/share/doc/systemd/README.logs. So current symlink in
> legacy.conf will also make it a dead link when VOLATILE_LOG_DIR is true.
>
> Turn off CREATE_LOG_DIRS to avoid these issues.
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-core/systemd/systemd_255.1.bb | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-core/systemd/systemd_255.1.bb b/meta/recipes-core/systemd/systemd_255.1.bb
> index a907d60e84..9fd7eccb38 100644
> --- a/meta/recipes-core/systemd/systemd_255.1.bb
> +++ b/meta/recipes-core/systemd/systemd_255.1.bb
> @@ -247,6 +247,7 @@ EXTRA_OEMESON += "-Dnobody-user=nobody \
>                    -Dsystem-uid-max=999 \
>                    -Dsystem-alloc-gid-min=101 \
>                    -Dsystem-gid-max=999 \
> +                  -Dcreate-log-dirs=false \
>                    "
>
>  # Hardcode target binary paths to avoid using paths from sysroot or worse
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#196773): https://lists.openembedded.org/g/openembedded-core/message/196773
> Mute This Topic: https://lists.openembedded.org/mt/104782978/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-core/systemd/systemd_255.1.bb b/meta/recipes-core/systemd/systemd_255.1.bb
index a907d60e84..9fd7eccb38 100644
--- a/meta/recipes-core/systemd/systemd_255.1.bb
+++ b/meta/recipes-core/systemd/systemd_255.1.bb
@@ -247,6 +247,7 @@  EXTRA_OEMESON += "-Dnobody-user=nobody \
                   -Dsystem-uid-max=999 \
                   -Dsystem-alloc-gid-min=101 \
                   -Dsystem-gid-max=999 \
+                  -Dcreate-log-dirs=false \
                   "
 
 # Hardcode target binary paths to avoid using paths from sysroot or worse