私の考えではカスタムソースのインストールから子リポジトリだけど私のパッケージマネージャを使う(Portageに表示されます)。
背景
EFIを使用してGentooをインストールしました。サカキのチュートリアルだから私は現れましたdev-vcs/git
。
私が望むパッケージはインストール用です。Canonicalで撮った写真(背景から読んだ内容は次のとおりです。技術芸術) 対応する指示は次のとおりです。
ルート図
インストールするスナップショットの制限.ebuildそしてsnapd.ebuild
'#snapdシステムサービスを有効にする:
sudo systemctl enable --now snapd.service
試した手順が機能しない
1回試してください
/etc/portage/repos.conf/
まず、前提条件であるgit .ebuildsをリポジトリとして追加し、それを私のディレクトリ(2つの別々のエントリ)に入れてみました。投稿します一つたとえば、
[zyga-snap-confine]
# Snapd build dependency #1
# Maintainer: obscured
location = /usr/local/portage/zyga-snap-confine
sync-type = git
sync-uri = https://github.com/zyga/snap-confine-gentoo.git
priority = 60
auto-sync = yes
リポジトリを同期し、.を介して目的のパッケージを見つけようemaint sync --repo zyga-snap-confine
としました。 emerge --search
eix
不運。
欠落しているレイアウト、master = gentooエントリのエラーが発生します...メタデータが欠落していることを知っていますが、大きな期待を持っています。
2回試してください
ついに参考資料が見つかりました何ebuildに関連しています。正式にGentoo Wikiそしてここの他の投稿(ソースからGit、Curl、Expatをインストールする)そしてここ(Funtoo / Gentooでソフトウェアをパッケージ化する方法は?)、私は次のように決定します。
root@Gentoo ~ # cd /opt
root@Gentoo opt # git clone https://github.com/zyga/snap-confine-gentoo.git
root@Gentoo opt # cd snap-confine-gentoo
root@Gentoo snap-confine-gentoo # ebuild snap-confine-1.0.32.ebuild manifest clean merge
しかし、エラーが返されました。
Appending / to PORTDIR_OVERLAY...
!!! Repository 'x-' is missing masters attribute in '/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
ebuild: /opt/snap-confine-gentoo/snap-confine-1.0.32.ebuild: does not seem to have a valid PORTDIR structure
好ましいソリューション
私は比較的初めてGentooに触れ、Linuxを自分で教えているので、Gentooフォーラムでリポジトリメンテナンスのチュートリアルを見つけることができません。開発者ガイド、しかし多くの知識を想定しています)。理想的な答えは、cliメソッド(git clone
...と./configure
?を使用すると仮定)とパッケージマネージャのバージョンを提供することです。
欠落しているメタデータとレイアウトファイルを追加するために独自のgitリポジトリを作成する必要がある場合でも、この方法でsnapdインストールを管理することをお勧めします。
答え1
上記の@likewhoaのコメントによると、ebuildの構造を調整する必要があります。クリエイターは、gitリポジトリを作成するときに最新のPortage構造を考慮していませんでした。
コマンドラインの場合
(Portageディレクトリ構造のないebuild)/usr/local/portage/
心の中で決心しました。キャプチャ制限カテゴリに属するsys-apps
Bashルートプロンプトから:
cd /usr/local/portage
git clone https://github.com/zyga/snap-confine-gentoo.git
cd snap-confine-gentoo
mkdir -pv sys-apps/snap-confine
# the Manifest file will be recreated later
rm -v Manifest
mv -v snap-confine-1.0.32.ebuild sys-apps/snap-confine/
# to avoid errors, you need your masters = gentoo reference
mkdir -v metadata
echo 'masters = gentoo' > metadata/layout.conf
cd sys-apps/snap-confine
ebuild snap-confine-1.0.32.ebuild manifest clean merge
.ebuildが正しい依存関係を正しく形成していないことがわかりましたが、このステップは以下に基づいて良いチュートリアルを提供すると思います。
- https://wiki.gentoo.org/wiki/Basic_guide_to_write_Gentoo_Ebuilds
- https://devmanual.gentoo.org/quickstart/
ポーテージ管理用
他のGentooリポジトリに基づいて、開発者は次のものを含むパッケージを作成することをお勧めします。キャプチャ制限そしてスナップ写真ebuildはパッケージカテゴリsys-apps
とapp-emulation
。
それから私たちはメタデータ/layout.confmasters = gentoo
Portageの互換性に関する苦情を避けるために含まれているファイル。開発者ガイドでは、構成ファイル/repo_name識別されたストレージ名を持つファイル。各パッケージのフォルダにメタデータ.xmlファイルを生成し、実行してrepoman manifest
生成します。現れる文書。
最後に、ユーザーは次の/etc/portage/repos.conf/
ガイドラインに従って項目を作成する必要があります。sakaki-tools githubリポジトリ