union: Don't warn when colliding leaves point to the same file.
* guix/build/union.scm (union-build)[resolve-collision]: Pass LEAVES through `delete-duplicates'; warn iff the result contains more than one item.master
parent
6211223021
commit
1be77eac08
|
@ -137,13 +137,20 @@ the DIRECTORIES."
|
|||
|
||||
(define (resolve-collision leaves)
|
||||
;; LEAVES all have the same basename, so choose one of them.
|
||||
(match (delete-duplicates leaves string=?)
|
||||
((one-and-the-same)
|
||||
;; LEAVES all actually point to the same file, so nothing to worry
|
||||
;; about.
|
||||
one-and-the-same)
|
||||
((and lst (head _ ...))
|
||||
;; A real collision.
|
||||
(format (current-error-port) "warning: collision encountered: ~{~a ~}~%"
|
||||
leaves)
|
||||
lst)
|
||||
|
||||
;; TODO: Implement smarter strategies.
|
||||
(format (current-error-port) "warning: arbitrarily choosing ~a~%"
|
||||
(car leaves))
|
||||
(car leaves))
|
||||
head)
|
||||
head)))
|
||||
|
||||
(setvbuf (current-output-port) _IOLBF)
|
||||
(setvbuf (current-error-port) _IOLBF)
|
||||
|
|
Reference in New Issue