Home / LinuxUser / 2008 / 01 / Baukasten-Lösung

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Baukasten-Lösung

Systementwicklung mit T2

Neue Pakete anlegen

Damit das T2-Build-System ein Paket einbinden kann, benötigt es einige Meta-Informationen wie Download-Ort, Checksumme, Autor, T2-Maintainer sowie eine Paketbeschreibung. Zur besseren Wartbarkeit haben die Entwickler hierfür ein Tag-basierendes Plaintext-Format gewählt (Listing 1).

Listing 1
[COPY] — T2-COPYRIGHT-NOTE-BEGIN —
[COPY] T2 SDE: package/…/exact-image/exact-image.desc
[COPY] Copyright (C) 2004 - 2007 The T2 SDE Project
[COPY] — T2-COPYRIGHT-NOTE-END —
[I] A fast imaging library including command line frontend
[T] ExactImage is a fast imaging library including a command line frontend.
[U] http://www.exactcode.de/oss/exact-image/
[A] Rene Rebe <rene@exactcode.de>
[M] Rene Rebe <rene@exactcode.de>
[C] extra/multimedia
[F] CROSS
[L] GPL
[S] Beta
[V] 0.4.1
[P] X —--5—9 500.000
[D] 3315365482 exact-image-0.4.1.tar.bz2 http://dl.exactcode.de/oss/exact-image/

Das Paketmanagement teilt die Pakete in verschiedene Rubriken auf, wobei sich die Paketbeschreibungen in einem weiteren Unterverzeichnis befinden. Der Verzeichnisname entspricht dabei stets dem offiziellen Paketnamen und wird komplett klein geschrieben.

Um ein neues Paket anzulegen, kopieren Sie am besten die Beschreibungsdatei eines ähnlichen, bestehenden Pakets in das neue Unterverzeichnis und passen sie dann für das neuen Paket an. Eine detaillierte Beschreibung der wichtigsten Tags finden Sie in der Tabelle "T2-.desc-Tags".

T2-.desc-Tags

Tag

Funktion

[COPY] beschreibt das T2-SDE-Copyright und eventuell weitere Copyright-Informationen hinsichtlich der speziellen Paketquellen. Das T2-Build-System erzeugt ihn automatisch, Sie können ihn aber auch manuell mithilfe von ./scripts/Create-CopyPatch anlegen
[I] kurze Paketbeschreibung, kann nur einmal verwendet werden
[T] detaillierte Paketbeschreibung, kann mehrfach verwendet werden.
[U] verweist auf die Homepage des Pakets, kann mehrfach verwendet werden
[A] Originalautor des Pakets (Name, E-Mail-Adresse, Funktion). Normalerweise findet sich hier nur der Hauptautor, optional jedoch bis zu vier Ersteller. Es sollte zumindest eine E-Mail-Adresse angegeben sein, um möglichst einfach Patches veröffentlichen zu können.
[M] aktuelle Informationen zum T2-Maintainer des Pakets
[C] Sortierung des Pakets; eine Liste aller möglichen Kategorien liefert die Datei misc/share/PKG-CATEGORIES
[F] optional, signalisiert Besonderheiten eines Pakets; eine Auswahlliste aller Flags liefert die Datei misc/share/PKG-FLAGS
[L] gibt Auskunft über Lizenzbestimmungen des Pakets; alle möglichen Lizenzabkürzungen liefert die Datei misc/share/REGISTER
[S] aktueller Entwicklungsstatus der Paketversion
[V] aktuelle Paketversion, optional eine Revisionsnummer
[P] Priorität im T2-Build-System. Das erste Feld signalisiert, ob das Paket übersetzt werden soll oder nicht ((in Listing 1: X=on, übersetzen). Das zweite und dritte Feld bestimmen, in welcher Stage und in welchem Build-Auftrag das Build-System das Paket übersetzen soll.
[D] Angaben zum Download des Pakets. Besteht es aus mehreren Dateien, stehen die entsprechenden Verweise mit jeweils voranstehenden [D]-Tag untereinander. Die führende Prüfsumme muss beim Anlegen des Pakets auf 0 gesetzt werden.

Nach dem Anlegen der Beschreibungsdatei starten Sie als nächstes das T2-Build-System, um die neuen Paket Informationen einzulesen. Das erledigt der Befehl

$ ./scripts/Config -old-config

Anschließend können Sie das neue Paket das erste Mal übersetzen. Dazu dient der Aufruf:

$ ./scripts/Emerge-Pkg Paketname

Während der Kompilierung erzeugt das Build-System im Verzeichnis /var/adm/cache die passende Cache-Datei mit den Informationen zu den Abhängigkeiten des Pakets. Diese Datei kopieren Sie nach der erfolgreichen Übersetzung ins neue Paket-Verzeichnis:

$ cp /var/adm/cache/Paketname
 package/graphic/Paketname/Paketname
.cache

Anschließend erzeugen Sie noch die passende Checksumme für das Paket mit dem Aufruf

$ ./scripts/Create-CkSumPatch Paketname | patch -p1

Damit haben Sie auch schon alle Arbeiten zum Einbinden der neuen Software abgeschlossen: So schnell kann man mit T2 Pakete anlegen.

Praktische Helfer

Aufruf

Funktion

./scripts/Find-Pkg Paketname oder Stichwörter sucht nach passenden Paketen
./scripts/Download Paketname lädt nur den Quelltext des genannten Pakets
./scripts/Update-Pkg Paketname_mit_neuer_Versionsnummer aktualisiert die Beschreibungsdatei

Optimierung

Viele Pakete versuchen in ihrem configure-Skript oder Makefile, das System und den Prozessor zu erkennen und würden bei der Übersetzung beispielsweise auf einem Athlon Optimierungen für die i686-Architektur verwenden, obwohl der Benutzer tatsächlich Binaries für den i486-Prozessor eines Routers erstellen möchte. Damit alle Programme mit den vom Benutzer ausgewählten Optimierungen übersetzt werden, gibt es in T2 Wrapper-Programme, welche die Kommandozeilenargumente des Compilers und die Linker-Aufrufe verändern. Sie ersetzen alle für die Optimierung relevanten Optionen durch die in der T2-Build-Umgebung ausgewählten.

T2 bietet auch Unterstützung für einige alternative C-Bibliotheken, mit denen sich Systeme mit sehr schlankem Footprint erzeugen lassen — typischerweise für eingebettete Systeme. Als Init-Systeme kennt T2 neben dem klassischen Sysvinit auch noch Minit, Runit, Upstart und einige weitere. Diese bietet durch paralleles Starten der Dienste und andere Funktionen teilweise schnellere Bootzeiten.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 121 Punkte (24 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...