Frohe Ostern allen TroLugern,

ich möchte Euch noch eine kleine Reminiszenz ins Osternest legen.

Warum einfach, wenns auch kompliziert geht ist ja die meist vorherrschende 
Meinung zu Gentoo.
Viele, die sich schon einmal oberflächlich mit einer Gentoo-Installation und 
deren Details auseinandersetzt haben, würden dem sicher spontan zustimmen 
wollen.

Aus meiner heutigen Sichtweise würde ich dagegen sagen, dass ich es benutze 
weil es so einfach und komfortabel, oder auch so geradlinig und konsequent ist.
Wenn ich mich Heute zurück besinne, dann weiß ich noch, dass ich damals in 2007 
gelegentlich über Programme gestolpert bin, die ich auch haben oder 
installieren wollte, aber für die es zu diesem Zeitpunkt noch keine Pakete für 
meine damals verwendeten Binären Distributionen gab.

Gelegentlich stiess ich dann auf Anleitungen zum selber kompilieren dieser mir 
noch fehlenden Programme. Beim Durchlesen dieser für mich damals häufig 
kryptisch anmutenden Anweisungen fiel mir häufig auf, dass die 
Installationsanweisungen für Gentoo stets deutlich einfacher auszuführen waren, 
als die der anderen Distributionen.
So stellte ich mir die Frage, warum so kompliziert vorgehen, wenns auch so 
einfach sei kann.
Ich glaube das war der eigentliche Grund warum ich einst nachzuforschen begann, 
warum das so ist und wo die Hauptunterschiede von Gentoo zu den anderen Distros 
lagen und welche vor und Nachteile das ganze haben soll.

Eines dieser Programme war damals beispielsweise Cinelerra, ein 
Videoschnitt-Programm das mich damals, mangels brauchbarere Alternativen, sehr 
interessierte. Selbst Heute finden sich noch einige alte Anweisungen zur 
Installation/Kompilation die diese Unterschiede aufzeigen, auch wenn Heute 
vermutlich für fast alle Distros Bin-Pakete zur Installation angeboten werden, 
so wiederholt sich die Geschichte doch regelmässig, nur die Paket-Namen 
dahinter ändern sich, Beispiele:
Damalige Cinelerra-Kompilation aus den Quellen für:

Ubuntu:  http://www.g-raffa.eu/Cinelerra/HOWTO/compilation.html 

Fedora:  
http://crazedmuleproductions.blogspot.de/2010/02/fedora-12-x86-64-cinelerra-install.html
 

Die Cinelerra-Seite die u.a darauf verweist: 
http://cinelerra-cv.org/getting_cinelerra.php 


Wenn ich mir so meine Gentoo Installation-Historie anschaue, dann sehe ich noch 
schön wann ich begann Cinelerra auszuprobieren und wie häufig ich es 
rekompiliert und im Rahmen meines Rolling-Release System-Upgrades aktualisiert 
habe:
genlop -e cinelerra
 * media-video/cinelerra

     Thu Jul 17 17:50:21 2008 >>> media-video/cinelerra-20080717
     Fri Aug 22 15:29:15 2008 >>> media-video/cinelerra-20080717
     Sat Oct 18 21:02:49 2008 >>> media-video/cinelerra-20080717
     Wed Feb 11 18:38:36 2009 >>> media-video/cinelerra-20090210
     Fri Feb 20 14:57:20 2009 >>> media-video/cinelerra-20090210
     Mon May  4 18:43:51 2009 >>> media-video/cinelerra-20090210
     Thu Jun  4 18:03:20 2009 >>> media-video/cinelerra-20090210
     Wed Jun 24 16:51:39 2009 >>> media-video/cinelerra-20090210
     Thu Jun 25 18:13:17 2009 >>> media-video/cinelerra-20090210
     Fri Aug 28 19:56:56 2009 >>> media-video/cinelerra-20090210
     Sun Sep 13 17:18:17 2009 >>> media-video/cinelerra-20090210
     Sat Oct 24 21:19:18 2009 >>> media-video/cinelerra-20090210
     Thu Oct 29 19:17:30 2009 >>> media-video/cinelerra-20090210
     Sun Jan 31 16:36:44 2010 >>> media-video/cinelerra-20090210-r1
     Mon Feb 15 18:49:56 2010 >>> media-video/cinelerra-20090210-r1
     Fri Mar 26 17:47:29 2010 >>> media-video/cinelerra-20100320
     Mon Apr 26 18:45:54 2010 >>> media-video/cinelerra-20100320
     Wed May 12 19:34:59 2010 >>> media-video/cinelerra-20100320
     Sun Jun  6 16:29:38 2010 >>> media-video/cinelerra-20100320
     Mon Jun  7 11:31:33 2010 >>> media-video/cinelerra-20100320
     Sun Oct 31 13:20:11 2010 >>> media-video/cinelerra-20100320
     Thu Nov  4 17:31:48 2010 >>> media-video/cinelerra-20101104
     Sat Nov 20 17:17:06 2010 >>> media-video/cinelerra-20101104
     Thu Feb 24 19:02:50 2011 >>> media-video/cinelerra-20101104
     Fri Apr 29 15:29:42 2011 >>> media-video/cinelerra-20101104
     Fri May 13 15:50:55 2011 >>> media-video/cinelerra-20101104
     Tue May 24 18:19:23 2011 >>> media-video/cinelerra-20101104
     Wed Sep  7 17:47:40 2011 >>> media-video/cinelerra-20101104
     Tue Sep 20 18:58:39 2011 >>> media-video/cinelerra-20101104
     Thu Oct 20 18:50:24 2011 >>> media-video/cinelerra-20101104
     Mon Nov 28 19:45:36 2011 >>> media-video/cinelerra-20101104
     Tue Dec 20 19:09:43 2011 >>> media-video/cinelerra-20101104
     Thu Dec 22 18:02:35 2011 >>> media-video/cinelerra-20101104
     Fri Dec 23 15:53:05 2011 >>> media-video/cinelerra-20111223
     Sat Jan 28 17:08:00 2012 >>> media-video/cinelerra-20111223
     Sun Jan 29 18:39:02 2012 >>> media-video/cinelerra-20111223                
                                                     
     Tue Jan 31 21:07:56 2012 >>> media-video/cinelerra-20111223                
                                                     
     Sat Mar  3 16:13:06 2012 >>> media-video/cinelerra-20111223                
                                                     
     Sat Mar  3 16:52:29 2012 >>> media-video/cinelerra-20111223                
                                                     
     Sun Apr  1 14:29:05 2012 >>> media-video/cinelerra-20111223                
                                                     
     Sat Jul  7 14:10:37 2012 >>> media-video/cinelerra-20120707                
                                                     
     Mon Jul  9 19:18:13 2012 >>> media-video/cinelerra-20120707                
                                                     
     Sun Feb 24 11:03:45 2013 >>> media-video/cinelerra-20120707                
                                                     
     Tue Mar 12 22:30:37 2013 >>> media-video/cinelerra-20120707                
                                                     
     Fri Apr  5 18:52:48 2013 >>> media-video/cinelerra-20120707                
                                                     
     Thu Apr 11 20:38:33 2013 >>> media-video/cinelerra-20120707                
                                                     
     Wed Jun 19 18:23:29 2013 >>> media-video/cinelerra-20120707                
                                                     
     Mon Jul 22 20:16:45 2013 >>> media-video/cinelerra-20120707                
                                                     
     Thu Jul 25 17:18:40 2013 >>> media-video/cinelerra-20120707                
                                                     
     Fri Aug  2 15:41:16 2013 >>> media-video/cinelerra-20120707                
                                                     
     Sat Sep 14 21:24:43 2013 >>> media-video/cinelerra-20120707                
                                                     
     Mon Sep 30 18:23:55 2013 >>> media-video/cinelerra-20120707                
                                                     
     Fri Jan 24 17:42:44 2014 >>> media-video/cinelerra-20120707                
                                                     
     Sat Mar  1 14:01:02 2014 >>> media-video/cinelerra-20120707                
                                                     
     Wed Mar 12 21:14:53 2014 >>> media-video/cinelerra-20120707                
                                                     
     Wed Mar 19 23:45:09 2014 >>> media-video/cinelerra-20120707                
                                                     
     Thu May 15 17:43:33 2014 >>> media-video/cinelerra-20120707                
                                                     
     Fri Jul 11 19:16:25 2014 >>> media-video/cinelerra-20140710                
                                                     
     Thu Jul 31 10:56:27 2014 >>> media-video/cinelerra-20140710                
                                                     
     Fri Dec 12 17:24:13 2014 >>> media-video/cinelerra-20140710                
                                                     
     Mon Feb  9 17:48:00 2015 >>> media-video/cinelerra-20140710                
                                                     
     Wed Feb 11 16:49:50 2015 >>> media-video/cinelerra-20140710


Übrigens, der Befehl für die erstmalige Installation von Cinelerra lautet zum 
Beispiel:# emerge -av cinelerra
Das regelmäßige aktualisieren des gesamten systems dagegen z.B. # emerge -DuvaN 
@world

Also im Grunde ganz einfach, jedenfalls wenn Gentoo erst einmal wunschgemäss 
installiert und konfiguriert ist.



Noch ein weiteres aktuelleres Beispiel, dass mir kürzlich ein Kollege mitteilte:



> Moin Kollegen,


> ich bin gestern auf einen vielversprechenden Music-Player gestossen, was
> Radiosender angeht. Den bekommt man mit:
> aptitude install guayadeque

> Die Fehlermeldung beim Öffnen von Internet-Radiostreams:


> gstreamer missing plugin:


> löst man mit:


> aptitude install gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly



> was/wer immer auch bad und ugly sein mag, danach funktionieren alle
> Radiostreams. Mit einem Rechtsklick und "Aktualisieren", im Fenster der
> Radiostream Genres werden tausendfach links sichtbar die zu
> voreingestellten Sendern führen. Dabei sind auch Radiosender mit bis zu
> 320kbps verfügbar.
> Der Music-Player kann wohl auch mit lokal abgelegten

> Musikarchiven umgehen, habe ich aber gestern nicht probiert.

Hierbei Frage ich mich stets, wieso ich erst über eine Fehlermeldung des 
Programms erfahren muss, dass mir etwas fehlt?
Ich vermute dass ist dem Umstand geschuldet, dass man in die Binär-Pakete meist 
den maximal möglichen Funktionsumfang hinein kompiliert, dann aber über das 
weglassen optionaler Abhängigkeiten, den Umfang zu reduzieren versucht, in dem 
man dessen hinzufügen oder nicht, dem User überlässt.

Auch wenn das Programm dann zwar lauffähig ist, sind das im Grunde doch nicht 
erfüllte Abhängigkeiten, weshalb ich das ziemlich unsauber und wenig geradeaus 
nenne. Das scheinen mir alle Binären Distros gemein zu haben, auch wenn ich 
hier mal wieder Debian als hoffentlich repräsentatives Beispiel anführe, so 
soll das nicht gegen Debian gereichtet sein, sondern vielmehr dem generellen 
Vergleich dienen.

Auch wenn man dem Nutzer im Vorfeld die Möglichkeit zur Überprüfung solcher 
optionaler Abhängigkeiten via Paketmanager oder Webrecherche mittels der 
Hinweise auf sogenannte 
recommends
suggests
enhances

genannten Abhängigkeiten einräumt, so ist das meines Erachtens weniger sauber 
oder klar gegliedert, als eine eindeutige Handhabung von festzulegenden 
Definitionen.

Diese setzt man dagegen bei Gentoo mittels sogenannter USE-Flags, die genau für 
diese Funktionalität dieser eben erwähnten optionalen Abhängigkeiten stehen, 
oder auch nicht und dann existiert diese Abhängigkeit und wird eingebaut, oder 
eben weggelassen - denn nur so ist das klar definiert, also wie sich das für 
mich gehört. 
Zumindest unter den Gesichtspunkten der reinen Lehre und diese sind eben klar 
und vorhersagbar und nicht von der gewählten Methode eines Distributors oder 
dessen Paketmanagers abhängig.
Das ist es, was ich bei meinem Vortrag mit der Aussage, dass nach erfolgreicher 
Kompilation unter Gentoo, alle Abhängigkeiten zwangsläufig erfüllt sind, 
versuchte zum Ausdruck zu bringen.

Wenn man auf dieser Seite hier: 
https://packages.debian.org/search?keywords=guayadeque&searchon=names&suite=all&section=all
 
auf die installierte Version seiner Debian-Installation (oldstable, stable, 
testing, unstable) geht, dann sieht man allerdings nur depends, nichts 
optionales, insofern nicht gerade ein besonders gutes Beispiel, aber ich denke 
davon finden sich genug andere.
Vielleicht handelt es sich momentan sogar noch um einen Fehler bei Debian, denn 
bis dato scheint es so zu sein, dass die 
gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly hier gar keine Auflistung 
finden, also z.Zt. noch in keiner der o.g. Versionen.

Schaut man sich den Abhängigkeitsbaum unter Gentoo an, dann sieht man, dass es 
in Version guayadeque-0.3.5 u.a. noch keine Abhängigkeit zu 
gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gegeben hat.
Diese ist hier erst mit Version-0.3.6_pre1887 eingezogen, wie im folgendem zu 
sehen:

equery g guayadeque                                                             
                                   
 * Searching for guayadeque ...                                                 
                                                     
                                                                                
                                                     
 * dependency graph for media-sound/guayadeque-0.3.5
 `--  media-sound/guayadeque-0.3.5  amd64 
   `--  dev-db/sqlite-3.8.8.3  (dev-db/sqlite) ~amd64 
   `--  dev-libs/glib-2.42.2  (dev-libs/glib) amd64 
   `--  media-libs/flac-1.3.1-r1  (media-libs/flac) amd64 
   `--  media-libs/gstreamer-0.10.36-r2  (media-libs/gstreamer) amd64 
   `--  media-libs/taglib-1.9.1-r2  (media-libs/taglib) amd64 
   `--  media-plugins/gst-plugins-soup-0.10.31-r1  
(media-plugins/gst-plugins-soup) amd64 
   `--  net-misc/curl-7.41.0  (net-misc/curl) ~amd64 
   `--  sys-apps/dbus-1.8.16  (sys-apps/dbus) amd64 
   `--  x11-libs/wxGTK-2.8.12.1-r1  (x11-libs/wxGTK) amd64  [X]
   `--  dev-libs/libindicate-12.10.1  (dev-libs/libindicate) ~amd64 
   `--  media-libs/libgpod-0.8.3  (media-libs/libgpod) amd64 
   `--  sys-devel/gettext-0.19.4  (sys-devel/gettext) ~amd64 
   `--  virtual/pkgconfig-0-r1  (virtual/pkgconfig) amd64 
   `--  dev-util/cmake-3.1.0  (dev-util/cmake) ~amd64 
   `--  sys-devel/make-4.1-r1  (sys-devel/make) ~amd64 
   `--  sys-apps/findutils-4.5.14-r1  (>=sys-apps/findutils-4.4.0) ~amd64 
[ media-sound/guayadeque-0.3.5 stats: packages (17), max depth (1) ]

 * dependency graph for media-sound/guayadeque-0.3.6_pre1887
 `--  media-sound/guayadeque-0.3.6_pre1887  ~amd64 
   `--  dev-db/sqlite-3.8.8.3  (dev-db/sqlite) ~amd64 
   `--  dev-db/wxsqlite3-3.0.6.1-r1  (dev-db/wxsqlite3) ~amd64 
   `--  dev-libs/glib-2.42.2  (dev-libs/glib) amd64 
   `--  media-libs/flac-1.3.1-r1  (media-libs/flac) amd64 
   `--  media-libs/gstreamer-0.10.36-r2  (media-libs/gstreamer) amd64  
[introspection]
   `--  media-libs/taglib-1.9.1-r2  (>=media-libs/taglib-1.6.4) amd64 
   `--  net-misc/curl-7.41.0  (net-misc/curl) ~amd64 
   `--  sys-apps/dbus-1.8.16  (sys-apps/dbus) amd64 
   `--  x11-libs/wxGTK-2.8.12.1-r1  (x11-libs/wxGTK) amd64  [X]
   `--  dev-libs/libindicate-12.10.1  (>=dev-libs/libindicate-0.7) ~amd64 
   `--  media-libs/libgpod-0.8.3  (media-libs/libgpod) amd64 
   `--  dev-perl/GStreamer-0.180.0  (dev-perl/GStreamer) amd64 
   `--  media-libs/gnonlin-0.10.17  (media-libs/gnonlin) amd64 
   `--  media-plugins/gst-plugins-alsa-0.10.36-r1  
(media-plugins/gst-plugins-alsa) amd64 
   `--  media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r3  
(media-plugins/gst-plugins-ffmpeg) ~amd64 
   `--  media-plugins/gst-plugins-gio-0.10.36-r1  
(media-plugins/gst-plugins-gio) amd64 
   `--  media-plugins/gst-plugins-gnomevfs-0.10.36-r1  
(media-plugins/gst-plugins-gnomevfs) amd64 
   `--  media-plugins/gst-plugins-libnice-0.1.10  
(media-plugins/gst-plugins-libnice) amd64 
   `--  media-plugins/gst-plugins-pulse-0.10.31-r1  
(media-plugins/gst-plugins-pulse) amd64 
   `--  media-plugins/gst-plugins-soup-0.10.31-r1  
(media-plugins/gst-plugins-soup) amd64 
   `--  media-plugins/gst-plugins-x-0.10.36-r1  (media-plugins/gst-plugins-x) 
amd64 
   `--  media-libs/gst-plugins-bad-0.10.23-r2  (media-libs/gst-plugins-bad) 
amd64 
   `--  media-libs/gst-plugins-base-0.10.36-r2  (media-libs/gst-plugins-base) 
~amd64 
   `--  media-libs/gst-plugins-good-0.10.31-r1  (media-libs/gst-plugins-good) 
amd64 
   `--  media-libs/gst-plugins-ugly-0.10.19-r1  (media-libs/gst-plugins-ugly) 
amd64 
   `--  app-arch/unzip-6.0-r3  (app-arch/unzip) amd64 
   `--  sys-devel/gettext-0.19.4  (sys-devel/gettext) ~amd64 
   `--  virtual/pkgconfig-0-r1  (virtual/pkgconfig) amd64 
   `--  sys-devel/make-4.1-r1  (sys-devel/make) ~amd64 
   `--  dev-util/cmake-3.1.0  (>=dev-util/cmake-2.8.12) ~amd64 
   `--  sys-apps/findutils-4.5.14-r1  (>=sys-apps/findutils-4.4.0) ~amd64 
[ media-sound/guayadeque-0.3.6_pre1887 stats: packages (32), max depth (1) ]

 * dependency graph for media-sound/guayadeque-0.3.7
 `--  media-sound/guayadeque-0.3.7  ~amd64 
   `--  dev-db/sqlite-3.8.8.3  (dev-db/sqlite) ~amd64 
   `--  dev-db/wxsqlite3-3.0.6.1-r1  (dev-db/wxsqlite3) ~amd64 
   `--  dev-libs/glib-2.42.2  (dev-libs/glib) amd64 
   `--  media-libs/flac-1.3.1-r1  (media-libs/flac) amd64 
   `--  media-libs/gstreamer-0.10.36-r2  (media-libs/gstreamer) amd64  
[introspection]
   `--  media-libs/taglib-1.9.1-r2  (>=media-libs/taglib-1.6.4) amd64 
   `--  net-misc/curl-7.41.0  (net-misc/curl) ~amd64 
   `--  sys-apps/dbus-1.8.16  (sys-apps/dbus) amd64 
   `--  x11-libs/wxGTK-2.8.12.1-r1  (x11-libs/wxGTK) amd64  [X]
   `--  dev-libs/libindicate-12.10.1  (>=dev-libs/libindicate-0.7) ~amd64 
   `--  media-libs/libgpod-0.8.3  (media-libs/libgpod) amd64 
   `--  dev-perl/GStreamer-0.180.0  (dev-perl/GStreamer) amd64 
   `--  media-libs/gnonlin-0.10.17  (media-libs/gnonlin) amd64 
   `--  media-plugins/gst-plugins-alsa-0.10.36-r1  
(media-plugins/gst-plugins-alsa) amd64 
   `--  media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r3  
(media-plugins/gst-plugins-ffmpeg) ~amd64 
   `--  media-plugins/gst-plugins-gio-0.10.36-r1  
(media-plugins/gst-plugins-gio) amd64 
   `--  media-plugins/gst-plugins-gnomevfs-0.10.36-r1  
(media-plugins/gst-plugins-gnomevfs) amd64 
   `--  media-plugins/gst-plugins-libnice-0.1.10  
(media-plugins/gst-plugins-libnice) amd64 
   `--  media-plugins/gst-plugins-pulse-0.10.31-r1  
(media-plugins/gst-plugins-pulse) amd64 
   `--  media-plugins/gst-plugins-soup-0.10.31-r1  
(media-plugins/gst-plugins-soup) amd64 
   `--  media-plugins/gst-plugins-x-0.10.36-r1  (media-plugins/gst-plugins-x) 
amd64 
   `--  media-libs/gst-plugins-bad-0.10.23-r2  (media-libs/gst-plugins-bad) 
amd64 
   `--  media-libs/gst-plugins-base-0.10.36-r2  (media-libs/gst-plugins-base) 
~amd64 
   `--  media-libs/gst-plugins-good-0.10.31-r1  (media-libs/gst-plugins-good) 
amd64 
   `--  media-libs/gst-plugins-ugly-0.10.19-r1  (media-libs/gst-plugins-ugly) 
amd64 
   `--  app-arch/unzip-6.0-r3  (app-arch/unzip) amd64 
   `--  sys-devel/gettext-0.19.4  (sys-devel/gettext) ~amd64 
   `--  virtual/pkgconfig-0-r1  (virtual/pkgconfig) amd64 
   `--  sys-devel/make-4.1-r1  (sys-devel/make) ~amd64 
   `--  dev-util/cmake-3.1.0  (>=dev-util/cmake-2.8.12) ~amd64 
   `--  sys-apps/findutils-4.5.14-r1  (>=sys-apps/findutils-4.4.0) ~amd64 
[ media-sound/guayadeque-0.3.7 stats: packages (32), max depth (1) ]

Womöglich haben die Debian-Paketmantainer ja vergessen, diese Abhängigkeiten in 
späteren Versionen hinzuzufügen.


Ansonsten gilt aber auch hier wieder ähnliches Bild, wie oben bereits für 
Cinelerra gezeichnet, wenn es um den Bau aus den Quellen gilt.
Davon gibt es auch hier einige Beschreibungen zur Vorgehensweise:
http://guayadeque.org/index.php?p=/page/installing 


Besten Gruß und happy reading,

Andy.

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Trolug_trolug.de mailing list
trolug@trolug.de
https://ml01.ispgateway.de/mailman/listinfo/trolug_trolug.de

Antwort per Email an