|
|
这几天qt3提示有升级,结果每次升级的时候都会出现问题:
- GentooLinux ~ # emerge -av =x11-libs/qt-3.3.6-r4
- These are the packages that would be merged, in order:
- Calculating dependencies... done!
- [ebuild R ] x11-libs/qt-3.3.6-r4 USE="cups gif opengl -debug -doc -examples -firebird -immqt -immqt-bc -ipv6 -mysql -nas -nis -odbc -pertty% -postgres -risky% -sqlite -xinerama" 38 kB [4]
- Total size of downloads: 38 kB
复制代码
但是系统总是试图去找一个 /usr/portage/distfiles/qt-x11-free-qt-copy-20060605-3.3.6.patch.bz2 的文件,然后就提示找不到,无法emerge。
怎么看怎么觉得不对,这个文件似乎不符合命名规则,于是查看原始的ebuild:
- # Copyright 1999-2006 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- # $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.6-r4.ebuild,v 1.10 2006/11/06 10:59:32 eroyf Exp $
- inherit eutils flag-o-matic toolchain-funcs
- SRCTYPE="free"
- DESCRIPTION="The Qt toolkit is a comprehensive C++ application development framework."
- HOMEPAGE="http://www.trolltech.com/"
- IMMQT_P="qt-x11-immodule-unified-qt3.3.6-20060317-gentoo"
- SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.bz2
- immqt? ( mirror://gentoo/${IMMQT_P}.diff.bz2 )
- immqt-bc? ( mirror://gentoo/${IMMQT_P}.diff.bz2 )"
- LICENSE="|| ( QPL-1.0 GPL-2 )"
复制代码
看来问题应该在${PV}这里,系统认为qt-3.3.6-r4的${PV}应该是qt-copy-20060605-3.3.6.patch,而不是3.3.6。
到ftp://ftp.trolltech.com/qt/source/ 里查询原始文件,验证了之前的想法,正确的文件似乎应该是:qt-x11-free-3.3.6.tar.bz2。
于是想是不是在ebuild里强行设置PV="3.3.6",结果查询了《ebuild how to》,发现不行:
Variables
The first part of every ebuild file is made up of a number of variables. They fall under 3 categories (and are marked below):
READ: variables you can utilize but never set
MUST: variables you must always set
OPT: variables that you should set
Variable Usage Description
PV READ The version of the package.
就是说PV这个变量,是variables you can utilize but never set的。
看来只有把${PV}强制改成3.3.6再试试能不能emerge了。
问题出现原因研究中。
不知道理解上有没有问题?也不知道有没有兄弟遇到过,是如何解决的?谢过先了:) |
|