1500 Commits

Author SHA1 Message Date
ca997498e8 Fix makeurl() usage in is_repo_dirty() 2024-11-11 17:37:07 +08:00
3edc4f008c osclib/list_command.py: Show details also for requests targeted to packages not in rings.
This commit implements the ability to show for packages that do not
belong to any ring the same details that are shown for packages that do
live in rings.  Due to concerns about compatibility and volume of the
output the feature is hidden behind a new --adi-details command
line flag.
2024-11-06 16:06:18 +01:00
Fabian Vogt
3b4efa19b1 cleanup_rings: Also keep the main package if a multibuild flavor is needed
To build "foo:bar", "foo" must not be deleted either.
2024-10-30 11:14:14 +01:00
Fabian Vogt
1e5ce555e1 cleanup_rings: Drop vagrant from the whitelist
Gone from openSUSE:Factory.
2024-10-30 11:12:35 +01:00
Fabian Vogt
fc92697c3b osclib/memoize: Fix memoize without session=True
shelf only supports str as key, so convert bytes to str.
2024-10-30 11:04:12 +01:00
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
fe7a6c6181 osclib: freeze_command: handle 'product' repositories if used
Some projects (such as SLFO) are using product-composer, and
they build and publish in the 'product' repository.

If the 'product' repository is configured in the project meta,
ensure it gets configured when freezing the staging.

Signed-off-by: Eugenio Paolantonio <eugenio.paolantonio@suse.com>
2024-07-09 10:47:54 +02:00
6ccb959ad2 osclib: project_has_repo: allow specifying the project to look at
Signed-off-by: Eugenio Paolantonio <eugenio.paolantonio@suse.com>
2024-07-09 10:24:13 +02:00
Gustavo Pichorim Boiko
9866e35bd7 Ignore patchinfo packages when checking for duplicated binaries
In the staging areas used by maintenance, the patchinfo packages are staged together
with the source packages, and because of the way they work, they collect binaries
from the source packages around.

This causes binaries to be reported as duplicated, so ignore patchinfos.
2024-07-05 13:39:35 +00: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
a9709dd958 add missing whitespace to please linter 2024-05-16 14:10:15 +02:00
a0b805038f fix typo in variable
Co-authored-by: Fabian Vogt <fabian@ritter-vogt.de>
2024-05-16 14:10:15 +02:00
899d24fa4e Report errors if weakremover.inc status is inconsistent between staging and parent projects. 2024-05-16 14:10:15 +02:00
af9319f0fe Don't abort if weakremover.inc don't exist on source project
For ALP, weakremover.inc might not be part of the staging parent
project. Just ignore 404 error in that case.
2024-05-16 14:10:15 +02:00
Dirk Müller
730630f06f
Use f-strings where possible 2024-05-07 21:52:32 +02:00
Dirk Müller
8d164e7301
Use "not in" not "not X in" 2024-05-06 19:29:13 +02:00
Fabian Vogt
f1f00783af osclib/repochecks.py: Use libsolv for checking conflicts between packages
Don't rely just on findfileconflicts to check whether packages have
conflicting dependencies, but use libsolv to do a full check.

Fixes #1885
2024-02-22 15:58:16 +01:00
Fabian Vogt
b658cefdae osclib/repomirror.py: Small cleanups 2023-12-01 14:52:01 +01:00
Fabian Vogt
da0d632b77 Rewrite bs_mirrorfull as osclib component
This has multiple benefits:
* Easier to interface with the python code that calls it
* Uses the osc python interface for connection and authentication handling
* Allows to drop the bundled OBS code in the bs_copy directory
2023-11-29 16:53:58 +01:00
Fabian Vogt
dc4c6bbfdd Handle ZSTD compressed primary.xml.zst
Add explicit zstd support to repo2fileprovides.py and port
update_repo_handler.py over to use libsolv's transparent decompression.
2023-11-23 11:36:03 +01:00
Fabian Vogt
352ca7c9f3 Don't crash when trying to fetch owner for 404 devel prjs
openh264 is very special.
2023-08-29 10:14:26 +02:00
92425abcab
version_calculate: chdir to the osclib dir
version_calculate() calls describe in the current working dir, but that fails in
git repositories without any commits in them. Actually we should be calling this
in the osc-release-tools repository instead, hence fixing this issue.
2023-08-15 11:45:42 +02:00
2d37d5b276
Merge pull request #2990 from dcermak/fix-sle15-literal-import
Fix sle15 literal import
2023-07-21 17:18:20 +02:00
33cd1998aa
Fallback import Literal & TypedDict from typing_extension 2023-07-14 15:11:35 +02:00
d257369bec
stagingapi: fix execution with OSC 1.x
osc 1.0 changed the behavior of delete_project. Older versions considered
'force' to imply recursive, new versions want this explicitly.

Fixes https://github.com/openSUSE/openSUSE-release-tools/issues/2928
2023-07-13 08:19:34 +02:00
1703348adb
Remove unused variable 2023-06-29 11:27:25 +02:00
05711eeccd
Convert namedtuples into a typed NamedTuples 2023-06-29 11:27:24 +02:00
e842fd26b1
Add some type hints 2023-06-29 11:27:23 +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
641f65cb1d osclib: Skip debuginfo, debugsource and src rpms in fileinfo_ext_all
Makes it somewhat faster.
2023-03-28 12:39:24 +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
Fabian Vogt
2c0e252832
Merge pull request #2923 from dirkmueller/deprecation_warning_osc1x
Add explicit deprecation warning
2023-01-25 19:20:26 +01:00
61fdf0f790
Merge pull request #2914 from DimStar77/tweak
accept_command: cleanup redundant ports_prjs assignment
2023-01-25 18:46:11 +01:00
1a368a38e7
Add explicit deprecation warning 2023-01-25 18:42:54 +01:00
8f97c9f36a
Restore old xpathsearch for fullhistory searches 2023-01-25 16:59:34 +01:00
5633240621 accept_command: cleanup redundant ports_prjs assignment 2023-01-18 13:02:53 +01:00
7d40d8668e
staging_accept: update Factory version in LegacyX86 port on accept 2022-11-30 14:38:25 +01:00
Enno Gotthold
20123a357a
osclib: Correct syntax error in typing 2022-10-17 14:32:19 +02:00
Enno Gotthold
f62c1332ee
osclib: Submit summary-staging.txt to the devel project 2022-10-17 14:32:19 +02:00
Enno Gotthold
04a6860c6d
osclib: Add typehints 2022-10-13 15:12:54 +02:00
Stephan Kulow
5e2a171600
Merge pull request #2877 from SchoolGuy/add_typing_hints
Add typing hints
2022-10-13 15:03:54 +02:00
Enno Gotthold
b9c84c5063
pkglistgen: Convert sections to class 2022-10-13 14:46:33 +02:00
Enno Gotthold
fac26fc6f4
osclib: Add type annotations 2022-10-13 14:46:33 +02:00
Stephan Kulow
a99f61d658 Fix the syncing of rebuild failures for multibuild flavors
Otherwise we don't notice test suites failing that were split out
2022-10-12 09:15:04 +02:00
b40d8c0053 Fix E275: missing whitespace around keywords 2022-08-18 11:05:55 +02:00
Stephan Kulow
9f802cc1cd Fix cache handling with osc from git master
osc master no longer wraps urlopen, so use the underlying function
2022-08-08 17:32:18 +02:00