Problem:
On managed Debian 11 clients, APT-Upgrading Debian packages via Katello results in 404 for package names with special characters:
E: Failed to fetch katello://<hostnam>/pulp/content/<org>/<env>/<cv>/custom/PHP_Sury/php-sury-bullseye/pool/all/p/php8.4/php8.4-common_8.4.6-1%2b0%7e20250411.26%2bdebian11%7e1.gbpda4ea7_amd64.deb 404 404 Not Found
Expected outcome:
Packages where updated / installed.
Foreman and Proxy versions:
Foreman 3.10 / Katello 4.12
Foreman and Proxy plugin versions:
Distribution and version:
AlmaLinux 9.5
Other relevant data:
Managed Clients:
- Debian 11 with only Katello Repos
- Debian 11 Katello Client 4.4.0-4
- apt-transport-katello 1.29.35-4
Detail-Views of the incriminating deb files show the correct paths and filenames:
Version: 8.4.6-1+0~20250411.26+debian11~1.gbpda4ea7
Filename: pool/main/p/php8.4/php8.4-common_8.4.6-1+0~20250411.26+debian11~1.gbpda4ea7_amd64.deb
imported as from the original sources at Index of /php/pool/main/p/php8.4/
The files are all shown with correct names and sizes via HTTPS URL too:
https://<host>/pulp/content/<org>/<env>/<cv>/custom/PHP_Sury/php-sury-bullseye/pool/all/p/php8.4/php8.4-common_8.4.6-1+0~20250411.26+debian11~1.gbpda4ea7_amd64.deb
but cannot be downloaded. → HTTP 404
So, seems like the Katello/Pulp plugin is somehow overeager in escaping special chars (like +
or ~
that are perfectly legal and common in Debian packages).
This does not happen every time though: creating and promoting new cv-versions sometimes fixes this - although why and if is totally unclear.
Foreman logs (or proxy logs) do not show any problems.
I realize my installation is out of date, but I could not find any info as to if someone has encountered (and hopefully) fixed this.