[From nobody Sat May 23 13:21:08 2026
Received: (at submit) by bugs.debian.org; 13 May 2026 23:33:05 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-104.6 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,
 MISSING_HEADERS,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,
 USER_IN_DKIM_WELCOMELIST autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 24; hammy, 150; neutral, 60; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;gioele@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:40896)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;gioele@debian.org&gt;) id 1wNJ4b-00CRF4-0u
 for submit@bugs.debian.org; Wed, 13 May 2026 23:33:05 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Subject:From:Message-ID:Date:Reply-To:
 To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=eWOeoHUygt6DdktagBFFlyb0//2Ys4V3j5Jabhdmdxk=; b=MxyTl0YhkZavLhy553IgJcUFdC
 owqDbZDaZKuGEwHdSvhvpGXYda3rR/QUgNkA85fR7qwGQOGj87Fom5P12rqEMnmFCaUf7YimsI9OU
 fCAH03sxNxQ4epnyGdI8e+MVWQffpFROuY8huKr+ppHl6WhKHpdZPrVGKxx8mzladYHEW6UOXabvk
 D+Q18zhBn1uMRc1KVpGYVYUTowWLK4wbXZj4zTb+3d44nA+G/L35AHhEeCW3rf99lm4ptb16QM1+A
 zF0SgscOYuO5KHyR2tRuAVfIs3J4hYw3NrxnW7UBKYn7aT6eYZC4yLLshT1Ry23+9SjNzuUGSGVf0
 0vthas4Q==;
Received: from authenticated user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;gioele@debian.org&gt;) id 1wNJ4Z-003WMN-2k
 for submit@bugs.debian.org; Wed, 13 May 2026 23:33:03 +0000
Date: Thu, 14 May 2026 01:33:03 +0200
Message-ID: &lt;5d309a3f9d5d74986a9c41099a614dbf@debian.org&gt;
From: Gioele Barabucci &lt;gioele@debian.org&gt;
Subject: systemd uses pidof but does not depend on procps
X-Debian-User: gioele
Delivered-To: submit@bugs.debian.org

Source: systemd
Version: 260.1-1
Usertags: pidof-without-procps

Dear maintainer(s) of systemd,

it appears that systemd uses `pidof` in its testsuite, or that
at least one of its binary packages uses `pidof` at runtime.
Historically, `pidof` was provided by the Essential package
`sysvinit-tools`, making an explicit dependency unnecessary. However
`pidof` will soon be moved to `procps` and will no longer be part of
the Essential set.

Please add an explicit dependency on `procps`:

* via the `Depends:` field of all binary packages of systemd
  that use `pidof` at runtime;
* via the `Build-Depends:` field of systemd, if `pidof` is
  used in tests run at build-time;
* via the `Depends:` field of `debian/control/tests`, if `pidof` is
  used in autopkgtests.

To prevent any disruption for users of systemd, please add
this dependency now, before `pidof` is moved from `sysvinit-utils` to
`procps`. Alternatively, you could remove all uses of `pidof`.

It is believed that systemd uses `pidof` due to the following
code snippets:

```
path: systemd_260~rc2-1/debian/tests/boot-and-services
    def test_cron(self):
        pid = subprocess.check_output(['pidof', 'cron'], universal_newlines=True).strip()
        out = subprocess.check_output(['ps', 'u', pid], universal_newlines=True)
        self.assertIn('root', out)


path: systemd_260~rc2-1/debian/tests/boot-and-services
                     'Forwarding to rsyslog is a Debian patch')
    def test_rsyslog(self):
        pid = subprocess.check_output(['pidof', 'rsyslogd'], universal_newlines=True).strip()
        out = subprocess.check_output(['ps', 'u', pid], universal_newlines=True)
        self.assertIn('bin/rsyslogd', out)


path: systemd_260~rc2-1/debian/tests/boot-smoke
    echo &quot;checking that NetworkManager runs&quot;
    pidof NetworkManager || fail &quot;NetworkManager was not running&quot;
fi


path: systemd_260~rc2-1/debian/tests/logind
    shutdown -c || true
    # logind should still be running
    P=$(pidof systemd-logind)
    [ &quot;$P&quot; = &quot;$LOGINDPID&quot; ] || { echo &quot;logind crashed&quot; &gt;&amp;2; exit 1; }


path: systemd_260~rc2-1/debian/tests/logind
    echo &quot; * daemon is started&quot;
    # should start at boot, not with D-BUS activation
    LOGINDPID=$(pidof systemd-logind)
    # loginctl should succeed


path: systemd_260~rc2-1/debian/tests/logind
    evemu-event $LID_DEV --sync --type 5 --code 0 --value 0
    P=$(pidof systemd-logind)
    [ &quot;$P&quot; = &quot;$LOGINDPID&quot; ] || { echo &quot;logind crashed&quot; &gt;&amp;2; exit 1; }
}


path: systemd_260~rc2-1/debian/tests/logind
    sleep 5
    shutdown -c --no-wall || true
    P=$(pidof systemd-logind)
    [ &quot;$P&quot; = &quot;$LOGINDPID&quot; ] || { echo &quot;logind crashed&quot; &gt;&amp;2; exit 1; }
}
```

Feel free to close this issue if this is a false positive (for example
if this code is in an unreachable code path).

Regards,

-- 
Gioele Barabucci
]