Re: java/diablo-jdk15 oder java/jdk15

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 21 Apr 2006 19:44:18 +0200 (CEST)

Heino Tiedemann <rotkaps_spam_trap(at)gmx.de> wrote:
> Oliver Fromme <olli(at)lurza.secnetix.de> wrote:
> > Rate doch mal, wie die Binär-Packages erstellt werden ...
> > cd /usr/ports/foo/bar; make package
>
> In diesem Fall - java/diablo-jdk15 - gibt es ja nur Binäre. Das
> heisst, mit "make package" wurde das erzeugt, und mit "make install"
> wird das installiert.
>
> Irgendwie eine Henne-Ei Problem. Was war denn zuerst da?

Nein, kein Henne-Ei-Problem. Du mußt zwischen dem Package,
das der vendor bereitstellt, und dem FreeBSD-Package unter-
scheiden. Es gibt folgenden Ablauf:

1. Es gibt ein Vendor-Package. FreeBSD nennt die Teile
    auch »Distfiles«. Da können Sourcen drin sein (bei
    Open-source) oder Binärdateien (bei Closed-source).
    Wenn letzteres der Fall ist, hat der Vendor sie com-
    piliert (der hat ja als einziger die Sourcen). Bei
    so einem Vendor-Package funktioniert natürlich kein
    pkg_add.

2. Die Ports-Collection nimmt das Distfile, prüft die
    Dependencies und den ganzen Krempel, und installiert
    die Software. Wenn in dem Distfile Sourcecode drin
    ist, wird er natürlich vorher compiliert. Wenn nicht,
    dann halt nicht; das ändert aber nichts am sonstigen
    Ablauf.

3. Das FreeBSD-Binär-Package wird aus den Installations-
    daten aus Punkt 2. erzeugt. Diese kann man dann auf
    beliebigen Rechnern mit pkg_add installieren. Resultat
    ist dasselbe wie ein »make install« aus Punkt 2.

Neben den genannten Fällen gibt es auch noch andere. Es
gibt z.B. Ports, die weder Sourcecode noch Binärprogramme
enthalten, sondern beispielsweise Nutzdaten (z.B. Wörter-
bücher oder Schriften) oder Skripte. Auch in solchen
Fällen muß natürlich nichts compiliert werden, sondern
die Sachen werden einfach so installiert.

> > Ohne Port gibt es kein Package, egal ob es für die Soft-
> > ware Sourcen gibt, die compiliert werden können, oder ob
> > es Closed-Source ist.
>
> Nur um was zu lernen: Woraus wird es denn gebaut, wenn keine Quellen
> da sind?

Das Vendor-Package baut der Vendor (Hersteller). Der hat
natürlich die Quellen seiner eigenen Software.

> > 1. host-a# cd /usr/ports/foo/bar
> > host-a# make install
> >
> > 2. host-b# cd /usr/ports/foo/bar
> > host-b# make package
> > ... Package bar-1.0.tbz auf Server hochladen ...
> > ... Package bar-1.0.tbz von Server runterladen ...
> > host-c# pkg_add bar-1.0.tgz
>
> Siehe oben, ich würde gerne wissen, was zuerst da war. Irgendwie habe
> ich Vorstellungsschwierugkeiten, bei einem Port ohne Quellcode die
> Entstehung nachzu vollziehen.

Ich habe Schwierigkeiten, mir Dein Problem vorzustellen.
:-)

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"C is quirky, flawed, and an enormous success."
        -- Dennis M. Ritchie.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 21 Apr 2006 - 19:45:28 CEST

search this site