1 |
commit: 25f6d2967ec621ecdcd65d2beab405a357e870e4 |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Thu Feb 18 16:18:51 2016 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Thu Feb 18 16:18:51 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/R_overlay.git/commit/?id=25f6d296 |
7 |
|
8 |
pkgdir: set default add-policy (bug 574782) |
9 |
|
10 |
In roverlay/overlay/pkgdir/packagedir_base.py, |
11 |
PackageDirBase.add_package().package_try_replace(): |
12 |
|
13 |
package_info.overlay_addition_override needs to be set |
14 |
to an integer value before calling package_try_replace(), |
15 |
because it is used in a bitwise operation: |
16 |
|
17 |
package_info.overlay_addition_override &= ~_PKG_REPLACE_ONLY |
18 |
|
19 |
which raises a TypeError if overlay_addition_override is None. |
20 |
|
21 |
When running roverlay without bytecode optimizations ("python -O"), |
22 |
the bug gets catched a bit earlier due to a failing assertion, |
23 |
as shown in #574782. |
24 |
|
25 |
X-Gentoo-Bug: 574782 |
26 |
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=574782 |
27 |
|
28 |
roverlay/overlay/pkgdir/packagedir_base.py | 9 ++++++--- |
29 |
1 file changed, 6 insertions(+), 3 deletions(-) |
30 |
|
31 |
diff --git a/roverlay/overlay/pkgdir/packagedir_base.py b/roverlay/overlay/pkgdir/packagedir_base.py |
32 |
index d398914..344173e 100644 |
33 |
--- a/roverlay/overlay/pkgdir/packagedir_base.py |
34 |
+++ b/roverlay/overlay/pkgdir/packagedir_base.py |
35 |
@@ -435,9 +435,12 @@ class PackageDirBase ( roverlay.overlay.base.OverlayObject ): |
36 |
) |
37 |
# -- end if |
38 |
|
39 |
- addition_override = ( |
40 |
- package_info.overlay_addition_override or _PKG_DEFAULT_BEHAVIOR |
41 |
- ) |
42 |
+ # in absence of dynamic addition control, |
43 |
+ # set the default mode flags if addition_override is not configured |
44 |
+ if package_info.overlay_addition_override is None: |
45 |
+ package_info.overlay_addition_override = _PKG_DEFAULT_BEHAVIOR |
46 |
+ |
47 |
+ addition_override = package_info.overlay_addition_override |
48 |
|
49 |
if addition_override & _PKG_FORCE_DENY: |
50 |
log_addition_control_action ( _PKG_FORCE_DENY, shortver ) |