gpt4 book ai didi

linux - 如何正确编写 Gentoo 的 ebuild

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:43 29 4
gpt4 key购买 nike

任何人都可以帮助为 GBS 创建 ebuild ?这是我的作品 ebuild(为 osc 修改的 ebuild):

# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

PYTHON_DEPEND="2:2.7:2.7"

inherit distutils

DESCRIPTION="Command line tool for building packages for Tizen platform"
HOMEPAGE="https://source.tizen.org/documentation/reference/git-build-system"

LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS="amd64 x86"

DEPEND="
>=dev-util/osc-0.131
dev-vcs/git
app-arch/rpm
dev-util/suse-build
"

RDEPEND="${DEPEND}
app-admin/sudo
dev-util/obs-service-meta
"

pkg_setup() {
python_set_active_version 2
python_pkg_setup
}

src_unpack() {
unpack ${PF}.tar.gz
}

src_compile() {
distutils_src_compile
}

src_install() {
distutils_src_install

### Commented from original ebuild #
#dosym osc-wrapper.py /usr/bin/osc
#keepdir /usr/lib/osc/source_validators
#cd "${ED}"/usr/
#find . -type f -exec sed -i 's|/usr/bin/build|/usr/bin/suse-build|g' {} +
#find . -type f -exec sed -i 's|/usr/lib/build|/usr/share/suse-build|g' {} +
#rm -f "${ED}"/usr/share/doc/${PN}*/TODO*
}

覆盖信息:

ls /usr/local/portage/dev-util/gbs/
Manifest gbs-0.13.tar.gz gbs-0.13_alpha.ebuild gbs-0.13_alpha.tar.gz

cat /etc/portage/make.conf | grep DISTDIR
DISTDIR="/usr/local/portage/distfiles"

emerge -s "%@dev-util/gbs"
* dev-util/gbs
Latest version available: 0.13_alpha
Latest version installed: [ Not Installed ]
Size of files: 0 kB
Homepage: https://source.tizen.org/documentation/reference/git-build-system
Description: Command line tool for building packages for Tizen platform
License: GPL-2

当我试图编译这个 ebuild(至少解压)时,我收到以下错误。源码解包输出:

ebuild   /usr/local/portage/dev-util/gbs/gbs-0.13_alpha.ebuild unpack
>>> Existing ${T}/environment for 'gbs-0.13_alpha' will be sourced. Run
>>> 'clean' to start with a fresh environment.
>>> Not marked as unpacked; recreating WORKDIR...
* checking ebuild checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking gbs-0.13_alpha.tar.gz to /var/tmp/portage/dev-util/gbs-0.13_alpha/work
* ERROR: dev-util/gbs-0.13_alpha failed (unpack phase):
* gbs-0.13_alpha.tar.gz does not exist
*
* Call stack:
* ebuild.sh, line 93: Called src_unpack
* environment, line 3719: Called unpack 'gbs-0.13_alpha.tar.gz'
* phase-helpers.sh, line 297: Called die
* The specific snippet of code:
* [[ ! -s ${srcdir}${x} ]] && die "${x} does not exist"
*
* If you need support, post the output of `emerge --info '=dev-util/gbs-0.13_alpha'`,
* the complete build log and the output of `emerge -pqv '=dev-util/gbs-0.13_alpha'`.
* This ebuild is from an overlay named 'x-portage': '/usr/local/portage/'
* The complete build log is located at '/var/tmp/portage/dev-util/gbs-0.13_alpha/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-util/gbs-0.13_alpha/temp/environment'.
* Working directory: '/var/tmp/portage/dev-util/gbs-0.13_alpha/work'
* S: '/var/tmp/portage/dev-util/gbs-0.13_alpha/work/gbs-0.13_alpha'

最佳答案

您还没有定义 SRC_URI。这就是它用来下载 tarball 的。您不将其包含在 ebuild 的目录中。即使您事先已经下载了它,您仍然在/usr/portage/distfiles 中。

此外,您的所有功能(除了 pkg_setup,不确定)都是多余的。默认函数可以正常工作,所以请删除它们。

关于linux - 如何正确编写 Gentoo 的 ebuild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15004513/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com