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: