guix/tests
Ludovic Courtès 67effc1560
grafts: Fix corner case involving multiple-output derivations.
Fixes a bug that would occur with references to two outputs of the same
derivation, with one of them referring to the other one.

For example, the references of libreoffice include both mariadb:dev and
mariadb:lib; additionally, mariadb:dev refers to mariadb:lib.  In this
case, the glibc graft would not be applied on one of the mariadb paths,
and both the grafted and ungrafted glibc would end up in the closure of
libreoffice.

Fixes <https://issues.guix.gnu.org/66662>.

* guix/grafts.scm (non-self-references): Simplify and include references
to outputs of DRV other than OUTPUTS.
(reference-origins): Simplify and possibly return outputs of DRV itself.
(cumulative-grafts)[graft-origin?]: Add OUTPUT parameter and honor it.
[dependency-grafts]: Adjust accordingly.
* tests/grafts.scm ("graft-derivation, multiple outputs need to be replaced"):
New test.

Change-Id: Iac2005024ab7049037537b3af55298696ec90e3c
2023-10-28 00:17:23 +02:00
..
keys
services services: configuration: Use transducers within serialize-configuration. 2023-10-07 12:41:05 -04:00
accounts.scm
base16.scm
base32.scm
base64.scm
boot-parameters.scm
bournish.scm
build-emacs-utils.scm
build-utils.scm
builders.scm git-download: Use “builtin:git-download” when available. 2023-09-26 17:36:58 +02:00
cache.scm
challenge.scm
channels.scm tests: Assume ‘git’ is always available. 2023-09-26 17:36:59 +02:00
combinators.scm
containers.scm
cpan.scm
cpio.scm
cran.scm
crate.scm guix: import: Don't import yanked rust crates. 2023-10-22 16:46:39 +03:00
cve-sample.json
cve.scm
debug-link.scm
derivations.scm tests: Assume ‘git’ is always available. 2023-09-26 17:36:59 +02:00
discovery.scm
egg.scm
elm.scm
elpa.scm
file-systems.scm
gem.scm
gexp.scm
git-authenticate.scm tests: Assume ‘git’ is always available. 2023-09-26 17:36:59 +02:00
git.scm tests: Assume ‘git’ is always available. 2023-09-26 17:36:59 +02:00
glob.scm
gnu-maintenance.scm tests: ‘rewrite-url’ test no longer depends on network access. 2023-09-27 23:38:21 +02:00
go.scm
grafts.scm grafts: Fix corner case involving multiple-output derivations. 2023-10-28 00:17:23 +02:00
graph.scm tests: Adjust 'node-back-edges' test for 'bag' to system-dependent glibc. 2023-08-21 16:16:47 +02:00
gremlin.scm
guix-archive.sh
guix-authenticate.sh
guix-build-branch.sh
guix-build.sh ui: 'load*' accepts /dev/fd/N files pointing to a pipe. 2023-08-17 17:33:53 +02:00
guix-daemon.sh
guix-describe.sh
guix-download.sh
guix-environment-container.sh
guix-environment.sh
guix-gc.sh
guix-git-authenticate.sh
guix-graph.sh tests: Adjust ‘guix graph --path’ test to latest Emacs changes. 2023-09-26 17:36:57 +02:00
guix-hash.sh
guix-home.sh tests: guix-home: Fix description search for home-mcron. 2023-08-25 17:45:47 +02:00
guix-lint.sh
guix-locate.sh
guix-pack-localstatedir.sh
guix-pack-relocatable.sh
guix-pack.sh
guix-package-aliases.sh
guix-package-net.sh
guix-package.sh
guix-refresh.sh refresh: Add --target-version option. 2023-08-15 09:38:29 -04:00
guix-repl.sh
guix-shell-export-manifest.sh
guix-shell.sh tests: guix-shell: Use bash instead of user's $SHELL. 2023-08-25 14:23:43 +02:00
guix-style.sh
guix-system.sh tests: Verify plasma.tmpl at x86_64-linux. 2023-10-21 16:11:17 +02:00
guix-time-machine.sh scripts: time-machine: Error when attempting to visit too old commits. 2023-08-16 21:34:13 -04:00
hackage.scm
hexpm.scm
home-import.scm
home-services.scm
http-client.scm
import-git.scm tests: Assume ‘git’ is always available. 2023-09-26 17:36:59 +02:00
import-github.scm
import-utils.scm import-utils: Do not include punctuation when wrapping in @code{}. 2023-08-28 19:08:38 +02:00
inferior.scm
ipfs.scm
lint.scm lint: Check that (cc-for-target) and friends are used. 2023-09-08 19:12:15 +02:00
minetest.scm
modules.scm
monads.scm
nar.scm
networking.scm
offload.scm
opam.scm
openpgp.scm
pack.scm tests: Avoid three-argument ‘test-assertm’. 2023-10-20 00:33:26 +02:00
packages.scm tests: Fix "package-transitive-supported-systems, implicit inputs". 2023-09-15 22:05:23 +02:00
pki.scm
print.scm
processes.scm
profiles.scm
publish.scm
pypi.scm
read-print.scm tests: read-print: Update expectations. 2023-09-24 02:00:00 +02:00
records.scm
rpm.scm
scripts.scm
search-paths.scm
services.scm gnu: services: Revert to deleting and updating all matching services 2023-08-31 23:31:50 -04:00
sets.scm
size.scm
status.scm
store-database.scm
store-deduplication.scm
store-roots.scm tests: store-roots: Remove bogus test. 2023-08-18 16:10:08 +02:00
store.scm
style.scm
substitute.scm
swh.scm
syscalls.scm
system.scm
test.drv
texlive.scm tests: Fix texlive->guix-package test. 2023-08-13 02:00:00 +02:00
transformations.scm
ui.scm
union.scm
upstream.scm
utils.scm
uuid.scm
workers.scm