Programm nach "checkinstall" nicht vorhanden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Radicula
Beiträge: 9
Registriert: 21.12.2005 20:53:45
Wohnort: Minga

Programm nach "checkinstall" nicht vorhanden

Beitrag von Radicula » 09.03.2013 14:06:11

Hallo,

ich habe die Debian Quellen zu "uswsusp" heruntergeladen, gepatcht und mit "configure" und "make" das Paket gebaut (beide wurden nach einiger Mühe nicht mehr mit Fehlermeldungen abgebrochen, ich gehe also davon aus dass sie fehlerfrei durchgelaufen sind). Anschließend habe ich "checkinstall" verwendet um das Paket zu installieren.

Allerdings finde ich die Programme (bspw. s2disk), die in dem Paket vorhanden sein sollten, nicht.
Vorher waren die Binaries noch installiert (bspw. /usr/sbin/s2disk).
s2disk gehört definitiv zum Paket uswsusp:

apt-file search s2disk

Code: Alles auswählen

uswsusp: /usr/sbin/s2disk
uswsusp-1.0+20110509# checkinstall

Code: Alles auswählen

[...]

Copying documentation directory...
./
./AUTHORS
./COPYING
./README.encryption
./doc/
./doc/Makefile
./doc/installation-on-SUSE-10.1.txt
./doc/Makefile.in
./doc/Makefile.am
./COPYING.GPL
./ChangeLog
./README.s2ram-whitelist
./README

Kopiere Dateien in das temporäre Verzeichnis...OK
Stripping ELF binaries and libraries...OK
Komprimiere man-Seiten...OK
Erzeuge Datei-Liste...OK
Erstelle Debian-Paket...OK
Installiere Debian-Paket...OK
Lösche temporäre Dateien...OK
Lösche temporäres Verzeichnis...OK

**********************************************************************

 Done. The new package has been installed and saved to

 /home/xxx/uswsusp-1.0+20110509/uswsusp_1.0+20110509-1_i386.deb

 You can remove it from your system anytime using: 

      dpkg -r uswsusp

**********************************************************************
Ich weiß nicht wo das Problem liegt...hab' ich was übersehen?

Update:
dpkg -c uswsusp_1.0+20110509-1_i386.deb zeigt mir nur Dokumentationsdateien an...mit dem *.deb-Paket stimmt also schon was nicht.

Die Datei config.log enthält ein paar Zeilen wie bspw:

Code: Alles auswählen

conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:7353: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "suspend-utils"
Im Verzeichnis uswsusp-1.0+20110509 sind nach dem Ausführen von "configure" und "make" jedenfalls einige Objektdateien zu finden.

DeletedUserReAsG

Re: Programm nach "checkinstall" nicht vorhanden

Beitrag von DeletedUserReAsG » 09.03.2013 16:06:40

Hat es einen bestimmten Grund, dass du das Paket selbst baust?

Anyway: checkinstall führt im Grunde sowas wie make-install aus und baut aus dem, was rauskommt, ein Paket zusammen (und installiert es per default auch gleich). Wenn dein Binary nicht im resultierenden Paket ist, wird es auch ohne checkinstall nicht da sein, und du solltest deinen Bauprozess überprüfen.

Edit: Ich sehe gerade deinen Ausschnitt aus dem Log: das sagt doch schon alles aus?

cu,
niemand

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Programm nach "checkinstall" nicht vorhanden

Beitrag von Cae » 09.03.2013 16:10:08

Das kann ich nachvollziehen. Zumindest sah alles aehnlich aus, als die Abhaengigkeiten nicht vollstaendig installiert waren. Der korrekte Weg waere allerdings, nicht ./configure aufzurufen, sondern debian/rules. Allerdings liegt's gar nicht daran, das ist ein Test, ob etwas nicht geht. Die Anzeige ist also falsch, der Fehler ist gewollt.

Kannst du nach

Code: Alles auswählen

# apt-get build-dep uswsusp
als Benutzer wieder

Code: Alles auswählen

$ cd uswsusp-1.0+20110509
$ debian/rules
$ make
ausfuehren? Bekommst du Fehler?

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
towo
Beiträge: 4544
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Programm nach "checkinstall" nicht vorhanden

Beitrag von towo » 09.03.2013 16:11:59

Wieso man checkinstall benutzt, wenn man schon die debian-source hat, ist mir schleierhaft.
Aus diesen Sourcen läßt sich auch gleich vernünftig ein deb bauen.

Radicula
Beiträge: 9
Registriert: 21.12.2005 20:53:45
Wohnort: Minga

Re: Programm nach "checkinstall" nicht vorhanden

Beitrag von Radicula » 09.03.2013 19:11:20

Hallo,

ich habe einen Bug-Report veranlasst weil uswsusp nicht mit UUIDs arbeitet, hatte dazu schonmal einen Thread:
http://debianforum.de/forum/viewtopic.php?f=13&t=141105

Der Maintainer hat mir vorab Infos zum Patch geschickt. Ich hab mir also die Debian-Sourcen geholt und den Patch verwendet.
Normalerweise baue ich keine Pakete aus den Sourcen. Die Google-Suche brachte verschiedene Wege das zu bewerkstelligen, und ich habe mich für checkinstall entschieden welches (nach meinem Verständnis) ein deb-Package baut und unter Berücksichtigung der Paketverwaltung installiert.

Ach so, ich habe die Dateien config.sub und config.guess aus /usr/share/automake-1.11/ ins uswsusp-Source-Verzeichnis kopiert. Vorher beschwerte sich configure dass diese Dateien fehlen.

Da configure ursprünglich bei Fehlern (fehlende Quellen etc) abgebrochen hat und letztlich eben nicht mehr habe ich die Fehler (siehe Log-Auszug) ignoriert.

Code: Alles auswählen

aptitude build-dep uswsusp
hat noch folgendes installiert:

Code: Alles auswählen

Die folgenden NEUEN Pakete werden zusätzlich installiert:
  docbook2x libgcrypt11-dev libgpg-error-dev{a} liblzo2-dev libosp5{a} opensp{a} xsltproc

Code: Alles auswählen

uswsusp-1.0+20110509$ debian/rules
endet mit

Code: Alles auswählen

configure: WARNING: unrecognized options: --disable-maintainer-mode
config.log wird dabei neu erstellt. Das Folgende steht nach wie vor ein paarmal drin:

Code: Alles auswählen

configure:7294: $? = 1
configure: failed program was:
| /* confdefs.h */
#define PACKAGE_NAME "suspend-utils"
| #define PACKAGE_TARNAME "suspend-utils"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "suspend-utils 1.0"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "suspend-utils"
| #define VERSION "1.0"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
und zum Schluß ein:

Code: Alles auswählen

configure: exit 0
Ich weiß nicht genau was ich mit der Fehlermeldung zu den "suspend-utils" im Log anfangen soll...

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Programm nach "checkinstall" nicht vorhanden

Beitrag von Cae » 09.03.2013 20:08:22

Radicula hat geschrieben:Ich weiß nicht genau was ich mit der Fehlermeldung zu den "suspend-utils" im Log anfangen soll...
Das ist eben keine Fehlermeldung, sondern ein "gewollter" Fehltest. Vgl. mit meinem config.log [1], da gab es genau denselben "Fehler". Dein Problem oben lag wohl am da noch fehlenden Debianlibgcrypt-dev und Debianliblzo2-dev (war bei mir ebenfalls so).

checkinstall mag eine Moeglichkeit sein, beliebige Projekte quick'n'dirty fuer die Paketverwaltung bereit zu stellen. Du hast hier aber schon ein Debian-Quell-Paket vor der Nase, da kannst du einfach

Code: Alles auswählen

uswsusp-1.0+20110509$ dpkg-buildpackage -uc -us
anwerfen und hast danach im drueber liegenden Verzeichnis ein passendes *.deb. -uc und -us verhindern die Signierung von Quell-Paket und .changes-Datei, was fuer einen Test okay ist, aber bei einer nicht-lokalen Verwendung (eigenes/externes Repo) jedoch gewissenhaft gemacht weden sollte.

Gruss Cae

[1] pastebin.php?mode=view&s=37050, ab Zeile 188 kommt der "Fehltest", danach geht's aber lustig weiter und scheitert an der libpci (weil zu diesem Zeitpunkt nicht installiert)
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Radicula
Beiträge: 9
Registriert: 21.12.2005 20:53:45
Wohnort: Minga

Re: Programm nach "checkinstall" nicht vorhanden

Beitrag von Radicula » 10.03.2013 11:32:24

@Cae
Ups ich hatte Deinen Post nicht richtig verstanden.

Da ich die Sourcen verändert habe gab's mit dpkg-buildpackage -uc -us zuerst einen Fehler mit der Bitte zuerst ein

Code: Alles auswählen

uswsusp-1.0+20110509# dpkg-source --commit
loszulassen -> Ausgabe:

Code: Alles auswählen

dpkg-source: Information: Optionen aus uswsusp-1.0+20110509/debian/source/options werden verwendet: --compression=bzip2 --compression-level=9
dpkg-source: Information: lokale Änderungen erkannt, die veränderten Dateien sind:
 uswsusp-1.0+20110509/Makefile.am
 uswsusp-1.0+20110509/Makefile.in
 uswsusp-1.0+20110509/configure
 uswsusp-1.0+20110509/suspend.c
Bitte geben Sie den gewünschten Namen für den Patch ein: uuid-patch
dpkg-source: Information: lokale Änderungen wurden in einem neuen Patch aufgezeichnet: uswsusp-1.0+20110509/debian/patches/uuid-patch

Code: Alles auswählen

uswsusp-1.0+20110509# dpkg-buildpackage -uc -us
NoPaste-Eintrag37051

Es gibt eine Menge Warnings aber keinen Abbruch durch Fehler.

Code: Alles auswählen

dpkg -c uswsusp_1.0+20110509-3_i386.deb:
zeigt dass das Deb-Paket folgende Dateien beinhaltet
NoPaste-Eintrag37053
Also immer noch ohne s2disk, s2ram, s2both...

Antworten