[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: beim Paketbau auf man 7 undocumented verweisen



Am Freitag, den 23.11.2007, 17:58 +0100 schrieb Sebastian Dellit: 
> am Donnerstag, 22. November 2007 um 15:40 meinte Daniel Leidert u. a.:
> > Am Donnerstag, den 22.11.2007, 14:39 +0100 schrieb Sebastian Dellit:
> >> > Das
> >> > debhelper-Skript tut, was du möchtest.
> >> 
> >> Leider kann ich dir im Moment nicht folgen. :-(
> 
> > Es tat früher, was du willst. Alternativ (aber wie gesagt: die Symlinks
> > sollten nicht mehr angelegt werden) kannst du dh_link(7) verwenden, um
                                                          ^s/7/1
> > den Symlink zu erstellen.
> 
> Irgendwie hört sich das einfacher an, als es ist. :-( Ich habs nun
> mehrere Male probiert, jedoch will es nicht klappen. Aus der manpage
> zu dh_link lese ich, das man entweder die Links direkt erstellt, oder
> eine Datei debian/package.links anlegt, in der quelle und ziel
> eingetragen werden. Bei beiden Varianten wird jedoch im .deb kein
> Verz. man angelegt. :-( Ich mache also noch irgendwas falsch. In der
> datei package.links habe ich es zum einen mit:
> 
> dh_link usr/share/man/man7/undocumented.7.gz usr/share/man/man3/libsockets-dev.3.gz

Nein. Der Aufruf gehört nach debian/rules (binary-indep oder binary-arch
Ziel):

binary-arch:
	[..]
	dh_link -p$(PACKAGE) usr/share/man/man7/undocumented.7.gz \ 
	                     usr/share/man/man3/libsockets-dev.3.gz

Der Syntax von Ursprung und Ziel entspricht dann genau ...

> und zum anderen mit:
> 
> usr/share/man/man7/undocumented.7.gz usr/share/man/man3/libsockets-dev.3.gz

... diesem in .links-Dateien. Existiert die Datei, dann reicht ein
dh_links-Aufruf ohne Argumente in debian/rules.

Aber auch hier ist noch ein kleiner Fehler: Wenn du einen Symlink für
eine Manpage in Sektion 3 erstellst, dann musst/solltest du auch auf
undocumented(3) verweisen, und nicht auf undocumented(7):

usr/share/man/man3/undocumented.3.gz usr/share/man/man3/libsockets-dev.3.gz

> probiert. Es hat jedoch nichts geholfen. Wenn ich im Hauptverz. von
> dem Paket:
> 
> # dh_link usr/share/man/man7/undocumented.7.gz usr/share/man/man3/libsockets-dev.3.gz
> 
> eintippe, so wird mir unter debian ein Ordner libsockets-dev angelegt,
> welcher dann usr/share/man/man3/libsockets-dev.3.gz enthält.

Das ist das erwartete Ergebnis.

> Aber auch das wurde nicht ins .deb übernommen.

Welches Kompatibilitätslevel (debian/compat) verwendest du denn? In 4
und 5 werden die Paketdateien unter debian/$(paket) erwartet. In diesem
Fall sollte also das libsockets-dev-Paket den Symlink enthalten. Baust
du das Paket in irgendeinem anderen Verzeichnis? Evtl. debian/tmp?

Könntest du die Paketdateien vielleicht einfach mal auf irgendeinen
Webspace laden? Dann fällt das Raten leichter :)

[..]
> > [..]
> >> Und wo trägt man beim Paketbau die manpages ein? Wenn debian/docs für
> >> /usr/share/doc zuständig ist, ist aber eine Datei debian/man nicht
> >> zufällig für /usr/share/man zuständig? ;-)
> 
> > Fast. Die Datei heißt debian/manpages oder debian/${paket}.manpages:
> > dh_installman(7).
> 
> Ich habe auch die Datei mal angelegt. Er scheint sie beim bau auch zu
> lesen, jedobh bringt er mir immer den Fehler, das die Datei nicht
> gefunden werden kann (also das, was in der Datei erwähnt wird).

Die Datei enthält existierende manpages (z.B. debian/foo.1, eine für
Debian geschriebene Manpage, weil das Original z.B. noch keine hat).
dh_installman(1) kümmert sich jetzt darum, die Datei debian/foo.1 in das
passende Verzeichnis zu kopieren - das muss man also nicht selbst mit
dh_install oder install machen.

In deinem Fall geht es ja aber - soweit ich dich verstehe - darum, dass
du eben keine Manpage hast. Dann kann dh_installman natürlich auch
nichts kopieren.

> Tja, was ist nun richtig, die Datei package.links, oder manpages?
> *verwirrt* :-)

Je nachdem, was du tun willst. dh_links erstellt Links und dh_installman
kümmert sich um (existierende) Manpages.

MfG Daniel



Reply to: