Fix: Check owner of dependent packages
This commit is contained in:
parent
69b5f83d5a
commit
db4adde089
|
@ -1706,9 +1706,10 @@ wether the declared layer is an used one or not."
|
|||
"Returns true if PKG should be configured for LAYER.
|
||||
LAYER must not be the owner of PKG."
|
||||
(let* ((owner (configuration-layer/get-layer (car (oref pkg :owners))))
|
||||
(disabled (oref owner :disabled-for))
|
||||
(enabled (oref owner :enabled-for)))
|
||||
(and (not (memq nil (mapcar
|
||||
(disabled (when owner (oref owner :disabled-for)))
|
||||
(enabled (when owner (oref owner :enabled-for))))
|
||||
(and owner
|
||||
(not (memq nil (mapcar
|
||||
(lambda (dep-pkg)
|
||||
(let ((pkg-obj (configuration-layer/get-package dep-pkg)))
|
||||
(when pkg-obj
|
||||
|
|
|
@ -375,6 +375,21 @@
|
|||
(configuration-layer//add-package pkg-b)
|
||||
(should (null (configuration-layer//package-enabled-p pkg-a 'layer)))))
|
||||
|
||||
(ert-deftest test-package-enabled-p--depends-on-non-owned ()
|
||||
(let ((layer (cfgl-layer "layer" :name 'layer))
|
||||
(owner (cfgl-layer "owner" :name 'owner))
|
||||
(pkg-a (cfgl-package "pkg-a"
|
||||
:name 'pkg-a
|
||||
:owners '(owner)
|
||||
:depends '(pkg-b)
|
||||
:post-layers '(layer)))
|
||||
(pkg-b (cfgl-package "pkg-b" :name 'pkg-b))
|
||||
(configuration-layer--indexed-packages (make-hash-table :size 2048))
|
||||
(configuration-layer--indexed-layers (make-hash-table :size 1024)))
|
||||
(configuration-layer//add-layer owner)
|
||||
(configuration-layer//add-package pkg-b)
|
||||
(should (null (configuration-layer//package-enabled-p pkg-a layer)))))
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; configuration-layer//package-deps-used-p
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue