It might be easier to manually enable the service with a symbolic link instead of using systemd.bbclass with something like: do_install() {   install -Dm 755 ${D}${systemd_unitdir}/system/multi-user.target.wants/   ln -s ${systemd_unitdir}/system/openvpn@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/openvpn@test.service } NOTE: I didn't explicitly test this On 5/27/21 9:17 AM, François GOUDAL wrote: > Hello, > > I am struggling with something I couldn’t find any solution for so far. > > I am trying to make a very simple recipe that does this: > - Drop an openvpn configuration file in /etc/openvpn/test.conf > - Make the systemd service openvpn@test.service enabled by default > > The recipe itself depends on openvpn, and so, it doesn’t, by itself, provide the openvpn@.service , which comes with openvpn. > > Dropping the openvpn configuration file in the rootfs is easy, but I can’t manage to make the recipe to enable the service. > I’ve tried adding this to my recipe: > > inherit systemd > SYSTEMD_AUTO_ENABLE = "enable" > SYSTEMD_SERVICE_${PN} = "openvpn@test.service" > > But bitbake fails on this recipe with the message below: > > ERROR: test-openvpn-config-1.0-r0 do_package: SYSTEMD_SERVICE_test-openvpn-config value openvpn@test.service does not exist > > I believe this is caused by the fact that the service file is not part of the files installed by the recipe itself, but it is not meant to be anyway. > > Is there a (clean) way to achieve this ? > > Thanks in advance > > > > > >