問題タブ [snapcraft]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ubuntu - 実行可能な jar を実行するスナップ パッケージをビルドするにはどうすればよいですか?
実行可能なjarプログラムがあります。JavaFX プログラムです。OpenJDK 8 以降で問題なく動作します。Ubuntu の開発者ポータルでスナップ パッケージとして公開したいと考えています。現在debファイルとしてパッケージ化していますが、Ubuntuはそれらを受け入れません。スナップパッケージとして提出する必要があります。
それが私の現在のハードルです。Snapcraftはまったくの初心者です。http://snapcraft.ioのドキュメントを読んだところ 、端末コマンドとスナップ パッケージの背後にある理論の概要がよくわかりました。
プログラム (snapcraft.yaml のコード) を正しくパッケージ化できないようです。必要なのは、含まれている openjdk-8-jre 依存関係と実行可能 jar だけです。私が作成した deb パッケージは完全にインストールされ、メニューから実行できるようにアイコン付きのデスクトップ ファイルが作成されます。これをスナップパッケージに含める方法はありますか?
助けてくれてありがとう!
snapcraft - Tcl はスナップ パッケージで init.tcl を見つけることができません
通常のシステムでは、必要に応じてライブラリをエクスポートして、tcl が init.tcl を見つけられないという文句を言わないようにすることができました。ただし、tclを配布するためのスナップパッケージを作成しています。ビルドしてインストールしたら、tcl.tclsh を実行できます (これは、スナップ名前空間を維持するために必要な形式です)。上記の苦情が表示され、tclsh プロンプトにとどまります。Tcl スクリプトを正常に実行できます。ただし、wish という別のバイナリを実行することはできません。このスナップ名は tcl.wish です。これらは両方とも同じスナップにあり、問題のファイル init.tcl はライブラリの場所に存在し、tcl は見つからないと文句を言います。このファイルを見つけられるように、tclsh を実行する直前に必要なライブラリの場所をエクスポートする必要があると思います。これらのパスのエコーを含めてこれを試したので、実行されることがわかりました。これは機能しますが、それでも役に立ちません。私はただ複数のことに困惑していると思います。私は tcl のプロではありません。きびきびしたパッケージは新しく、コマンドは常に進化しています。Organize コマンドを使用して、すべてのバイナリを /bin に移動し、すべてのライブラリを /lib に移動するか、tcl が期待するとおりに配置することができます。ファイルを期待どおりに配置することに投票します。私の質問:
- tcl と tk の予期される場所の明確に定義されたセットはありますか? 箱から出してすぐに理想的なセットアップが好きですか?
- init.tcl を既知のパスに既にある場所に移動できますか? これらのlibパスをbashrcに入れることは避けました。これは私の状況を修正するだけで、マシンにこれをインストールする人は修正しないからです。スナップパッケージを実行するときにパス設定を行う必要があります...と思います。
長々とすみません。これが問題であるかどうかにかかわらず、私たちはきびきびした環境の中で tcl を扱っていることを明確にしたかったのです。Snapcraftはこれらのファイルを.debsが指示する場所に配置する必要があり、コンピューターへのインストールは正常に機能するため、明らかなものが欠けていることはわかっています。$ export -p は tcl または tk を何も表示しません
python - python venv をスナップとしてデプロイする
python(3) venv rest api があります。同じ venv でuwsgi
、API が実行されているアプリケーション サーバーもインストールして構成しました。そして、それを展開するためのクリーンな方法を探しています。
これまでは、venv を作成し、pip から依存関係をインストールしてアプリを実行する単純なスクリプトを使用してデプロイしています。
スナップを使用してすべてを適切にパッケージ化し、サーバーに簡単にインストールできるかどうか疑問に思っています。
この方法でWeb APIをデプロイすることは可能ですか、それとも良い習慣ですか?
御時間ありがとうございます。
linux - snapcraft を使用してパッケージ化するバイナリのライブラリ依存関係をプルする方法
新しい Linux パッケージ ツールhttp://snapcraft.io/create/を試しています。
いくつかのドキュメントがありますが、あまり成熟しておらず、すべてが含まれているわけではありません。
私がやろうとしているのは、Qt フレームワークを使用してコンパイルされたバイナリのパッケージを生成することです。したがって、.so ファイルのロードに依存します。snapcraft にこれらすべての依存関係をプルしてプログラム階層 (マウントされた squashfs) に追加するよう説得する方法をドキュメントで見つけることができませんでした。
したがって、「一時的に修正する」ために、バイナリでlddを実行し、これを単独で実行する非常に不十分なシェルスクリプトをハッキングしました。実際にすべての必要なライブラリがイメージに含まれているため、その「一種」は機能しますが、プログラムはそれらを見つけることができません。それらのほとんどには独自のパスがあり、ルート lib フォルダーにないためです。/usr/lib
プログラムを起動しようとしたときに発生するエラーの例は次のとおりです。
しかし、ライブラリはそこにあります:
それを見つける方法がわからないだけです。一方で、snapcraft が非常にシンプルで馬鹿げたパッケージング ツールとして宣伝されていることを考えると、C++ バイナリをパッケージ化するような単純なものがこれほど複雑になるのは非常に奇妙に思えます。これを適切に行うにはどうすればよいですか?
alpine - AlpineLinux での snapcraft の可用性
スナップ パッケージ管理システムとアルパイン Linux との互換性を探していましたが、関連するリソースが見つかりませんでした。アルパイン Linux で利用できるようにする計画はありますか? その点で進展はありますか?