Skip to content

Commit

Permalink
Document how --releasever, --releasever_{major,minor} affect each other
Browse files Browse the repository at this point in the history
  • Loading branch information
evan-goode committed Feb 4, 2025
1 parent 6c7a66a commit b352c77
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
16 changes: 16 additions & 0 deletions dnf/conf/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,12 @@ def releasever(self):
@releasever.setter
def releasever(self, val):
# :api
"""
Sets the releasever variable and sets releasever_major and
releasever_minor accordingly. releasever_major is set to the part of
$releasever before the first ".". releasever_minor is set to the part
after the first ".".
"""
if val is None:
self.substitutions.pop('releasever', None)
return
Expand All @@ -442,6 +448,11 @@ def releasever_major(self):
@releasever_major.setter
def releasever_major(self, val):
# :api
"""
Override the releasever_major variable, which is usually derived from
the releasever variable. This setter does not update the value of
$releasever.
"""
if val is None:
self.substitutions.pop('releasever_major', None)
return
Expand All @@ -450,6 +461,11 @@ def releasever_major(self, val):
@property
def releasever_minor(self):
# :api
"""
Override the releasever_minor variable, which is usually derived from
the releasever variable. This setter does not update the value of
$releasever.
"""
return self.substitutions.get('releasever_minor')

@releasever_minor.setter
Expand Down
2 changes: 2 additions & 0 deletions doc/command_ref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -338,10 +338,12 @@ Options
``--releasever_major=<major version>``
Override the releasever_major variable, which is usually automatically
detected or taken from the part of ``$releasever`` before the first ``.``.
This option does not affect the ``$releasever`` variable.

``--releasever_minor=<minor version>``
Override the releasever_minor variable, which is usually automatically
detected or taken from the part of ``$releasever`` after the first ``.``.
This option does not affect the ``$releasever`` variable.

.. _repofrompath_options-label:

Expand Down
3 changes: 3 additions & 0 deletions tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,15 +149,18 @@ def test_ranges(self):
def test_releasever_major_minor(self):
conf = Conf()
conf.releasever = '1.2'
self.assertEqual(conf.releasever, '1.2')
self.assertEqual(conf.releasever_major, '1')
self.assertEqual(conf.releasever_minor, '2')

# override releasever_major
conf.releasever_major = '3'
self.assertEqual(conf.releasever, '1.2')
self.assertEqual(conf.releasever_major, '3')
self.assertEqual(conf.releasever_minor, '2')

# override releasever_minor
conf.releasever_minor = '4'
self.assertEqual(conf.releasever, '1.2')
self.assertEqual(conf.releasever_major, '3')
self.assertEqual(conf.releasever_minor, '4')

0 comments on commit b352c77

Please sign in to comment.