This recipe enabled an additional, non-standard policy for predictable
network names: the MAC policy. This is a deviation from upstream
policies and in cases where no MAC address is available, it makes it
actively worse by changing the name(s) every boot.

Change the logic to disable predictable naming when the DISTRO_FEATURE
isn't enabled and only use upstream logic with it *is* enabled.

For DISTROs that wish to use non-standard policies, a DISTRO layer is the 
correct place.
E.g. in DISTRO_LAYER/recipes-core/systemd/systemd_%.bbappend:

do_install:append:DISTRO() {
       if ${@bb.utils.contains('PACKAGECONFIG', 'pni-names', 'true', 'false', 
d)}; then
               if ! grep -q '^NamePolicy=.*mac' 
${D}${nonarch_libdir}/systemd/network/99-default.link; then
                       sed -i '/^NamePolicy=/s/$/ mac/' 
${D}${nonarch_libdir}/systemd/network/99-default.link
               fi
               if ! grep -q 'AlternativeNamesPolicy=.*mac' 
${D}${nonarch_libdir}/systemd/network/99-default.link; then
                       sed -i '/AlternativeNamesPolicy=/s/$/ mac/' 
${D}${nonarch_libdir}/systemd/network/99-default.link
               fi
}

Signed-off-by: Koen Kooi <[email protected]>
---
 meta/recipes-core/systemd/systemd_257.8.bb | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd_257.8.bb 
b/meta/recipes-core/systemd/systemd_257.8.bb
index 174372be03..6399c57640 100644
--- a/meta/recipes-core/systemd/systemd_257.8.bb
+++ b/meta/recipes-core/systemd/systemd_257.8.bb
@@ -400,15 +400,8 @@ do_install() {
                        ${D}/${sysconfdir}/systemd/system.conf
        fi
 
-       if ${@bb.utils.contains('PACKAGECONFIG', 'pni-names', 'true', 'false', 
d)}; then
-               if ! grep -q '^NamePolicy=.*mac' 
${D}${nonarch_libdir}/systemd/network/99-default.link; then
-                       sed -i '/^NamePolicy=/s/$/ mac/' 
${D}${nonarch_libdir}/systemd/network/99-default.link
-               fi
-               if ! grep -q 'AlternativeNamesPolicy=.*mac' 
${D}${nonarch_libdir}/systemd/network/99-default.link; then
-                       sed -i '/AlternativeNamesPolicy=/s/$/ mac/' 
${D}${nonarch_libdir}/systemd/network/99-default.link
-               fi
-       else
-               # Actively disable Predictable Network Interface Names
+       # Actively disable Predictable Network Interface Names
+       if ${@ 'true' if not bb.utils.contains('PACKAGECONFIG', 'pni-names', 
'true', 'false', d) else 'false'}; then
                sed -i 
's/^NamePolicy=.*/NamePolicy=/;s/^AlternativeNamesPolicy=.*/AlternativeNamesPolicy=/'
 ${D}${nonarch_libdir}/systemd/network/99-default.link
        fi
 }
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#222717): 
https://lists.openembedded.org/g/openembedded-core/message/222717
Mute This Topic: https://lists.openembedded.org/mt/115023020/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to