Fedora

C Entwicklung unter Linux - Verpackung für Debian und Fedora - xi.

C Entwicklung unter Linux - Verpackung für Debian und Fedora - xi.

Einführung

Sie sind bereits in Bezug auf die C -Programmiersprache mit. Sie haben den Vorgeschmack darauf und hatten das Gefühl, dass Sie weiter gehen und Ihre eigenen schreiben möchten. Oder helfen Sie der Community und dem Verpacken Ihrer bevorzugten Software für die Verteilung, die Sie mögen und verwenden. Unabhängig von der Situation zeigt Ihnen dieser Teil der C -Entwicklungsreihe, wie Sie Pakete für zwei der beliebtesten Verteilungen erstellen, Debian und Fedora. Wenn Sie unsere bisherigen Artikel lesen und ein solides Wissen über die Befehlszeile haben und Sie sagen können, dass Sie Ihre Distribution der Wahl kennen, sind Sie bereit.

Bevor wir weiter gehen ..

Lassen Sie uns einige Konzepte und allgemeine Ideen aus dem Weg räumen, nur damit wir sicherstellen, dass wir auf derselben Seite sind. Was wir hier skizzieren werden, ist unabhängig vom Projekt verfügbar, für das Sie sich entscheiden, für das Sie sich entscheiden, für das Sie sich verpacken (oder einen Beitrag leisten), seien Sie, NetBSD oder OpenSolaris. Die Idee ist: Sei vorsichtig. Überprüfen Sie den Code, egal ob es Ihnen gehört oder nicht, und stellen Sie sicher, dass Sie sich daran erinnern, dass möglicherweise viele Personen Ihren Code verwenden werden. Sie haben eine Verantwortung in Ihren Händen und eine ziemlich große dabei. Wenn Sie dies bezweifeln, stellen Sie die Plätze für eine Sekunde um: Ein Paketbetrieb ist bei der Inspektion von Code und etwas hinterhältiger, aber schwerer Fehler macht es auf Ihrem Computer installiert. Es ist hinterhältig, da es sich nur in bestimmten Hardware und in bestimmten Situationen manifestiert, aber es ist schwerwiegend genug, um alle in Ihrem Heimatordner befindlichen Dateien zu löschen. Sie haben zufällig genau diese Kombination aus Hardware und Chaos, da Sie vergessen haben, diese Bilder aus Ihrem Urlaub an DVD zu schreiben. Sie werden wütend, Ihre erste Reaktion ist es, ein negatives Gefühl für das Betriebssystem (oder die Verteilung) zu manifestieren. Daher verliert die Distribution in Ihrer Entscheidung, Verteilungen unmittelbar zu ändern.

Debian

In Anbetracht der hervorragenden Dokumentation von Debian können wir nicht in der Lage sein, abzudecken alle Die Dinge, die man braucht, um Entwickler zu werden. Immerhin wollten wir das nicht. Was wir wollten, ist Ihnen im Grunde zu zeigen, wie Sie von einem Tarball zu a kommen können .Deb. Ein Debian -Entwickler zu werden, nimmt viel Zeit und beinhaltet, dass Sie die Community über IRC- oder Mailinglisten, Berichterstattung und Behebung von Fehler usw., usw. helfen. Das ist also nicht Gegenstand unseres Artikel. Schauen Sie sich die Dokumentation an, die das Projekt für mehr Einblick bietet. Die Debian -Richtlinie, der Leitfaden von New Warteur und die Referenz des Entwicklers sind für den Start mehr als wichtig.

Ihr erster Stopp sollte, wie oben beschrieben, die Richtlinie sein, in der Sie sich mit der Dateisystemhierarchie, den Archiven, den Feldern in einer Steuerdatei und spezifischen Elementen in Bezug auf verschiedene Kategorien von Software kennenlernen müssen: Binaries, Bibliotheken, Quelle, Quelle, Quelle, Quelle, Quelle, Spiele, Dokumentation,… denken Sie daran, dass a .Die DEB -Datei ist nichts anderes als ein Archiv, und es besteht aus zwei Teilen: dem Steuerteil mit der Steuerdatei und den Installations-/ Deinstallationskripten sowie der Nutzlast, in der die zu installierenden Dateien bestehen. Es ist nicht so schwer, wie man denkt, es ist. Es ist eine sehr gute Idee, dass Sie a herunterladen .DEB -Datei, noch besser, wenn sie eine Software verpackt, mit der Sie vertraut sind, und nach innen schauen, um zu sehen, was was ist. [Hinweis] - Sie können die Steuerdatei verwenden, um Ihre eigenen zu erstellen, solange Sie vorsichtig sind. Lassen Sie uns als Beispiel vim nehmen. DEB -Dateien sind nichts als AR (1) -Archive, sodass sie einfach mit dem folgenden Linux -Befehl ausgepackt werden können:

 $ ar vx vim-nox_7.3.547-5_amd64.Deb 

Natürlich steht V für ausführlich und x steht für Extrakt für Extrakte. Nach diesem Vorgang sehen wir drei Dateien: Steuerung.Teer.GZ, Daten.Teer.XZ und eine kleine Textdatei namens Debian-Binary, die nichts anderes ist als eine Datei. Aber das ist vorerst kein Interesse. Das Datenarchiv ist auch nicht aus den Dateien, die in Ihrem System ausgepackt werden sollen: die binären, manuellen Seiten, Bibliotheken usw. abhängig von der Software, über die wir sprechen. Das Kontrollarchiv ist hier von größter Bedeutung. Wenn Sie es auspacken, sehen Sie die essentielle Datei mit dem Namen Control, die MD5SUMS der zu installierenden Dateien und zwei Skripte, die sich um die Probleme der Postinstallation kümmern, und die andere, die sich um Voranlauf kümmern. Da wir als Software -Beispiel Yest hatten, nehmen wir es an und sehen, wie die Steuerdatei aussehen würde. Es liegt an Ihnen, zu entscheiden, lieber Leser, wenn Sie diese beiden Skripte benötigen, und wenn ja, wie sollten sie verändert werden. Hier ist also eine Kontrolldatei, die aus Vim-NOX entnommen und für Yest geändert wurde.

Paket: Yest Quelle: Yest Version: 2.7.0.5 Architektur: AMD64 Betreuer: RARES AIOANEI INSTALIERTE SIZE: 40355 Hängt ab: libc6 (> = 2.11) schlägt vor: Bereits: yest Abschnitt: Andere Priorität: Normale Homepage: SourceForge.NET/Projects/Yest Beschreibung: Dies ist ein Befehlszeilen -Datum/-zeit -Manipulations- und Formatierungsprogramm, sehr nützlich in Skripten. Sie können Tage, Stunden und/oder Minuten einfach von einem bestimmten Datum hinzufügen oder abziehen. Unterstützt alle Datum (1) Ausgangsformate plus mehr. 

Laut gehen Sie, Leute. Glauben Sie, dass Sie noch etwas benötigen, um ein Paket zu erstellen? Überprüfen Sie, ob alle Ihre Dateien vorhanden sind, und dann können Sie eine mehr alte Schulmethode verwenden, zumal die Software klein und einfach und unzureichend ist, wenn solche Wörter vorhanden sind.

 $ dpkg -b yestdir yest.Deb 

Nun, viele Leute werden es mir sagen, und ich kann es kaum erwarten, dass dies eine alte Methode ist, Sachen zu machen und so weiter. Und sie haben Recht. Ich schlage vor, durch die zu schauen dpkg-buildpackage Manuelle Seite sowie Lintian zur Überprüfung der Qualität Ihrer .Deb und denken Sie daran, dies zu tun, bevor Sie etwas beginnen, damit Sie sicherstellen können, dass Sie alles installiert haben:

 # APT-GET Installieren Sie Build-Escial Autoconf Automake Autotools-dev dh-Make Debhelper DevScripts Fakeroot Xutils Lintian Pbuilder 

Fedora

Meiner Meinung nach erleichtert Fedora/Red Hat es den Menschen leichter, sie für sie im Vergleich zu Debian und Derivaten zu verpacken. Abgesehen davon bedeutet einfacher nicht immer besser, zumindest in der IT -Welt. Wir werden nach diesem Artikel eine fundierte Meinung abgeben, hoffen wir.

Stellen Sie erneut sicher, dass Sie alle Tools installiert haben, die durch Eingeben erfolgen können:

 # yum install @Development-Tools Fedora-Packager 

Erstellen Sie nun einen benannten Benutzer namens Makerpm, Stellen Sie sicher, dass er sich in der Scheingruppe befindet, und weisen Sie ein Passwort zu:

 # UserAdd -m -g Mock Makerpm && Passwd Makerpm 

Melden Sie sich als Benutzer an und geben Sie den Befehl aus

 $ rpmdev-setuptree 

im Heimverzeichnis. Nach dem Ausgang des Befehls sehen Sie eine neue Verzeichnisstruktur namens RPMBuild. Nehmen Sie sich etwas Zeit, um es zu untersuchen und die Zwecke jedes Verzeichnisses und die Datei herauszufinden. So wie Debian Steuerdateien verwendet, verwendet Fedora SpecFiles. Sie werden so genannt, weil sie das haben .Spezifikationserweiterung, so dass der Benutzer weiß. Wie auch immer, ich komme mir vor mir. Beginnen wir genau wie zuvor und laden wir ein Quellpaket (wieder vim, für Konsistenz) herunter, um zu sehen, wo sich befindet. Dafür muss das Yum-Utils-Paket installiert werden, das Yumdownloader bietet:

 $ yumdownloader-Source vim-verstärkt 

Um nun in ~/rpmbuild zu installieren, tippen wir tippen

 $ rpm -ivh vim -verstärkt […].src.Drehzahl 

Denken Sie daran, dass eine RPM -Datei genauso ein Archiv ist wie .Deb -Dateien sind. Der Unterschied ist das Format: Während Debian AR verwendet. Wenn Sie dies wissen, welche Methode wäre für manuelles Auspacken .Drehzahl?

Möglicherweise haben Sie festgestellt. CD dazu und erstellen Sie eine Datei mit VIM oder EMACS, einer Datei namens Yest.Spezifikation. Sie werden angenehm überrascht sein, dass diese beiden Redakteure von Fedora so geändert werden .Spezifikationserweiterung), sodass Sie nur die Lücken ausfüllen können. Jetzt basiert Ihre Aufgabe auf der obigen Kontrolldatei und Ihrem bisherigen Wissen, um eine vollständige Spezifil für Yest zu schreiben und natürlich eine Drehzahl daraus zu erstellen. Das Fedora Wiki hat eine detaillierte Erklärung in jedem Abschnitt eines Specfile. Bitte lesen Sie es. Wir helfen Ihnen nur beim tatsächlichen Gebäude und Überprüfung des Pakets. Kurz gesagt, verwenden Sie Yest.Spezifische Spezifikation als Argument für RPMLint, um die Einhaltung der Fedora -Verpackungsrichtlinien durch die Datei zu überprüfen, und dann, wenn sich alles in Ordnung erweist, und nach dem Lesen des RPMBuild -Handbuchs so etwas wie diese:

 $ rpmbuild -ba yest.Spezifikation 

Die Optionen für RPMBuild stehen für „All Build All“, aber Sie können auch nur das Quellpaket mit -b erstellen. Denken Sie daran, dass Mock und Koji zwei sehr hilfreiche Werkzeuge sind, und denken Sie auch daran, dass RPMLINT Ihr Ticket für Qualitätsspeakfiles ist.

Abschluss

Eine Sache, an die Sie sich erinnern sollten, ist, ob Sie die Software, die Sie verpackt oder nicht, erstellt haben, die Instandnehmerschaft ist sehr wichtig, manchmal noch wichtiger als der Akt der Schöpfung selbst. Stellen Sie also sicher, dass Sie wissen, welche Verantwortung Sie übernehmen: Wenn Sie nicht bereit sind, Zeit zu spenden. Wir hoffen, Sie haben unsere kleine Tour durch Linux -Verpackung genossen.

Alle Artikel in dieser Serie:

Thecus NTOP 10TOP 10 Eingibt eine Redboot Boot Loader -Befehlsschnittstelle
Wenn Sie einen TheCus 2100 Nas -Speicher besitzen und sich von einem Softwareunfall wiederherstellen müssen, haben Sie zwei Optionen. Einer besteht da...
Linux Mediatomb Installation und Setup für PS3
Dieser Artikel beschreibt kurz eine Installation von Mediatomb Media Server auf Linux Debian / Ubuntu -System und schnelles Setup für PlayStation 3 -S...
Top 101 Howto Beginnen Sie mit OpenCV und Computer Vision unter Ubuntu Linux
Vor kurzem war ich versucht, einen Blick auf das OpenCV -Projekt und das Buch „Learning OpenCV“ von OpenCV und Oreills zu werfen. Dies ist ein großart...