ubuntuusers.de

Tomahawk – aktuelle Entwickler-Version

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

Justin-Time Team-Icon

Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

Hallo zusammen,

der Musikplayer Tomahawk 🇬🇧 wird aktuell schnell entwickelt und unterscheidet sich extrem von der aktuellen Version 0.7, die in den Quellen liegt. Da die aktuelle Entwickler-Version stabil funktioniert, aber leider nirgendwo als fertiges Paket für Linux angeboten wird, habe ich mich entschieden das selbst in die Hand zu nehmen und habe die aktuelle Entwicker-Version 0.8.99 in ein DEB-Paket gepackt und über mein PPA veröffentlicht:

ppa:justin-time/ppa.

Da es sich bei dem Programm, um eine Entwicker-Version handelt und ich die Pakete privat gepackt habe, kann ich keine Garantie dafür übernehmen und daher ist die Nutzung auf eine Gefahr!

Auf jeden Fall lohnt sich ein Blick auf Tomahawk! Falls jemand einen Fehler im Programm findet, dann meldet den bitte im Bugtracker 🇬🇧 der Entwickler. Fehler am DEB-Paket und Übersetzungsfehler der deutschen Testversion, bitte hier in dieser Diskussion melden, denn ich helfe auch bei der Übersetzung ins Deutsche mit.

Wer mehr über Tomahawk erfahren möchte, dem empfehle ich den Artikel in unserem Wiki und die Entwicklerseite 🇬🇧. Dort findet man auch Bildschirmfotos zur aktuellen Entwicker-Version.

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Justin Time schrieb:

Da die aktuelle Entwickler-Version stabil funktioniert, aber leider nirgendwo als fertiges Paket für Linux angeboten wird, habe ich mich entschieden das selbst in die Hand zu nehmen und habe die aktuelle Entwicker-Version 0.8.99 in ein DEB-Paket gepackt und über mein PPA veröffentlicht:

ppa:justin-time/ppa.

Eine gute Idee, danke. Wenn sich im offiziellen PPA in der naechsten Wochen nichts tut, koennte man Dein PPA durchaus im Wiki-Artikel hier erwaehnen (inkl. dieser Diskussion). Dann ist es einfacher zu finden als ausschliesslich ueber das Unterforum "Projekte".

Alternativ gaebe es auch noch die Moeglichkeit, den Inhalt Deines PPAs in das offizielle zu kopieren. Dazu muesstest Du allerdings selbst Kontakt mit den Tomahawk Friends aufnehmen.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

Die Versionsnummern sind unglücklich gewählt:

  • tomahawk 0.8.99~20141009-0ubuntu1

  • libechonest 2.3.0-1ubuntu5

Das suggeriert, dass die Version 2.3.0-1ubuntu5 in den offiziellen Paketquellen ist und dass es eine Version 2.3.0-1 in Debian gibt.

Stell dir vor ein Benutzer deines PPAs aktualisiert auf eine zukünftige Ubuntuversion mit tomahawk 0.9-1 und libechonest 2.3.0-1, dann hat er immer noch die libechonest aus deinem PPA mit tomahawk aus den offiziellen Quellen, die möglicherweise inkompatibel sind.

Besser sind Versionen mit *-0ppa1 oder *-0ubuntu0+ppa1 oder *-0ubuntu1~ppa1. PPA-Versionen sollten immer kleiner sein als jede mögliche nächste Version in den offiziellen Quellen. Das kann man testen mit:

dpkg --compare-versions PPA-VERSION lt MÖGLICHE-ZUKÜNFTIGE-VERSION && echo OK

Außerdem hast du ein Haufen .cmake und .h-Dateien in deinem Paket, die packt man normalerweise nicht mit ein, stören hier wahrscheinlich aber auch nicht.

Justin-Time Team-Icon

(Themenstarter)
Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

Hallo zusammen,

danke für die Rückmeldungen. Was würdest du genau für die beiden Pakete als Versionsnummer vorschlagen und besteht irgendwie die Möglichkeit jetzt noch das Versionsschema zu ändern? Wie müsste ich dann vorgehen, dass Launchpad dies akzeptiert?

Ja, diese ganzen mit den ganzen .cmake und .h-Dateien alles, was das Paket im Ordner /usr/include/libtomahawk speichert. Da ich zu diesem Ordner im Wiki nur folgendes gefunden habe:

/usr/include : Header-Dateien für C-Programme (nur für Programmierer interessant)

und in diesem Order sehr viele Programme ihre Header-Dateien hinterlassen haben, hatte ich gedacht, dass dies so gewollt ist. Hab es mal geändert, müssten demnächst nicht mehr dabei sein.

barcc könntest du die von mir erstellten Pakete nochmal genauer unter die Lupe nehmen, ob ich sonst noch irgendwelche Fehler im Paketbau gemacht habe? Wäre es außerdem möglich, dass du dein Wissen über die Versionsnummer und den Paketbau allgemein im Wiki an passender Stelle ergänzen und überarbeiten oder auf die passenden Stellen in der offiziellen Dokumentation verweisen könntest?

Gruß Justin Time

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

Justin Time schrieb:

danke für die Rückmeldungen. Was würdest du genau für die beiden Pakete als Versionsnummer vorschlagen und besteht irgendwie die Möglichkeit jetzt noch das Versionsschema zu ändern? Wie müsste ich dann vorgehen, dass Launchpad dies akzeptiert?

Du kannst jetzt nicht mehr viel machen, selbst wenn du die Pakete vorher aus dem PPA löschen würdest, würde Launchpad keine niedrigere Version akzeptieren. Wenn du jetzt noch Änderungen vornehmen willst, kannst du z.B. tomahawk 0.8.99~20141009-0ubuntu1+ppa1 und libechonest 2.3.0-1ubuntu5+ppa1 nehmen und bei der nächsten Upstream-Version dann eins der oben vorgeschlagenen Versionsschema verwenden. (ein weiteres Schema wäre *-0~ppa1 also z.B. libechonest 2.3.1-0~ppa1)

Ja, diese ganzen mit den ganzen .cmake und .h-Dateien alles, was das Paket im Ordner /usr/include/libtomahawk speichert. Da ich zu diesem Ordner im Wiki nur folgendes gefunden habe:

/usr/include : Header-Dateien für C-Programme (nur für Programmierer interessant)

und in diesem Order sehr viele Programme ihre Header-Dateien hinterlassen haben, hatte ich gedacht, dass dies so gewollt ist. Hab es mal geändert, müssten demnächst nicht mehr dabei sein.

Wenn du dir ansiehst, welche Pakete dort installieren,

apt-file search /usr/include/ | sed 's/:.*$//' | uniq | less

dann findest du hauptsächlich Pakete, die nur für Programmierer interessant sind 😀 (die meisten mit dem suffix "-dev").

barcc könntest du die von mir erstellten Pakete nochmal genauer unter die Lupe nehmen, ob ich sonst noch irgendwelche Fehler im Paketbau gemacht habe?

Drei libs werden doppelt installiert, einmal unter /usr/lib/x86_64-linux-gnu/ und einmal unter /usr/lib/. Und damit zusammenhänged, in der debian/tomahawk.install.amd64 verschiebst du die libs von usr/lib/x86_64-linux-gnu/* nach usr/lib/. Werden die libs sonst vom Programm nicht gefunden? Das Verzeichnis usr/lib/x86_64-linux-gnu/ wäre eigentlich "richtiger", und dann hättest du eine gemeinsame tomahawk.install die ungefähr so aussehen könnte:

usr/bin/*
usr/lib/*/libtomahawk*
usr/share/*

(ungetestet) (amd64/x86_64 ←> i386) (Die beiden Dateien tomahawk.install.arm* dürften so wie so nicht funktionieren)
(Ich habe mir die Pakete nur grob angesehen, ich habe weder sie versucht zu bauen noch zu installieren)

Wäre es außerdem möglich, dass du dein Wissen über die Versionsnummer und den Paketbau allgemein im Wiki an passender Stelle ergänzen und überarbeiten oder auf die passenden Stellen in der offiziellen Dokumentation verweisen könntest?

Steht auf meiner persönlichen TODO-Liste, neben vielen anderen Dingen, in nächster Zeit eher nicht. 😢

Justin-Time Team-Icon

(Themenstarter)
Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

barcc schrieb:

Du kannst jetzt nicht mehr viel machen, selbst wenn du die Pakete vorher aus dem PPA löschen würdest, würde Launchpad keine niedrigere Version akzeptieren. Wenn du jetzt noch Änderungen vornehmen willst, kannst du z.B. tomahawk 0.8.99~20141009-0ubuntu1+ppa1 und libechonest 2.3.0-1ubuntu5+ppa1 nehmen und bei der nächsten Upstream-Version dann eins der oben vorgeschlagenen Versionsschema verwenden. (ein weiteres Schema wäre *-0~ppa1 also z.B. libechonest 2.3.1-0~ppa1)

Da sich an libechonest erst mal nichts mehr ändert, wäre es also das beste, dies jetzt so zu lassen und bei den nächsten Versionen, also bei z.B. 2.4 es besser zu machen?

Tomahawk benutzt für stabile Versionen die Versionsnummern 0.7, dann bald eventuell 0.8 oder direkt 0.9. Entwicklerversionen waren dann bisher immer vom Schema: 0.X.99 oder 0.X.100. Ich komme also den stabilen Versionen gar nicht in die Quere. Da ich ja nur einen aktuellen Entwicklerzustand packe, wäre dann tomahawk 0.8.99~20141009+ppa1 passender?

Wenn du dir ansiehst, welche Pakete dort installieren, dann findest du hauptsächlich Pakete, die nur für Programmierer interessant sind 😀 (die meisten mit dem suffix "-dev").

Ah ja, danke wieder was gelernt!

Drei libs werden doppelt installiert, einmal unter /usr/lib/x86_64-linux-gnu/ und einmal unter /usr/lib/. Und damit zusammenhänged, in der debian/tomahawk.install.amd64 verschiebst du die libs von usr/lib/x86_64-linux-gnu/* nach usr/lib/. Werden die libs sonst vom Programm nicht gefunden? Das Verzeichnis usr/lib/x86_64-linux-gnu/ wäre eigentlich "richtiger", und dann hättest du eine gemeinsame tomahawk.install die ungefähr so aussehen könnte:

usr/bin/*
usr/lib/*/libtomahawk*
usr/share/*

(ungetestet)(amd64/x86_64 ←> i386)

Ich hatte letztens tatsächlich das Problem, dass wenn alle libs für die 64-bit-Version in usr/lib/x86_64-linux-gnu/ gespeichert wird, das Programm die libs nicht gefunden hat. Ich probiere es nochmal aus. Danke für die Anregung.

(Die beiden Dateien tomahawk.install.arm* dürften so wie so nicht funktionieren)

Das ist mir auch gestern aufgefallen und ich habe sie entfernt.

(Ich habe mir die Pakete nur grob angesehen, ich habe weder sie versucht zu bauen noch zu installieren)

Danke dir!

Wäre es außerdem möglich, dass du dein Wissen über die Versionsnummer und den Paketbau allgemein im Wiki an passender Stelle ergänzen und überarbeiten oder auf die passenden Stellen in der offiziellen Dokumentation verweisen könntest?

Steht auf meiner persönlichen TODO-Liste, neben vielen anderen Dingen, in nächster Zeit eher nicht. 😢

Wäre es dir eventuell früher möglich, wenn du das nicht alleine machen müsstest? Du steuerst den Inhalt bei und kontrollierst es auf Richtigkeit und ich schreibe daraus die Artikel? Denn zum Thema Versionsnummer sieht es im Wiki gerade extrem kritisch aus.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

Justin Time schrieb:

barcc schrieb:

Du kannst jetzt nicht mehr viel machen, selbst wenn du die Pakete vorher aus dem PPA löschen würdest, würde Launchpad keine niedrigere Version akzeptieren. Wenn du jetzt noch Änderungen vornehmen willst, kannst du z.B. tomahawk 0.8.99~20141009-0ubuntu1+ppa1 und libechonest 2.3.0-1ubuntu5+ppa1 nehmen und bei der nächsten Upstream-Version dann eins der oben vorgeschlagenen Versionsschema verwenden. (ein weiteres Schema wäre *-0~ppa1 also z.B. libechonest 2.3.1-0~ppa1)

Da sich an libechonest erst mal nichts mehr ändert, wäre es also das beste, dies jetzt so zu lassen und bei den nächsten Versionen, also bei z.B. 2.4 es besser zu machen?

ja

Tomahawk benutzt für stabile Versionen die Versionsnummern 0.7, dann bald eventuell 0.8 oder direkt 0.9. Entwicklerversionen waren dann bisher immer vom Schema: 0.X.99 oder 0.X.100. Ich komme also den stabilen Versionen gar nicht in die Quere. Da ich ja nur einen aktuellen Entwicklerzustand packe, wäre dann tomahawk 0.8.99~20141009+ppa1 passender?

0.8.99~20141009-0+ppa1

Wäre es außerdem möglich, dass du dein Wissen über die Versionsnummer und den Paketbau allgemein im Wiki an passender Stelle ergänzen und überarbeiten oder auf die passenden Stellen in der offiziellen Dokumentation verweisen könntest?

Steht auf meiner persönlichen TODO-Liste, neben vielen anderen Dingen, in nächster Zeit eher nicht. 😢

Wäre es dir eventuell früher möglich, wenn du das nicht alleine machen müsstest? Du steuerst den Inhalt bei und kontrollierst es auf Richtigkeit und ich schreibe daraus die Artikel? Denn zum Thema Versionsnummer sieht es im Wiki gerade extrem kritisch aus.

Es gibt ja immerhin Versionsnummern von Ubuntu-Paketen und eine Hinweisbox in changelog

Justin-Time Team-Icon

(Themenstarter)
Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

barcc schrieb:

Es gibt ja immerhin Versionsnummern von Ubuntu-Paketen […]

Oha… genau diesen Artikel habe ich gesucht und ihn nicht gefunden… Ich muss die Querverlinkungen überlesen haben. Obwohl man diesen Artikel noch etwas ausbauen könnte…

Justin-Time Team-Icon

(Themenstarter)
Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

barcc schrieb:

Drei libs werden doppelt installiert, einmal unter /usr/lib/x86_64-linux-gnu/ und einmal unter /usr/lib/. Und damit zusammenhänged, in der debian/tomahawk.install.amd64 verschiebst du die libs von usr/lib/x86_64-linux-gnu/* nach usr/lib/. Werden die libs sonst vom Programm nicht gefunden? Das Verzeichnis usr/lib/x86_64-linux-gnu/ wäre eigentlich "richtiger", und dann hättest du eine gemeinsame tomahawk.install die ungefähr so aussehen könnte:

usr/bin/*
usr/lib/*/libtomahawk*
usr/share/*

(ungetestet) (amd64/x86_64 ←> i386)

Wenn ich dies so mache, dann erscheint beim Starten des Programms folgende Meldung:

13:13:05 [0]: Load plugins of type "infoplugin" 
13:13:05 [1]: Init MainWindow. 
13:13:05 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "infoplugin" plugins:  QDir( "/usr/bin" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:05 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "infoplugin" plugins:  QDir( "lib/x86_64-linux-gnu" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:05 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "infoplugin" plugins:  QDir( "/usr/lib" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:06 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "infoplugin" plugins:  QDir( "/usr" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:06 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const "infoplugin" plugin file paths: QSet() 
13:13:06 [0]: QLayout: Attempting to add QLayout "" to ContextView "", which already has a layout
13:13:06 [0]: QLayout: Attempting to add QLayout "" to ContextView "", which already has a layout
13:13:06 [0]: QLayout: Attempting to add QLayout "" to ContextView "", which already has a layout
13:13:07 [5]: void AudioControls::onPlaybackStopped() 
13:13:07 [1]: void AudioControls::onControlStateChanged() 
13:13:07 [1]: Creating AccountModel 
13:13:07 [0]: Load plugins of type "viewpage" 
13:13:07 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "viewpage" plugins:  QDir( "/usr/bin" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:07 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "viewpage" plugins:  QDir( "lib/x86_64-linux-gnu" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:07 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "viewpage" plugins:  QDir( "/usr/lib" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:07 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const Checking directory for "viewpage" plugins:  QDir( "/usr" , nameFilters = { * },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )  
13:13:07 [1]: const QStringList Tomahawk::Utils::PluginLoader::pluginPaths(const QString&) const "viewpage" plugin file paths: QSet() 
13:13:07 [0]: Tomahawk::ViewPage* ViewManager::showDynamicPage(const QString&) pageName: "dashboard" 
13:13:07 [0]: QString::arg: Argument missing: Trying to show a page that does not exist and does not have a registered loader: %d, dashboard
13:13:07 [0]: ASSERT failure in Tomahawk::ViewPage* ViewManager::showDynamicPage(const QString&): "Trying to show a page that does not exist and does not have a registered loader: %d", file /tmp/buildd/tomahawk-0.8.99~20141012/src/libtomahawk/ViewManager.cpp, line 737
Abgebrochen

Scheinbar werden Plugins nicht im Verzeichnis /usr/lib/x86_64-linux-gnu gesucht. Das sieht nach einem Bugreport für die Entwickler aus, oder?

Gruß Justin Time

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

Ich weiß nicht, wie weit diese architekturabhängigen library-Pfade Debian-spezifisch sind und wie man mit Plugins umgeht.

Dann nimm für tomahawk.install so was

usr/bin/*
usr/lib/*/libtomahawk* usr/lib/
usr/share/*

Damit hast du auch nur eine install-Datei und keine doppelten libs und für private libs sind diese architekturabhängigen Pfade nicht so wichtig.

Justin-Time Team-Icon

(Themenstarter)
Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

So Problem gemeldet – Problem wurde gelöst: Handle relative CMAKE_INSTALL_LIBDIR during plugin loading

usr/bin/*
usr/lib/*/libtomahawk*
usr/share/*

Funktioniert nun ohne Probleme. Ich habe es eben lokal getestet und nun die neuen Pakete in Launchpad hochgeladen.

Vielen Dank barcc für deine Anmerkungen!

Justin-Time Team-Icon

(Themenstarter)
Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

Da nun endlich die ersten Release-Kandidaten der bald erscheinen Version 0.8 verfügbar sind, habe ich mich dazu entschieden ein PPA für die stabilen Versionen anzulegen: ppa:justin-time/tomahawk.

Ich habe mich dazu entschieden die stabile Version neben Ubuntu 14.04 auch für Ubuntu 14.10 zu Packtieren. Bitte beachtet, dass die Entwicklerversion schon bei Version 0.8.99 ist, dies bedeutet, dass ein direkter Wechsel von meiner Entwicklerversion zur stabilen Version ohne vorherige Deinstallation nicht möglich ist. Aber ansonsten laufen beide Varianten stabil.

Gruß Justin Time

Justin-Time Team-Icon

(Themenstarter)
Avatar von Justin-Time

Anmeldungsdatum:
31. März 2009

Beiträge: 1466

Da die Entwickler nun vor mehreren Wochen die neuste Version veröffentlicht haben und nun überraschenderweise auch offizielle Nightly-Build anbieten, stelle ich dieses Projekt ein.

Antworten |