systemctl: remove duplicate entries showed by list-dependencies (#5049)
authorFranck Bui <fbui@suse.com>
Thu, 12 Jan 2017 02:37:15 +0000 (03:37 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 12 Jan 2017 02:37:15 +0000 (21:37 -0500)
commita69f65dd3d45a507dbef399263bb0114bd245afe
tree8123614ca69270599b07aadb28103ed1bed48657
parent5aac0be024349b488a6ca9fb9e871fbd5aef7df4
systemctl: remove duplicate entries showed by list-dependencies (#5049)

When a unit is part of several dependency constraints of another
unit, list-dependencies repeats the name of the dependency for each
dep constraint the unit is encountered.

For example:

 $ systemctl cat test-main.target
 # /etc/systemd/system/test-main.target
 [Unit]
 Description=Main Target

 $ systemctl cat test.target
 [Unit]
 Description=Sub target
 PartOf=test-main.target

 [Install]
 WantedBy=test-main.target

 $ systemctl enable test.target
 Created symlink from /etc/systemd/system/test-main.target.wants/test.target to /etc/systemd/system/test.target.

 $ systemctl show test-main.target | grep test.target
 Wants=test.target
 ConsistsOf=test.target
 [...]

 $ systemctl list-dependencies test-main.target
 test-main.target
 ● ├─test.target
 ● └─test.target

With this patch applied, dependencies are shown only once.
src/systemctl/systemctl.c