1 |
On Mon, Aug 3, 2015 at 6:21 AM, Helmut Jarausch <jarausch@××××××.be> wrote: |
2 |
> Hi, |
3 |
> |
4 |
> some update yesterday which was not yet available on August, 1st, complete broke my system. |
5 |
> (Probably systemd-224) |
6 |
> |
7 |
> I couldn't do anything, especially no downgrading a package. |
8 |
> I had to revert to a backup from July, 29th. |
9 |
> |
10 |
> It turned out that something has installed /lib/udev while removing the symlink /lib -> /lib64 on my machine. |
11 |
> Therefore /lib did contains nothing but udev which broke my system completely. |
12 |
> |
13 |
> Has anybody made a similar experience or does anybody have explanation for that? |
14 |
> |
15 |
|
16 |
My guess is that portage's directory symlink removal check killed it. |
17 |
|
18 |
Whenever portage unmerges a package, it looks for any symlinked |
19 |
directories when it is removing files. If it finds a symlink to a |
20 |
directory for which there are no remaining entries in |
21 |
/var/db/pkg/*/*/CONTENTS, it will remove the symlink. |
22 |
|
23 |
Lots of people ran into this when /var/run was turned into a symlink |
24 |
to /run; as ebuilds moved away from installing things into /var/run, |
25 |
portage started to "randomly" remove the /var/run symlink. |
26 |
|
27 |
I wouldn't call this a portage "bug" since the behavior is |
28 |
intentional. However, we should probably have a keepdir file in some |
29 |
of the more important directories that get created by baselayout to |
30 |
avoid removing important symlinks. |