openSUSE / zypper

World's most powerful command line package manager
http://en.opensuse.org/Portal:Zypper
Other
403 stars 110 forks source link

Support urlencoded URL's #476

Open tacerus opened 1 year ago

tacerus commented 1 year ago

Hi,

this idea originates from https://github.com/openSUSE/MirrorCache/issues/344 - it would be nice if zypper addrepo and the respective .repo files would accept URL's in an urlencoded fashion.

RokeJulianLockhart commented 1 year ago

However, a flag for each type—potentially --encoded and --unencoded, which defaults to --unencoded if either flag is absent—shall be necessary to ensure that estimation is unnecessary.

mlandres commented 1 year ago

I guess there's no way around an option telling how to treat the URL.

Ideally zypper would expect an encoded URL, an I thought it does. But the mistake was made back in 2008. While the zypper man page tells, that special chars must be %-escaped, it does not work. Bugreports in 2008 complaining about spaces or i18n chars not working in a URL were resolved by %-encoding the commandline argument before parsing it. This re-encodes any already encoded special chars.

We can not simply revert this, because it would break lot of setups, so we have to introduce an option, to allow already encoded URLs to work.

mlandres commented 1 year ago

Note that this applies to the zypper commandline only. URLs stored inside a .repo file e.g. are stored %-encoded.