FS#43855 - [systemd] Empty directory /etc/systemd/network in systemd package conflicts with symlink

Attached to Project: Arch Linux
Opened by Alain Kalker (ackalker) - Tuesday, 17 February 2015, 10:23 GMT
Last edited by Dave Reisner (falconindy) - Saturday, 21 February 2015, 16:42 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Thomas Bächler (brain0)
Dave Reisner (falconindy)
Tom Gundersen (tomegun)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

I'm using a symlink pointing to one of several network configuration directories:

/etc/systemd/network -> network.{bridged,wlan,ethernet} etc.

to easily switch between network setups.

Due to pacman's stricter policy on symlinks vs. real directories, I'm getting this error on upgrade of systemd:

error: failed to commit transaction (conflicting files)
systemd: /etc/systemd/network exists in filesystem

To work around this, I have to replace the symlink with a real directory, upgrade systemd, then undo the change.

As the directory /etc/systemd/network in the systemd package is empty anyway, please consider removing it entirely from the package to prevent conflicts like this.


Additional info:
* package version(s)
systemd 218-2
* config and/or log files etc.


Steps to reproduce:
This task depends upon

Closed by  Dave Reisner (falconindy)
Saturday, 21 February 2015, 16:42 GMT
Reason for closing:  Won't fix
Additional comments about closing:  Use NoExtract for your setup. If you want some hope of upstream not including this, then talk to upstream.
Comment by Alain Kalker (ackalker) - Tuesday, 17 February 2015, 10:34 GMT
Perhaps it is possible to add /etc/systemd/network to the backup array in the PKGBUILD, or use some other way to create an exception to pacman's "directory conflicts with symlink" policy. I haven't tested any of this yet.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 17 February 2015, 17:42 GMT
Try using a bind mount instead of a symlink.
Comment by Dave Reisner (falconindy) - Tuesday, 17 February 2015, 17:48 GMT
You can add etc/systemd/network to NoExtract in /etc/pacman.conf
Comment by Alain Kalker (ackalker) - Wednesday, 18 February 2015, 12:26 GMT
@Jan Steffens (heftig)
> Try using a bind mount instead of a symlink.

Thanks for the tip, but that looks like quite a big hammer to fix a small problem, which I would have to redo each time very early in the boot process.

@Dave Reisner (falconindy)
> You can add etc/systemd/network to NoExtract in /etc/pacman.conf

Thanks, that is a very helpful (and almost self-documenting) trick.
Unless there is some hope of upstream no longer including this empty directory, please feel free to close this issue.

Loading...