Linux 如何正确编写Gentoo的ebuild

Linux 如何正确编写Gentoo的ebuild,linux,package,gentoo,Linux,Package,Gentoo,是否有人可以帮助为创建ebuild?这是我的工件ebuild(针对osc修改了ebuild): 覆盖信息: 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" emerg

是否有人可以帮助为创建ebuild?这是我的工件ebuild(针对osc修改了ebuild):

覆盖信息:

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_设置,不确定)都是冗余的。默认函数将正常工作,因此请删除它们。

您尚未定义SRC\u URI。这就是它用来下载tarball的方法。您不会将其包含在ebuild目录中。即使您事先已经下载了它,也要坚持使用/usr/portage/distfiles

此外,您的所有功能(可能除了pkg_设置,不确定)都是冗余的。默认函数将正常工作,因此请删除它们

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'