luet
luet copied to clipboard
Luet doesn't catch correctly last version with multiple repositories
Luet version:
# luet --version
luet version 0.16.6-ga7b4ae67c9b86b22bd706df7cde43fdfd5121772 2021-06-04 03:01:46 UTC
Describe the bug
Luet doesn't install directly the last version of the package also with different priorities in the repository files.
It upgrades to v0.5.0-geaaru after that I installed the package (with the old version) and the I run luet upgrade
.
To Reproduce
- Install the geaaru repository
- try to install system/entities
Expected behavior When I have two versions on different repositories with high priority to the repository with the major version I expected to install directly the updated version.
Logs
ironlight2 /etc/luet/repos.conf.d # luet search entities
⣽ Downloaded repository.yaml of 0.00 MB ( 0.00 MiB/s )
Repository mocaccino-repository-index is already up to date.
ℹ Repository: mocaccino-repository-index Priority: 1 Type: http
⡿ Downloaded repository.yaml of 0.00 MB ( 0.00 MiB/s )
Repository geaaru is already up to date.
ℹ Repository: geaaru Priority: 1 Type: http
⣟ Downloaded repository.yaml of 0.00 MB ( 0.02 MiB/s )
Repository luet-official is already up to date.
ℹ Repository: luet Priority: 100 Type: http
⣯ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-extra is already up to date.
ℹ Repository: mocaccino-extra Priority: 2 Type: http
⣷ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
⣾ Repository kernel-repo is already up to date.
⣯ ℹ Repository: mocaccino-kernel-stable Priority: 3 Type: http
⣷ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-micro is already up to date.
⢿ ℹ Repository: mocaccino-micro Priority: 1 Type: http
⡿ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
⣟ Repository mocaccino-os-commons is already up to date.
⣻ ℹ Repository: mocaccino-os-commons-stable Priority: 2 Type: http
Downloaded repository.yaml of 0.00 MB ( 0.02 MiB/s )
Repository mocaccino-repository-index is already up to date.
ℹ Repository: mocaccino-repository-index Priority: 1 Type: http
--- Search results (entities): ---
╭─ system/entities-0.5-geaaru+1
│ ├─ Category: system
│ ├─ Name: entities
│ ├─ Version: 0.5-geaaru+1
│ ├─ Description:
│ ├─ Repository: geaaru
│ ╰─ Uri:
╰─ system/entities-0.4
├─ Category: system
├─ Name: entities
├─ Version: 0.4
├─ Description:
├─ Repository: luet
╰─ Uri:
ironlight2 /etc/luet/repos.conf.d # luet install system/entities
⢿ Downloaded repository.yaml of 0.00 MB ( 0.00 MiB/s )
Repository mocaccino-repository-index is already up to date.
ℹ Repository: mocaccino-repository-index Priority: 1 Type: http
⣷ Downloaded repository.yaml of 0.00 MB ( 0.00 MiB/s )
Repository geaaru is already up to date.
ℹ Repository: geaaru Priority: 1 Type: http
⣻ Downloaded repository.yaml of 0.00 MB ( 0.00 MiB/s )
Repository luet-official is already up to date.
⢿ ℹ Repository: luet Priority: 100 Type: http
⡿ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-extra is already up to date.
ℹ Repository: mocaccino-extra Priority: 2 Type: http
⣟ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository kernel-repo is already up to date.
⡿ ℹ Repository: mocaccino-kernel-stable Priority: 3 Type: http
⣟ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-micro is already up to date.
⣻ ℹ Repository: mocaccino-micro Priority: 1 Type: http
⢿ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-os-commons is already up to date.
⣾ ℹ Repository: mocaccino-os-commons-stable Priority: 2 Type: http
⢿ Downloaded repository.yaml of 0.00 MB ( 0.00 MiB/s )
Repository mocaccino-repository-index is already up to date.
ℹ Repository: mocaccino-repository-index Priority: 1 Type: http
🤔 Checking for available upgrades
Nothing to do
Packages that are going to be installed in the system:
entities-system-0.4 (luet)
By going forward, you are also accepting the licenses of the packages that you are going to install in your system.
Do you want to continue with this operation? [y/N]:
y
entities-system-0.4.package.tar.gz - 0% [ ] ( 0B/5.1 MB, ) [0s:0s]
Downloaded entities-system-0.4.package.tar.gz of 5.37 MB ( 4.64 MiB/s )
📦 Package system/entities-0.4 downloaded
📦 Package system/entities-0.4 installed
ironlight2 /etc/luet/repos.conf.d # luet upgrade
⣽ Downloaded repository.yaml of 0.00 MB ( 0.00 MiB/s )
Repository mocaccino-repository-index is already up to date.
ℹ Repository: mocaccino-repository-index Priority: 1 Type: http
⣻ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository geaaru is already up to date.
ℹ Repository: geaaru Priority: 1 Type: http
Downloaded repository.yaml of 0.00 MB ( 0.02 MiB/s )
Repository luet-official is already up to date.
ℹ Repository: luet Priority: 100 Type: http
⣯ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-extra is already up to date.
ℹ Repository: mocaccino-extra Priority: 2 Type: http
⣷ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository kernel-repo is already up to date.
⣯ ℹ Repository: mocaccino-kernel-stable Priority: 3 Type: http
⣷ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-micro is already up to date.
⢿ ℹ Repository: mocaccino-micro Priority: 1 Type: http
⣟ Downloaded repository.yaml of 0.00 MB ( 0.01 MiB/s )
Repository mocaccino-os-commons is already up to date.
⣻ ℹ Repository: mocaccino-os-commons-stable Priority: 2 Type: http
Downloaded repository.yaml of 0.00 MB ( 0.02 MiB/s )
Repository mocaccino-repository-index is already up to date.
ℹ Repository: mocaccino-repository-index Priority: 1 Type: http
🤔 Computing upgrade, please hang tight... 💤
♻ Packages that are going to be removed from the system:
system/entities-0.4
⚡ Packages that are going to be installed in the system:
system/entities-0.5-geaaru+1
By going forward, you are also accepting the licenses of the packages that you are going to install in your system.
Do you want to continue with this operation? [y/N]:
y
entities-system-0.5-geaaru+1.package.tar.zst - 90% [====================================================================================================> ] (2.4/2.7 MB, 646.671 kB/s) [4s:0s]
Downloaded entities-system-0.5-geaaru+1.package.tar.zst of 2.79 MB ( 0.33 MiB/s )
📦 Package system/entities-0.5-geaaru+1 downloaded
♻ entities-system-0.4 Removed ✔
📦 Package system/entities-0.5-geaaru+1 downloaded
📦 Package system/entities-0.5-geaaru+1 installed
this looks likely something to do with the versioning. I've tried locally with a simple package in two repos, one at 0.8.4
and the additional repo the same package, but at 0.9.0
. The additional repo had a prio of 0, while the "source" repo had 90
, and everything seems to go as expected (it was picked up the version from the additional repo, 0.9.0
).
Do you mean with the suffix+build version? Maybe also to the only two numbers without patch version.
I found the same issue with the package:
category: system
name: luet
version: "0.17.8-geaaru+1"
The problem happens also in luet-portage-converter
on calling this function:
pkg_search := &luet_pkg.DefaultPackage{
Category: pkg.GetCategory(),
Name: pkg.GetName(),
Version: ">=0",
}
ppp, err := pc.ReciperBuild.GetDatabase().FindPackages(pkg_search)
It seems if the version is <n.n.n>-<pre-release>+<build-version>
the method doesn't return the package.
After removing the build-version return to works.