parent
3e1fdc249a
commit
0674c2c9fc
@ -0,0 +1,99 @@
|
|||||||
|
# Copyright 1999-2012 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header: /var/cvsroot/gentoo-x86/dev-perl/mogilefs-server/mogilefs-server-2.590.0.ebuild,v 1.1 2012/03/01 08:06:36 robbat2 Exp $
|
||||||
|
|
||||||
|
EAPI=4
|
||||||
|
|
||||||
|
MY_PN=MogileFS-Server
|
||||||
|
MODULE_AUTHOR=DORMANDO
|
||||||
|
MODULE_VERSION=${PV:0:4}
|
||||||
|
inherit perl-module
|
||||||
|
|
||||||
|
DESCRIPTION="Server for the MogileFS distributed file system"
|
||||||
|
HOMEPAGE="http://www.danga.com/mogilefs/ ${HOMEPAGE}"
|
||||||
|
|
||||||
|
IUSE="mysql sqlite postgres"
|
||||||
|
|
||||||
|
SLOT="0"
|
||||||
|
LICENSE="|| ( Artistic GPL-2 )"
|
||||||
|
KEYWORDS="~amd64 ~ppc ~x86"
|
||||||
|
|
||||||
|
# Upstream site recommends this,
|
||||||
|
# but it breaks Perlbal
|
||||||
|
# dev-perl/Perlbal-XS-HTTPHeaders
|
||||||
|
RDEPEND="dev-perl/Net-Netmask
|
||||||
|
>=dev-perl/Danga-Socket-1.61
|
||||||
|
>=dev-perl/Sys-Syscall-0.22
|
||||||
|
>=dev-perl/Perlbal-1.790
|
||||||
|
dev-perl/IO-AIO
|
||||||
|
dev-perl/libwww-perl
|
||||||
|
>=dev-perl/MogileFS-Client-1.14
|
||||||
|
>=dev-perl/MogileFS-Utils-2.20
|
||||||
|
dev-perl/Cache-Memcached
|
||||||
|
mysql? ( dev-perl/DBD-mysql )
|
||||||
|
postgres? ( dev-perl/DBD-Pg )
|
||||||
|
sqlite? ( dev-perl/DBD-SQLite )"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
# You need a local MySQL or Postgresql server for this
|
||||||
|
#SRC_TEST="do"
|
||||||
|
|
||||||
|
#PATCHES=( )
|
||||||
|
|
||||||
|
MOGILE_USER="mogile"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# Warning! It is important that the uid is constant over Gentoo machines
|
||||||
|
# As mogilefs may be used with non-local block devices that move!
|
||||||
|
enewuser ${MOGILE_USER} 460 -1 -1
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
for f in Makefile.PL MANIFEST ; do
|
||||||
|
if [ -f "${S}"/${f}.orig ]; then
|
||||||
|
cp -f "${S}"/${f}{.orig,}
|
||||||
|
else
|
||||||
|
cp -f "${S}"/${f}{,.orig}
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# If we are not in a cutting edge Git source, we would prefer to not install
|
||||||
|
# duplicates of these.
|
||||||
|
sed -i -e '/directory.*mogdeps/d' "${S}"/Makefile.PL
|
||||||
|
sed -i -e '/^lib\/mogdeps/d' "${S}"/MANIFEST
|
||||||
|
mv -f "${S}/lib/mogdeps" "${S}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
export MOGILE_NO_BUILTIN_DEPS=1
|
||||||
|
perl-module_src_compile || die "perl-module_src_compile failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
export MOGILE_NO_BUILTIN_DEPS=1
|
||||||
|
perl-module_src_install || die "perl-module_src_install failed"
|
||||||
|
cd "${S}"
|
||||||
|
|
||||||
|
newconfd "${FILESDIR}"/mogilefsd-conf.d-2.16 mogilefsd
|
||||||
|
newinitd "${FILESDIR}"/mogilefsd-init.d-2.16 mogilefsd
|
||||||
|
|
||||||
|
newconfd "${FILESDIR}"/mogstored-conf.d-2.30 mogstored
|
||||||
|
newinitd "${FILESDIR}"/mogstored-init.d-2.50 mogstored
|
||||||
|
|
||||||
|
newinitd "${FILESDIR}"/mogautomount-init.d-2.50 mogautomount
|
||||||
|
|
||||||
|
diropts -m 700 -o ${MOGILE_USER}
|
||||||
|
keepdir /var/run/mogile
|
||||||
|
keepdir /var/mogdata
|
||||||
|
diropts -m 755 -o root
|
||||||
|
|
||||||
|
dodir /etc/mogilefs
|
||||||
|
insinto /etc/mogilefs
|
||||||
|
insopts -m 600 -o root -g ${MOGILE_USER}
|
||||||
|
newins "${FILESDIR}"/mogilefsd.conf-2.30 mogilefsd.conf
|
||||||
|
newins "${FILESDIR}"/mogstored.conf-2.16 mogstored.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
chmod 640 "${ROOT}"/etc/mogilefs/{mogilefsd,mogstored}.conf
|
||||||
|
chown root:${MOGILE_USER} "${ROOT}"/etc/mogilefs/{mogilefsd,mogstored}.conf
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
DIST python-twitter-0.8.1.tar.gz 67265 RMD160 f2516e8861641d76e01bbf9126259c61d28178eb SHA1 b9b85da21d60a2528966d076de8b330665072126 SHA256 cf793bdfe5d028f7646f80190a491f150574159ab3a968364b1e18e6e2d38b27
|
DIST python-twitter-0.8.1.tar.gz 67265 RMD160 f2516e8861641d76e01bbf9126259c61d28178eb SHA1 b9b85da21d60a2528966d076de8b330665072126 SHA256 cf793bdfe5d028f7646f80190a491f150574159ab3a968364b1e18e6e2d38b27
|
||||||
|
DIST python-twitter-0.8.2.tar.gz 63648 RMD160 3fff2e9923e26acc2d87369b36b9bcca88ad9f12 SHA1 a119f4da1694bc5396fc27875e538999bbf5d8d2 SHA256 b7fb64877c5d53457a44899f5aa35ae073a1c3587b35f3f2661656e2fff8f72e
|
||||||
|
@ -0,0 +1,53 @@
|
|||||||
|
# Copyright 1999-2012 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header: /var/cvsroot/gentoo-x86/dev-python/python-twitter/python-twitter-0.8.2.ebuild,v 1.1 2012/03/01 09:38:50 djc Exp $
|
||||||
|
|
||||||
|
EAPI="2"
|
||||||
|
SUPPORT_PYTHON_ABIS="1"
|
||||||
|
|
||||||
|
inherit distutils
|
||||||
|
|
||||||
|
DESCRIPTION="This library provides a pure python interface for the Twitter API"
|
||||||
|
HOMEPAGE="http://code.google.com/p/python-twitter/"
|
||||||
|
SRC_URI="http://python-twitter.googlecode.com/files/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86 ~x64-macos"
|
||||||
|
IUSE="examples"
|
||||||
|
|
||||||
|
RDEPEND="dev-python/oauth2
|
||||||
|
dev-python/simplejson"
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
dev-python/setuptools"
|
||||||
|
RESTRICT_PYTHON_ABIS="3.*"
|
||||||
|
|
||||||
|
DOCS="CHANGES README"
|
||||||
|
PYTHON_MODNAME="twitter.py"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
distutils_src_prepare
|
||||||
|
|
||||||
|
# Delete internal copy of simplejson.
|
||||||
|
rm -fr simplejson
|
||||||
|
}
|
||||||
|
|
||||||
|
#Test are disabled because they are broken.
|
||||||
|
#See http://code.google.com/p/python-twitter/issues/detail?id=196 for details.
|
||||||
|
#src_test() {
|
||||||
|
# testing() {
|
||||||
|
# PYTHONPATH="build-${PYTHON_ABI}/lib" "$(PYTHON)" twitter_test.py
|
||||||
|
# }
|
||||||
|
# python_execute_function testing
|
||||||
|
#}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
distutils_src_install
|
||||||
|
|
||||||
|
dohtml doc/twitter.html
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
insinto /usr/share/doc/${PF}/examples
|
||||||
|
doins examples/*
|
||||||
|
fi
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
DIST virtualenv-1.6.4.tar.gz 1889033 RMD160 4574406ec1db8d911950e0e0bf865aa7c64183a2 SHA1 eeaae3a84d9076577996a02951afc78b8e947067 SHA256 a68efb4b35a4fef2a57de1981e00d9cf60be5b17d8f677baa0c5848582aaae85
|
DIST virtualenv-1.6.4.tar.gz 1889033 RMD160 4574406ec1db8d911950e0e0bf865aa7c64183a2 SHA1 eeaae3a84d9076577996a02951afc78b8e947067 SHA256 a68efb4b35a4fef2a57de1981e00d9cf60be5b17d8f677baa0c5848582aaae85
|
||||||
DIST virtualenv-1.7.1.1.tar.gz 2137863 RMD160 c4a2e6cd5e3d2f8e9447bcf48653f06e6b0bf525 SHA1 cd2ac68687ee4e2efe0299b72699aa08d8bc0f27 SHA256 edf6891ba6b24278b3b17faaa7d8a753fc3121e845340e0e8fcc55e783b81e8d
|
DIST virtualenv-1.7.1.1.tar.gz 2137863 RMD160 c4a2e6cd5e3d2f8e9447bcf48653f06e6b0bf525 SHA1 cd2ac68687ee4e2efe0299b72699aa08d8bc0f27 SHA256 edf6891ba6b24278b3b17faaa7d8a753fc3121e845340e0e8fcc55e783b81e8d
|
||||||
|
DIST virtualenv-1.7.1.2.tar.gz 2138019 RMD160 5411386ce30e2de5ac5a0ec1689923e18facc27c SHA1 61aa9e69dee3f5e33cb763d06f0faa41ba77a5f1 SHA256 9f23c47e167f127268cf6777caf613280cf066b32c0183581bf79eab5ccc907e
|
||||||
DIST virtualenv-1.7.tar.gz 2125413 RMD160 5d5f9a7b82bd4ec659d853a1bbaacaac32961116 SHA1 3c99e759a06470a1838c98b750d5b72972ac82d6 SHA256 e32b851eec3beae048c41dedcbebdae8484752b4426436ba8d7d1d69458ef6fc
|
DIST virtualenv-1.7.tar.gz 2125413 RMD160 5d5f9a7b82bd4ec659d853a1bbaacaac32961116 SHA1 3c99e759a06470a1838c98b750d5b72972ac82d6 SHA256 e32b851eec3beae048c41dedcbebdae8484752b4426436ba8d7d1d69458ef6fc
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
# Copyright 1999-2012 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-1.7.1.2.ebuild,v 1.1 2012/03/01 09:26:36 djc Exp $
|
||||||
|
|
||||||
|
EAPI="3"
|
||||||
|
SUPPORT_PYTHON_ABIS="1"
|
||||||
|
DISTUTILS_SRC_TEST="nosetests"
|
||||||
|
|
||||||
|
inherit distutils
|
||||||
|
|
||||||
|
DESCRIPTION="Virtual Python Environment builder"
|
||||||
|
HOMEPAGE="http://pypi.python.org/pypi/virtualenv"
|
||||||
|
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
DEPEND="dev-python/setuptools"
|
||||||
|
RDEPEND="${DEPEND}"
|
||||||
|
|
||||||
|
DOCS="docs/index.txt docs/news.txt"
|
||||||
|
PYTHON_MODNAME="virtualenv.py virtualenv_support"
|
@ -0,0 +1,22 @@
|
|||||||
|
dev-perl/Net-Netmask >=dev-perl/Danga-Socket-1.61 >=dev-perl/Sys-Syscall-0.22 >=dev-perl/Perlbal-1.790 dev-perl/IO-AIO dev-perl/libwww-perl >=dev-perl/MogileFS-Client-1.14 >=dev-perl/MogileFS-Utils-2.20 dev-perl/Cache-Memcached mysql? ( dev-perl/DBD-mysql ) postgres? ( dev-perl/DBD-Pg ) sqlite? ( dev-perl/DBD-SQLite ) dev-lang/perl[-build]
|
||||||
|
dev-perl/Net-Netmask >=dev-perl/Danga-Socket-1.61 >=dev-perl/Sys-Syscall-0.22 >=dev-perl/Perlbal-1.790 dev-perl/IO-AIO dev-perl/libwww-perl >=dev-perl/MogileFS-Client-1.14 >=dev-perl/MogileFS-Utils-2.20 dev-perl/Cache-Memcached mysql? ( dev-perl/DBD-mysql ) postgres? ( dev-perl/DBD-Pg ) sqlite? ( dev-perl/DBD-SQLite ) dev-lang/perl[-build]
|
||||||
|
0
|
||||||
|
mirror://cpan/authors/id/D/DO/DORMANDO/MogileFS-Server-2.59.tar.gz
|
||||||
|
|
||||||
|
http://www.danga.com/mogilefs/ http://search.cpan.org/dist/MogileFS-Server/
|
||||||
|
|| ( Artistic GPL-2 )
|
||||||
|
Server for the MogileFS distributed file system
|
||||||
|
~amd64 ~ppc ~x86
|
||||||
|
base eutils multilib perl-module toolchain-funcs user
|
||||||
|
mysql sqlite postgres
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4
|
||||||
|
|
||||||
|
compile configure install postinst prepare setup test unpack
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
dev-python/oauth2 dev-python/simplejson dev-python/setuptools >=app-admin/eselect-python-20091230 dev-lang/python
|
||||||
|
dev-python/oauth2 dev-python/simplejson >=app-admin/eselect-python-20091230 dev-lang/python
|
||||||
|
0
|
||||||
|
http://python-twitter.googlecode.com/files/python-twitter-0.8.2.tar.gz
|
||||||
|
|
||||||
|
http://code.google.com/p/python-twitter/
|
||||||
|
Apache-2.0
|
||||||
|
This library provides a pure python interface for the Twitter API
|
||||||
|
~amd64 ~x86 ~x64-macos
|
||||||
|
distutils multilib python toolchain-funcs
|
||||||
|
examples
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2
|
||||||
|
|
||||||
|
compile install postinst postrm prepare
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
dev-python/setuptools >=app-admin/eselect-python-20091230 dev-lang/python test? ( dev-python/nose )
|
||||||
|
dev-python/setuptools >=app-admin/eselect-python-20091230 dev-lang/python
|
||||||
|
0
|
||||||
|
mirror://pypi/v/virtualenv/virtualenv-1.7.1.2.tar.gz
|
||||||
|
|
||||||
|
http://pypi.python.org/pypi/virtualenv
|
||||||
|
MIT
|
||||||
|
Virtual Python Environment builder
|
||||||
|
~amd64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris
|
||||||
|
distutils multilib python toolchain-funcs
|
||||||
|
test
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3
|
||||||
|
|
||||||
|
compile install postinst postrm prepare test
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
python3? ( =dev-lang/python-3* ) !pypy1_8? ( !python2? ( !python3? ( || ( >=dev-lang/python-2.7 dev-lang/python:2.6[threads] ) ) ) ) pypy1_8? ( !python2? ( !python3? ( dev-python/pypy:1.8[bzip2] ) ) ) python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6[threads] ) ) ) !build? ( >=sys-apps/sed-4.0.5 ) doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 ) >=app-admin/eselect-python-20091230
|
|
||||||
python3? ( =dev-lang/python-3* ) !pypy1_8? ( !python2? ( !python3? ( || ( >=dev-lang/python-2.7 dev-lang/python:2.6[threads] ) ) ) ) pypy1_8? ( !python2? ( !python3? ( dev-python/pypy:1.8[bzip2] ) ) ) python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6[threads] ) ) ) !build? ( >=sys-apps/sed-4.0.5 >=app-shells/bash-3.2_p17 >=app-admin/eselect-1.2 ) elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) elibc_glibc? ( >=sys-apps/sandbox-2.2 ) elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) >=app-misc/pax-utils-0.1.17 xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) ) selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] <sys-libs/libselinux-2.0.94 ) ) !<app-shells/bash-3.2_p17 !<app-admin/logrotate-3.8.0 >=app-admin/eselect-python-20091230
|
|
||||||
0
|
|
||||||
mirror://gentoo/portage-2.1.10.48.tar.bz2 http://dev.gentoo.org/~zmedico/portage/archives/portage-2.1.10.48.tar.bz2 linguas_pl? ( mirror://gentoo/portage-man-pl-2.1.2.tar.bz2 http://dev.gentoo.org/~zmedico/portage/archives/portage-man-pl-2.1.2.tar.bz2 )
|
|
||||||
|
|
||||||
http://www.gentoo.org/proj/en/portage/index.xml
|
|
||||||
GPL-2
|
|
||||||
Portage is the package management and distribution system for Gentoo
|
|
||||||
~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd
|
|
||||||
eutils multilib python toolchain-funcs user
|
|
||||||
build doc epydoc +ipc linguas_pl pypy1_8 python2 python3 selinux xattr
|
|
||||||
|
|
||||||
!build? ( >=net-misc/rsync-2.6.4 userland_GNU? ( >=sys-apps/coreutils-6.4 ) )
|
|
||||||
|
|
||||||
2
|
|
||||||
|
|
||||||
compile install postinst postrm preinst prepare setup test
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
python3? ( =dev-lang/python-3* ) !pypy1_8? ( !python2? ( !python3? ( || ( >=dev-lang/python-2.7 dev-lang/python:2.6[threads] ) ) ) ) pypy1_8? ( !python2? ( !python3? ( dev-python/pypy:1.8[bzip2] ) ) ) python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6[threads] ) ) ) !build? ( >=sys-apps/sed-4.0.5 ) doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 ) >=app-admin/eselect-python-20091230
|
|
||||||
python3? ( =dev-lang/python-3* ) !pypy1_8? ( !python2? ( !python3? ( || ( >=dev-lang/python-2.7 dev-lang/python:2.6[threads] ) ) ) ) pypy1_8? ( !python2? ( !python3? ( dev-python/pypy:1.8[bzip2] ) ) ) python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6[threads] ) ) ) !build? ( >=sys-apps/sed-4.0.5 >=app-shells/bash-3.2_p17 >=app-admin/eselect-1.2 ) elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) elibc_glibc? ( >=sys-apps/sandbox-2.2 ) elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) >=app-misc/pax-utils-0.1.17 xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) ) selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] <sys-libs/libselinux-2.0.94 ) ) !<app-shells/bash-3.2_p17 !<app-admin/logrotate-3.8.0 >=app-admin/eselect-python-20091230
|
|
||||||
0
|
|
||||||
mirror://gentoo/portage-2.2.0_alpha88.tar.bz2 http://dev.gentoo.org/~zmedico/portage/archives/portage-2.2.0_alpha88.tar.bz2 linguas_pl? ( mirror://gentoo/portage-man-pl-2.1.2.tar.bz2 http://dev.gentoo.org/~zmedico/portage/archives/portage-man-pl-2.1.2.tar.bz2 )
|
|
||||||
|
|
||||||
http://www.gentoo.org/proj/en/portage/index.xml
|
|
||||||
GPL-2
|
|
||||||
Portage is the package management and distribution system for Gentoo
|
|
||||||
~sparc-fbsd ~x86-fbsd
|
|
||||||
eutils multilib python toolchain-funcs user
|
|
||||||
build doc epydoc +ipc linguas_pl pypy1_8 python2 python3 selinux xattr
|
|
||||||
|
|
||||||
!build? ( >=net-misc/rsync-2.6.4 userland_GNU? ( >=sys-apps/coreutils-6.4 ) )
|
|
||||||
|
|
||||||
3
|
|
||||||
|
|
||||||
compile install postinst postrm preinst prepare setup test
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +1 @@
|
|||||||
Thu, 01 Mar 2012 08:06:46 +0000
|
Thu, 01 Mar 2012 10:06:46 +0000
|
||||||
|
@ -1 +1 @@
|
|||||||
Thu, 01 Mar 2012 08:06:46 +0000
|
Thu, 01 Mar 2012 10:06:47 +0000
|
||||||
|
@ -1 +1 @@
|
|||||||
Thu, 01 Mar 2012 08:06:48 +0000
|
Thu, 01 Mar 2012 10:06:48 +0000
|
||||||
|
@ -1 +1 @@
|
|||||||
Thu Mar 1 08:06:46 UTC 2012
|
Thu Mar 1 10:06:46 UTC 2012
|
||||||
|
@ -1 +1 @@
|
|||||||
Thu, 01 Mar 2012 08:30:01 +0000
|
Thu, 01 Mar 2012 10:30:01 +0000
|
||||||
|
@ -1 +1 @@
|
|||||||
1330589101 Thu Mar 1 08:05:01 2012 UTC
|
1330596301 Thu Mar 1 10:05:01 2012 UTC
|
||||||
|
@ -1,390 +0,0 @@
|
|||||||
# Copyright 1999-2012 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.10.48.ebuild,v 1.2 2012/02/21 06:49:27 zmedico Exp $
|
|
||||||
|
|
||||||
# Require EAPI 2 since we now require at least python-2.6 (for python 3
|
|
||||||
# syntax support) which also requires EAPI 2.
|
|
||||||
EAPI=2
|
|
||||||
inherit eutils multilib python
|
|
||||||
|
|
||||||
DESCRIPTION="Portage is the package management and distribution system for Gentoo"
|
|
||||||
HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="build doc epydoc +ipc linguas_pl pypy1_8 python2 python3 selinux xattr"
|
|
||||||
|
|
||||||
# Import of the io module in python-2.6 raises ImportError for the
|
|
||||||
# thread module if threading is disabled.
|
|
||||||
python_dep="python3? ( =dev-lang/python-3* )
|
|
||||||
!pypy1_8? ( !python2? ( !python3? (
|
|
||||||
|| ( >=dev-lang/python-2.7 dev-lang/python:2.6[threads] )
|
|
||||||
) ) )
|
|
||||||
pypy1_8? ( !python2? ( !python3? ( dev-python/pypy:1.8[bzip2] ) ) )
|
|
||||||
python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6[threads] ) ) )"
|
|
||||||
|
|
||||||
# The pysqlite blocker is for bug #282760.
|
|
||||||
DEPEND="${python_dep}
|
|
||||||
!build? ( >=sys-apps/sed-4.0.5 )
|
|
||||||
doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
|
|
||||||
epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )"
|
|
||||||
# Require sandbox-2.2 for bug #288863.
|
|
||||||
# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
|
|
||||||
# quite slow, so it's not considered in the dependencies as an alternative to
|
|
||||||
# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
|
|
||||||
# for now, don't pull in xattr deps for other kernels.
|
|
||||||
RDEPEND="${python_dep}
|
|
||||||
!build? ( >=sys-apps/sed-4.0.5
|
|
||||||
>=app-shells/bash-3.2_p17
|
|
||||||
>=app-admin/eselect-1.2 )
|
|
||||||
elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
|
|
||||||
elibc_glibc? ( >=sys-apps/sandbox-2.2 )
|
|
||||||
elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
|
|
||||||
>=app-misc/pax-utils-0.1.17
|
|
||||||
xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) )
|
|
||||||
selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] <sys-libs/libselinux-2.0.94 ) )
|
|
||||||
!<app-shells/bash-3.2_p17
|
|
||||||
!<app-admin/logrotate-3.8.0"
|
|
||||||
PDEPEND="
|
|
||||||
!build? (
|
|
||||||
>=net-misc/rsync-2.6.4
|
|
||||||
userland_GNU? ( >=sys-apps/coreutils-6.4 )
|
|
||||||
)"
|
|
||||||
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
|
|
||||||
# NOTE: FEATURES=install-sources requires debugedit and rsync
|
|
||||||
|
|
||||||
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
|
|
||||||
|
|
||||||
prefix_src_archives() {
|
|
||||||
local x y
|
|
||||||
for x in ${@}; do
|
|
||||||
for y in ${SRC_ARCHIVES}; do
|
|
||||||
echo ${y}/${x}
|
|
||||||
done
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
PV_PL="2.1.2"
|
|
||||||
PATCHVER_PL=""
|
|
||||||
TARBALL_PV=$PV
|
|
||||||
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
|
|
||||||
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
|
|
||||||
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
|
|
||||||
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
|
|
||||||
|
|
||||||
PATCHVER=
|
|
||||||
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
|
|
||||||
if [ -n "${PATCHVER}" ]; then
|
|
||||||
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
|
|
||||||
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
S="${WORKDIR}"/${PN}-${TARBALL_PV}
|
|
||||||
S_PL="${WORKDIR}"/${PN}-${PV_PL}
|
|
||||||
|
|
||||||
compatible_python_is_selected() {
|
|
||||||
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x2060000 and "good" or "bad")') = good ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
current_python_has_xattr() {
|
|
||||||
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \
|
|
||||||
/usr/bin/python -c 'import xattr' 2>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# Bug #359731 - Die early if get_libdir fails.
|
|
||||||
[[ -z $(get_libdir) ]] && \
|
|
||||||
die "get_libdir returned an empty string"
|
|
||||||
|
|
||||||
if use python2 && use python3 ; then
|
|
||||||
ewarn "Both python2 and python3 USE flags are enabled, but only one"
|
|
||||||
ewarn "can be in the shebangs. Using python3."
|
|
||||||
fi
|
|
||||||
if use pypy1_8 && use python3 ; then
|
|
||||||
ewarn "Both pypy1_8 and python3 USE flags are enabled, but only one"
|
|
||||||
ewarn "can be in the shebangs. Using python3."
|
|
||||||
fi
|
|
||||||
if use pypy1_8 && use python2 ; then
|
|
||||||
ewarn "Both pypy1_8 and python2 USE flags are enabled, but only one"
|
|
||||||
ewarn "can be in the shebangs. Using python2"
|
|
||||||
fi
|
|
||||||
if ! use pypy1_8 && ! use python2 && ! use python3 && \
|
|
||||||
! compatible_python_is_selected ; then
|
|
||||||
ewarn "Attempting to select a compatible default python interpreter"
|
|
||||||
local x success=0
|
|
||||||
for x in /usr/bin/python2.* ; do
|
|
||||||
x=${x#/usr/bin/python2.}
|
|
||||||
if [[ $x -ge 6 ]] 2>/dev/null ; then
|
|
||||||
eselect python set python2.$x
|
|
||||||
if compatible_python_is_selected ; then
|
|
||||||
elog "Default python interpreter is now set to python-2.$x"
|
|
||||||
success=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ $success != 1 ] ; then
|
|
||||||
eerror "Unable to select a compatible default python interpreter!"
|
|
||||||
die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python3; then
|
|
||||||
python_set_active_version 3
|
|
||||||
elif use python2; then
|
|
||||||
python_set_active_version 2
|
|
||||||
elif use pypy1_8; then
|
|
||||||
python_set_active_version 2.7-pypy-1.8
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [ -n "${PATCHVER}" ] ; then
|
|
||||||
if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then
|
|
||||||
rm "$S/bin/ebuild-helpers/portageq" \
|
|
||||||
|| die "failed to remove portageq helper symlink"
|
|
||||||
fi
|
|
||||||
epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
|
|
||||||
fi
|
|
||||||
einfo "Setting portage.VERSION to ${PVR} ..."
|
|
||||||
sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \
|
|
||||||
die "Failed to patch portage.VERSION"
|
|
||||||
sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \
|
|
||||||
die "Failed to patch VERSION in doc/fragment/version"
|
|
||||||
sed -e "1s/VERSION/${PVR}/" -i man/* || \
|
|
||||||
die "Failed to patch VERSION in man page headers"
|
|
||||||
|
|
||||||
if ! use ipc ; then
|
|
||||||
einfo "Disabling ipc..."
|
|
||||||
sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
|
|
||||||
-i pym/_emerge/AbstractEbuildProcess.py || \
|
|
||||||
die "failed to patch AbstractEbuildProcess.py"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use xattr && use kernel_linux ; then
|
|
||||||
einfo "Adding FEATURES=xattr to make.globals ..."
|
|
||||||
echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
|
|
||||||
|| die "failed to append to make.globals"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python3; then
|
|
||||||
einfo "Converting shebangs for python3..."
|
|
||||||
python_convert_shebangs -r 3 .
|
|
||||||
elif use python2; then
|
|
||||||
einfo "Converting shebangs for python2..."
|
|
||||||
python_convert_shebangs -r 2 .
|
|
||||||
elif use pypy1_8; then
|
|
||||||
einfo "Converting shebangs for pypy-c1.8..."
|
|
||||||
python_convert_shebangs -r 2.7-pypy-1.8 .
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
if use doc; then
|
|
||||||
cd "${S}"/doc
|
|
||||||
touch fragment/date
|
|
||||||
make xhtml xhtml-nochunks || die "failed to make docs"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use epydoc; then
|
|
||||||
einfo "Generating api docs"
|
|
||||||
mkdir "${WORKDIR}"/api
|
|
||||||
local my_modules epydoc_opts=""
|
|
||||||
my_modules="$(find "${S}/pym" -name "*.py" \
|
|
||||||
| sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \
|
|
||||||
-e 's:/:.:g' | sort)" || die "error listing modules"
|
|
||||||
# workaround for bug 282760
|
|
||||||
> "$S/pym/pysqlite2.py"
|
|
||||||
PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \
|
|
||||||
epydoc -o "${WORKDIR}"/api \
|
|
||||||
-qqqqq --no-frames --show-imports $epydoc_opts \
|
|
||||||
--name "${PN}" --url "${HOMEPAGE}" \
|
|
||||||
${my_modules} || die "epydoc failed"
|
|
||||||
rm "$S/pym/pysqlite2.py"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
# make files executable, in case they were created by patch
|
|
||||||
find bin -type f | xargs chmod +x
|
|
||||||
./pym/portage/tests/runTests || die "test(s) failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local libdir=$(get_libdir)
|
|
||||||
local portage_base="/usr/${libdir}/portage"
|
|
||||||
local portage_share_config=/usr/share/portage/config
|
|
||||||
|
|
||||||
cd "${S}"/cnf
|
|
||||||
insinto /etc
|
|
||||||
doins etc-update.conf dispatch-conf.conf || die
|
|
||||||
|
|
||||||
insinto "$portage_share_config"
|
|
||||||
doins "$S/cnf/make.globals" || die
|
|
||||||
if [ -f "make.conf.${ARCH}".diff ]; then
|
|
||||||
patch make.conf "make.conf.${ARCH}".diff || \
|
|
||||||
die "Failed to patch make.conf.example"
|
|
||||||
newins make.conf make.conf.example || die
|
|
||||||
else
|
|
||||||
eerror ""
|
|
||||||
eerror "Portage does not have an arch-specific configuration for this arch."
|
|
||||||
eerror "Please notify the arch maintainer about this issue. Using generic."
|
|
||||||
eerror ""
|
|
||||||
newins make.conf make.conf.example || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
dosym ..${portage_share_config}/make.globals /etc/make.globals
|
|
||||||
|
|
||||||
insinto /etc/logrotate.d
|
|
||||||
doins "${S}"/cnf/logrotate.d/elog-save-summary || die
|
|
||||||
|
|
||||||
# BSD and OSX need a sed wrapper so that find/xargs work properly
|
|
||||||
if use userland_GNU; then
|
|
||||||
rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local x symlinks files
|
|
||||||
|
|
||||||
cd "$S" || die "cd failed"
|
|
||||||
for x in $(find bin -type d) ; do
|
|
||||||
exeinto $portage_base/$x || die "exeinto failed"
|
|
||||||
cd "$S"/$x || die "cd failed"
|
|
||||||
files=$(find . -mindepth 1 -maxdepth 1 -type f ! -type l)
|
|
||||||
if [ -n "$files" ] ; then
|
|
||||||
doexe $files || die "doexe failed"
|
|
||||||
fi
|
|
||||||
symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
|
|
||||||
if [ -n "$symlinks" ] ; then
|
|
||||||
cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
cd "$S" || die "cd failed"
|
|
||||||
for x in $(find pym/* -type d ! -path "pym/portage/tests*") ; do
|
|
||||||
insinto $portage_base/$x || die "insinto failed"
|
|
||||||
cd "$S"/$x || die "cd failed"
|
|
||||||
# __pycache__ directories contain no py files
|
|
||||||
[[ "*.py" != $(echo *.py) ]] || continue
|
|
||||||
doins *.py || die "doins failed"
|
|
||||||
symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
|
|
||||||
if [ -n "$symlinks" ] ; then
|
|
||||||
cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# We install some minimal tests for use as a preinst sanity check.
|
|
||||||
# These tests must be able to run without a full source tree and
|
|
||||||
# without relying on a previous portage instance being installed.
|
|
||||||
cd "$S" || die "cd failed"
|
|
||||||
exeinto $portage_base/pym/portage/tests || die
|
|
||||||
doexe pym/portage/tests/runTests || die
|
|
||||||
insinto $portage_base/pym/portage/tests || die
|
|
||||||
doins pym/portage/tests/*.py || die
|
|
||||||
insinto $portage_base/pym/portage/tests/lint || die
|
|
||||||
doins pym/portage/tests/lint/*.py || die
|
|
||||||
doins pym/portage/tests/lint/__test__ || die
|
|
||||||
|
|
||||||
# Symlinks to directories cause up/downgrade issues and the use of these
|
|
||||||
# modules outside of portage is probably negligible.
|
|
||||||
for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do
|
|
||||||
[ ! -L "${x}" ] && continue
|
|
||||||
die "symlink to directory will cause upgrade/downgrade issues: '${x}'"
|
|
||||||
done
|
|
||||||
|
|
||||||
doman "${S}"/man/*.[0-9]
|
|
||||||
if use linguas_pl; then
|
|
||||||
doman -i18n=pl "${S_PL}"/man/pl/*.[0-9]
|
|
||||||
doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9]
|
|
||||||
fi
|
|
||||||
|
|
||||||
dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES}
|
|
||||||
use doc && dohtml -r "${S}"/doc/*
|
|
||||||
use epydoc && dohtml -r "${WORKDIR}"/api
|
|
||||||
|
|
||||||
dodir /usr/bin
|
|
||||||
for x in ebuild egencache emerge portageq quickpkg repoman ; do
|
|
||||||
dosym ../${libdir}/portage/bin/${x} /usr/bin/${x}
|
|
||||||
done
|
|
||||||
|
|
||||||
dodir /usr/sbin
|
|
||||||
local my_syms="archive-conf
|
|
||||||
dispatch-conf
|
|
||||||
emaint
|
|
||||||
emerge-webrsync
|
|
||||||
env-update
|
|
||||||
etc-update
|
|
||||||
fixpackages
|
|
||||||
regenworld"
|
|
||||||
local x
|
|
||||||
for x in ${my_syms}; do
|
|
||||||
dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x}
|
|
||||||
done
|
|
||||||
dosym env-update /usr/sbin/update-env
|
|
||||||
dosym etc-update /usr/sbin/update-etc
|
|
||||||
|
|
||||||
dodir /etc/portage
|
|
||||||
keepdir /etc/portage
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
if [[ $ROOT == / ]] ; then
|
|
||||||
# Run some minimal tests as a sanity check.
|
|
||||||
local test_runner=$(find "$D" -name runTests)
|
|
||||||
if [[ -n $test_runner && -x $test_runner ]] ; then
|
|
||||||
einfo "Running preinst sanity tests..."
|
|
||||||
"$test_runner" || die "preinst sanity tests failed"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use xattr && ! current_python_has_xattr ; then
|
|
||||||
ewarn "For optimal performance in xattr handling, install"
|
|
||||||
ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and"
|
|
||||||
ewarn "enable USE=python3 for $CATEGORY/$PN."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! use build && ! has_version dev-python/pycrypto && \
|
|
||||||
! has_version '>=dev-lang/python-2.6[ssl]' ; then
|
|
||||||
ewarn "If you are an ebuild developer and you plan to commit ebuilds"
|
|
||||||
ewarn "with this system then please install dev-python/pycrypto or"
|
|
||||||
ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order"
|
|
||||||
ewarn "to enable RMD160 hash support."
|
|
||||||
ewarn "See bug #198398 for more information."
|
|
||||||
fi
|
|
||||||
if [ -f "${ROOT}/etc/make.globals" ]; then
|
|
||||||
rm "${ROOT}/etc/make.globals"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -d ${ROOT}var/log/portage && \
|
|
||||||
$(ls -ld "${ROOT}var/log/portage") != *" portage portage "* ]] && \
|
|
||||||
has_version '<sys-apps/portage-2.1.10.11' ; then
|
|
||||||
# Initialize permissions for bug #378451 and bug #377177, since older
|
|
||||||
# portage does not create /var/log/portage with the desired default
|
|
||||||
# permissions.
|
|
||||||
einfo "Applying portage group permission to ${ROOT}var/log/portage for bug #378451"
|
|
||||||
chown portage:portage "${ROOT}var/log/portage"
|
|
||||||
chmod g+ws "${ROOT}var/log/portage"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" \
|
|
||||||
&& REPO_LAYOUT_CONF_WARN=true || REPO_LAYOUT_CONF_WARN=false
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# Compile all source files recursively. Any orphans
|
|
||||||
# will be identified and removed in postrm.
|
|
||||||
python_mod_optimize /usr/$(get_libdir)/portage/pym
|
|
||||||
|
|
||||||
if $REPO_LAYOUT_CONF_WARN ; then
|
|
||||||
ewarn
|
|
||||||
echo "If you want overlay eclasses to override eclasses from" \
|
|
||||||
"other repos then see the portage(5) man page" \
|
|
||||||
"for information about the new layout.conf and repos.conf" \
|
|
||||||
"configuration files." \
|
|
||||||
| fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done
|
|
||||||
ewarn
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
python_mod_cleanup /usr/$(get_libdir)/portage/pym
|
|
||||||
}
|
|
@ -1,461 +0,0 @@
|
|||||||
# Copyright 1999-2012 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2.0_alpha88.ebuild,v 1.2 2012/02/20 12:47:08 zmedico Exp $
|
|
||||||
|
|
||||||
# Require EAPI 2 since we now require at least python-2.6 (for python 3
|
|
||||||
# syntax support) which also requires EAPI 2.
|
|
||||||
EAPI=3
|
|
||||||
inherit eutils multilib python
|
|
||||||
|
|
||||||
DESCRIPTION="Portage is the package management and distribution system for Gentoo"
|
|
||||||
HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
KEYWORDS="~sparc-fbsd ~x86-fbsd"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="build doc epydoc +ipc linguas_pl pypy1_8 python2 python3 selinux xattr"
|
|
||||||
|
|
||||||
# Import of the io module in python-2.6 raises ImportError for the
|
|
||||||
# thread module if threading is disabled.
|
|
||||||
python_dep="python3? ( =dev-lang/python-3* )
|
|
||||||
!pypy1_8? ( !python2? ( !python3? (
|
|
||||||
|| ( >=dev-lang/python-2.7 dev-lang/python:2.6[threads] )
|
|
||||||
) ) )
|
|
||||||
pypy1_8? ( !python2? ( !python3? ( dev-python/pypy:1.8[bzip2] ) ) )
|
|
||||||
python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6[threads] ) ) )"
|
|
||||||
|
|
||||||
# The pysqlite blocker is for bug #282760.
|
|
||||||
DEPEND="${python_dep}
|
|
||||||
!build? ( >=sys-apps/sed-4.0.5 )
|
|
||||||
doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
|
|
||||||
epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )"
|
|
||||||
# Require sandbox-2.2 for bug #288863.
|
|
||||||
# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
|
|
||||||
# quite slow, so it's not considered in the dependencies as an alternative to
|
|
||||||
# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
|
|
||||||
# for now, don't pull in xattr deps for other kernels.
|
|
||||||
RDEPEND="${python_dep}
|
|
||||||
!build? ( >=sys-apps/sed-4.0.5
|
|
||||||
>=app-shells/bash-3.2_p17
|
|
||||||
>=app-admin/eselect-1.2 )
|
|
||||||
elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
|
|
||||||
elibc_glibc? ( >=sys-apps/sandbox-2.2 )
|
|
||||||
elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
|
|
||||||
>=app-misc/pax-utils-0.1.17
|
|
||||||
xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) )
|
|
||||||
selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] <sys-libs/libselinux-2.0.94 ) )
|
|
||||||
!<app-shells/bash-3.2_p17
|
|
||||||
!<app-admin/logrotate-3.8.0"
|
|
||||||
PDEPEND="
|
|
||||||
!build? (
|
|
||||||
>=net-misc/rsync-2.6.4
|
|
||||||
userland_GNU? ( >=sys-apps/coreutils-6.4 )
|
|
||||||
)"
|
|
||||||
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
|
|
||||||
# NOTE: FEATURES=install-sources requires debugedit and rsync
|
|
||||||
|
|
||||||
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
|
|
||||||
|
|
||||||
prefix_src_archives() {
|
|
||||||
local x y
|
|
||||||
for x in ${@}; do
|
|
||||||
for y in ${SRC_ARCHIVES}; do
|
|
||||||
echo ${y}/${x}
|
|
||||||
done
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
PV_PL="2.1.2"
|
|
||||||
PATCHVER_PL=""
|
|
||||||
TARBALL_PV=2.2.0_alpha88
|
|
||||||
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
|
|
||||||
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
|
|
||||||
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
|
|
||||||
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
|
|
||||||
|
|
||||||
PATCHVER=
|
|
||||||
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
|
|
||||||
if [ -n "${PATCHVER}" ]; then
|
|
||||||
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
|
|
||||||
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
S="${WORKDIR}"/${PN}-${TARBALL_PV}
|
|
||||||
S_PL="${WORKDIR}"/${PN}-${PV_PL}
|
|
||||||
|
|
||||||
compatible_python_is_selected() {
|
|
||||||
[[ $("${EPREFIX}/usr/bin/python" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x2060000 and "good" or "bad")') = good ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
current_python_has_xattr() {
|
|
||||||
[[ $("${EPREFIX}/usr/bin/python" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \
|
|
||||||
"${EPREFIX}/usr/bin/python" -c 'import xattr' 2>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# Bug #359731 - Die early if get_libdir fails.
|
|
||||||
[[ -z $(get_libdir) ]] && \
|
|
||||||
die "get_libdir returned an empty string"
|
|
||||||
|
|
||||||
if use python2 && use python3 ; then
|
|
||||||
ewarn "Both python2 and python3 USE flags are enabled, but only one"
|
|
||||||
ewarn "can be in the shebangs. Using python3."
|
|
||||||
fi
|
|
||||||
if use pypy1_8 && use python3 ; then
|
|
||||||
ewarn "Both pypy1_8 and python3 USE flags are enabled, but only one"
|
|
||||||
ewarn "can be in the shebangs. Using python3."
|
|
||||||
fi
|
|
||||||
if use pypy1_8 && use python2 ; then
|
|
||||||
ewarn "Both pypy1_8 and python2 USE flags are enabled, but only one"
|
|
||||||
ewarn "can be in the shebangs. Using python2"
|
|
||||||
fi
|
|
||||||
if ! use pypy1_8 && ! use python2 && ! use python3 && \
|
|
||||||
! compatible_python_is_selected ; then
|
|
||||||
ewarn "Attempting to select a compatible default python interpreter"
|
|
||||||
local x success=0
|
|
||||||
for x in /usr/bin/python2.* ; do
|
|
||||||
x=${x#/usr/bin/python2.}
|
|
||||||
if [[ $x -ge 6 ]] 2>/dev/null ; then
|
|
||||||
eselect python set python2.$x
|
|
||||||
if compatible_python_is_selected ; then
|
|
||||||
elog "Default python interpreter is now set to python-2.$x"
|
|
||||||
success=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ $success != 1 ] ; then
|
|
||||||
eerror "Unable to select a compatible default python interpreter!"
|
|
||||||
die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python3; then
|
|
||||||
python_set_active_version 3
|
|
||||||
elif use python2; then
|
|
||||||
python_set_active_version 2
|
|
||||||
elif use pypy1_8; then
|
|
||||||
python_set_active_version 2.7-pypy-1.8
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [ -n "${PATCHVER}" ] ; then
|
|
||||||
if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then
|
|
||||||
rm "$S/bin/ebuild-helpers/portageq" \
|
|
||||||
|| die "failed to remove portageq helper symlink"
|
|
||||||
fi
|
|
||||||
epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
|
|
||||||
fi
|
|
||||||
einfo "Setting portage.VERSION to ${PVR} ..."
|
|
||||||
sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \
|
|
||||||
die "Failed to patch portage.VERSION"
|
|
||||||
sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \
|
|
||||||
die "Failed to patch VERSION in doc/fragment/version"
|
|
||||||
sed -e "1s/VERSION/${PVR}/" -i man/* || \
|
|
||||||
die "Failed to patch VERSION in man page headers"
|
|
||||||
|
|
||||||
if ! use ipc ; then
|
|
||||||
einfo "Disabling ipc..."
|
|
||||||
sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
|
|
||||||
-i pym/_emerge/AbstractEbuildProcess.py || \
|
|
||||||
die "failed to patch AbstractEbuildProcess.py"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use xattr && use kernel_linux ; then
|
|
||||||
einfo "Adding FEATURES=xattr to make.globals ..."
|
|
||||||
echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
|
|
||||||
|| die "failed to append to make.globals"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python3; then
|
|
||||||
einfo "Converting shebangs for python3..."
|
|
||||||
python_convert_shebangs -r 3 .
|
|
||||||
elif use python2; then
|
|
||||||
einfo "Converting shebangs for python2..."
|
|
||||||
python_convert_shebangs -r 2 .
|
|
||||||
elif use pypy1_8; then
|
|
||||||
einfo "Converting shebangs for pypy-c1.8..."
|
|
||||||
python_convert_shebangs -r 2.7-pypy-1.8 .
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n ${EPREFIX} ]] ; then
|
|
||||||
einfo "Setting portage.const.EPREFIX ..."
|
|
||||||
sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
|
|
||||||
-e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
|
|
||||||
-e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
|
|
||||||
-e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
|
|
||||||
-e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
|
|
||||||
-e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
|
|
||||||
-i pym/portage/const.py || \
|
|
||||||
die "Failed to patch portage.const.EPREFIX"
|
|
||||||
|
|
||||||
einfo "Prefixing shebangs ..."
|
|
||||||
find . -type f -print0 | \
|
|
||||||
while read -r -d $'\0' ; do
|
|
||||||
local shebang=$(head -n1 "$REPLY")
|
|
||||||
if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
|
|
||||||
sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
|
|
||||||
die "sed failed"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
einfo "Adjusting make.globals ..."
|
|
||||||
sed -e 's|^SYNC=.*|SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"|' \
|
|
||||||
-e "s|^\(PORTDIR=\)\(/usr/portage\)|\\1\"${EPREFIX}\\2\"|" \
|
|
||||||
-e "s|^\(PORTAGE_TMPDIR=\)\(/var/tmp\)|\\1\"${EPREFIX}\\2\"|" \
|
|
||||||
-i cnf/make.globals || die "sed failed"
|
|
||||||
|
|
||||||
einfo "Adding FEATURES=force-prefix to make.globals ..."
|
|
||||||
echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
|
|
||||||
|| die "failed to append to make.globals"
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
if use doc; then
|
|
||||||
cd "${S}"/doc
|
|
||||||
touch fragment/date
|
|
||||||
make xhtml xhtml-nochunks || die "failed to make docs"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use epydoc; then
|
|
||||||
einfo "Generating api docs"
|
|
||||||
mkdir "${WORKDIR}"/api
|
|
||||||
local my_modules epydoc_opts=""
|
|
||||||
my_modules="$(find "${S}/pym" -name "*.py" \
|
|
||||||
| sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \
|
|
||||||
-e 's:/:.:g' | sort)" || die "error listing modules"
|
|
||||||
# workaround for bug 282760
|
|
||||||
> "$S/pym/pysqlite2.py"
|
|
||||||
PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \
|
|
||||||
epydoc -o "${WORKDIR}"/api \
|
|
||||||
-qqqqq --no-frames --show-imports $epydoc_opts \
|
|
||||||
--name "${PN}" --url "${HOMEPAGE}" \
|
|
||||||
${my_modules} || die "epydoc failed"
|
|
||||||
rm "$S/pym/pysqlite2.py"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
# make files executable, in case they were created by patch
|
|
||||||
find bin -type f | xargs chmod +x
|
|
||||||
./pym/portage/tests/runTests || die "test(s) failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local libdir=$(get_libdir)
|
|
||||||
local portage_base="/usr/${libdir}/portage"
|
|
||||||
local portage_share_config=/usr/share/portage/config
|
|
||||||
|
|
||||||
cd "${S}"/cnf
|
|
||||||
insinto /etc
|
|
||||||
doins etc-update.conf dispatch-conf.conf || die
|
|
||||||
|
|
||||||
insinto "$portage_share_config/sets"
|
|
||||||
doins "$S"/cnf/sets/*.conf || die
|
|
||||||
insinto "$portage_share_config"
|
|
||||||
doins "$S/cnf/make.globals" || die
|
|
||||||
if [ -f "make.conf.${ARCH}".diff ]; then
|
|
||||||
patch make.conf "make.conf.${ARCH}".diff || \
|
|
||||||
die "Failed to patch make.conf.example"
|
|
||||||
newins make.conf make.conf.example || die
|
|
||||||
else
|
|
||||||
eerror ""
|
|
||||||
eerror "Portage does not have an arch-specific configuration for this arch."
|
|
||||||
eerror "Please notify the arch maintainer about this issue. Using generic."
|
|
||||||
eerror ""
|
|
||||||
newins make.conf make.conf.example || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
dosym ..${portage_share_config}/make.globals /etc/make.globals
|
|
||||||
|
|
||||||
insinto /etc/logrotate.d
|
|
||||||
doins "${S}"/cnf/logrotate.d/elog-save-summary || die
|
|
||||||
|
|
||||||
# BSD and OSX need a sed wrapper so that find/xargs work properly
|
|
||||||
if use userland_GNU; then
|
|
||||||
rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local x symlinks files
|
|
||||||
|
|
||||||
cd "$S" || die "cd failed"
|
|
||||||
for x in $(find bin -type d) ; do
|
|
||||||
exeinto $portage_base/$x || die "exeinto failed"
|
|
||||||
cd "$S"/$x || die "cd failed"
|
|
||||||
files=$(find . -mindepth 1 -maxdepth 1 -type f ! -type l)
|
|
||||||
if [ -n "$files" ] ; then
|
|
||||||
doexe $files || die "doexe failed"
|
|
||||||
fi
|
|
||||||
symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
|
|
||||||
if [ -n "$symlinks" ] ; then
|
|
||||||
cp -P $symlinks "$ED$portage_base/$x" || die "cp failed"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
cd "$S" || die "cd failed"
|
|
||||||
for x in $(find pym/* -type d ! -path "pym/portage/tests*") ; do
|
|
||||||
insinto $portage_base/$x || die "insinto failed"
|
|
||||||
cd "$S"/$x || die "cd failed"
|
|
||||||
# __pycache__ directories contain no py files
|
|
||||||
[[ "*.py" != $(echo *.py) ]] || continue
|
|
||||||
doins *.py || die "doins failed"
|
|
||||||
symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
|
|
||||||
if [ -n "$symlinks" ] ; then
|
|
||||||
cp -P $symlinks "$ED$portage_base/$x" || die "cp failed"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# We install some minimal tests for use as a preinst sanity check.
|
|
||||||
# These tests must be able to run without a full source tree and
|
|
||||||
# without relying on a previous portage instance being installed.
|
|
||||||
cd "$S" || die "cd failed"
|
|
||||||
exeinto $portage_base/pym/portage/tests || die
|
|
||||||
doexe pym/portage/tests/runTests || die
|
|
||||||
insinto $portage_base/pym/portage/tests || die
|
|
||||||
doins pym/portage/tests/*.py || die
|
|
||||||
insinto $portage_base/pym/portage/tests/lint || die
|
|
||||||
doins pym/portage/tests/lint/*.py || die
|
|
||||||
doins pym/portage/tests/lint/__test__ || die
|
|
||||||
|
|
||||||
# Symlinks to directories cause up/downgrade issues and the use of these
|
|
||||||
# modules outside of portage is probably negligible.
|
|
||||||
for x in "${ED}${portage_base}/pym/"{cache,elog_modules} ; do
|
|
||||||
[ ! -L "${x}" ] && continue
|
|
||||||
die "symlink to directory will cause upgrade/downgrade issues: '${x}'"
|
|
||||||
done
|
|
||||||
|
|
||||||
doman "${S}"/man/*.[0-9]
|
|
||||||
if use linguas_pl; then
|
|
||||||
doman -i18n=pl "${S_PL}"/man/pl/*.[0-9]
|
|
||||||
doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9]
|
|
||||||
fi
|
|
||||||
|
|
||||||
dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES}
|
|
||||||
use doc && dohtml -r "${S}"/doc/*
|
|
||||||
use epydoc && dohtml -r "${WORKDIR}"/api
|
|
||||||
|
|
||||||
dodir /usr/bin
|
|
||||||
for x in ebuild egencache emerge portageq quickpkg repoman ; do
|
|
||||||
dosym ../${libdir}/portage/bin/${x} /usr/bin/${x}
|
|
||||||
done
|
|
||||||
|
|
||||||
dodir /usr/sbin
|
|
||||||
local my_syms="archive-conf
|
|
||||||
dispatch-conf
|
|
||||||
emaint
|
|
||||||
emerge-webrsync
|
|
||||||
env-update
|
|
||||||
etc-update
|
|
||||||
fixpackages
|
|
||||||
regenworld"
|
|
||||||
local x
|
|
||||||
for x in ${my_syms}; do
|
|
||||||
dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x}
|
|
||||||
done
|
|
||||||
dosym env-update /usr/sbin/update-env
|
|
||||||
dosym etc-update /usr/sbin/update-etc
|
|
||||||
|
|
||||||
dodir /etc/portage
|
|
||||||
keepdir /etc/portage
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
if [[ $ROOT == / ]] ; then
|
|
||||||
# Run some minimal tests as a sanity check.
|
|
||||||
local test_runner=$(find "$ED" -name runTests)
|
|
||||||
if [[ -n $test_runner && -x $test_runner ]] ; then
|
|
||||||
einfo "Running preinst sanity tests..."
|
|
||||||
"$test_runner" || die "preinst sanity tests failed"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use xattr && ! current_python_has_xattr ; then
|
|
||||||
ewarn "For optimal performance in xattr handling, install"
|
|
||||||
ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and"
|
|
||||||
ewarn "enable USE=python3 for $CATEGORY/$PN."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! use build && ! has_version dev-python/pycrypto && \
|
|
||||||
! has_version '>=dev-lang/python-2.6[ssl]' ; then
|
|
||||||
ewarn "If you are an ebuild developer and you plan to commit ebuilds"
|
|
||||||
ewarn "with this system then please install dev-python/pycrypto or"
|
|
||||||
ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order"
|
|
||||||
ewarn "to enable RMD160 hash support."
|
|
||||||
ewarn "See bug #198398 for more information."
|
|
||||||
fi
|
|
||||||
if [ -f "${EROOT}/etc/make.globals" ]; then
|
|
||||||
rm "${EROOT}/etc/make.globals"
|
|
||||||
fi
|
|
||||||
|
|
||||||
has_version "<${CATEGORY}/${PN}-2.2_alpha" \
|
|
||||||
&& MINOR_UPGRADE=true || MINOR_UPGRADE=false
|
|
||||||
|
|
||||||
has_version "<=${CATEGORY}/${PN}-2.2_pre5" \
|
|
||||||
&& WORLD_MIGRATION_UPGRADE=true || WORLD_MIGRATION_UPGRADE=false
|
|
||||||
|
|
||||||
# If portage-2.1.6 is installed and the preserved_libs_registry exists,
|
|
||||||
# assume that the NEEDED.ELF.2 files have already been generated.
|
|
||||||
has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \
|
|
||||||
! ( [ -e "${EROOT}"var/lib/portage/preserved_libs_registry ] && \
|
|
||||||
has_version ">=${CATEGORY}/${PN}-2.1.6_rc" ) \
|
|
||||||
&& NEEDED_REBUILD_UPGRADE=true || NEEDED_REBUILD_UPGRADE=false
|
|
||||||
|
|
||||||
[[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" \
|
|
||||||
&& REPO_LAYOUT_CONF_WARN=true || REPO_LAYOUT_CONF_WARN=false
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# Compile all source files recursively. Any orphans
|
|
||||||
# will be identified and removed in postrm.
|
|
||||||
python_mod_optimize /usr/$(get_libdir)/portage/pym
|
|
||||||
|
|
||||||
if $WORLD_MIGRATION_UPGRADE ; then
|
|
||||||
einfo "moving set references from the worldfile into world_sets"
|
|
||||||
cd "${EROOT}/var/lib/portage/"
|
|
||||||
grep "^@" world >> world_sets
|
|
||||||
sed -i -e '/^@/d' world
|
|
||||||
fi
|
|
||||||
|
|
||||||
if $NEEDED_REBUILD_UPGRADE ; then
|
|
||||||
einfo "rebuilding NEEDED.ELF.2 files"
|
|
||||||
for cpv in "${EROOT}/var/db/pkg"/*/*; do
|
|
||||||
if [ -f "${cpv}/NEEDED" ]; then
|
|
||||||
rm -f "${cpv}/NEEDED.ELF.2"
|
|
||||||
while read line; do
|
|
||||||
filename=${line% *}
|
|
||||||
needed=${line#* }
|
|
||||||
needed=${needed//+/++}
|
|
||||||
needed=${needed//#/##}
|
|
||||||
needed=${needed//%/%%}
|
|
||||||
newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename)
|
|
||||||
newline=${newline// - }
|
|
||||||
echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2"
|
|
||||||
done < "${cpv}/NEEDED"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
if $REPO_LAYOUT_CONF_WARN ; then
|
|
||||||
ewarn
|
|
||||||
echo "If you want overlay eclasses to override eclasses from" \
|
|
||||||
"other repos then see the portage(5) man page" \
|
|
||||||
"for information about the new layout.conf and repos.conf" \
|
|
||||||
"configuration files." \
|
|
||||||
| fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done
|
|
||||||
ewarn
|
|
||||||
fi
|
|
||||||
|
|
||||||
if $MINOR_UPGRADE ; then
|
|
||||||
elog "If you're upgrading from a pre-2.2 version of portage you might"
|
|
||||||
elog "want to remerge world (emerge -e world) to take full advantage"
|
|
||||||
elog "of some of the new features in 2.2."
|
|
||||||
elog "This is not required however for portage to function properly."
|
|
||||||
elog
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
python_mod_cleanup /usr/$(get_libdir)/portage/pym
|
|
||||||
}
|
|
Loading…
Reference in new issue