#154 Impossible to create simlink from a directory - Fedora packaging guidelines
Closed: no action needed Opened by jmracek.

We would like to replace YUM owned directories "/etc/yum" by simlink to directory owned by DNF "/etc/dnf". But to prevent conflicts it requires to use a script (see bellow), but we are not sure if such changes are according to Fedora packaging guidelines. In case that there is an conflict, we need to now a proper solution of that issue.

Thanks a lot
Jaroslav

https://github.com/rpm-software-management/dnf/pull/938

%pretrans yum
if [ -d /etc/yum ]; then
  if [ ! -L /etc/yum ]; then
    cp -r /etc/yum/* /etc/dnf
    rm -rf /etc/yum
  fi
fi

I believe this should actually start in FESCO, the Fedora Engineering Steering Committee - https://pagure.io/fesco/

This probably should start in FESCo, but since you asked here:

I don't see any user benefit in this change. It seems really fragile and prone to more problems than it can possibly solve. We're trying to get rid of package scripts as much as possible overall. Plus, this one in particular seems potentially disastrous — what if someone has something really dumb under /etc/yum on their system? What if they have a dnf.conf in there for some reason?

What problem are you trying to solve? The linked PR says "Additional yum-dnf compatibility", but do we need a symlink for that? Can't the compatibility be addressed at a code level?

Also at a Council level, since this came up: I still think that changing the name of the command users interact with was a mistake, and if we have the opportunity to change that, I don't think it's too late. I applaud the recent compatibility efforts. This makes it much easier for our many users who work in a mixed Fedora / CentOS / RHEL environment.

Also at a Council level, since this came up: I still think that changing the name of the command users interact with was a mistake, and if we have the opportunity to change that, I don't think it's too late. I applaud the recent compatibility efforts. This makes it much easier for our many users who work in a mixed Fedora / CentOS / RHEL environment.

At the time it was introduced, dnf was incompatible and had no plans to be compatible with yum. The name change was warranted. However, I fully agree that the recent compatibility efforts are well worth it and I echo Matt's reasons for it.

@mattdm compatibility on code level is difficult.
DNF would have to reliably identify the running system and act based on that.
The proposed change is on packaging level which can easily differ for each distro.

There's DNF in CentOS. It shares repo configuration with YUM, but remaining configs are different as DNF is just an additional software. No migration expected.
In Fedora, we'd like to completely replace YUM and migrate configuration.

There's DNF in CentOS. It shares repo configuration with YUM, but remaining configs are different as DNF is just an additional software. No migration expected.
In Fedora, we'd like to completely replace YUM and migrate configuration.

Why? What benefit does this bring to end users of Fedora? What problems does this solve for users?

I am totally with @mattdm here, cutting any bridge to yum is not user friendly and will cause confusion, not only in Centos/Fedora mixed systems. Dnf naming itself was a mistake, let's not make another one.
My 2 cents here FWIW.

I think we don't understand each other.
Let me rephrase our intentions:

  • yum will go away - sooner or later
  • in the meantime, DNF team wants to provide dnf-yum as a compatibility layer
    • it's for users with 'yum' muscle memory
    • it's also to migrate existing yum configuration (in case someone is still using yum rather than dnf)
    • the dnf-yum package is opt-in, users don't have to install it now
  • when yum3 gets removed, we can rename dnf-yum to yum to finish the replacement

If you think we can simply drop yum and don't provide any migration path,
we can live with that.

I think we've got the confusion here resolved. If there's anything more that needs to happen in a technical sense, let's talk about that on devel or in FESCo.

Metadata Update from @mattdm:
- Issue close_status updated to: no action needed
- Issue status updated to: Closed (was: Open)

Metadata