1

任何人都可以帮助为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'
4

1 回答 1

1

您尚未定义 SRC_URI。这就是它用来下载压缩包的方法。您没有将它包含在 ebuild 的目录中。即使您事先已经下载了它,您也可以保存在 /usr/portage/distfiles 中。

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

于 2013-02-22T08:48:07.500 回答