50 Commits

Author SHA1 Message Date
Fabian Vogt
a3417b2907 cleanup_rings: Make package_get_requiredby more memoize cache friendly
For debugging it's very useful to use @memoize(session=False), but that
did not work because the self parameter pickled to a different key for each
run, preventing cache hits. Avoid the self parameter.
2024-10-30 10:59:44 +01:00
2dade57092
cleanup_rings: whitelist 'devscripts'
devscripts has a sub-flavor for checknashisms that is required in Ring1 (for rpmlint)
The flavor "" is technically not required, but removing the package would make the
sub-flavor vanish as well.
2024-06-14 15:59:03 +02:00
Dirk Müller
730630f06f
Use f-strings where possible 2024-05-07 21:52:32 +02:00
Fabian Vogt
1d1a84e4e3 cleanup_rings.py: Add snobol4 to whitelist
Work around OBS not listing file deps in fileinfo_ext.
2023-04-11 10:50:58 +02:00
Fabian Vogt
e9e881f4f1 Remove try/catch around code which must not fail
If a failure is ignored here we'd ignore important dependencies.
2023-03-28 12:39:24 +02:00
Fabian Vogt
8af5fcf9f2 Rewrite core algorithm of cleanup_rings.py
Previously it went through each package's provides->required_by chain.
This does not deal with cycles correctly and there was only a hack to deal
with single-package cycles.

Instead, recursively walk through all required packages, starting from the
build enabled images and take note of all needed source packages.
This also handles _multibuild flavors as separate packages.
2023-03-28 12:39:24 +02:00
Fabian Vogt
8a3389e4ac cleanup_rings.py: Fix links handling
A dict mapping linked package to linking package won't work, there are multiple
linking packages which previously overwrote each other. Turn it around.
2023-03-24 10:25:57 +01:00
Fabian Vogt
74c6f46a99 cleanup_rings.py: Expand whitelist
No false positives anymore.
2023-03-22 17:06:48 +01:00
Fabian Vogt
47cc8919c0 cleanup_rings.py: Look at all enabled images
Don't just hardcode the openSUSE Test DVD.
2023-03-22 17:06:48 +01:00
Stephan Kulow
f86579642b Target E501 - Line too long
https://www.flake8rules.com/rules/E501.html - but 79 characters is a
joke
2022-02-18 18:17:27 +01:00
Stephan Kulow
529d1dafae Target E302 - add two comment lines before class 2022-02-18 17:15:48 +01:00
Stephan Kulow
0561e06cb1 Target E261 - two spaces before inline comment 2022-02-18 16:39:16 +01:00
Stephan Kulow
66a0f152ff Target E129 - Visually indented line with same indent
https://www.flake8rules.com/rules/E129.html
2022-02-18 15:52:47 +01:00
Stephan Kulow
e52dc6ce2b Harmonize imports on using lxml for XML parsing 2022-02-18 11:16:01 +01:00
Stephan Kulow
8b13dffe50 Remove E265 from flake ignore list 2021-09-21 14:52:46 +02:00
2f980076cc cleanup_rings: fix python3 bytes/string type error 2020-03-03 15:55:40 +08:00
ec88760187 Fix Flake E241
One more step towards white space sanity. Next group is E20x.
2019-12-10 08:46:02 +01:00
Stephan Kulow
ce9158abcc Remove support for ring2 2019-12-05 16:52:05 +01:00
8483632683 Some flake8 improvements
Was bored while waiting for a test run to finish. The rule is
that two empty lines distinguish larger blocks and shouldn't be
used between functions or within functions.
2019-11-27 10:40:15 +01:00
Stephan Kulow
3cd79db206 repo_checker: Simplify cycle check
No longer compare against the target project's cycle, but just against
a configured list of package names. This way we're not bound to
refreezing stagings if we reduced cycles and it's clearer to the
operator what happens and how to react to it.
2019-02-11 09:02:29 +01:00
Stephan Kulow
9b4b0ed15a Begin porting to python3 (osc branch) 2018-05-14 11:04:39 +02:00
67779dba6f
API: move fileinfo_ext[_all] from StagingAPI to core
These helpers can be used by other bots, like for example repo-checker,
which do not rely on the StagingAPI.
2018-03-24 13:34:44 +01:00
Ludwig Nussel
ad5f69d0ee cleanup_rings: Fix for 000product 2018-01-09 12:57:14 +01:00
Ludwig Nussel
5cff039fd5 cleanup_rings: first attempt to fix for multibuild 2017-12-08 15:44:04 +01:00
Jimmy Berry
41e4d5ae2b cleanup_rings: provide package whitelist for special cases. 2017-04-25 20:06:20 -05:00
Jimmy Berry
aca88d19c0 cleanup_rings: check runtime requiredby if not a build requirement.
This check only works if the runtime requirement resides in the same ring.
The fun case being kernel-syms which is required by virtual box (ring-2),
but must remain in ring-1 to ensure matching build revision with other
kernel packages.
2017-04-25 19:57:03 -05:00
Jimmy Berry
4d0e98a00c cleanup_rings: print summary of packages to be dropped and commands last. 2017-04-25 19:54:59 -05:00
Jimmy Berry
39a4914e48 cleanup_rings: check ring index instead of string comparison. 2017-04-25 19:53:49 -05:00
Jimmy Berry
ce8818fd3d cleanup_rings: utilize splitlines() in check_buildconfig(). 2017-04-25 19:53:49 -05:00
Jimmy Berry
51c2f6e0e9 cleanup_rings: extract check_image_bdeps() and check_buildconfig().
- change archs loop to use the archs appropriate for the ring instead of
  always using DVD archs
- drop check_image_bdeps() out of archs loop since DVD should only look
  at DVD archs even if ring 1
2017-04-25 19:53:49 -05:00
Jimmy Berry
1198da8eef cleanup_ring: extract repo_state_acceptable(). 2017-04-25 19:15:04 -05:00
Jimmy Berry
253b6592b4 cleanup_rings: indicate the ring being processed. 2017-04-25 19:11:18 -05:00
Jimmy Berry
57174711ab cleanup_rings: utilize config ring list rather than hard-coded. 2017-04-25 18:24:55 -05:00
Ludwig Nussel
919009aaf3 Print linkpac -f if link exists 2016-06-07 15:11:26 +02:00
Ludwig Nussel
438e333eff Also fix multi spec file links 2016-06-07 14:44:42 +02:00
Ludwig Nussel
082f3a9a52 Fixup cleanup_rings a bit 2016-06-07 14:44:42 +02:00
Stephan Kulow
0110debbea ignore dirty repos too 2015-05-10 10:40:09 +02:00
Stephan Kulow
05e34e9739 don't fail on having 2 archs in rings 2015-05-10 08:59:31 +02:00
Dinar Valeev
a4905a2546 more hardcoded x86 removal
Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2015-03-25 12:25:34 +01:00
Dinar Valeev
73d2083a23 cleanup ppc64le aswell
Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2015-03-19 16:05:33 +01:00
Alberto Planas
c9d1e06ca8 Refactor configuration parameters into configuration file. 2015-02-19 11:39:05 +01:00
Stephan Kulow
8dfc26f8db output all failures in totest manager 2014-09-08 10:46:01 +02:00
29b8bcca6b Makes staging pluging Factory agnostic. 2014-08-07 12:58:47 +02:00
Stephan Kulow
a31929e578 take 2-TestDVD into account for cleanup 2014-05-06 06:49:11 +02:00
Stephan Kulow
9672a9126f fix merge 2014-03-17 09:30:04 +01:00
Tomáš Chvátal
5f819c2d00 Fix missing trailing brackets. 2014-03-06 18:23:47 +01:00
Tomas Chvatal
e0ba87c4fe Use same coding style. Fix print syntax. Expand variable names to more obvious ones. 2014-03-06 18:22:19 +01:00
780073f6d8 Fix headers and comment dead code. 2014-02-28 11:45:06 +01:00
Stephan Kulow
a179515805 check the _links between the prjs and don't offer to delete them 2014-02-12 16:29:23 +01:00
Stephan Kulow
222ba33743 seperate the functions needed for the cleanup_rings command 2014-02-12 15:34:57 +01:00