commit: 25f6d2967ec621ecdcd65d2beab405a357e870e4
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Feb 18 16:18:51 2016 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Feb 18 16:18:51 2016 +0000
URL: https://gitweb.gentoo.org/proj/R_overlay.git/commit/?id=25f6d296
pkgdir: set default add-policy (bug 574782)
In roverlay/overlay/pkgdir/packagedir_base.py,
PackageDirBase.add_package().package_try_replace():
package_info.overlay_addition_override needs to be set
to an integer value before calling package_try_replace(),
because it is used in a bitwise operation:
package_info.overlay_addition_override &= ~_PKG_REPLACE_ONLY
which raises a TypeError if overlay_addition_override is None.
When running roverlay without bytecode optimizations ("python -O"),
the bug gets catched a bit earlier due to a failing assertion,
as shown in #574782.
X-Gentoo-Bug: 574782
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=574782
roverlay/overlay/pkgdir/packagedir_base.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/roverlay/overlay/pkgdir/packagedir_base.py
b/roverlay/overlay/pkgdir/packagedir_base.py
index d398914..344173e 100644
--- a/roverlay/overlay/pkgdir/packagedir_base.py
+++ b/roverlay/overlay/pkgdir/packagedir_base.py
@@ -435,9 +435,12 @@ class PackageDirBase ( roverlay.overlay.base.OverlayObject
):
)
# -- end if
- addition_override = (
- package_info.overlay_addition_override or _PKG_DEFAULT_BEHAVIOR
- )
+ # in absence of dynamic addition control,
+ # set the default mode flags if addition_override is not configured
+ if package_info.overlay_addition_override is None:
+ package_info.overlay_addition_override = _PKG_DEFAULT_BEHAVIOR
+
+ addition_override = package_info.overlay_addition_override
if addition_override & _PKG_FORCE_DENY:
log_addition_control_action ( _PKG_FORCE_DENY, shortver )