kanotix.com

Installation, Einstellungen, Systempflege - Wie backt man Pakete?

Prince-of-Maine - 24.01.2008, 14:55 Uhr
Titel: Wie backt man Pakete?
Da wir uns bereits in einem anderen Thread darüber unterhielten, will ich hier mal grundätzlich nach Links zu einer Anleitung oder nach allgemeinen Hilfestellungen fragen, wie man unter Etch Pakete erstellt.

Namentlich geht es mir um **censored**. Viele werden jetzt denken:"Na und? Ein Versionssprung nach dem Komma." Doch das wäre falsch, den das 2.4 enthält wesentliche neue Formatunterstützungen im Gegensatz zum alten 2.3. Und ich weiß leider, daß das einschlägige Repo sehr, sehr langsam bei **censored** reagiert.

Ich bin in Linux nicht so versiert, so daß ich mich mit dem Paketbauen etwas schwer tue. Und leider gibt es das Programm checkinstall nicht in Etch. Sonst wäre es einfach: ./configure, ./make, ./checkinstall.

Also: Wenn jemand eine gute deutsche Anleitung kennt, wie man Pakete wirklich sauber erstellt, so daß sie zum Beispiel nicht mit apt-get in Konflikt kommen, dann wäre das toll.
bundeskanzler4711 - 24.01.2008, 15:16 Uhr
Titel: Re: Wie backt man Pakete?
Prince-of-Maine hat folgendes geschrieben::

Sonst wäre es einfach: ./configure, ./make, ./checkinstall.

Unabhängig vom eigentlichen Thema, das mich auch sehr interessiert:

hast du schon mal
Code:
$./configure
$./make
$./make install

versucht?
Deppsche - 24.01.2008, 15:25 Uhr
Titel:
Wenn es die Paketsourcen in sid gibt, kannst du mal das probieren

Zitat:
Wenn du etwas aus Sid brauchst, wo es in Etch nicht gibt ist die einzige möglichkeiten deb-src von sid zu nehmen, sich die sourcen mit apt-get source -d paket zu holen und das ganze durch pbuilder (konfiguriert auf etch) zu jagen (also das dsc file):

pbuilder create --distribution etch --mirror http://ftp.de.debian.org/debian

Dann einfach

pbuilder build file.dsc

Das Ergebnis ist in

/var/cache/pbuilder/result/

Dies ist die optimale Variante, wie man Pakete selbst kompiliert


funktioniert allerdings nicht immer...
Prince-of-Maine - 24.01.2008, 15:33 Uhr
Titel:
Erstellt mir ./make install ein deb?

@ Deppsche

Schonmal gut, aber das eine Programm, das ich meine, kommt ja zum Beispiel aus dem Multimediarepo. Da müßte ich mir also den Quellcode besorgen und damit arbeiten.
bundeskanzler4711 - 24.01.2008, 15:53 Uhr
Titel:
nein, das installiert dir nur die lokal kompilierten Quellen in dein System, damit du das Programm nutzen kannst.

Diesen Schritt im Allgemeinen als "su" ausführen Smilie
miltonjohn - 24.01.2008, 17:58 Uhr
Titel:
im neusten linux user ist auch ein kleiner artikel darüber....
checkinstall
hieß ein app
blauweiss - 24.01.2008, 18:00 Uhr
Titel:
Prince-of-Maine, lies dir das mal durch
http://www.debian.org/doc/manuals/maint-guide/

Kurzanleitung:
Bei einem Quellcode, der einen debian Ordner enthält
dpkg-buildpackage -us -uc
(anstelle von .configure, make, make install)

Bei einem Quellcode, der keinen debian Ordner enthält
dh_make -s -n
dpkg-buildpackage -us -uc

wenn das Paket 'fakeroot' installiert ist, kannst das auch als user machen:
dpkg-buildpackage -rfakeroot -us -uc

All das erstellt dir ein installierbares debian Paket eine Verzeichnisebene höher,
falls alle Vorraussetzungen erfüllt sind.
Prince-of-Maine - 22.02.2008, 14:29 Uhr
Titel:
Super. Vielen Dank für die Lösungen.

Eine Frage zu dh_make und den Abhängigkeiten eines Pakets. Ist es besser die Abhängigkeiten in "control" als "Depends" oder "Pre-depends" einzutragen?

Und gibt es eine elegante Methode, alle nötigen Abhängigkeiten eines Pakets ohne stumpfsinniges Try and Error herauszufinden?
blauweiss - 22.02.2008, 19:48 Uhr
Titel:
Ich würd ja eher auf Build-Depends tippen.
http://debiananwenderhandbuch.de/debian ... lencontrol
Beispiel:
Build-Depends: libglib2.0-dev, libgtk2.0-dev, debhelper

Die Abhängigkeiten eines Pakets sollten eigentlich in der Datei INSTALL stehen.
makke - 22.02.2008, 21:07 Uhr
Titel:
Zu Pre-Depends und ähnlichen fragen siehe "man deb-control"
Bob23 - 23.02.2008, 15:44 Uhr
Titel:
HI hab selber mal versucht das neuere gtk+ aus sid mit pbuilder zu installieren diese hängt von der glib ab welche ich wiederum versucht hab zu installieren die wiederum von dpkg-dev abhängt welches ich erfolgreich erstellt habe aber wenn ich glib erstellen möchte kommt immer folgender
Fehler:
pbuilder-satisfydepends-dummy: Depends: dpkg-dev (>= 1.14.13) but 1.13.25 is installed.

obwohl ich die neuere Version installiert hab

pkg-config --modverion dpkg-dev bring folgenden Fehler:

Package dpkg-dev was not found in the pkg-config search path.
Perhaps you should add the directory containing `dpkg-dev.pc'
to the PKG_CONFIG_PATH environment variable
No package 'dpkg-dev' found

wie kann ich diesen Fehler beheben so dass pbuilder die neue Version als installiert erkennt?
retabell - 24.02.2008, 18:09 Uhr
Titel:
nimm pbuilder-adv
siehe auch hier
http://kanotix.com/PNphpBB2-viewtopic-t-24576.html
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007