freebsd / pkg

Package management tool for FreeBSD. Help at #pkg on Libera Chat or pkg@FreeBSD.org
Other
749 stars 279 forks source link

multi-repo: pkg install package-name and pkg install origin/package-name come to different conclusions #2260

Open igalic opened 8 months ago

igalic commented 8 months ago

in a multi-repo setup, running pkg install py39-cloud-init-devel yields a different result from pkg install net/cloud-init-devel:

root@freebsd:~ # pkg install net/cloud-init-devel
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating cloud-init repository catalogue...
cloud-init repository is up to date.
All repositories are up to date.
The following 26 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        py39-Babel: 2.14.0 [FreeBSD]
        py39-Jinja2: 3.1.3 [FreeBSD]
        py39-attrs: 23.2.0 [FreeBSD]
        py39-blinker: 1.7.0 [FreeBSD]
        py39-boto: 2.49.0_1 [FreeBSD]
        py39-certifi: 2024.2.2 [FreeBSD]
        py39-cffi: 1.16.0 [FreeBSD]
        py39-charset-normalizer: 3.3.2 [FreeBSD]
        py39-cloud-init-devel: 23.4.68 [FreeBSD]
        py39-configobj: 5.0.8 [FreeBSD]
        py39-cryptography: 41.0.7_3,1 [FreeBSD]
        py39-idna: 3.6 [FreeBSD]
        py39-jsonpatch: 1.21_1 [FreeBSD]
        py39-jsonpointer: 2.0 [FreeBSD]
        py39-jsonschema: 4.21.1 [FreeBSD]
        py39-jsonschema-specifications: 2023.6.1 [FreeBSD]
        py39-markupsafe: 2.1.5 [FreeBSD]
        py39-netifaces: 0.11.0 [FreeBSD]
        py39-oauthlib: 3.2.2 [FreeBSD]
        py39-pycparser: 2.21 [FreeBSD]
        py39-pyjwt: 2.8.0 [FreeBSD]
        py39-pyserial: 3.5_2 [FreeBSD]
        py39-referencing: 0.33.0 [FreeBSD]
        py39-requests: 2.31.0 [FreeBSD]
        py39-rpds-py: 0.13.2_3 [FreeBSD]
        sudo: 1.9.15p5_4 [FreeBSD]

Number of packages to be installed: 26

The process will require 73 MiB more space.
14 MiB to be downloaded.

Proceed with this action? [y/N]: 

vs

root@freebsd:~ # pkg install py39-cloud-init-devel
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating cloud-init repository catalogue...
cloud-init repository is up to date.
All repositories are up to date.
The following 26 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        py39-Babel: 2.14.0 [cloud-init]
        py39-Jinja2: 3.1.3 [cloud-init]
        py39-attrs: 23.2.0 [cloud-init]
        py39-blinker: 1.7.0 [cloud-init]
        py39-boto: 2.49.0_1 [cloud-init]
        py39-certifi: 2024.2.2 [cloud-init]
        py39-cffi: 1.16.0 [cloud-init]
        py39-charset-normalizer: 3.3.2 [cloud-init]
        py39-cloud-init-devel: 23.4.289 [cloud-init]
        py39-configobj: 5.0.8 [cloud-init]
        py39-cryptography: 42.0.5,1 [cloud-init]
        py39-idna: 3.6 [cloud-init]
        py39-jsonpatch: 1.33 [cloud-init]
        py39-jsonpointer: 2.0 [cloud-init]
        py39-jsonschema: 4.21.1 [cloud-init]
        py39-jsonschema-specifications: 2023.6.1 [cloud-init]
        py39-markupsafe: 2.1.5 [cloud-init]
        py39-netifaces: 0.11.0 [cloud-init]
        py39-oauthlib: 3.2.2 [cloud-init]
        py39-pycparser: 2.21 [cloud-init]
        py39-pyjwt: 2.8.0 [cloud-init]
        py39-pyserial: 3.5_2 [cloud-init]
        py39-referencing: 0.33.0 [cloud-init]
        py39-requests: 2.31.0 [cloud-init]
        py39-rpds-py: 0.13.2_3 [cloud-init]
        sudo: 1.9.15p5_4 [cloud-init]

Number of packages to be installed: 26

The process will require 73 MiB more space.
13 MiB to be downloaded.

Proceed with this action? [y/N]:

These two commands pick a different repository, even tho the cloud-init repo has higher versions and a higher priority;

igalic commented 7 months ago

some more data points:

bapt commented 7 months ago

if you don't play with the priority in the repository definition then this is expected

igalic commented 7 months ago

@bapt from the original report

These two commands pick a different repository, even tho the cloud-init repo has higher versions and a higher priority;

Crest commented 6 months ago

Did you go through with install the packages using both commands and compared the pkg info output? Do the packages once installed (registered) show up with the names and origins you expect or do the repositories contain similar yet different packages? What happens when you attempt to override the repository selection with -r <repo>?