Apologies.
Systemd (
https://github.com/systemd/systemd/blob/f2af682cd6308f9b26035b83063e6aa8593e468c/docs/CONTRIBUTING.md)
says take the bug to Debian.
Debian (https://www.debian.org/Bugs/Reporting) says don't file bugs
upstream.

Using Systemd version 251.3-1~bpo11+1 produces identical results to those
previously described.

On Wed, 18 Jan 2023 at 17:30, Michael Biebl <bi...@debian.org> wrote:

> Hi
>
> Am 18.01.23 um 18:21 schrieb Mike:
> > Package: systemd
> > Version: 247.3-7+deb11u1
> > Severity: normal
> > X-Debbugs-Cc: mike.shaw.nz+deb...@gmail.com
> >
> > Dear Maintainer,
> >
> > Under certain circumstances I'm seeing inconsistent values for the %j
> specifier used in service and drop-in units.
> > To reproduce:
> >
> > Create a systemd unit /lib/systemd/system/foo@.service as:
> >
> >      [Unit]
> >      Description=good old foo
> >
> >      [Service]
> >      Type=oneshot
> >      ExecStart=/bin/env echo "%%i=[%i]   %%j=[%j] (from %n (foo@
> .service))"
> >
> > Create a drop-in unit /etc/systemd/system/foo@.service.d/additional.conf
> as:
> >
> >      [Service]
> >      ExecStart=/bin/env echo "%%i=[%i]   %%j=[%j] (from %n
> (additional.conf))"
> >
> > Reload the systemd units and run systemctl cat foo@.service.  The
> output shows the drop-in being correctly incorporated:
> >
> >      # /lib/systemd/system/foo@.service
> >      [Unit]
> >      Description=good old foo
> >
> >      [Service]
> >      Type=oneshot
> >      ExecStart=/bin/env echo "%%i=[%i]   %%j=[%j] (from %n (foo@
> .service))"
> >
> >      # /etc/systemd/system/foo@.service.d/additional.conf
> >      [Service]
> >      ExecStart=/bin/env echo "%%i=[%i]   %%j=[%j] (from %n
> (additional.conf))"
> >
> > Now create a symlink which contains a %j specifier:
> >
> >      sudo ln -sv /lib/systemd/system/foo@.service
> /etc/systemd/system/foo-bar@.service
> >
> > Reload the systemd units and run systemctl cat foo-bar@.service.  The
> output is identical to that of systemctl cat foo@.service
> > Now start the service with a %i specifer:
> >
> >      systemctl start foo-bar@baz.service
> >
> > The output is:
> >
> >      ● foo@baz.service - good old foo
> >           Loaded: loaded (/lib/systemd/system/foo@.service; static)
> >           Drop-In: /etc/systemd/system/foo@.service.d
> >                   └─additional.conf
> >           Active: inactive (dead)
> >
> >      Nov 01 12:10:31 Intel-NUC systemd[1]: Starting good old foo...
> >      Nov 01 12:10:31 Intel-NUC env[56108]: %i=[baz]   %j=[bar] (from
> foo-bar@baz.service (foo@.service))
> >      Nov 01 12:10:31 Intel-NUC env[56109]: %i=[baz]   %j=[foo] (from
> foo@baz.service (additional.conf))
> >      Nov 01 12:10:31 Intel-NUC systemd[1]: foo@baz.service: Succeeded.
> >      Nov 01 12:10:31 Intel-NUC systemd[1]: Finished good old foo.
> >
> > This shows that - in a single invocation - the value for %i is constant
> but the value for %j changes from 'bar' to 'foo'.  I would have expected
> the value of %j to be 'bar' throughout.  This may not be a bug, but - IMHO
> - this changing of values is unintuitive and I have been unable to find
> documentation that states the expected behaviour in this situation.  Happy
> to accept that I have confused/abused systemd with my custom
> /etc/systemd/system/foo-bar@.service symlink.
> >
>
> Ideally, such issues should be tested with the latest version of systemd
> (or at least v251) and then reported upstream.
>
>

Reply via email to