Currently the release version is not set or set to '0'
for package managers which requires a value to operate.
However, in order to support leveraging the same description
across different releases it is important to have the
opportunity to specify a setting for the release version.
This commit adds a new optional attribute to the preferences
section which allows to specify a custom value which
serves as the release version:
<preferences>
<release-version>TEXT</release-version>
</preferences>
If not specified the default setting as before applies.
Please note the release version information is currently
used in dnf and microdnf package managers only. It might
happen that it gets applied to the other package manager
backends as well. This will happen on demand though.
Related to Issue #1918. This Fixes #1927
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
from mock import (
|
|
patch, Mock
|
|
)
|
|
from pytest import raises
|
|
|
|
from kiwi.package_manager import PackageManager
|
|
|
|
from kiwi.exceptions import KiwiPackageManagerSetupError
|
|
|
|
|
|
class TestPackageManager:
|
|
def test_package_manager_not_implemented(self):
|
|
with raises(KiwiPackageManagerSetupError):
|
|
PackageManager.new('repository', 'ms-manager')
|
|
|
|
@patch('kiwi.package_manager.zypper.PackageManagerZypper')
|
|
def test_manager_zypper(self, mock_manager):
|
|
repository = Mock()
|
|
PackageManager.new(repository, 'zypper')
|
|
mock_manager.assert_called_once_with(repository, [], '')
|
|
|
|
@patch('kiwi.package_manager.dnf.PackageManagerDnf')
|
|
def test_manager_dnf(self, mock_manager):
|
|
repository = Mock()
|
|
PackageManager.new(repository, 'dnf')
|
|
mock_manager.assert_called_once_with(repository, [], '')
|
|
|
|
@patch('kiwi.package_manager.microdnf.PackageManagerMicroDnf')
|
|
def test_manager_microdnf(self, mock_manager):
|
|
repository = Mock()
|
|
PackageManager.new(repository, 'microdnf')
|
|
mock_manager.assert_called_once_with(repository, [], '')
|
|
|
|
@patch('kiwi.package_manager.apt.PackageManagerApt')
|
|
def test_manager_apt(self, mock_manager):
|
|
repository = Mock()
|
|
PackageManager.new(repository, 'apt')
|
|
mock_manager.assert_called_once_with(repository, [], '')
|
|
|
|
@patch('kiwi.package_manager.pacman.PackageManagerPacman')
|
|
def test_manager_pacman(self, mock_manager):
|
|
repository = Mock()
|
|
PackageManager.new(repository, 'pacman')
|
|
mock_manager.assert_called_once_with(repository, [], '')
|