Petr Pisar

Results 118 comments of Petr Pisar

I confirm the observed behavior. A tcpdump for DNF4: ~~~~ GET /al2023/blobstore/c26b33388c5e1addd19255110a48797eefd23476a911f72338d422c212d0c2d8/perl-Text-Tabs%2bWrap-2021.0726-1.amzn2023.0.1.noarch.rpm HTTP/1.1 Host: cdn.amazonlinux.com User-Agent: libdnf (Fedora Linux 41; generic; Linux.x86_64) Accept: */* HTTP/1.1 200 OK Content-Type: binary/octet-stream Content-Length:...

The URLs differ. DNF4 URL-escapes the plus character, DNF5 does not. That's the cause: ~~~~ $ curl 'http://cdn.amazonlinux.com/al2023/core/guids/7cb7fa15b09895c906a60433e408e61d8b38b3ab5e1b3b5a9a7c04e4def253c0/x86_64/../../../../blobstore/c26b33388c5e1addd19255110a48797eefd23476a911f72338d422c212d0c2d8/perl-Text-Tabs%2bWrap-2021.0726-1.amzn2023.0.1.noarch.rpm' | file -s - % Total % Received % Xferd Average Speed...

The unescaped path suffix comes from //location/@href attribute in primary.xml and it's not escaped there either. I will assume that primary.xml is correct (risk of double escaping). That means DNF5...

However, I would rather see repurposing the attribute as a (relative) URL. That would make life easier for many consumers.

Another catch: DNF5 Package::get_remote_locations() has a case for get_location() returning a URL. That means get_location() can contain an unescaped path or an escaped URL. I will only escape the location...

Package::get_remote_locations() is also broken.

I know. Not much timer recently. I have a fix locally, but I need to verify it. I will try to look at it.

There is a plan to support rolling back and replaying a history (issue #1224), similarly what DNF4 had. Currently there is no plan to implement "yum complete-transaction". The arguments are...

If I can see correctly, your video shows: ~~~~ [6/6] Installing vim-enhanced-... 100 % [=====] | 204.4 MiB/s | 4.1 MiB | -00m00s >>> Running trigger-install scriptlet: glibc-common-... ~~~~ While...

Good catch. It indeed does not serve any build-time purpose now.