# virtual für die shell

## schmidicom

Es gibt ja für vieles ein virtual im Portage aber durch das Problem aus "emerge hängt beim Kernelcheck" ist mir aufgefallen das es für die shell keines gibt.

Wieso eigentlich, es sind doch sicher nicht alle Programme von bash abhängig?

```
app-admin/eselect-mesa-0.0.10 (>=app-shells/bash-4)

app-admin/perl-cleaner-2.7 (app-shells/bash)

dev-lang/mono-2.10.9-r2 (>=app-shells/bash-3.2)

games-util/steam-launcher-1.0.0.40 (app-shells/bash)

sys-apps/portage-2.2.1 (!build ? >=app-shells/bash-4.2_p37[readline])

                       (!build ? <app-shells/bash-4.2_p37)

                       (!build ? >=app-shells/bash-3.2_p17)

sys-power/upower-0.9.21 (systemd ? app-shells/bash)

sys-process/fcron-3.1.1 (app-shells/bash)
```

----------

## mv

Abhängigkeiten von einer Shell werden nicht angegeben, da die zu baselayout gehört.

Die genannten Pakete hängen vermutlich alle speziell von der bash ab, weil sie bashismen und #!/bin/bash benutzen.

----------

## schmidicom

Diese Pakete sind das Ergebnis von "equery d bash" und ich bezweifel das wirklich alle von der bash abhängig sind, einige würden sich vermutlich auch mit was anderem begnügen.

----------

## mv

 *schmidicom wrote:*   

> Diese Pakete sind das Ergebnis von "equery d bash" und ich bezweifel das wirklich alle von der bash abhängig sind, einige würden sich vermutlich auch mit was anderem begnügen.

 

Nicht ohne Modifikationen. Portage ganz bestimmt nicht, und die meisten anderen dürften aufgrund der Bashismen zumindest irgendwelche #!/bin/bash enthalten.

----------

## schmidicom

Nun zum subthema wäre es vielleicht noch interessant zu sagen das sich libsdl2 nicht bauen lässt wenn /bin/sh auf /bin/zsh zeigt. Ob es am ebuild liegt oder am Makefile weis ich nicht aber meiner Meinung sollte so etwas nicht passieren. Solche Abhängigkeiten schädigen eben jene Freiheit die unter Linux so hochgehalten wird.

----------

## mv

 *schmidicom wrote:*   

> Nun zum subthema wäre es vielleicht noch interessant zu sagen das sich libsdl2 nicht bauen lässt wenn /bin/sh auf /bin/zsh zeigt. Ob es am ebuild liegt oder am Makefile weis ich nicht aber meiner Meinung sollte so etwas nicht passieren. Solche Abhängigkeiten schädigen eben jene Freiheit die unter Linux so hochgehalten wird.

 

Leider passiert das oft unbemerkt. Zumindest Entwickler sollten verpflichtet werden, /bin/sh auf dash oder gar bb zu legen.   :Wink: 

libsdl2 habe ich noch nicht gebaut, aber oft hilft in solchen Fällen

```
EXTRA_EMAKE='SHELL=/bin/bash'
```

Wenn Du portage-bashrc-mv benutzt, also beispielsweise

 */etc/portage/package.cflags/patches wrote:*   

> media-libs/libsdl2 "EXTRA_EMAKE+='SHELL=/bin/bash'"

 

----------

## schmidicom

Danke für den Tipp und x11-libs/libpciaccess ist auch so ein Fall wie ich gerade merke.

----------

