如何在Gentoo中使用我的软件包管理器从git安装自定义源?

克莱顿

我想git仓库安装自定义源,但是要使用我的包管理器(出现是为了移植)。

背景

我已经使用Sakaki的教程使用EFI安装了Gentoo ,所以我已经出现了dev-vcs/git

我想要的软件包用于安装Canonical的Snapd(来自Ars Technica的背景资料),其说明如下:

Gentoo

安装snap-confine.ebuildsnapd.ebuild

'#启用对齐的systemd服务:

sudo systemctl enable --now snapd.service

尝试不起作用的步骤

尝试1

首先,我试图通过将必备的git .ebuilds添加到存储库中/etc/portage/repos.conf/(两个单独的条目)来将它们添加为存储库我将在此处发布一个示例:

[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没有运气。

它丢掉了有关缺少布局的错误,一个主= 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存储库以添加缺少的元数据和布局文件,我还是希望以这种方式管理快照安装。

克莱顿

基于上面的@likewhoa注释,需要对ebuild的结构进行按摩。创建者在创建其git存储库时没有考虑到最新的可移植结构。

对于命令行

(不包括搬运目录结构一个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的格式不正确,但具有正确的依存关系,但是我认为这些步骤提供了一个很好的教程-基于:

  1. https://wiki.gentoo.org/wiki/Basic_guide_to_write_Gentoo_Ebuilds
  2. https://devmanual.gentoo.org/quickstart/

用于搬运管理

基于其他Gentoo存储库,我建议开发人员创建一个单独的存储库,其中包含分别位于package类别之下的snap-confinesnapd ebuild sys-appsapp-emulation

然后,我们创建了一个元数据/layout.conf文件,其中包含masters = gentoo文件以避免移植兼容性投诉。开发人员指南还要求我们有一个profile / repo_name文件,其中标识了回购的名称。在每个软件包的文件夹中,我们创建了一个metadata.xml文件,然后运行repoman manifest以生成清单文件。

最后,用户需要在中创建一个条目/etc/portage/repos.conf/sakaki-tools github repo上对此条目的说明进行了详细的说明。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

来自操作系统或自定义软件包管理器的软件包

来自分类Dev

如何在我的自定义 Linux 发行版中安装 Debian 包管理器(dpk 和 apt)?

来自分类Dev

从源安装。如何在不破坏软件包管理器的情况下解决依赖关系

来自分类Dev

我如何在CentOS7中安装pacman(Archlinux软件包管理器)及其回购协议(AUR)

来自分类Dev

如何通过Yum软件包管理器安装我的应用程序?

来自分类Dev

电子:如何在index.html中导入或包括使用npm软件包管理器安装的CSS?

来自分类Dev

如何在FreeBSD发行版上安装软件包管理器(PKG)

来自分类Dev

如何通过软件包管理器正确安装和使用texlive

来自分类Dev

如何使用Nix软件包管理器通过Observer安装Erlang或Elixir?

来自分类Dev

如何通过软件包管理器正确安装和使用texlive

来自分类Dev

如何使用软件包管理器工具从存储库在centos 8中安装sshfs

来自分类Dev

如何通过软件包管理器安装Swift软件包?

来自分类Dev

Xubuntu 14.04使用Synaptic软件包管理器删除“未安装”的软件包

来自分类Dev

如何将我的自定义npm软件包添加到TypeScript定义管理器?

来自分类Dev

我如何使自编译的软件包与软件包管理器(例如apt-get,yum)配合使用

来自分类Dev

从Windows上的Weka软件包管理器安装后,无法在weka 3.7.10中使用libsvm

来自分类Dev

从Windows上的Weka软件包管理器安装后,无法在weka 3.7.10中使用libsvm

来自分类Dev

查找软件包管理器未安装的文件

来自分类Dev

在terramaster NAS上安装软件包管理器

来自分类Dev

您如何使用Synaptic软件包管理器来下载软件包?

来自分类Dev

如何在未安装Visual Studio的情况下更新Nuget软件包管理器?

来自分类Dev

如何在未安装Visual Studio的情况下更新Nuget软件包管理器?

来自分类Dev

Skype安装失败。如何从Ubuntu的软件包管理器安装Skype?

来自分类Dev

如何在Visual Studio 2013的C ++项目中编译和链接Google测试,但如何使用NuGet软件包管理器安装的Gtest进行链接?

来自分类Dev

无法在新安装的Ubuntu 16.04 LTS上更改我的软件包管理器

来自分类Dev

如何离线安装Atom软件包或当原子软件包管理器不工作时如何安装?

来自分类Dev

当nix软件包管理器安装ruby时,如何使用ruby gem命令(如bundler)?

来自分类Dev

如何安装NVIDA工具包(使用软件包管理器,不能提供.deb文件名)

来自分类Dev

如何在反向关系中使用自定义管理器?

Related 相关文章

  1. 1

    来自操作系统或自定义软件包管理器的软件包

  2. 2

    如何在我的自定义 Linux 发行版中安装 Debian 包管理器(dpk 和 apt)?

  3. 3

    从源安装。如何在不破坏软件包管理器的情况下解决依赖关系

  4. 4

    我如何在CentOS7中安装pacman(Archlinux软件包管理器)及其回购协议(AUR)

  5. 5

    如何通过Yum软件包管理器安装我的应用程序?

  6. 6

    电子:如何在index.html中导入或包括使用npm软件包管理器安装的CSS?

  7. 7

    如何在FreeBSD发行版上安装软件包管理器(PKG)

  8. 8

    如何通过软件包管理器正确安装和使用texlive

  9. 9

    如何使用Nix软件包管理器通过Observer安装Erlang或Elixir?

  10. 10

    如何通过软件包管理器正确安装和使用texlive

  11. 11

    如何使用软件包管理器工具从存储库在centos 8中安装sshfs

  12. 12

    如何通过软件包管理器安装Swift软件包?

  13. 13

    Xubuntu 14.04使用Synaptic软件包管理器删除“未安装”的软件包

  14. 14

    如何将我的自定义npm软件包添加到TypeScript定义管理器?

  15. 15

    我如何使自编译的软件包与软件包管理器(例如apt-get,yum)配合使用

  16. 16

    从Windows上的Weka软件包管理器安装后,无法在weka 3.7.10中使用libsvm

  17. 17

    从Windows上的Weka软件包管理器安装后,无法在weka 3.7.10中使用libsvm

  18. 18

    查找软件包管理器未安装的文件

  19. 19

    在terramaster NAS上安装软件包管理器

  20. 20

    您如何使用Synaptic软件包管理器来下载软件包?

  21. 21

    如何在未安装Visual Studio的情况下更新Nuget软件包管理器?

  22. 22

    如何在未安装Visual Studio的情况下更新Nuget软件包管理器?

  23. 23

    Skype安装失败。如何从Ubuntu的软件包管理器安装Skype?

  24. 24

    如何在Visual Studio 2013的C ++项目中编译和链接Google测试,但如何使用NuGet软件包管理器安装的Gtest进行链接?

  25. 25

    无法在新安装的Ubuntu 16.04 LTS上更改我的软件包管理器

  26. 26

    如何离线安装Atom软件包或当原子软件包管理器不工作时如何安装?

  27. 27

    当nix软件包管理器安装ruby时,如何使用ruby gem命令(如bundler)?

  28. 28

    如何安装NVIDA工具包(使用软件包管理器,不能提供.deb文件名)

  29. 29

    如何在反向关系中使用自定义管理器?

热门标签

归档