31 Commits

Author SHA1 Message Date
Ivo De Decker
b70d1d09d7 keep track of verdict when invalidating deps 2019-09-04 11:44:10 +00:00
Ivo De Decker
abaa4c7205 render html excuse based on 'text'
The html rendered is horrible, but we're stuck due to the broken grep-excuses
in stretch.
2019-09-04 11:44:10 +00:00
Ivo De Decker
065dbd26ee Add functions for details excuse info 2019-09-04 11:44:10 +00:00
Niels Thykier
c9d523da93
Remove trailing whitespace
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 12:03:34 +00:00
Ivo De Decker
18d951be25 Handle dependencies between excuses in a generic way
All types of dependencies between excuses (Depends, Build-Depends,
Build-Depends-Indep, ...) are handled by the same code. The DependencyType is
used to distinguish between the types where needed.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2018-12-31 11:46:10 +00:00
Ivo De Decker
847e6e41e1 Add invalidated-by-other-package field in excuses.yaml
The other fields related to invalidation are currently not deterministic and
depend on the order in which the excuses are invalidated.

The new invalidated-by-other-package field is just a boolean which shows the
excuse was invalidated by some other package for some reason (without
specifying the reason). It does not depend on the order of processing and
should be deterministic.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2018-12-30 17:27:50 +00:00
Niels Thykier
0690a85fe0
excuse: Avoid some unnecessary throw-away tuples
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:33 +00:00
Niels Thykier
bd1a0ea000
excuse: Fix some minor style/pep8 issues
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:32 +00:00
Niels Thykier
41f4b43f2c
excuse.p: Refactor some duplicated code
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-30 12:19:31 +00:00
Niels Thykier
0d5c4a24c4 Handle Build-Depends-Indep in excuses
Admittedly, no policy adds them yet so this is currently no-op code.
However, future commits can start to rely on this infrastructure code.

Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-08 16:18:02 +00:00
Niels Thykier
8753649e54 Replace a for-loop with any() 2018-08-08 16:18:02 +00:00
Mathieu Trudel-Lapierre
8d2cabd914 Add 'unsatisifiable dependencies' to YAML excuses
Cherry-Pick: 80bf9060de6b7a7fe21f10da90f0dcc15b96ac1c
Cherry-Pick: f32907aceab7bdf37856ceef3122149c046f0ee1
Cherry-Pick: 9ef496177f86b18d9f910da1360dd773b82f1fb7
Cherry-Pick: b16530a37df93851fda35db016775056a6b0c218
Signed-off-by: Niels Thykier <niels@thykier.net>

Flatten the defaultdict(set) for unsat_deps into a standard dict for output
2018-08-07 18:55:57 +00:00
Niels Thykier
3e1da36331 excuses: Correct source field in YAML excuses
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-07 18:29:39 +00:00
Niels Thykier
dfbff18b5c Remove some references to "unstable"
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-07-29 09:23:12 +00:00
Niels Thykier
d11152b366 Remove the "valid candidate"/"Not considered" messages
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-21 07:48:33 +00:00
Niels Thykier
5dd4a5141c Avoid explicit state in non-actionable excuses
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-21 07:48:10 +00:00
Paul Gevers
fd03083ea5
Merge branch 'master' into autopkgtest 2017-11-28 20:19:48 +01:00
Niels Thykier
ee27d7a67c Add BuildDependsPolicy to check Build-Depends(-Arch) availability
Add a new "BuildDependsPolicy" that will check the satisfiability of
the build-dependencies listed in the Build-Depends and
Build-Depends-Arch fields.  This enables gating of packages based on
missing / broken build-dependencies.

There are some limitations:

 * Build-Depends-Indep is ignored for now.  Missing or broken packages
   listed in Build-Depends-Indep will be continue to be silently
   ignored.

 * Being a policy check, it does not enforce "self-containedness" as
   a package can still migrate before a build-dependency.  However,
   this can only happen if the build-dependency is ready to migrate
   itself.  If the build-dependency is not ready (e.g. new RC bugs),
   then packages build-depending on it cannot migrate either (unless
   the version in testing satisfies there requirements).

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-11 15:49:48 +00:00
Niels Thykier
784d80ab4c Replace a few lists with sets
We basically use them as sets and do not need to rely on the ordering,
so we might as well just turn them into proper sets.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-02 19:30:40 +00:00
Niels Thykier
94034f225f excuse: Drop unused field
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-02 19:29:51 +00:00
Paul Gevers
089c4f6e57
Rename new excuse field and method to unsatisfiable_on_archs and add_unsatisfiable_on_arch 2017-10-24 22:06:35 +02:00
Paul Gevers
a16e4e5a55
Enable autopkgtesting on built arches when not all have been built yet
- autopkgtest now honors break_arches option
- incomplete testing is now treated with penalty behavior
2017-10-24 20:46:21 +02:00
Paul Gevers
eb60fc557e
Implement bounty/penalty system for autopkgtest 2017-10-15 21:42:51 +02:00
Niels Thykier
1042c626ec excuse: Improve text for REJECTED_NEEDS_APPROVAL
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-26 12:53:20 +00:00
James McCoy
0c44d3ac27 excuse: Add an EOL to the verdict summary line in HTML output
devscripts' grep-excuses expects each <li> to be on its own line.  When
d7a676d0741729bb643e0b8c54b989cb747c6a4b added the verdict summary,
without an EOL, it broke grep-excuses' ability to search by maintainer.

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-02-25 06:54:14 +00:00
Niels Thykier
67c784f796 excuse: Use verdict name rather than object in excuses.yaml
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-02-14 07:36:54 +00:00
Niels Thykier
9ca5f7e24e Add more verdicts to provide more detailed excuses
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-02-13 19:37:53 +00:00
Niels Thykier
d7a676d074 Aggregate all migration decisions and present it in excuses
With this change, Britney can now provide a very brief summary of the
migration via one single value (YAML) or line (HTML).  This solves two
issues:

 * It provides an aggregated version of the policy decision without
   having to loop over all policies (and even those would not give
   a full verdict on their own as not all rejections come from
   policies)

 * It enables a simple way to inform readers of the HTML excuses of
   whether a rejection is permanent or not.  This should hopefully
   make it easier for contributors to understand Britney and react
   more pro-actively.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-02-13 19:37:53 +00:00
Niels Thykier
f40a7f41b3 Replace dontinvalidate with forced
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-02-13 19:37:53 +00:00
Niels Thykier
54fd517062 excuse.py: Drop now unused urgency field
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:18:46 +00:00
Niels Thykier
9bc94db01c Refactor all modules into a britney2 subdir
That way they are all contained.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 08:02:00 +00:00