Mehrere Versionen derselben App im Ubuntu Software Center?


13

Ich habe meine proprietäre App bereits im Ubuntu Software Center (https://myapps.developer.ubuntu.com) veröffentlicht und möchte sie jetzt mit der neuen Version aktualisieren.

Dieses Mal wollte ich mehrere Builds für eine einzige App hochladen (eine für Ubuntu 12.04 i386, eine für Ubuntu 12.04. Amd64, eine für Ubuntu 11.10 i386, ...). Das Problem ist, dass es nicht möglich zu sein scheint. Neuer Upload überschreibt den alten.

Stimmt es, dass das Software Center nur ein einziges Binärpaket pro Anwendung unterstützt? Ich könnte versuchen, die neue App pro Build zu erstellen, aber das scheint eine falsche Lösung zu sein.

Irgendwelche Tipps, um das Problem zu lösen?


Haben Sie dies gesehen, könnte es Ihnen helfen - serverfault.com/a/279360
23 93 26 35 19 57 3 89

Dies mag sich dumm anhören, aber Sie haben versucht, Ihre mit verschiedenen Namen, z. B. "myapp v1" "myapp v2" usw. hochladen
Mark Kirby

Antworten:


2

MyApps ist nicht dafür eingerichtet, die Situation von separaten Binärdateien pro Arch / Serie zu behandeln.

Ich würde vorschlagen, nur dafür zu sorgen, dass alle Ihre Binärdateien an den Prüfer gesendet werden und dass er die richtigen Binärdateien für Sie in die PPA hochlädt (bis myapps aktualisiert wird, um diese Situation zu bewältigen).

  • Option 1: Wenn Ihre Binärdateien klein sind, komprimieren Sie sie zu einer einzigen Datei und verwenden Sie das Feld zum Hochladen von Paketen
  • Option 2: Wenn sie groß sind, ist es einfacher, sie an eine andere Stelle (Ubuntu1 oder Dropbox) hochzuladen und sie über eine URL freizugeben.
  • Option 3: (Ich muss überprüfen, ob dies in Bezug auf die Richtlinien in Ordnung ist.) Wenn Ihre Binärdateien gut mit dem Build-Service von Launchpad funktionieren, erstellen Sie eine PPA, finden Sie mich im IRC (noodles775 auf freenode) und wir können Ihre PPA privatisieren. dann können Sie Ihre Quelle eingeben und diese automatisch von LP für die Distroseries / Bögen bauen lassen.

0

Für mich sieht es so aus, als ob die myapps-Site hauptsächlich für Python / GTK-Anwendungen gedacht ist - plattformübergreifende Apps nur der neuesten Version. Aus diesen Gründen gibt es keine Möglichkeit, eine Auswahl basierend auf CPU und Version zuzulassen, obwohl diese Möglichkeit offensichtlich für Software Center und automatische Aktualisierungen unter Verwendung der Repositorys besteht.

Ich denke, dass myapps das falsche Tool für den Job ist, wenn Sie kompilierte Versionen (Binärdateien) Ihres Programms für verschiedene Releases und CPUs veröffentlichen möchten. Möglicherweise müssen Sie ein Projekt auf dem Launchpad einrichten und sich mit der Entwicklung vertraut machen.

https://launchpad.net/projects/+new

Ich bin der Meinung, dass die PPAs in Bezug auf 32- und 64-Bit-Versionen so eingerichtet werden sollten, wie Sie es möchten. Dies ist jedoch nicht das Gleiche wie beim Veröffentlichen mit myapps, da sie erst verfügbar sind, wenn jemand die PPA zu seinen Quellen hinzufügt .


0

Michael Nelsons Antwort sollte in Betracht gezogen werden, ähm, "kanonisch", aber da ich einen Entwurf fast fertig hatte, sind hier meine zwei Cent :)

Ich denke, die Richtlinien des Dev Portals zum Hochladen von proprietären Paketen erklären ziemlich genau, warum Sie dieses Problem haben und welche Alternativen Sie haben:

Bildbeschreibung hier eingeben

Lassen Sie es uns aufschlüsseln:

  1. Quellen oder Binärdateien

    • Anscheinend möchten Sie mehrere Binärdateien hochladen. In der Regel sind proprietäre binäre Apps entweder statisch verknüpft oder bündeln die erforderlichen Abhängigkeiten mit relativen Pfaden, sodass apt-getaußer möglicherweise keine zusätzlichen Anwendungen installiert werden müssen ia32-libs.
    • Es liegt an Ihnen, sicherzustellen, dass eine solche Binärdatei unter Ubuntu 11.04 / 11.10 / 12.04 (je nachdem, auf was Sie abzielen) ausgeführt wird, ohne dass dies auf einer Plattform fehlschlägt. AFAIK Die Grundvoraussetzung ist, dass die libczum Kompilieren Ihrer App / Bibliotheken verwendeten abwärtskompatibel mit dem ältesten Kernel sind, auf den Sie abzielen möchten. Ich glaube, dass alles, was klarer oder neuer ist, mit der aktuellen libc 2.15 auf Precise in Ordnung ist.
    • Ich weiß nicht, wie umfangreich die Verpackungsdienste von Canonical für kommerzielle Entwickler sind, wenn Sie eine nicht debianisierte Quelle einreichen, aber ich gehe davon aus, dass diese zu etwas ähnlichem wie der obigen "universellen" Binärdatei kompilierbar sein müsste.
  2. Debian-Quellcode-Paket:

    • Wenn Sie sich für diese Option entscheiden, müssen Sie lediglich (a) sicherstellen, dass Abhängigkeiten in den Repos für das älteste Release verfügbar sind, auf das Sie abzielen möchten, und (b) dass Ihre App keine neuen Funktionen verwendet. API / ABI in diesen Abhängigkeiten, so dass es beispielsweise am 12.04 funktioniert, aber am 11.04 fehlschlägt.
    • In diesem Fall wird Canonical / Soyuz (das Build-System) meines Erachtens dafür sorgen, dass für jede Version mehrere Pakete erstellt werden.
  3. Beteiligen Sie einen Menschen - packen Sie alle Ihre verschiedenen Binärdateien in einen riesigen Tarball und wenden Sie sich an noodles775 ; p



-1

Verwenden Sie statt Ubuntu Software Center entweder Synaptic oder aptitude. Auf diese Weise können Sie genauer steuern, welche Pakete installiert werden, und Sie können die Abhängigkeiten überprüfen, Pakete empfehlen usw., bevor die Pakete installiert werden.


Dies wird eigentlich keine Hilfe sein, da dies nur das alte überschreibt.
23 93 26 35 19 57 3 89

-2

Verwenden Sie das PPA-System von Launchpad - ein einfaches Ubuntu-Repository. Gehen Sie zu launchpad.net. Wenn Sie sich anmelden, sollten Sie in der Lage sein, verschiedene Builds für dasselbe Paket hinzuzufügen.


2
Wenn dies hilfreich ist, erläutern Sie bitte, wie Sie das erreichen, was für die Frage erforderlich ist.
23 93 26 35 19 57 3 89
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.