Weiter geht's. Hat ja keiner behauptet, dass es in drei Sätzen ohne jegliche Erklärung erklärt ist.
Die nächsten 20000 Zeilen warten - LOL.
...(2.4)...
Versuchen wir folgende Anweisung (pkgmk-Zeile):
sypho% cd $HOME
sypho% pwd
/home/schaarst
sypho% pkgmk -o -d /home/schaarst -f InfoFiles/prototype -r /opt/gnu GNUccomp
## pkgmap wird erzeugt aus Package-Prototypdatei.
## pkginfo-Datei wird verarbeitet.
WARNUNG: Parameter <CLASSES> gesetzt auf "none"
## Versuche 65 Einträge in pkgmap als Volume-Datenmenge abzulegen.Teil 1 -- 18471 Blöcke, 62 Einträge
## Packaging eines Teils.
/home/schaarst/GNUccomp/pkgmap
/home/schaarst/GNUccomp/pkginfo
/home/schaarst/GNUccomp/reloc/bin/cpp
/home/schaarst/GNUccomp/reloc/bin/gcc
/home/schaarst/GNUccomp/reloc/bin/gcov
/home/schaarst/GNUccomp/reloc/bin/protoize
/home/schaarst/GNUccomp/reloc/bin/unprotoize
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/SYSCALLS.c.X
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cc1
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/collect2
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cpp0
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crt1.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtbegin.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtend.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crti.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtn.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gcrt1.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gmon.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/README
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/assert.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/curses.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/fixed
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/iso646.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/limits.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/math.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/proto.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdarg.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdbool.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stddef.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/sys/stream.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/syslimits.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-alpha.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-arc.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-c4x.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-clipper.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-h8300.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i860.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i960.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m32r.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m88k.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mips.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10200.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10300.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pa.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-ppc.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pyr.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sh.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sparc.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-spur.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-v850.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/varargs.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/libgcc.a
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/specs
/home/schaarst/GNUccomp/reloc/lib/libiberty.a
/home/schaarst/GNUccomp/reloc/man/man1/cccp.1
/home/schaarst/GNUccomp/reloc/man/man1/gcc.1
## Steuerungs-Skripts werden überprüft.
## Packaging beendet.
sypho% ls -f $HOME/GNUccomp
pkginfo pkgmap reloc
sypho% ls $HOME/GNUccomp/reloc
bin lib man
Siehe da - alles da, alles drin, alles gut. Es scheint funktioniert haben.
Die Anweisung im Detail:
- "pkgmk" -> Kommando zum Erzeugen eines Paketes
- "-o" -> Option "overwrite", überschreibt vorhandenes Paket sofern vorhanden
- "-d /home/schaarst" -> Option "device", Pfad wo das Paket erstellt werden soll; ohne Angabe wird /var/spool/pkg angenommen.
- "-f InfoFiles/prototype" -> Option "file", benennt eine Datei die als prototype-Datei dienen soll; ohne die Verwendung der Option "-f" muss die prototype-Datei "prototype" lauten und sich im Verzeichnis befinden, von dem das Kommando pkgmk aufgerufen wird.
- "-r /opt/gnu" -> Option "rootpath", stellt die Bedingung, dass der übergebene absolute/relative Pfad genutzt wird, um Paketobjekte zu finden.
- "GNUccomp" -> Name einer Paketinstanz, die in der Datei pkginfo mit dem Parameter "PKG" definiet wurde.
2.5 Verifikation des erzeugten PaketesZum Testen des im Verzeichnis-Format vorliegenden, erzeugten Paketes können die Kommandos /usr/
sbin/pkgchk, /usr/bin/pkginfo und /usr/bin/pkgparam genutzt werden. Auch eine Installation unter Einsatz des Kommandos
pkgadd ist möglich.
Nutzung des Kommandos /usr/sbin/
pkgchk:
sypho% pwd
/home/schaarst
sypho% /usr/sbin/pkgchk -v -d . GNUccomp
Nicht installiertes Verzeichnis-Format-Package <GNUccomp> aus </export/home/schaarst> wird geprüft
## Steuerungs-Skripts werden geprüft.
## Package-Objekte werden geprüft.
bin/cpp
bin/gcc
bin/gcov
bin/protoize
bin/unprotoize
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/SYSCALLS.c.X
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cc1
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/collect2
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cpp0
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crt1.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtbegin.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtend.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crti.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtn.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gcrt1.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gmon.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/README
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/assert.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/curses.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/fixed
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/iso646.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/limits.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/math.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/proto.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdarg.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdbool.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stddef.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/sys/stream.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/syslimits.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-alpha.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-arc.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-c4x.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-clipper.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-h8300.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i860.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i960.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m32r.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m88k.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mips.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10200.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10300.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pa.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-ppc.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pyr.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sh.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sparc.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-spur.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-v850.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/varargs.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/libgcc.a
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/specs
lib/libiberty.a
man/man1/cccp.1
man/man1/gcc.1
pkginfo
## Prüfung beendet.
sypho%
Alles in Ordnung.
Nutzung des Kommandos /usr/bin/
pkginfo:
%sypho pwd
/home/schaarst/
sypho% pkginfo -d . GNUccomp
application GNUccomp GNU C Compiler (created on Solaris 2.5.1)
sypho%
Interessant.
Nutzung des Kommandos /usr/bin/
pkgparam:
%sypho pwd
/home/schaarst/
sypho% pkgparam -v -d . GNUccomp VERSION ARCH DESC PSTAMP
VERSION="2.95.3"
ARCH="sparc"
DESC="GNU C Compiler for program development on the Solaris 2.5.1 Operating Environment and compatible operating systems on SPARC V8 platforms."
PSTAMP="escimo for sonnenblen.de"
sypho%
Wer ist escimo, was ist sonnenblen.de?
2.6 Transfer des Paketes auf ein DistributionsmediumSchließlich wollen wir das Paket auch anderen Interessenten zugänglich machen. Jetzt haben wir zwei Möglichkeiten:
- das aktuelle Paket im Verzeichnisformat in eine Datei mit dem Kommando tar archivieren und anschließend mit einem Kompressionsprogramm wie compress packen, oder...
- man transferiert das Paket mit dem Kommando pkgtrans in einen Ausgabestrom auf ein Distributionsmedium (Tape, Diskette, Datei).
In Ordnung, wir nehmen das Kommando pkgtrans und übertragen das Paket als Daten-Strom (data stream) in eine Datei.
Folgende Übersetzungen können mit dem Kommando
pkgtrans an einem installierbaren Paket durchgeführt werden:
- Dateisystem-Format (Verzeichnis-Format) in ein Datenstrom-Format
- Datenstrom-Format in ein Dateisystem-Format
- verfügbares Dateisystem-Format in ein anderes Dateisystem-Format (Tape)
Nutzung des Kommandos /usr/bin/
pkgtrans:
sypho% cd $HOME
sypho% pwd
/home/schaarst
sypho% ls GNUc*
GNUccomp
sypho% pkgtrans -o -s . GNUccomp_2.95.3 GNUccomp
Transferring <GNUccomp> package instance.
sypho%
Erledigt. Besser wäre allerdings ein Paketname wie "GNUccomp2.95.3-solaris2.5.1-sparc" gewesen, was aber kein Problem ist, wie die Anweisung im Detail zeigt:
- "pkgtrans" -> Kommando zum transferieren und übersetzen eines bereits installierbaren Paketes.
- "-o" -> Option "overwrite" ersetzt evlt. vorhandenes Datenstrom-Paket (Datei)
- "-s" -> Option "stream" wandelt das Verzeichnis-Format des Paketes in ein Datenstrom-Format um.
- "." -> aktuelles Gerät/Verzeichnis in dem das Paket existiert.
- "GNUccomp_2.95.3" -> Name des Paketes im Datenstrom-Format; kann auch "GNUccomp2.95.3-solaris2.5.1-sparc" heißen
- "GNUccomp" -> Name der zu verarbeitenden Paketinstanz, die im Paket definiert ist
Jezt sollte man das Paket noch etwas "quetschen" auch komprimieren genannt. Das kann man ganz einfach mit dem Kommando compress erledigen. Wer lieber GZIP oder BZIP2 nutzen möchte, auch kein Problem:
sypho% s -l ./GNUccomp_2.95.3
-rw-r--r-- 1 schaarst users 9318400 Aug 17 16:57 GNUccomp_2.95.3
sypho% compress -f ./GNUccomp_2.95.3
sypho% ls -l ./GNUccomp_2.95.3.Z
-rw-r--r-- 1 schaarst users 4024344 Aug 17 17:00 GNUccomp_2.95.3.Z
sypho%
3 Installation/Deinstallation des erstellten Compiler-Paketes...Das kann ja wohl wieder jeder, oder?
Das war es dann.
Wir sind durch. So jetzt habe ich mir mein Mittagessen redlich verdient. - Hunger!
Es würde mich auch sehr interessieren, wer diese "kurze" Dokumentation als nützlich empfand.
Grüße und bis demnächst.
escimo