staging.inyokaproject.org

Paketbau Qt4/Qt5 Projekte

Status: Gelöst | Ubuntu-Version: Xubuntu 14.04 (Trusty Tahr)
Antworten |

sigvdr

Anmeldungsdatum:
30. Oktober 2008

Beiträge: Zähle...

Hallo,

Bisher benutzte ich Ubuntu 12.04, dort hatte ich:

  • Ein Softwareprojekt erstellt das Qt4 nutzt.

  • mit dh_make --createorig .... das Grundgerüst für den Paketbau erstellt.

  • und so mein .deb Paket gebaut.

    • /usr/bin/qmake -o Makefile *.pro

    • make clean

    • dpkg-buildpackage -rfakeroot -b

Jetzt habe ich eine Testinstallation mit Xubuntu 14.04 gemacht und möchte dort das selbe Paket erstellen. Allerdings ist mit 14.04 nicht mehr Qt4 sondern Qt5 der Standard, ich muss aber das Projekt weiterhin mit Qt4 erstellen. Die grundsätzliche Möglichkeit Qt4 Programme zu erstellen ist in 14.04 noch vorhanden. Eigentlich muss ich dafür nur anstelle von qmake qmake-qt4 ausführen. Also z.B. so

  • /usr/bin/qmake-qt4 -o Makefile *.pro

  • make

Wenn ich aber jetzt wieder so mein Paket bauen will :

  • /usr/bin/qmake-qt4 -o Makefile *.pro

  • make clean

  • dpkg-buildpackage -rfakeroot -b

Dann wird trotzdem das Programm mit Qt5 erstellt.

Ich habe festgestellt, dass durch "dpkg-buildpackage -rfakeroot -b" nocheinmal qmake aufgerufen wird was dann das Makefile wieder auf Qt5 umstellt.

Wo muss ich jetzt eingreifen, dass der Paketbauvorgang nicht qmake sondern qmake-qt4 verwendet? Nach meinem bescheidenen Wissen zum Paketbau sollte das doch in "rules" gemacht werden, die ist aber bei mir nahezu leer und sieht so aus

#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
	dh $@ 

Gruß Sig

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Vielleicht funktioniert folgende debian/rules:

#!/usr/bin/make -f
# -*- makefile -*-

#export DH_VERBOSE=1
%:
	dh $@ --buildsystem=qmake_qt4

sigvdr

(Themenstarter)

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 86

--buildsystem=qmake_qt4

leider nicht, es kommt eine Fehlermeldung

Can't locate object method "new" via package "Debian::Debhelper::Buildsystem::qmake-qt4" 
(perhaps you forgot to load "Debian::Debhelper::Buildsystem::qmake-qt4"?) 
at /usr/share/perl5/Debian/Debhelper/Dh_Buildsystems.pm line 59.

Gruß Sig

sigvdr

(Themenstarter)

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 86

Hallo,

jetzt habe ich es doch gefunden wie es geht: So sieht jetzt die Datei "rules" aus

#!/usr/bin/make -f
# -*- makefile -*-
%:
	dh $@ 
override_dh_auto_configure:
	/usr/bin/qmake-qt4 -o Makefile easystream.pro

Gruß Sig

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

sigvdr schrieb:

--buildsystem=qmake_qt4

leider nicht, es kommt eine Fehlermeldung

Can't locate object method "new" via package "Debian::Debhelper::Buildsystem::qmake-qt4" 
(perhaps you forgot to load "Debian::Debhelper::Buildsystem::qmake-qt4"?) 
at /usr/share/perl5/Debian/Debhelper/Dh_Buildsystems.pm line 59.

Gruß Sig

Kann es sein, dass du --buildsystem=qmake-qt4 statt --buildsystem=qmake_qt4 verwendet hast?

sigvdr

(Themenstarter)

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 86

Kann es sein, dass du --buildsystem=qmake-qt4 statt --buildsystem=qmake_qt4 verwendet hast?

Ja! Habe ich falsch geschrieben

Danke! Sig

Dieter_Ubuntu

Anmeldungsdatum:
4. Juli 2007

Beiträge: 398

Hallo sigvdr,

Ich habe auch ein Qt4-Project erstellt, mit dem ich allerdings mit Trusty beim Erstellen des Projektes mit dem

1
qmake && make

keine Probleme habe.

Lade ich das Paket zu meinem ppa hoch kommt allerdings beim Erstellen des Paketes diese Fehlermeldung:

make[1]: Entering directory /build/buildd/qt4-fsarchiver-0.6.19' /usr/bin/qmake -o Makefile qt4-fsarchiver.pro make[1]: /usr/bin/qmake: Command not found

klappt bei Dir die Erstellung des Paketes im ppa und hast Du in der control-Datei auf oder sonstwo qmake(qt4) hingewiesen?

Grüße aus Südbaden

Antworten |