Frage Mehrere Versionen der gleichen App auf Ubuntu Software Center?


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

Dieses Mal wollte ich mehrere Builds für eine einzelne 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 scheint. Neuer Upload überschreibt den alten.

Ist es richtig, dass das Software Center nur ein einzelnes 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?


13
2017-07-20 10:26


Ursprung


Hast du das gesehen, könnte dir helfen - serverfault.com/a/279360 - 23 93 26 35 19 57 3 89
Das hört sich vielleicht blöd an, aber haben Sie versucht, verschiedene Namen wie zB "myapp v1", "myapp v2" usw. hochzuladen? - Mark Kirby


Antworten:


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

Ich schlage vor, nur sicherzustellen, dass alle Ihre Binärdateien zum Überprüfer gelangen und diese die korrekten Binärdateien in den PPA hochladen (bis myapps aktualisiert wird, um mit dieser Situation fertig zu werden).

  • Option 1: Wenn Ihre Binärdateien klein sind, entpacken Sie sie zu einer einzigen Datei und verwenden Sie das Paket-Upload-Feld
  • Option 2: Wenn sie groß sind, ist es einfacher, sie woanders hochzuladen (Ubuntu1 oder dropbox) und sie über eine URL zu teilen, was in deinem myapps-Beitrag steht.
  • Option 3: (Ich muss prüfen, ob dies in Ordnung wäre) Wenn Ihre Binaries den Launchpad-Build-Service verbessern, 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 lassen sie automatisch für die Distributionen / Bögen von LP gebaut werden.

2
2017-07-30 13:35





Es sieht für mich so aus, als wäre die myapps-Seite hauptsächlich für Python / GTK-Anwendungen gedacht - plattformübergreifende Apps nur der neuesten Version. Aus diesen Gründen gibt es keine Möglichkeit, Auswahlen basierend auf der CPU und der Version zuzulassen, obwohl diese Funktion natürlich für das Software Center und automatische Updates über die Repositories existiert.

Ich denke, dass myapps das falsche Werkzeug für den Job ist, wenn Sie kompilierte Versionen (Binaries) Ihres Programms für verschiedene Releases und CPUs veröffentlichen möchten. Sie müssen möglicherweise ein Projekt auf Launchpad erstellen und Mainstream mit der Entwicklung werden.

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

Alternativ dazu glaube ich, dass die PPAs in der Lage sein sollten, das zu tun, was Sie in Bezug auf 32- und 64-Bit-Versionen wollen, aber es ist nicht das Gleiche wie das Publishing mit myapps, da sie erst verfügbar sind, wenn jemand das PPA zu seinen Quellen hinzufügt .


0
2017-07-29 02:29





Michael Nelsons Antwort sollte berücksichtigt werden, ähem, "kanonisch", aber da ich einen Entwurf fast fertig hatte, hier ist mein zwei Cent :)

Ich denke, die Dev-Portal-Richtlinie zum Hochladen von proprietären Paketen erklärt ziemlich genau, warum Sie dieses Problem haben und welche Alternativen Sie haben:

enter image description here

Lass es uns aufteilen:

  1. Quellen oder Binärdateien

    • Es scheint, dass Sie mehrere Binärdateien hochladen möchten. Im Allgemeinen sind proprietäre binäre Apps entweder statisch verknüpft oder bündeln ihre notwendigen Abhängigkeiten mit relativen Pfaden, so dass nichts extra installiert werden muss apt-get, außer vielleicht ia32-libs.
    • Es wäre Ihnen überlassen, dafür zu sorgen, dass eine solche Binärdatei unter Ubuntu 11.04 / 11.10 / 12.04 (je nachdem, auf welches Ziel Sie hinzielen) ausgeführt wird, ohne auf irgendeiner Plattform zu versagen. AFAIK die Kernanforderung ist, dass die libc verwendet, um Ihre App / Bibliotheken zu kompilieren, rückwärtskompatibel mit dem ältesten möglichen Kernel, den Sie anvisieren möchten; Ich glaube, alles, was Lucid oder neuer ist, ist in Ordnung mit der aktuellen libc 2.15 auf Precise.
    • Ich weiß nicht, wie umfangreich die Packungsdienste von Canonical für kommerzielle Entwickler sind, wenn Sie eine nicht debianisierte Quelle einreichen, aber ich nehme an, dass sie zu etwas ähnlich dem obigen "universellen" Binärcode kompilierbar sein müsste.
  2. Debian-Quellpaket:

    • Wenn Sie diese Option verwenden, müssen Sie lediglich sicherstellen, dass alle Abhängigkeiten in den Repos für die älteste Version verfügbar sind, auf die Sie zielen möchten, und dass (b) Ihre App keine neuen Funktionen verwendet / API / ABI in solchen Abhängigkeiten, so dass es zB am 12.04 funktioniert, aber am 11.04 nicht funktioniert.
    • In diesem Fall glaube ich, dass Canonical / Soyuz (das Build-System) sich um die Erstellung mehrerer Pakete für jedes Release kümmern wird.
  3. Lass einen Menschen involviert sein - pack all deine verschiedenen Binaries in einen riesigen Tarball und Kontakt Nudeln775 ; p


0
2017-07-30 13:45





Aktualisieren Sie einfach mit Update Manager und es wird getan


-1
2017-07-26 00:29



Dies wird nicht wirklich helfen, da dies nur das alte überschreiben wird. - 23 93 26 35 19 57 3 89


Verwenden Sie entweder Synaptic oder aptitude anstelle des Ubuntu Software Centers. Auf diese Weise haben Sie mehr Kontrolle darüber, welche Pakete installiert werden, und Sie können die Abhängigkeiten überprüfen, Pakete usw. empfehlen, bevor die Pakete installiert werden.


-1
2017-07-26 15:12



Dies wird nicht wirklich helfen, da dies nur das alte überschreiben wird. - 23 93 26 35 19 57 3 89


Verwenden Sie Launchpad PPA-System - macht ein einfaches Ubuntu-Repository. Gehe zu launchpad.net. Wenn Sie sich anmelden, sollten Sie verschiedene Builds für dasselbe Paket hinzufügen können.


-2
2017-07-28 12:56



Wenn das hilfreich ist, dann erweitern Sie bitte, um zu erreichen, was die Frage erfordert. - 23 93 26 35 19 57 3 89