|
|
这是ebuild文件
localhost drcom # cat drcom-1.4.4.ebuild
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="城市热点上网客户端"
HOMEPAGE=""
#SRC_URI=""
SRC_URI="ftp://10.1.3.112/overlay/drcom-1.4.4.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86"
IUSE="doc"
DEPEND=""
RDEPEND=""
src_unpack(){
if [ "${A}" != "" ];then
echo "unpack ${A}"
echo ""
unpack ${A} ||die "unpack failed"
fi
cd "${S}"||die "cd ${S} failed"
}
src_compile(){
if [ -f Makefile ]||[ -f GNUmakefile ]||[ -f makefile ];then
emake||die "emake failed"
fi
}
src_install(){
#emake DESTDIR="${D}" install ||die "einstall failed"
einstall ||die "einstall failed"
dodoc README ||die "dodoc failed"
}
安装提示
///////////////////////////////////////////////////////////////////////
localhost drcom # emerge drcom
Calculating dependencies... done!
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) app-portage/drcom-1.4.4 to /
* drcom-1.4.4.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking drcom-1.4.4.tar.gz ;-) ... [ ok ]
>>> Unpacking source...
unpack drcom-1.4.4.tar.gz
>>> Unpacking drcom-1.4.4.tar.gz to /var/tmp/portage/app-portage/drcom-1.4.4/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4 ...
make[1]: Entering directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/drcomc'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
CC drcomc.c
CC ../utils/utils.c
LD drcomc
make[1]: Leaving directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/drcomc'
make[1]: Entering directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/drcomd'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
CC drcomd.c
CC kmodule.c
CC signal.c
CC dialog.c
CC keepalive.c
CC login.c
CC logout.c
CC md5.c
CC misc.c
CC passwd.c
CC readconf.c
CC watchport.c
CC log.c
LD drcomd
make[1]: Leaving directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/drcomd'
make[1]: Entering directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/kmod'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make -C /lib/modules/2.6.24-gentoo-r8/build M=/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/kmod modules
make[2]: Entering directory `/usr/src/linux-2.6.24-gentoo-r8'
CC [M] /var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/kmod/drcom.o
Building modules, stage 2.
MODPOST 1 modules
CC /var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/kmod/drcom.mod.o
LD [M] /var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/kmod/drcom.ko
make[2]: Leaving directory `/usr/src/linux-2.6.24-gentoo-r8'
make[1]: Leaving directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/kmod'
>>> Source compiled.
>>> Test phase [not enabled]: app-portage/drcom-1.4.4
>>> Install drcom-1.4.4 into /var/tmp/portage/app-portage/drcom-1.4.4/image/ category app-portage
make[1]: Entering directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/drcomc'
INSTALL drcomc
ACCESS DENIED unlink: /usr/local/bin/drcomc
install: cannot remove `/usr/local/bin/drcomc': Permission denied
make[1]: *** [install] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-portage/drcom-1.4.4/work/drcom-1.4.4/drcomc'
make: *** [install] Error 1
*
* ERROR: app-portage/drcom-1.4.4 failed.
* Call stack:
* ebuild.sh, line 49: Called src_install
* environment, line 108: Called einstall
* ebuild.sh, line 555: Called die
* The specific snippet of code:
* ${MAKE:-make} prefix="${D}usr" \
* datadir="${D}usr/share" \
* infodir="${D}usr/share/info" \
* localstatedir="${D}var/lib" \
* mandir="${D}usr/share/man" \
* sysconfdir="${D}etc" \
* ${LOCAL_EXTRA_EINSTALL} \
* "$@" install || die "einstall failed"
* The die message:
* einstall failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-portage/drcom-1.4.4/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-portage/drcom-1.4.4/temp/environment'.
*
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/var/log/sandbox/sandbox-21649.log"
unlink: /usr/local/bin/drcomc
--------------------------------------------------------------------------------
* Messages for package app-portage/drcom-1.4.4:
*
* ERROR: app-portage/drcom-1.4.4 failed.
* Call stack:
* ebuild.sh, line 49: Called src_install
* environment, line 108: Called einstall
* ebuild.sh, line 555: Called die
* The specific snippet of code:
* ${MAKE:-make} prefix="${D}usr" \
* datadir="${D}usr/share" \
* infodir="${D}usr/share/info" \
* localstatedir="${D}var/lib" \
* mandir="${D}usr/share/man" \
* sysconfdir="${D}etc" \
* ${LOCAL_EXTRA_EINSTALL} \
* "$@" install || die "einstall failed"
* The die message:
* einstall failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-portage/drcom-1.4.4/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-portage/drcom-1.4.4/temp/environment'.
*
错误提示
/////////////////////////////////////////////////////////////////
ACCESS DENIED unlink: /usr/local/bin/drcomc
install: cannot remove `/usr/local/bin/drcomc': Permission denied
make[1]: *** [install] Error 1
############################################
疑问:1.我是在用root安装,怎么会Permission denied呢?
2. 我自己又写了一个gsopcast的ebuild,安装正常
3.我写了一个很简单的ebuild,测试一下:功能就是将一个文件copy到我的根目录
主要这句:cp "${S}/${PN}" /home/pjq/||die "install failed"
安装是和上面类似错误(完整的在下面)
ACCESS DENIED open_wr: /home/pjq/tv
cp: cannot create regular file `/home/pjq/tv': Permission denied
*
这里是它的ebuild
localhost tv # cat tv-0.1.ebuild
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="a shell used to play tv,type:mms"
HOMEPAGE="http://percy.blog.ubuntu.org.cn"
SRC_URI="ftp://localhost/overlay/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86"
IUSE="doc"
DEPEND=""
RDEPEND=""
#FILESDIR=/usr/portage/local/myebuilds/app-portage/tv/files
#FILESDIR=/usr/portage/local/myebuilds/app-portage/tv/files
src_unpack()
{
unpack ${A} ||die "unpack failed"
cd ${S}
}
src_install()
{
cp "${S}/${PN}" /home/pjq||die "install failed"
#dosbin tv||die "dosbin tv failed"
if use doc;then
dodoc readme||die "dodoc readme failed"
fi
}
安装时和上面类似错误
localhost tv # emerge tv
Calculating dependencies... done!
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) app-portage/tv-0.1 to /
* tv-0.1.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking tv-0.1.tar.gz ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking tv-0.1.tar.gz to /var/tmp/portage/app-portage/tv-0.1/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/app-portage/tv-0.1/work/tv-0.1 ...
>>> Source compiled.
>>> Test phase [not enabled]: app-portage/tv-0.1
>>> Install tv-0.1 into /var/tmp/portage/app-portage/tv-0.1/image/ category app-portage
ACCESS DENIED open_wr: /home/pjq/tv
cp: cannot create regular file `/home/pjq/tv': Permission denied
*
* ERROR: app-portage/tv-0.1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_install
* environment, line 115: Called die
* The specific snippet of code:
* cp "${S}/${PN}" /home/pjq || die "install failed";
* The die message:
* install failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-portage/tv-0.1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-portage/tv-0.1/temp/environment'.
*
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/var/log/sandbox/sandbox-25348.log"
open_wr: /home/pjq/tv
--------------------------------------------------------------------------------
* Messages for package app-portage/tv-0.1:
*
* ERROR: app-portage/tv-0.1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_install
* environment, line 115: Called die
* The specific snippet of code:
* cp "${S}/${PN}" /home/pjq || die "install failed";
* The die message:
* install failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-portage/tv-0.1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-portage/tv-0.1/temp/environment'.
* |
|