Changelog¶
2.1¶
Exclude dirs known to be owned by many packages from conflict checking.
If check-upgrade finds a package upgradable by its modular version, skip it.
Make it possible to run rpmdeplint as a library.
Skip modular packages when checking for conflicts.
Add
--allconflictsoption tocheck-conflictsandcheckto always check all remote packages for each potentially-conflicting filename, rather than stopping after the first one (avoids hiding problems at the cost of more bandwidth).Optimize conflict checking by iterating the package pool only once instead of once per package under test.
2.0¶
Make metalinks work on CentOS Stream 9
2.0rc3¶
Repodata cache now works with metalink/mirrorlist (RHBZ#1343247).
Don’t leak directories in
/var/tmp/rpmdeplint-*(RHBZ#1343247).Allow passing a metalink for –repo instead of baseurl (RHBZ#1454525).
Allow passing only a configured repo name for
--repo.Modernize deprecated stuff.
Refactoring.
Unit and acceptance tests moved to
tests/.Code from
__init__.pymoved toanalyzer.py.
2.0rc2¶
- Easier development/maintaining:
Automatically deploy documentation to GitHub Pages
Automatically publish new releases to PyPI
Require Python >= 3.9
Ditch
setup.pyin favour of pyproject.tomlThe man page is no longer built and installed automatically. Run
'make -C docs man'to build it (related to RHBZ#2221957).
2.0rc1¶
Added yum repository caching which performs regular cleans for files more than one week old. This expiry period can be modified with the environment variable
RPMDEPLINT_EXPIRY_SECONDS.The
rpmdeplint.DependencyAnalyzerclass no longer needs to be “entered” as a context manager. The class still supports the context manager protocol as a no-op for backwards compatibility.Added
--quietoption which tells rpmdeplint to only print error messages.Use libsolv directly instead of hawkey (RHBZ#1422873).
Handle “installonly” packages properly (RHBZ#1465734).
Rearrange conflict checking algorithm (RHBZ#1465736).
Download only the package header, not complete RPMs.
Include all possible problematic rules in the problem description.
1.4¶
Fixed handling of the
xml:baseattribute in repodata. Previously, if a repo usedxml:baseto refer to packages stored at a different URL, rpmdeplint would fail to download them when it performed conflict checking (RHBZ#1448768).If a package fails to download, a clean error message is now reported. Previously this would result in an unhandled exception, which triggered abrt handling (RHBZ#1423678).
Fixed usage message when no subcommand is given on Python 3.3+ (RHBZ#1445990).
1.3¶
If you are testing only
noarchpackages, you must now explicitly pass the--archoption to specify the target architecture you are testing against. Previously the checks would run but produce nonsensical results (RHBZ#1392635).The check for undeclared file conflicts has been improved:
File conflicts are not reported if the two conflicting packages cannot be installed together due to Requires relationships (RHBZ#1412910).
It no longer downloads every potentially conflicting package to check. Only the first potential conflict is checked, to avoid downloading a very large number of packages for commonly shared paths such as
/usr/lib/debug(RHBZ#1400722).
A more informative exception is now raised when downloading repodata fails.
Added a
--versionoption to print the installed version of rpmdeplint.
1.2¶
Added a new option
--repos-from-systemfor testing against repositories from the system-wide Yum/DNF configuration.Conflict checking now works correctly with RPM 4.11 (as found on Red Hat Enterprise Linux 7 and derivatives). Previously it was relying on an API only present in RPM 4.12+.
Fixed spurious errors/warnings from
check-repoclosurewhen the arch of the packages being tested did not match the host architecture where rpmdeplint was run (RHBZ#1378253).
1.1¶
Added
check-upgradecommand, to ensure that the given packages are not upgraded or obsoleted by an existing package in the repository.Added
check-repoclosurecommand, to check whether repository dependencies can still be satisfied with the given packages.Added
checkcommand which performs all the different checks.The command-line interface now uses a specific exit status (3) to indicate that a check has failed, so that it can be distinguished from other error conditions.
1.0¶
Initial release. Supports checking dependency satisfiability and undeclared file conflicts.