You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.2 KiB

10 months ago
from leapp.models import fields, Model
from leapp.topics import SystemInfoTopic
class DNFWorkaround(Model):
"""
DNFWorkaround is used to register scripts, that have to be executed to apply modifications to the system,
just before DNF performs a transaction in order for it to succeed.
As an example in the case of the RHEL7 to RHEL8 upgrade, we have to execute a script to fixup the way how
yum and dnf symlinks are created as they cannot be replaced by RPM. To solve this we have created the
handleyumconfig tool in the system_upgrade/el7toel8 repository and register the workaround with the
registeryumadjustment actor.
"""
topic = SystemInfoTopic
script_path = fields.String()
"""
Absolute path to a bash script to execute
"""
script_args = fields.List(fields.String(), default=[])
"""
Arguments with which the script should be executed
In case that an argument contains a whitespace or an escapable character,
the argument must be already treated correctly. e.g.
`script_args = ['-i', 'my\\ string']
"""
display_name = fields.String()
"""
Name to display for this script when executed
"""