# Calibre Installation

## Dr. Ames

Hallo,

beim Versuch das ebook Verwaltungs- und Leseprogramm "Calibre" zu installieren, stoße ich auf einige "Dinge", die mich als Anfänger bedenklich stimmen. Wenn ich das Programm über emerge suche, zeigt es mir die aktuelle Version 8.30 an, möchte aber, dass ich ungefähr 3 Dutzend USE-Flags setze und die Keyword Maskierung "~64AMD" entferne. Wie das alles geht, würde ich über die Portage-Doku sicherlich noch herausbekommen. Macht das aber überhaupt Sinn, so etwas zu tun? Auf der Calibre Seite selbst gibt es ein schmuckes Installationsscript "python -c "import urllib2; exec urllib2.urlopen('http://status.calibre-ebook.com/linux_installer').read(); main()"", das die Installation wohl für so gut wie jede Linux-Distro durchführt - wenn auch am Paket-Manager vorbei.

Ist es sinnvoll, dass einfache Script laufen zu lassen oder muss man auch für ein einzelnes Programm wie Calibre so viele Einstellungen vornehmen, um den "offiziellen" Weg nicht verlassen zu müssen.

----------

## franzf

1) Niemals nicht Programme an Portage vorbei nach /usr/ installieren! Das macht nur Probleme. Irgendwann kommt es immer zu einem Konflikt, der dann ganz schwer zu finden ist. Wenn du das auch in dein $HOME installieren kannst, ist es eine andere Sache. Ein kleines Startscript und alles sollte passen - mach es aber besser über portage.

2) Wenn portage sagt "Das Programm XYZ brauch Abhängigkeit ABC in Version a.b.c mit den USE-Flags U1, U2, U3, dann kannst du davon ausgehen, dass das auch wirklich von XYZ so benötigt wird. Durch händisches Installieren (an portage vorbei) wirst du die Anpassung der Abhängigkeiten nicht umgehen können.

Deshalb:

* passe die USE-Flags der Abhängigkeiten an

* demaskiere Abhängigkeiten wie verlangt.

USE-Flags setzt man in /etc/portage/package.use (klick), demaskieren in /etc/portage/package.accept_keywords (hier, Punkt 3.b).

Seit einiger Zeit können das auch Verzeichnisse sein, so dass du übersichtlicher arbeiten kannst.

Z.B. kannst du die Demaskierung von calibre in /etc/portage/package.accept_keywords/app-text vornehmen.

----------

## Dr. Ames

Ja, vielen Dank, soweit verstanden. Aber wenn ich Calibre selbst jetzt installieren könnte, was mache ich mit den ganzen zusätzlich benötigten Paketen. Muss ich jetzt jedes einzelne in die "package.use" eintragen,

mit den entsprechenden + und - Flags? Das sind die Abhängigkeiten für Calibre - ist eine recht lange Liste!

ebuild  N     ] app-arch/cabextract-1.4  USE="-extra-tools" 

[ebuild  N     ] dev-python/beautifulsoup-3.2.0 

[ebuild  N     ] dev-python/python-dateutil-1.5  USE="-examples" 

[ebuild  N     ] dev-python/mechanize-0.2.5 

[ebuild  N     ] dev-libs/chmlib-0.40-r1  USE="examples -static-libs" 

[ebuild  N     ] dev-python/cssutils-0.9.7  USE="-test" 

[ebuild  N     ] media-fonts/ttf-bitstream-vera-1.10-r3  USE="X" 

[ebuild  N     ] dev-python/pycrypto-2.3  USE="gmp -doc" 

[ebuild  N     ] media-fonts/corefonts-1-r4  USE="X" 

[ebuild  N     ] dev-lang/lua-5.1.4-r4  USE="deprecated readline -emacs -static" 

[ebuild  N     ] dev-python/imaging-1.1.7  USE="X -doc -examples -scanner -tk" 

[ebuild  N     ] app-text/podofo-0.9.1  USE="boost -debug -test" 

[ebuild  N     ] dev-python/lxml-2.3.1  USE="threads -doc -examples" 

[ebuild  N     ] media-libs/libwmf-0.2.8.4-r4  USE="X xml -debug -doc -expat" 

[ebuild  N     ] dev-python/dnspython-1.9.4  USE="-examples" 

[ebuild  NS    ] media-libs/lcms-2.2-r1 [1.19] USE="jpeg tiff zlib -doc -static-libs -test" 

[ebuild  N     ] media-gfx/imagemagick-6.7.1.0  USE="X bzip2 corefonts cxx jpeg lcms openmp png svg tiff truetype xml zlib -autotrace -djvu -fftw -fontconfig -fpx -graphviz -gs -hdri -jbig -jpeg2k -lqr -lzma -opencl -openexr -perl -q32 -q64 -q8 -raw -static-libs -webp -wmf" 

[ebuild  N     ] dev-python/reportlab-2.5  USE="-doc -examples -test" 

[ebuild  N    ~] app-text/calibre-0.8.30  USE="udisks"

----------

## franzf

Das ist nur die Auflistung, mit welchen Flags die Programme installiert werden. Du musst gar nichts mehr eintragen, einfach installieren  :Smile: 

portage installiert ja selber alle Abhängigkeiten, du musst auch nichts separat installieren.

----------

## Dr. Ames

Danke für die schnelle Antwort - dann bekomme ich Calibre ja doch noch zum Laufen. Eine letzte Frage zu dem Themenkomplex hätte ich allerdings noch. Ich würde auch gerne den originalen "Google-Chrome" installieren. Das Keyword Demaskieren ist mir jetzt klar. Aber wenn ich über "emerge -s google-chrome" das Paket suche oder die Installation über "emerge google-chrome" starte, sehe ich nur die allerneueste Alpha-Version des Developer Zweiges "17.0.963.2_alpha113542". Wie kann ich die Beta Version "16.0.912.63" über emerge finden und emerge "dazu bringen" mir nur noch die Updates für diese Version anzuzeigen.

----------

## franzf

Um alle Pakete sehen zu können, bietet sich eix an (emerge eix).

Man kann bei den ganzen Konfigurationsdateien in /etc/portage auch Versionsangaben machen (wie übrigens auch direkt beim Installieren).

man emerge (Punkt "atom") leitet dich weiter nach man 5 ebuild, alles wissenswerte steht dann unter "DEPEND/DEPEND Atoms" (alle Absätze da durchlesen).

----------

## Dr. Ames

Hallo,

ich habe jetzt etwas "herumexperimentiert" - aber noch folgendes Problem:

In der Datei "package.accept_keywords " hatte ich den Eintrag "=app-text/calibre-0.8.30 ~amd64" gesetzt und Calibre 0.8.30 installieren können. Heute ist Calibre 0.8.31 erschienen. Ich bekam diese Version mit "emerge -u calibre" erst installiert, als ich den Eintrag in der package.ac... auf "=app-text/calibre-0.8.31 ~amd64" verändert hatte. Das muss doch auch eleganter gehen. Soweit ich weiß, funktioniert ein Eintrag "=app-text/calibre-* ~amd64"  nicht.

----------

## Josef.95

Wenn du wirklich die neusten testing Versionen demaskieren möchtest, dann lasse einfach die Versions-Angabe (die Beschränkung auf bestimmte Versionen)  weg,

also schlicht und einfach 

```
app-text/calibre
```

----------

## Dr. Ames

Danke für die Antwort - aber wenn ich in der "package.accept_keywords" den Eintrag "=app-text/calibre ~amd64" eingebe, beschwert sich emerge über fehlerhaftes Atom.

----------

## Finswimmer

Deswegen lässt du jegliche Versionangabe weg.

(Das = beschränkt das Demaskieren auf die exakte Version)

----------

## Dr. Ames

Danke - verstanden!

----------

