profiles: Remove duplicates in manifest transactions.
authorLeo Prikler <leo.prikler@student.tugraz.at>
Sat, 5 Dec 2020 16:20:09 +0000 (17:20 +0100)
committerLudovic Courtès <ludo@gnu.org>
Mon, 7 Dec 2020 11:48:25 +0000 (12:48 +0100)
commitf5d952c5f50cd9c6005cdf47dda5bccb6e428119
treeaec4d315993e20d59ff3424aa1a0b8717733a4aa
parentb3f21eb6bc895a4eafe903dfbb480de481bbb4c7
profiles: Remove duplicates in manifest transactions.

Fixes <https://bugs.gnu.org/23874>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* guix/profiles.scm (manifest-transaction-effects): Delete duplicates in
install and remove.  Let multiple upgrades and downgrades shadow previous
transactions of the same kind.
* tests/profiles.scm
("manifest-transaction-effects no double install or upgrades")
("manifest-transaction-effects no double downgrade")
("manifest-transaction-effects no double removal"): New tests.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
guix/profiles.scm
tests/profiles.scm