We have had the rule that those dependencies are not kosher for as long as I
remember. It was put in place because file lists in repository metadata are
split in two parts: "primary" and "filelists", with only a subset of paths in
the first file. Nevertheless, the rule wasn't very closely followed because it
didn't have any practical effect: dnf would download and load both lists anyway.
With dnf5, behaviour is changed:
Right now, any dependency on a path that is not in primary simply fails
(rhbz#2173051). This might or might not be a bug.
Longer-term, the goal is to not download filelists at all, until required
by some operation that the user does. For this to work correctly we need to
get rid of all path dependencies in packages. 2. should happen even if 1. is
resolved by changing to download and load filepath metadata if required by a
package.
So the language is upgraded to "MUST NOT". An exception is added for
explicitly-provided paths. Those are sometimes useful to coordinate
functionality between packages, and those Provides are always in primary, so
they are excluded from the prohibition.
The rule is extended to also cover directories. I suspect that the
omission was just clumsy language and not intentional.
We have had the rule that those dependencies are not kosher for as long as I
remember. It was put in place because file lists in repository metadata are
split in two parts: "primary" and "filelists", with only a subset of paths in
the first file. Nevertheless, the rule wasn't very closely followed because it
didn't have any practical effect: dnf would download and load both lists anyway.
With dnf5, behaviour is changed:
Right now, any dependency on a path that is not in primary simply fails
(rhbz#2173051). This might or might not be a bug.
Longer-term, the goal is to not download filelists at all, until required
by some operation that the user does. For this to work correctly we need to
get rid of all path dependencies in packages. 2. should happen even if 1. is
resolved by changing to download and load filepath metadata if required by a
package.
So the language is upgraded to "MUST NOT". An exception is added for
explicitly-provided paths. Those are sometimes useful to coordinate
functionality between packages, and those Provides are always in primary, so
they are excluded from the prohibition.
The rule is extended to also cover directories. I suspect that the
omission was just clumsy language and not intentional.