Mein erstes .deb: Jede Menge Fehler von lintian

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
xljgr
Beiträge: 2
Registriert: 25.03.2006 20:02:35
Kontaktdaten:

Mein erstes .deb: Jede Menge Fehler von lintian

Beitrag von xljgr » 25.03.2006 20:58:29

Hallo,
ich bin gerade dabei, mein erstes .deb zu packen und zwar den mdnsresponder von Apple.
Das ist ein Daemon, der auf Anfragen im Netz antwortet.

Ich hab mich an verschiedene Tutorials im Netz gehalten und es ist auch bissel was rausgekommen: Ich hab mir einen Ordner angelegt, wo folgende Dateien drinn sind:

Code: Alles auswählen

DEBIAN/conffiles
DEBIAN/control
DEBIAN/postinst
DEBIAN/postrm
usr/sbin/mDNSResponder
usr/share/doc/mdnsresponder/changelog.gz
usr/share/doc/mdnsresponder/changelog.Debian.gz
usr/share/doc/mdnsresponder/copyright
etc/mdnsresponder.conf
etc/init.d/mdnsresponder
Das Paket baue ich nun mit dpkg-deb --build <diesesdir>

Anschließend prüfe ich das Paket mit lintian und es gibt eine Reihe von Meldungen:

Code: Alles auswählen

W: mdnsresponder: binary-without-manpage mDNSResponderPosix
E: mdnsresponder: file-in-etc-not-marked-as-conffile /etc/init.d/mdnsresponder
E: mdnsresponder: postrm-contains-additional-updaterc.d-calls /etc/init.d/mdnsresponder
W: mdnsresponder: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/mdnsresponder
W: mdnsresponder: syntax-error-in-debian-changelog line 4 "found eof where expected first heading"
W: mdnsresponder: unknown-section network
Mit der ersten Meldung bin ich noch einverstanden: Es gibt keine Manpage
Zweite Meldung: Für mich ist besagtes Startupskript kein Configfile. Sieht das jemand anders?
Dritte Meldung: Die Datei postrm sieht so aus:
#!/bin/sh -e
if [ $1 = purge ]
then
if [ -x /usr/sbin/update-rc.d ]
then
/usr/sbin/update-rc.d -f mdnsresponder remove >/dev/null
fi
fi
Ich wüsste nicht, wie ich das Kontrollskript schöner deinstallieren könnte.

Meldung 4: Das Skript registriere ich in postinst dachte ich:
#!/bin/bash

if [ "$1" = "configure" ]
then
if [ -x /usr/sbin/update-rc.d ]
then
/usr/sbin/update-rc.d mdnsresponder start 99 S . stop 32 0 . stop 32 6 .
fi
fi
Fragt mich nicht, warum die beiden Token rechts und links des Gleichheitszeichens in Anführungsstrichen sind, hier hab ich das her:
http://www.martin-bock.de/pc/pc-0101.html

Meldung 5: Offenbar hat der Changelog ein besonderes Format, schau ich mir nochmal an
Meldung 6: Network soll es nicht geben?

Ich hoffe, jemand kann mir helfen, diese Fehler etwas einzudämmen, ich will doch ein schönes Paket bauen

Vielen Dank

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Re: Mein erstes .deb: Jede Menge Fehler von lintian

Beitrag von godsmacker » 25.03.2006 21:12:14

W: mdnsresponder: binary-without-manpage mDNSResponderPosix
Selbsterklaerend.
E: mdnsresponder: file-in-etc-not-marked-as-conffile /etc/init.d/mdnsresponder
Baue lieber ein richtiges source Paket, welches debhelper verwendet. Damit kann man conffiles automatisch markieren lassen.
E: mdnsresponder: postrm-contains-additional-updaterc.d-calls /etc/init.d/mdnsresponder
Was sagt lintian -i dazu?
W: mdnsresponder: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/mdnsresponder
Ich maintaine keine daemons, von daher habe ich sowas noch nicht gesehen. lintian -i sagt Dir bestimmt mehr.
W: mdnsresponder: syntax-error-in-debian-changelog line 4 "found eof where expected first heading"
debian/changelog editiert man mit /usr/bin/dch
W: mdnsresponder: unknown-section network
Gibt's nicht. Die section heisst 'net'.

-Flo

Benutzeravatar
bse
Beiträge: 468
Registriert: 19.03.2006 19:58:00
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von bse » 25.03.2006 21:52:35

Baue lieber ein richtiges source Paket
Das war auch mein erster Gedanke! Anleitung dazu gibts hier: http://www.debian.org/doc/manuals/maint-guide/

xljgr
Beiträge: 2
Registriert: 25.03.2006 20:02:35
Kontaktdaten:

Re: Mein erstes .deb: Jede Menge Fehler von lintian

Beitrag von xljgr » 26.03.2006 13:08:25

godsmacker hat geschrieben: Baue lieber ein richtiges source Paket, welches debhelper verwendet. Damit kann man conffiles automatisch markieren lassen.
Das scheint mir aber wesentlich aufwendiger zu sein. Ich wollte schon Fr. abend das Paket fertig haben.
godsmacker hat geschrieben:
E: mdnsresponder: postrm-contains-additional-updaterc.d-calls /etc/init.d/mdnsresponder
Was sagt lintian -i dazu?
Folgendes:

Code: Alles auswählen

E: mdnsresponder: postrm-contains-additional-updaterc.d-calls /etc/init.d/mdnsresponder
N:
N:   The postrm de-registers an /etc/init.d script which has not been
N:   registered in the postinst script before.
godsmacker hat geschrieben:
W: mdnsresponder: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/mdnsresponder
Ich maintaine keine daemons, von daher habe ich sowas noch nicht gesehen. lintian -i sagt Dir bestimmt mehr.
Naja:

Code: Alles auswählen

W: mdnsresponder: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/mdnsresponder
N:
N:   The package installs an /etc/init.d script which is not registered in
N:   the postinst script. This is usually a bug, unless you omit the links
N:   intentionally for some reason or create the links some other way.
godsmacker hat geschrieben:debian/changelog editiert man mit /usr/bin/dch
Woher nehme ich dieses Tool?

Immerhin die Warnung wegen der Section ist schonmal verschwunden.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 26.03.2006 14:28:58

Code: Alles auswählen

aptitude install devscripts
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten