Bug #12798
closed
zypper module arch and version specification for zypper commands is not correct
Added by Alexis Mousset over 6 years ago.
Updated over 2 years ago.
Severity:
Major - prevents use of part of Rudder | no simple workaround
User visibility:
Getting started - demo | first install | level 1 Techniques
Description
The command used by zypper module:
rpm -qa --qf "Name=%{name}\nVersion=%{version}-%{release}\nArchitecture=%{arch}\n"
does not display epoch, which leads to a list of installed packaged without epoch.
So when specifying a version with epoch, install works but always returns an error.
If not specifying it, reporting works well but install will be able to install an exact version.
This needs to be fixed in zypper (and maybe rpm) repos at least.
- Project changed from Rudder to 41
- Category changed from Agent to Generic methods - Package Management
- Assignee set to Alexis Mousset
- Translation missing: en.field_tag_list set to Sponsored
- User visibility changed from Operational - other Techniques | Technique editor | Rudder settings to Getting started - demo | first install | level 1 Techniques
- Priority changed from 52 to 102
- Status changed from New to In progress
- Status changed from In progress to Pending technical review
- Assignee changed from Alexis Mousset to Benoît PECCATTE
- Pull Request set to https://github.com/Normation/ncf/pull/777
The same bug exists in yum module, but it has less consequences as yum allows installing a given version without epoch.
yum requires epoch at the beginning like:
1398866025:rudder-agent-4.1.10.release-1.EL.6.x86_64
So it is hard to fix as we don't want people to be forced to use an epoch, but allow to specify it.
- Subject changed from Epoch in software versions is not stored by zypper (and yum?) module, which breaks version detection to Epoch in software versions is not stored by zypper module, which breaks version detection
- Related to Bug #12799: Force using epoch when installing a package with zypper added
zypper on SLES10 appears to completely ignore epoch...
We will have to handle it differently depending on the zypper version...
Actually this is trickier:
zypper can identify a package with a specific version and without the epoch when the package comes from a repository, which is the most common case
# zypper install rudder-agent=4.0.7.release-1.SLES.12
Loading repository data...
Reading installed packages...
'rudder-agent=4.0.7.release-1.SLES.12' not found in package names. Trying capabilities.
'rudder-agent = 4.0.7.release-1.SLES.12' is already installed.
Resolving package dependencies...
Nothing to do.
So if we add epoch to version number, we would break some usecases.
- Subject changed from Epoch in software versions is not stored by zypper module, which breaks version detection to zypper module arch and version specification for zypper commands is not correct
We have no simple way to handle epoch is version numbers, but it should not be necessary as Rudder makes no version comparisons and delegates it to zypper (which know epoch).
- Assignee changed from Benoît PECCATTE to Alexis Mousset
- Status changed from Pending technical review to Pending release
Applied in changeset commit:207733396fb0fcd056b228c9f4c6bf856a480ed4.
- Status changed from Pending release to Released
This bug has been fixed in Rudder 4.1.13, 4.2.7 and 4.3.3 which were released today.
- Project changed from 41 to Rudder
- Category changed from Generic methods - Package Management to Generic methods
- Priority changed from 102 to 0
Also available in: Atom
PDF