# systemd versus udev: l'infinita lotta intestina. [risolto]

## cloc3

oramai da qualche tempo sono passato a systemd.

oggi emerge si blocca in avvio per un probabile conflitto tra udev e systemd.

qui ho collocato l'output di emerge -udN -pv --verbose-conflicts @world -t.

per qualche ragione il sistema vuole emergere sys-fs/eudev, pur in presenza di systemd.

probabilmente, la causa risiede nella presenza della useflag udev in /etc/portage/make.conf.

ma se tolgo quella flag, ho dei blocchi imposti da alcuni programmi, generando un circolo vizioso.

in particolare: 

dev-qt/qtgui, dove la useflag udev è resa necessaria dalla presenza della flag libinput (che senso ha: no posso usare libinput se ho systemd?).

sys-fs/lvm2 la useflag udev è tassativa in presenza della useflag systemd  :Rolling Eyes: 

... altri programmi? non saprei.

sconcerto e dannazione, come ne posso uscire?

----------

## fedeliallalinea

Il problema viene creato perche' stai facendo un mix tra pacchetti stabili e instabili.

Nel caso specifico portage vuole installare [ebuild  N    ~]  virtual/udev-249::gentoo la tilde ci dice che hai smascherato la versione instabile, facendo questo portage cerca di risolvere le dipendenze di questo pacchetto

```
RDEPEND="

        || (

                >=sys-fs/udev-249

                >=sys-fs/eudev-2.1.1

                >=sys-apps/systemd-249

        )

"
```

e visto che >=sys-fs/udev-249 e >=sys-apps/systemd-249 sono mascherati portage cerca di mettere >=sys-fs/eudev-2.1.1.

Quindi se vuoi la version 249 di virual/udev devi smascherare anche quella versione di systemd.

----------

## cloc3

grazie.

in effetti, l'incompatibilità era relativa alle versioni, non ai pacchetti.

di solito, però emerge mi vizia aggiungendo a fine un invito a modificare le accept keywords, che in questo caso non è comparso.

onore e gloria al fedele fedeli.

 :Smile: 

----------

## fedeliallalinea

Si effettivamente non capisco perche' le dipendenze di virtual/udev non sono fatte in modo simile a virtual/libudev

```
RDEPEND="

        !systemd? ( || (

                >=sys-fs/udev-249:0/0[${MULTILIB_USEDEP},static-libs(-)?]

                >=sys-fs/eudev-3.2.9:0/0[${MULTILIB_USEDEP},static-libs(-)?]

        ) )

        systemd? ( >=sys-apps/systemd-249:0/2[${MULTILIB_USEDEP},static-libs(-)?] )

"
```

questo ti avrebbe chiesto di smascherare  >=sys-apps/systemd-249. Magari apro un bug report

----------

