[英]How to write ebuild for Gentoo correctly
有人可以帮忙为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除外)都是多余的。 默认功能可以正常使用,因此请删除它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.