luet icon indicating copy to clipboard operation
luet copied to clipboard

Luet doesn't catch correctly last version with multiple repositories

Open geaaru opened this issue 3 years ago • 3 comments

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

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

geaaru avatar Jun 08 '21 18:06 geaaru

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).

mudler avatar Jun 23 '21 13:06 mudler

Do you mean with the suffix+build version? Maybe also to the only two numbers without patch version.

geaaru avatar Jun 23 '21 14:06 geaaru

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.

geaaru avatar Aug 11 '21 06:08 geaaru