Komercyjne opakowania Debiana

2

Jestem w trakcie przesyłania komercyjnego oprogramowania do Centrum Oprogramowania Ubuntu, którego używam jest w formacie Debian. Miałem nadzieję, że ktoś pokaże mi, jak stworzyć pakiet debian, który można przetwarzać przy jak najmniejszej liczbie błędów, gdy pakiet zostanie przesłany. Jaki jest sposób (krok po kroku) do pakowania komercyjnych pakietów Debiana?

Jeśli to pomaga, pakiety oprogramowania zawierają drzewo ścieżki podobne do następującego:

usr/
usr/share
usr/share/APP-NAME
usr/share/APP-NAME/file.sh
usr/share/APP-NAME/icon.png
usr/share/APP-NAME/file.desktop
usr/bin
usr/bin/file.sh
Dane Apollona
źródło

Odpowiedzi:

0
  • Link wymieniony przez muru w innym pytaniu najlepiej zacząć od:
    https://developer.ubuntu.com/en/publish/other-forms-of-submitting-apps/

  • Pakowanie oprogramowania komercyjnego jest prawie takie samo jak darmowe oprogramowanie. Tylko kilka różnic, takich jak zamiar opublikowania binarnego pakietu deb (tylko brak źródła, brak publicznego PPA). Więc pakiet Debiana buduje się prawie tak samo (jeśli masz zamiar zbudować go lokalnie)

    Jeśli korzystasz z pbuilderinnego pomocnika kompilacji, domyślnie uruchomione zostanie narzędzie kontroli jakości o nazwie lintian. Sprawdź dziennik bardzo dobrze, a zobaczysz kilka wiadomości z niego.

    Ponieważ zawsze możesz uruchomić go ponownie w przypadku ostatniego debetu binarnego, oto przykład uruchamiany w przeglądarce Teamviewer:

    $ lintian Downloads/teamviewer_10.0.41499_amd64.deb
    W: teamviewer: hardening-no-relro opt/teamviewer/tv_bin/RTlib/libQtCore.so.4
    W: teamviewer: hardening-no-relro opt/teamviewer/tv_bin/RTlib/libQtGui.so.4
    E: teamviewer: embedded-library opt/teamviewer/tv_bin/RTlib/libQtNetwork.so.4: openssl
    W: teamviewer: hardening-no-relro opt/teamviewer/tv_bin/RTlib/libQtNetwork.so.4
    E: teamviewer: embedded-library opt/teamviewer/tv_bin/RTlib/libQtWebKit.so.4: sqlite
    W: teamviewer: hardening-no-relro ... use --no-tag-display-limit to see all (or pipe to a file/program)
    E: teamviewer: embedded-library opt/teamviewer/tv_bin/TVGuiDelegate: libjsoncpp
    E: teamviewer: embedded-library ... use --no-tag-display-limit to see all (or pipe to a file/program)
    E: teamviewer: statically-linked-binary opt/teamviewer/tv_bin/wine/bin/wine-preloader
    E: teamviewer: changelog-file-missing-in-native-package
    E: teamviewer: no-copyright-file
    E: teamviewer: description-starts-with-package-name
    W: teamviewer: extended-description-line-too-long
    W: teamviewer: extended-description-line-too-long
    W: teamviewer: unknown-section non-free/internet
    E: teamviewer: dir-or-file-in-opt opt/teamviewer/
    E: teamviewer: dir-or-file-in-opt opt/teamviewer/config/
    E: teamviewer: dir-or-file-in-opt opt/teamviewer/doc/
    E: teamviewer: dir-or-file-in-opt ... use --no-tag-display-limit to see all (or pipe to a file/program)
    W: teamviewer: extra-license-file opt/teamviewer/doc/License.txt
    W: teamviewer: extra-license-file opt/teamviewer/tv_bin/wine/COPYING.LIB
    W: teamviewer: extra-license-file opt/teamviewer/tv_bin/wine/LICENSE
    W: teamviewer: extra-license-file ... use --no-tag-display-limit to see all (or pipe to a file/program)
    W: teamviewer: duplicate-font-file opt/teamviewer/tv_bin/wine/share/wine/fonts/marlett.ttf also in fonts-wine-development
    W: teamviewer: duplicate-font-file opt/teamviewer/tv_bin/wine/share/wine/fonts/symbol.ttf also in fonts-wine-development
    W: teamviewer: duplicate-font-file opt/teamviewer/tv_bin/wine/share/wine/fonts/tahoma.ttf also in fonts-wine-development
    W: teamviewer: duplicate-font-file ... use --no-tag-display-limit to see all (or pipe to a file/program)
    W: teamviewer: file-in-unusual-dir var/log/teamviewer
    W: teamviewer: binary-without-manpage usr/bin/teamviewer
    E: teamviewer: maintainer-script-does-not-check-for-existence-of-updatemenus postrm:22
    W: teamviewer: postrm-has-useless-call-to-update-menus
    W: teamviewer: script-not-executable opt/teamviewer/tv_bin/script/tvw_aux
    W: teamviewer: script-not-executable opt/teamviewer/tv_bin/script/tvw_config
    W: teamviewer: script-not-executable opt/teamviewer/tv_bin/script/tvw_daemon
    W: teamviewer: script-not-executable ... use --no-tag-display-limit to see all (or pipe to a file/program)
    W: teamviewer: executable-not-elf-or-script opt/teamviewer/tv_bin/RTlib/doc/Qt4/TeamViewerNote.txt
    W: teamviewer: executable-not-elf-or-script opt/teamviewer/tv_bin/RTlib/doc/Qt4/WEBKIT-LICENSE.LGPL
    W: teamviewer: maintainer-script-ignores-errors postinst
    W: teamviewer: maintainer-script-ignores-errors postrm
    W: teamviewer: maintainer-script-ignores-errors preinst
    W: teamviewer: maintainer-script-ignores-errors ... use --no-tag-display-limit to see all (or pipe to a file/program)
    E: teamviewer: shlib-with-non-pic-code opt/teamviewer/tv_bin/RTlib/libQtNetwork.so.4
    E: teamviewer: shlib-with-executable-bit opt/teamviewer/tv_bin/wine/lib/libwine.so.1.0 0755
    
user.dz
źródło