-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 c9974bdb08c61d51ece446511bca0db0 portage-2.0.51-r8.ebuild 13125
-MD5 474cce4c224ba58372077a70e71695b0 portage-2.0.51-r3.ebuild 12560
-MD5 1ab62ae5da0dd73a0c8edc27e5897b9e portage-2.0.51-r10.ebuild 13138
-MD5 45cd332af1ba186c050ec9eeafe9e915 portage-2.0.51-r7.ebuild 12278
-MD5 45d685c485d82a914b924ba6ace963e1 portage-2.0.51_rc7.ebuild 11767
-MD5 2200865f3cd8ee0f4bfbd91c3de84181 portage-2.0.51-r2.ebuild 12263
-MD5 63cadb5f6ef798aaa8b95a899fdea82f portage-2.0.50-r11.ebuild 11572
+MD5 838be491686bbc8355f44e91020e425c portage-2.0.51-r3.ebuild 12549
+MD5 a2b872e8a3895416ce96b3d09dde23dc portage-2.0.51-r10.ebuild 13127
MD5 ba4ae80e5e6cf58aac9c5aa1cc5f777e ChangeLog 411
MD5 c697b628359c7055961817876804f0a6 metadata.xml 221
-MD5 5375f0805d4d56dc961ad81162854790 files/digest-portage-2.0.50-r11 71
MD5 4db139ef78ff65c537654f5f7e512dfd files/digest-portage-2.0.51-r10 71
-MD5 3da3469e2b40b9a6b37fd54b2e6c7b98 files/digest-portage-2.0.51_rc7 71
-MD5 d2608171176cc00a43ead2ed136ed328 files/digest-portage-2.0.51-r2 70
MD5 5ea5d3ffe4a24cd1c719420cd0a2de11 files/digest-portage-2.0.51-r3 70
-MD5 b002fc7e6251c2417311857ded4ddc11 files/digest-portage-2.0.51-r7 70
-MD5 30e618b070e4b7e13f3dd9b3f1db6140 files/digest-portage-2.0.51-r8 70
MD5 a754ca9e2eea9f8484bf5f93d339043a files/README.RESCUE 1911
MD5 8c6ba58bbfddca72824b15dacbed69ec files/gcc-2.95-libsandbox.patch 1163
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
-iD8DBQFB5VRtBDOEqLMd+jQRAg2xAKDZdbENg5kkzXYn5qn3tQlPd0ClpwCgiMPW
-xpXeiHnWUKIxHeu9TMKlKjs=
-=Cy1V
+iD8DBQFB5cMcBDOEqLMd+jQRAr2VAKCFuEtC59+NkwwHO6U8oR+k6ACS6gCfbk8I
+87WguCiVbOvyBKV+e33u+h0=
+=Siaz
-----END PGP SIGNATURE-----
+++ /dev/null
-MD5 11369c1544a1d5bac1d18955008b1503 portage-2.0.50-r11.tar.bz2 224126
+++ /dev/null
-MD5 b75aabdf84dc324199823c0502ead473 portage-2.0.51-r2.tar.bz2 325777
+++ /dev/null
-MD5 4acfad0fced946b8d6abbf54bb2654ea portage-2.0.51-r7.tar.bz2 271870
+++ /dev/null
-MD5 283d25dfb89b92edebc195c3dbe9f966 portage-2.0.51-r8.tar.bz2 272045
+++ /dev/null
-MD5 a2059069096ef268c4dccdabb0e4c299 portage-2.0.51_rc7.tar.bz2 274572
+++ /dev/null
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.50-r11.ebuild,v 1.7 2004/10/28 16:13:14 vapier Exp $
-
-inherit eutils flag-o-matic toolchain-funcs
-
-# If the old /lib/sandbox.so is in /etc/ld.so.preload, it can
-# cause everything to segfault !!
-export SANDBOX_DISABLED="1"
-
-DESCRIPTION="Portage ports system"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="http://gentoo.twobit.net/portage/${PF}.tar.bz2 http://dev.gentoo.org/~carpaski/${PF}.tar.bz2 mirror://gentoo/${PF}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="build selinux"
-# Contact carpaski with a reason before you modify any of these.
-KEYWORDS=" alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sparc x86"
-#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-RDEPEND="selinux? ( dev-python/python-selinux )
- !build? (
- >=sys-apps/sed-4.0.5
- dev-python/python-fchksum
- >=dev-lang/python-2.2.1
- sys-apps/debianutils
- >=app-shells/bash-2.05a
- )"
-
-S=${WORKDIR}/${PF}
-
-python_version() {
- local tmpstr="$(/usr/bin/python -V 2>&1 )"
- export PYVER_ALL="${tmpstr#Python }"
-
- export PYVER_MAJOR=$(echo ${PYVER_ALL} | cut -d. -f1)
- export PYVER_MINOR=$(echo ${PYVER_ALL} | cut -d. -f2)
- export PYVER_MICRO=$(echo ${PYVER_ALL} | cut -d. -f3-)
- export PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
-}
-
-check_multilib() {
- has_m32
- if [ "$?" == 0 ]; then
- einfo "Found valid multilib environment."
- einfo "Building with multilib support."
- export MULTILIB="1"
- else
- ewarn "No valid multilib environment found!"
- ewarn "Building without multilib support. If"
- ewarn "you want to have multilib support,"
- ewarn "emerge gcc with \"multilib\" in your"
- ewarn "useflags."
- sleep 20
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- sed 's:^VERSION=.*:VERSION="'${PVR}'":' < ${S}/pym/portage.py > ${T}/portage.py
- mv ${T}/portage.py ${S}/pym/
-}
-
-src_compile() {
- cd ${S}/src; $(tc-getCC) ${CFLAGS} tbz2tool.c -o tbz2tool
- cd ${S}/src/sandbox-1.1
- case ${ARCH} in
- "x86")
- make CFLAGS="-march=i386 -O1 -pipe" || die
- ;;
- "amd64")
- check_multilib
- make CFLAGS="-O2 -pipe" HAVE_64BIT_ARCH="${MULTILIB}" || die
- ;;
- *)
- make || die
- ;;
- esac
- cd ${S}/bin
-}
-
-src_install() {
- #config files
- cd ${S}/cnf
- insinto /etc
- case "$ARCH" in
- alpha )
- newins make.globals.alpha make.globals
- newins make.conf.alpha make.conf
- ;;
- arm )
- newins make.globals.arm make.globals
- newins make.conf.arm make.conf
- ;;
- hppa )
- newins make.globals.hppa make.globals
- newins make.conf.hppa make.conf
- ;;
- mips )
- newins make.globals.mips make.globals
- newins make.conf.mips make.conf
- ;;
- ppc )
- newins make.globals.ppc make.globals
- newins make.conf.ppc make.conf
- ;;
- sparc )
- newins make.globals.sparc make.globals
- newins make.conf.sparc make.conf
- ;;
- * )
- doins make.globals make.conf
- ;;
- esac
-
- #This special handling of make.conf is required for catalyst
- #to function properly.
- mv ${D}/etc/make.conf ${D}/etc/make.conf.example
-
- doins etc-update.conf dispatch-conf.conf
-
- #python modules
- if [ -x "$(type -p python2.2)" ] || [ -x /usr/bin/python2.2 ]; then
- cd ${S}/src/python-missingos
- chmod +x setup.py
- ./setup.py install --root ${D} || die "Failed to install missingos module"
- fi
-
-
- dodir /usr/lib/portage/pym
- cd ${S}/pym
- insinto /usr/lib/portage/pym
- doins *.py ../bin/emergehelp.py
-
-
- #binaries, libraries and scripts
- dodir /usr/lib/portage/bin
- cd ${S}/bin
- exeinto /usr/lib/portage/bin
- doexe *
- doexe ${S}/src/tbz2tool
-
- #install sandbox
- cd ${S}/src/sandbox-1.1
- make clean
- make DESTDIR=${D} \
- HAVE_64BIT_ARCH="${MULTILIB}" \
- install || die "Failed to compile sandbox"
-
- #symlinks
- dodir /usr/bin /usr/sbin
- dosym ../lib/portage/bin/emerge /usr/bin/emerge
- dosym ../lib/portage/bin/pkgmerge /usr/sbin/pkgmerge
- dosym ../lib/portage/bin/ebuild /usr/sbin/ebuild
- dosym ../lib/portage/bin/ebuild.sh /usr/sbin/ebuild.sh
-
- dosym ../lib/portage/bin/etc-update /usr/sbin/etc-update
- dosym ../lib/portage/bin/dispatch-conf /usr/sbin/dispatch-conf
- dosym ../lib/portage/bin/archive-conf /usr/sbin/archive-conf
- dosym ../lib/portage/bin/fixpackages /usr/sbin/fixpackages
-
- dosym ../lib/portage/bin/env-update /usr/sbin/env-update
- dosym ../lib/portage/bin/xpak /usr/bin/xpak
- dosym ../lib/portage/bin/repoman /usr/bin/repoman
- dosym ../lib/portage/bin/tbz2tool /usr/bin/tbz2tool
- dosym ../lib/portage/bin/portageq /usr/bin/portageq
-
- dosym ../lib/portage/bin/g-cpan.pl /usr/bin/g-cpan.pl
- dosym ../lib/portage/bin/quickpkg /usr/bin/quickpkg
- dosym ../lib/portage/bin/regenworld /usr/sbin/regenworld
- dosym ../lib/portage/bin/emerge-webrsync /usr/sbin/emerge-webrsync
-
- dosym newins /usr/lib/portage/bin/donewins
-
- # man pages
- doman ${S}/man/*.[15]
-
- # temp dir creation
- dodir /var/tmp
- chmod 1777 ${D}/var/tmp
- touch ${D}/var/tmp/.keep
-
- #documentation
- dodoc ${S}/ChangeLog
-}
-
-
-pkg_preinst() {
- if has livecvsportage $FEATURES; then
- if [ "$ROOT" == "/" ]; then
- rm -Rf "${IMAGE}"/usr/lib/portage/pym/*
-
- mv "${IMAGE}"/usr/lib/portage/bin/{sandbox,tbz2tool} ${T}
- rm -Rf "${IMAGE}"/usr/lib/portage/bin/*
- mv "${T}"/{sandbox,tbz2tool} "${IMAGE}"/usr/lib/portage/bin/
- fi
- fi
-}
-
-pkg_postinst() {
- local x
-
- [ -f "${ROOT}etc/make.conf" ] || touch ${ROOT}etc/make.conf
-
- #disable global sandbox if it's active (it's been deprecated)
- if [ -f /etc/ld.so.preload ] ; then
- cp /etc/ld.so.preload ${T}
- grep -v libsandbox ${T}/ld.so.preload > /etc/ld.so.preload
- fi
-
- #remove possible previous sandbox files that could cause conflicts
- if [ -d /usr/lib/sandbox ]; then
- rm -f ${ROOT}/usr/lib/portage/bin/ebuild.sh.orig
- rm -f ${ROOT}/usr/lib/portage/pym/portage.py.orig
- rm -f ${ROOT}/usr/bin/sandbox
- rm -rf ${ROOT}/usr/lib/sandbox
- fi
-
- #yank old cache files
- if [ -d /var/cache/edb ]
- then
- rm -f /var/cache/edb/xcache.p
- rm -f /var/cache/edb/mtimes
- fi
-
- if [ ! -f "/etc/portage/package.mask" ]; then
- if [ -f "/etc/portage/profile/package.mask" ]; then
- ln /etc/portage/profile/package.mask /etc/portage/package.mask
- einfo "/etc/portage/profile/package.mask is now /etc/portage/package.mask"
- einfo "a hardlink has been created to the new location if it exists in profiles"
- einfo "already."
- echo
- fi
- fi
- echo
-
- einfo "Feature additions are noted in help and make.conf descriptions."
- echo
- einfo "GENTOOLKIT will need to be updated to at least 0.2.0 for some tools"
- einfo "to work properly."
- echo
- einfo "Update configs using 'etc-update' please. Maintaining current configs"
- einfo "for portage and other system packages is fairly important for the"
- einfo "continued health of your system."
- echo
-
- if [ -z "$PORTAGE_TEST" ]; then
- for TICKER in 1 2 3 4 5; do
- # Double beep here.
- echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null
- echo -ne "\a" ; sleep 1
- done
- sleep 8
-
- # Kill the existing counter and generate a new one.
- echo -n "Recalculating the counter... "
- mv /var/cache/edb/counter /var/cache/edb/counter.old
- python -c 'import sys; sys.path = ["/usr/lib/portage/pym"]+sys.path; import portage; portage.db["/"]["vartree"].dbapi.counter_tick("/")' &>/dev/null
- if [ -f /var/cache/edb/counter ] ; then
- echo "Counter updated successfully."
- rm -f /var/cache/edb/counter.old
- else
- echo "FAILED to update counter."
- echo "!!! This is a problem."
- mv /var/cache/edb/counter.old /var/cache/edb/counter
- fi
- fi # PORTAGE_TESTING
-
- if [ ! -d ${ROOT}var/cache/edb/dep ]
- then
- install -d -m0755 ${ROOT}var/cache/edb
- install -d -m2775 -o root -g portage ${ROOT}var/cache/edb/dep
- fi
-
- # Old place of install
- rm -f ${ROOT}usr/lib/python2.2/site-packages/portage.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/xpak.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/output.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/cvstree.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/getbinpkg.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/emergehelp.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/dispatch_conf.py[co]
-
- # New old place of install
- rm -f ${ROOT}usr/lib/portage/pym/*.py[co]
-
- chmod 2775 ${ROOT}var/cache/edb/dep ${ROOT}var/cache/edb/dep/*
- chown -R root:portage ${ROOT}var/cache/edb/dep
-
- # we gotta re-compile these modules and deal with systems with clock skew (stale compiled files)
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/emergehelp.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/emergehelp.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/cvstree.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/cvstree.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/dcdialog.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/dcdialog.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/dispatch_conf.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/dispatch_conf.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/getbinpkg.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/getbinpkg.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/output.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/output.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_anydbm.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_anydbm.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_cpickle.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_cpickle.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_flat.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_flat.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_template.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/portage_db_template.py')"
-
- python -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/xpak.py')"
- python -O -c "import py_compile; py_compile.compile('${ROOT}usr/lib/portage/pym/xpak.py')"
-
-
- if has ccache $FEATURES && has userpriv $FEATURES; then
- chown -R portage:portage /var/tmp/ccache &> /dev/null
- chmod -R g+rws /var/tmp/ccache &>/dev/null
- fi
-
-
-#
-# Take a shot at fixing the world file...
-# This finds all specific-version ebuilds without modifiers.
-#
- addwrite ${ROOT}var/cache/edb/
- python -c "
-import portage
-world = portage.grabfile('${ROOT}var/cache/edb/world')
-newlist = []
-
-for x in world:
- try:
- if portage.catpkgsplit(x) and (x == portage.dep_getcpv(x)):
- newlist.append('='+x)
- continue
- except:
- pass
- newlist.append(x)
-
-if newlist and (len(newlist) == len(world)):
- myworld=open('${ROOT}var/cache/edb/world','w')
- for x in newlist:
- myworld.write(x+'\\n')
-
- myworld.close()
-
-"
-
- for X in ${ROOT}etc/._cfg????_make.globals; do
- # Overwrite the globals file automatically.
- [ -e "${X}" ] && mv -f "${X}" "${ROOT}etc/make.globals"
- done
-}
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51-r10.ebuild,v 1.2 2005/01/12 16:46:23 carpaski Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51-r10.ebuild,v 1.3 2005/01/13 00:38:39 carpaski Exp $
inherit flag-o-matic eutils toolchain-funcs
DESCRIPTION="The Portage Package Management System (Similar to BSD's ports). The primary package management and distribution system for Gentoo."
HOMEPAGE="http://www.gentoo.org/"
SRC_URI="http://zarquon.twobit.net/gentoo/portage/${PF}.tar.bz2 http://gentoo.twobit.net/portage/${PF}.tar.bz2 mirror://gentoo/${PF}.tar.bz2"
-RESTRICT="nosandbox sandbox primaryuri"
+RESTRICT="nosandbox sandbox"
# Contact carpaski with a reason before you modify any of these.
#KEYWORDS=" alpha amd64 arm hppa ia64 mips ppc ppc-macos ppc64 s390 sh sparc x86"
+++ /dev/null
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51-r2.ebuild,v 1.7 2004/12/07 06:09:40 usata Exp $
-
-inherit flag-o-matic toolchain-funcs
-
-# If the old /lib/sandbox.so is in /etc/ld.so.preload, it can
-# cause everything to segfault !!
-export SANDBOX_DISABLED="1"
-
-DESCRIPTION="The Portage Package Management System (Similar to BSD's ports). The primary package management and distribution system for Gentoo."
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="http://zarquon.twobit.net/gentoo/portage/${PF}.tar.bz2 http://gentoo.twobit.net/portage/${PF}.tar.bz2 mirror://gentoo/${PF}.tar.bz2"
-RESTRICT="nosandbox sandbox"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="build selinux"
-# Contact carpaski with a reason before you modify any of these.
-KEYWORDS=" alpha amd64 arm hppa ia64 mips ppc ppc-macos ppc64 s390 sparc x86"
-#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sparc ~x86"
-
-RDEPEND="selinux? ( dev-python/python-selinux )
- !build? (
- >=sys-apps/sed-4.0.5
- dev-python/python-fchksum
- >=dev-lang/python-2.2.1
- sys-apps/debianutils
- >=app-shells/bash-2.05a
- )"
-
-S=${WORKDIR}/${PF}
-
-python_version() {
- local tmpstr="$(/usr/bin/python -V 2>&1 )"
- export PYVER_ALL="${tmpstr#Python }"
-
- export PYVER_MAJOR=$(echo ${PYVER_ALL} | cut -d. -f1)
- export PYVER_MINOR=$(echo ${PYVER_ALL} | cut -d. -f2)
- export PYVER_MICRO=$(echo ${PYVER_ALL} | cut -d. -f3-)
- export PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
-}
-
-check_multilib() {
- has_m32
- if [ "$?" == 0 ]; then
- einfo "Found valid multilib environment."
- einfo "Building with multilib support."
- export MULTILIB="1"
- else
- ewarn "No valid multilib environment found!"
- ewarn "Building without multilib support. If"
- ewarn "you want to have multilib support,"
- ewarn "emerge gcc with \"multilib\" in your"
- ewarn "useflags."
- sleep 5
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- sed -i "/PORTAGE_RESTRICT.*'')/s:''):' '):" pym/portage.py
-}
-
-src_compile() {
- cd ${S}/src; $(tc-getCC) ${CFLAGS} tbz2tool.c -o tbz2tool
- cd ${S}/src/sandbox-1.1
- case ${ARCH} in
- "x86")
- make CFLAGS="-march=i386 -O1 -pipe" || die
- ;;
- "amd64")
- check_multilib
- make CFLAGS="-O1 -pipe" HAVE_64BIT_ARCH="${MULTILIB}" || die
- ;;
- *)
- if useq ppc-macos || useq x86-fbsd; then
- ewarn "NOT BUILDING SANDBOX ON $ARCH"
- else
- make CFLAGS="-O1 -pipe" || die
- fi
- ;;
- esac
- cd ${S}/bin
-}
-
-src_install() {
- #config files
- cd ${S}/cnf
- insinto /etc
- if [ -f "make.globals.${ARCH}" ]; then
- newins make.globals.${ARCH} make.globals
- newins make.conf.${ARCH} make.conf.example
- 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 ""
- sleep 3
- doins make.globals
- newins make.conf make.conf.example
- fi
-
- doins etc-update.conf dispatch-conf.conf
-
- #python modules
- if [ -x "$(type -p python2.2)" ] || [ -x /usr/bin/python2.2 ]; then
- cd ${S}/src/python-missingos
- chmod +x setup.py
- if [ -x "$(type -p python2.3)" ]; then
- ./setup.py install --root ${D} || eerror "Failed to install missingos module -- python2.2 broken?"
- else
- ./setup.py install --root ${D} || die "Failed to install missingos module"
- fi
- fi
-
-
- dodir /usr/lib/portage/pym
- cd ${S}/pym
- insinto /usr/lib/portage/pym
- doins *.py
-
- #binaries, libraries and scripts
- dodir /usr/lib/portage/bin
- cd ${S}/bin
- exeinto /usr/lib/portage/bin
- doexe *
- doexe ${S}/src/tbz2tool
-
- if use ppc-macos || use x86-fbsd; then
- ewarn "Not installing sandbox on ${ARCH}"
- else
- #install sandbox
- cd ${S}/src/sandbox-1.1
- if [ "$ARCH" == "amd64" ]; then
- check_multilib
- make DESTDIR="${D}" HAVE_64BIT_ARCH="${MULTILIB}" install || \
- die "Failed to compile sandbox"
- else
- make DESTDIR="${D}" install || \
- die "Failed to compile sandbox"
- fi
- fi
-
- #symlinks
- dodir /usr/bin /usr/sbin
- dosym ../lib/portage/bin/emerge /usr/bin/emerge
- dosym ../lib/portage/bin/pkgmerge /usr/sbin/pkgmerge
- dosym ../lib/portage/bin/ebuild /usr/sbin/ebuild
- dosym ../lib/portage/bin/ebuild.sh /usr/sbin/ebuild.sh
-
- dosym ../lib/portage/bin/etc-update /usr/sbin/etc-update
- dosym ../lib/portage/bin/dispatch-conf /usr/sbin/dispatch-conf
- dosym ../lib/portage/bin/archive-conf /usr/sbin/archive-conf
- dosym ../lib/portage/bin/fixpackages /usr/sbin/fixpackages
-
- dosym ../lib/portage/bin/env-update /usr/sbin/env-update
- dosym ../lib/portage/bin/xpak /usr/bin/xpak
- dosym ../lib/portage/bin/repoman /usr/bin/repoman
- dosym ../lib/portage/bin/tbz2tool /usr/bin/tbz2tool
- dosym ../lib/portage/bin/portageq /usr/bin/portageq
-
- dosym ../lib/portage/bin/g-cpan.pl /usr/bin/g-cpan.pl
- dosym ../lib/portage/bin/quickpkg /usr/bin/quickpkg
- dosym ../lib/portage/bin/regenworld /usr/sbin/regenworld
- dosym ../lib/portage/bin/emerge-webrsync /usr/sbin/emerge-webrsync
-
- dosym newins /usr/lib/portage/bin/donewins
-
- # man pages
- doman ${S}/man/*.[0-9]
-
- # temp dir creation
- dodir /var/tmp
- chmod 1777 ${D}/var/tmp
- touch ${D}/var/tmp/.keep
-
- #documentation
- dodoc ${S}/ChangeLog
-}
-
-
-pkg_preinst() {
- if has livecvsportage $FEATURES; then
- if [ "$ROOT" == "/" ]; then
- rm -Rf "${IMAGE}"/usr/lib/portage/pym/*
-
- mv "${IMAGE}"/usr/lib/portage/bin/{sandbox,tbz2tool} ${T}
- rm -Rf "${IMAGE}"/usr/lib/portage/bin/*
- mv "${T}"/{sandbox,tbz2tool} "${IMAGE}"/usr/lib/portage/bin/
- fi
- fi
-
- # If we return true, then we don't have HIGHEST_PROTOCOL.
- # We need to modify the source for this case.
- if python -c "import cPickle,sys; sys.exit('HIGHEST_PROTOCOL' in dir(cPickle))"; then
- sed -i "s:cPickle.HIGHEST_PROTOCOL:-1:" "${IMAGE}"/usr/lib/portage/pym/*.py
- fi
-}
-
-pkg_postinst() {
- local x
-
- [ -f "${ROOT}etc/make.conf" ] || touch ${ROOT}etc/make.conf
-
- #disable global sandbox if it's active (it's been deprecated)
- if [ -f /etc/ld.so.preload ] ; then
- cp /etc/ld.so.preload ${T}
- grep -v libsandbox ${T}/ld.so.preload > /etc/ld.so.preload
- fi
-
- #remove possible previous sandbox files that could cause conflicts
- if [ -d /usr/lib/sandbox ]; then
- rm -f ${ROOT}/usr/lib/portage/bin/ebuild.sh.orig
- rm -f ${ROOT}/usr/lib/portage/pym/portage.py.orig
- rm -f ${ROOT}/usr/bin/sandbox
- rm -rf ${ROOT}/usr/lib/sandbox
- fi
-
- #yank old cache files
- if [ -d /var/cache/edb ]
- then
- rm -f /var/cache/edb/xcache.p
- rm -f /var/cache/edb/mtimes
- fi
-
- install -o root -g portage -m 0755 -d "${ROOT}/etc/portage"
- install -o root -g portage -m 2775 -d "${ROOT}/etc/portage/sets"
- # u+rwx,g+srwx --- This is a secure directory for temp files.
-
- install -o root -g portage -m 2770 -d "${ROOT}/var/lib/portage"
- einfo "Checking ${ROOT}/var/lib/portage for bad/illegal files:"
- find "${ROOT}/var/lib/portage" ! -group portage -o -perm -002 -print0 | ${XARGS} -0n 500 rm -Rvf
-
- OLDWORLD="${ROOT}/var/cache/edb/world"
- NEWWORLD="${ROOT}/var/lib/portage/world"
-
- if [ ! -f "${NEWWORLD}" ]; then
- cp "${OLDWORLD}" "${NEWWORLD}" && \
- rm -f "${OLDWORLD}" && \
- ln ../../lib/portage/world "${NEWWORLD}"
- fi
-
- if [ ! -f "/etc/portage/package.mask" ]; then
- if [ -f "/etc/portage/profile/package.mask" ]; then
- ln /etc/portage/profile/package.mask /etc/portage/package.mask
- einfo "/etc/portage/profile/package.mask is now /etc/portage/package.mask"
- einfo "a hardlink has been created to the new location if it exists in profiles"
- einfo "already."
- echo
- fi
- fi
- echo
-
- einfo "Feature additions are noted in help and make.conf descriptions."
- echo
- einfo "Update configs using 'etc-update' please. Maintaining current configs"
- einfo "for portage and other system packages is fairly important for the"
- einfo "continued health of your system."
- echo
- ewarn "NOTICE: There have been changes in the location of some internal files"
- ewarn " to better match the FHS. The changes do not directly affect users"
- ewarn " but please be advised that changing between versions of portage"
- ewarn " with and without these changes may introduce some inconsistencies"
- ewarn " in package data regarding 'world' and 'virtuals' (provides)."
- echo
- einfo " /var/cache/edb/world has moved to /var/lib/portage/world"
- echo
- einfo " /var/cache/edb/virtuals has been deprecated and is now calculated"
- einfo " on demand. Strictly _USER_ modifications to virtuals may go into"
- einfo " /etc/portage/profile/virtuals and will not be modified by portage."
- echo
-
- if [ -z "$PORTAGE_TEST" ]; then
- for TICKER in 1 2 3 4 5 6 7 8 9 10; do
- echo -ne "\a" ; sleep 0.$(( $RANDOM % 9 + 1)) &>/dev/null ; sleep 0,$(( $RANDOM % 9 + 1)) &>/dev/null
- done
- sleep 5
-
- # Kill the existing counter and generate a new one.
- echo -n "Recalculating the counter... "
- mv /var/cache/edb/counter /var/cache/edb/counter.old
- python -c 'import sys; sys.path = ["/usr/lib/portage/pym"]+sys.path; import portage; portage.db["/"]["vartree"].dbapi.counter_tick("/")' &>/dev/null
- if [ -f /var/cache/edb/counter ] ; then
- echo "Counter updated successfully."
- rm -f /var/cache/edb/counter.old
- else
- echo "FAILED to update counter."
- ls -l /var/cache/edb/counter.old
- echo "!!! This is a problem."
- mv /var/cache/edb/counter.old /var/cache/edb/counter
- fi
- fi # PORTAGE_TESTING
-
- if [ ! -d "${ROOT}var/cache/edb/dep" ]
- then
- install -d -m2755 ${ROOT}var/cache/edb
- install -d -m2775 -o root -g portage ${ROOT}var/cache/edb/dep
- fi
-
- # Old place of install
- rm -f ${ROOT}usr/lib/python2.2/site-packages/portage.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/xpak.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/output.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/cvstree.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/getbinpkg.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/emergehelp.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/dispatch_conf.py[co]
-
- # New old place of install
- rm -f ${ROOT}usr/lib/portage/pym/*.py[co]
-
- # we gotta re-compile these modules and deal with systems with clock skew (stale compiled files)
- einfo "Compiling python modules..."
- python -c 'import compileall; compileall.compile_path()' &> /dev/null
- python -c "import compileall; compileall.compile_dir('${ROOT}usr/lib/portage/pym')" &> /dev/null
-
- if has ccache $FEATURES && has userpriv $FEATURES; then
- chown -R portage:portage /var/tmp/ccache &> /dev/null
- chmod -R g+rws /var/tmp/ccache &>/dev/null
- fi
-
- if [ -d "${ROOT}usr/portage/distfiles" ]; then
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}usr/portage/distfiles"
- chmod 2775 "${ROOT}usr/portage/distfiles/cvs-src"
- fi
- if [ -d "${ROOT}/${PORTDIR}/distfiles" ]; then
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles"
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles/cvs-src"
- fi
-
- chown -R root:portage ${ROOT}var/cache/edb
- find ${ROOT}var/cache/edb -type f -print0 | ${XARGS} -0 -n 500 chmod 664
-
- for X in ${ROOT}etc/._cfg????_make.globals; do
- # Overwrite the globals file automatically.
- [ -e "${X}" ] && mv -f "${X}" "${ROOT}etc/make.globals"
- done
-
- einfo "You may run 'emerge metadata' to perform cache updates if you have"
- einfo "changed versions of portage. This will provide a fairly dramatic"
- einfo "speedup. Alternatively, you may 'emerge sync' if it has been more"
- einfo "than 30 minutes since your last sync."
-}
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51-r3.ebuild,v 1.11 2005/01/12 16:46:23 carpaski Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51-r3.ebuild,v 1.12 2005/01/13 00:38:39 carpaski Exp $
inherit flag-o-matic eutils
DESCRIPTION="The Portage Package Management System (Similar to BSD's ports). The primary package management and distribution system for Gentoo."
HOMEPAGE="http://www.gentoo.org/"
SRC_URI="http://zarquon.twobit.net/gentoo/portage/${PF}.tar.bz2 http://gentoo.twobit.net/portage/${PF}.tar.bz2 mirror://gentoo/${PF}.tar.bz2"
-RESTRICT="nosandbox sandbox primaryuri"
+RESTRICT="nosandbox sandbox"
# Contact carpaski with a reason before you modify any of these.
KEYWORDS=" alpha amd64 arm hppa ia64 mips ppc ppc-macos ppc64 s390 sh sparc x86"
+++ /dev/null
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51-r7.ebuild,v 1.1 2004/12/02 07:34:28 carpaski Exp $
-
-inherit flag-o-matic eutils
-
-# If the old /lib/sandbox.so is in /etc/ld.so.preload, it can
-# cause everything to segfault !!
-export SANDBOX_DISABLED="1"
-
-S=${WORKDIR}/${PF}
-DESCRIPTION="The Portage Package Management System (Similar to BSD's ports). The primary package management and distribution system for Gentoo."
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="http://zarquon.twobit.net/gentoo/portage/${PF}.tar.bz2 http://gentoo.twobit.net/portage/${PF}.tar.bz2 mirror://gentoo/${PF}.tar.bz2"
-RESTRICT="nosandbox sandbox"
-
-# Contact carpaski with a reason before you modify any of these.
-#KEYWORDS=" alpha amd64 arm hppa ia64 mips ppc ppc-macos ppc64 s390 sh sparc x86"
-KEYWORDS=" ~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="build selinux"
-
-RDEPEND="!build? ( >=sys-apps/sed-4.0.5 dev-python/python-fchksum >=dev-lang/python-2.2.1 sys-apps/debianutils >=app-shells/bash-2.05a ) selinux? ( >=dev-python/python-selinux-2.15 )"
-
-python_version() {
- local tmpstr="$(/usr/bin/python -V 2>&1 )"
- export PYVER_ALL="${tmpstr#Python }"
-
- export PYVER_MAJOR=$(echo ${PYVER_ALL} | cut -d. -f1)
- export PYVER_MINOR=$(echo ${PYVER_ALL} | cut -d. -f2)
- export PYVER_MICRO=$(echo ${PYVER_ALL} | cut -d. -f3-)
- export PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
-}
-
-check_multilib() {
- has_m32
- if [ "$?" == 0 ]; then
- einfo "Found valid multilib environment."
- einfo "Building with multilib support."
- export MULTILIB="1"
- else
- ewarn "No valid multilib environment found!"
- ewarn "Building without multilib support. If"
- ewarn "you want to have multilib support,"
- ewarn "emerge gcc with \"multilib\" in your"
- ewarn "useflags."
- sleep 5
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-}
-
-src_compile() {
- cd ${S}/src; ${CC:-gcc} ${CFLAGS} tbz2tool.c -o tbz2tool
- cd ${S}/src/sandbox-1.1
- case ${ARCH} in
- "x86")
- make CFLAGS="-march=i386 -O1 -pipe" || die
- ;;
- "amd64")
- check_multilib
- make CFLAGS="-O1 -pipe" HAVE_64BIT_ARCH="${MULTILIB}" || die
- ;;
- *)
- if useq macos || useq ppc-macos || useq x86-fbsd; then
- ewarn "NOT BUILDING SANDBOX ON $ARCH"
- else
- make CFLAGS="-O1 -pipe" || die
- fi
- ;;
- esac
- cd ${S}/bin
-}
-
-src_install() {
- #config files
- cd ${S}/cnf
- insinto /etc
- if [ -f "make.globals.${ARCH}" ]; then
- newins make.globals.${ARCH} make.globals
- newins make.conf.${ARCH} make.conf.example
- 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 ""
- sleep 3
- doins make.globals
- newins make.conf make.conf.example
- fi
-
- doins etc-update.conf dispatch-conf.conf
-
- #python modules
- if [ -x "$(type -p python2.2)" ] || [ -x /usr/bin/python2.2 ]; then
- cd ${S}/src/python-missingos
- chmod +x setup.py
- if [ -x "$(type -p python2.3)" ]; then
- ./setup.py install --root ${D} || eerror "Failed to install missingos module -- python2.2 broken?"
- else
- ./setup.py install --root ${D} || die "Failed to install missingos module"
- fi
- fi
-
-
- dodir /usr/lib/portage/pym
- cd ${S}/pym
- insinto /usr/lib/portage/pym
- doins *.py
-
- #binaries, libraries and scripts
- dodir /usr/lib/portage/bin
- cd ${S}/bin
- exeinto /usr/lib/portage/bin
- doexe *
- doexe ${S}/src/tbz2tool
-
- if use macos || use ppc-macos || use x86-fbsd; then
- ewarn "Not installing sandbox on ${ARCH}"
- else
- #install sandbox
- cd ${S}/src/sandbox-1.1
- if [ "$ARCH" == "amd64" ]; then
- check_multilib
- make DESTDIR="${D}" HAVE_64BIT_ARCH="${MULTILIB}" install || \
- die "Failed to compile sandbox"
- else
- make DESTDIR="${D}" install || \
- die "Failed to compile sandbox"
- fi
- fi
-
- #symlinks
- dodir /usr/bin /usr/sbin
- dosym ../lib/portage/bin/emerge /usr/bin/emerge
- dosym ../lib/portage/bin/ebuild /usr/bin/ebuild
- dosym ../lib/portage/bin/ebuild /usr/sbin/ebuild
-
- dosym ../lib/portage/bin/pkgmerge /usr/sbin/pkgmerge
- dosym ../lib/portage/bin/ebuild.sh /usr/sbin/ebuild.sh
-
- dosym ../lib/portage/bin/etc-update /usr/sbin/etc-update
- dosym ../lib/portage/bin/dispatch-conf /usr/sbin/dispatch-conf
- dosym ../lib/portage/bin/archive-conf /usr/sbin/archive-conf
- dosym ../lib/portage/bin/fixpackages /usr/sbin/fixpackages
-
- dosym ../lib/portage/bin/env-update /usr/sbin/env-update
- dosym ../lib/portage/bin/xpak /usr/bin/xpak
- dosym ../lib/portage/bin/repoman /usr/bin/repoman
- dosym ../lib/portage/bin/tbz2tool /usr/bin/tbz2tool
- dosym ../lib/portage/bin/portageq /usr/bin/portageq
-
- dosym ../lib/portage/bin/g-cpan.pl /usr/bin/g-cpan.pl
- dosym ../lib/portage/bin/quickpkg /usr/bin/quickpkg
- dosym ../lib/portage/bin/regenworld /usr/sbin/regenworld
- dosym ../lib/portage/bin/emerge-webrsync /usr/sbin/emerge-webrsync
-
- dosym newins /usr/lib/portage/bin/donewins
-
- # man pages
- doman ${S}/man/*.[0-9]
-
- # temp dir creation
- dodir /var/tmp
- chmod 1777 ${D}/var/tmp
- touch ${D}/var/tmp/.keep
-
- #documentation
- dodoc ${S}/ChangeLog
-}
-
-
-pkg_preinst() {
- if has livecvsportage $FEATURES; then
- if [ "$ROOT" == "/" ]; then
- rm -Rf "${IMAGE}"/usr/lib/portage/pym/*
-
- mv "${IMAGE}"/usr/lib/portage/bin/{sandbox,tbz2tool} ${T}
- rm -Rf "${IMAGE}"/usr/lib/portage/bin/*
- mv "${T}"/{sandbox,tbz2tool} "${IMAGE}"/usr/lib/portage/bin/
- fi
- fi
-
- # If we return true, then we don't have HIGHEST_PROTOCOL.
- # We need to modify the source for this case.
- if python -c "import cPickle,sys; sys.exit('HIGHEST_PROTOCOL' in dir(cPickle))"; then
- sed -i "s:cPickle.HIGHEST_PROTOCOL:-1:" "${IMAGE}"/usr/lib/portage/pym/*.py
- fi
-}
-
-pkg_postinst() {
- local x
-
- [ -f "${ROOT}etc/make.conf" ] || touch ${ROOT}etc/make.conf
-
- #disable global sandbox if it's active (it's been deprecated)
- if [ -f /etc/ld.so.preload ] ; then
- cp /etc/ld.so.preload ${T}
- grep -v libsandbox ${T}/ld.so.preload > /etc/ld.so.preload
- fi
-
- #remove possible previous sandbox files that could cause conflicts
- if [ -d /usr/lib/sandbox ]; then
- rm -f ${ROOT}/usr/lib/portage/bin/ebuild.sh.orig
- rm -f ${ROOT}/usr/lib/portage/pym/portage.py.orig
- rm -f ${ROOT}/usr/bin/sandbox
- rm -rf ${ROOT}/usr/lib/sandbox
- fi
-
- #yank old cache files
- if [ -d /var/cache/edb ]
- then
- rm -f /var/cache/edb/xcache.p
- rm -f /var/cache/edb/mtimes
- fi
-
- install -o root -g portage -m 0755 -d "${ROOT}/etc/portage"
- install -o root -g portage -m 2775 -d "${ROOT}/etc/portage/sets"
- # u+rwx,g+srwx --- This is a secure directory for temp files.
-
- install -o root -g portage -m 2770 -d "${ROOT}/var/lib/portage"
- einfo "Checking ${ROOT}/var/lib/portage for bad/illegal files:"
- find "${ROOT}/var/lib/portage" ! -group portage -o -perm -002 -print0 | ${XARGS} -0n 500 rm -Rvf
-
- OLDWORLD="${ROOT}/var/cache/edb/world"
- NEWWORLD="${ROOT}/var/lib/portage/world"
-
- if [ ! -f "${NEWWORLD}" ]; then
- cp "${OLDWORLD}" "${NEWWORLD}" && \
- rm -f "${OLDWORLD}" && \
- ln ../../lib/portage/world "${NEWWORLD}"
- fi
-
- if [ ! -f "/etc/portage/package.mask" ]; then
- if [ -f "/etc/portage/profile/package.mask" ]; then
- ln /etc/portage/profile/package.mask /etc/portage/package.mask
- einfo "/etc/portage/profile/package.mask is now /etc/portage/package.mask"
- einfo "a hardlink has been created to the new location if it exists in profiles"
- einfo "already."
- echo
- fi
- fi
- echo
-
- einfo "Feature additions are noted in help and make.conf descriptions."
- echo
- einfo "Update configs using 'etc-update' please. Maintaining current configs"
- einfo "for portage and other system packages is fairly important for the"
- einfo "continued health of your system."
- echo
- ewarn "NOTICE: There have been changes in the location of some internal files"
- ewarn " to better match the FHS. The changes do not directly affect users"
- ewarn " but please be advised that changing between versions of portage"
- ewarn " with and without these changes may introduce some inconsistencies"
- ewarn " in package data regarding 'world' and 'virtuals' (provides)."
- echo
- einfo " /var/cache/edb/world has moved to /var/lib/portage/world"
- echo
- einfo " /var/cache/edb/virtuals has been deprecated and is now calculated"
- einfo " on demand. Strictly _USER_ modifications to virtuals may go into"
- einfo " /etc/portage/profile/virtuals and will not be modified by portage."
- echo
-
- if [ -z "$PORTAGE_TEST" ]; then
- for TICKER in 1 2 3 4 5 6 7 8 9 10; do
- echo -ne "\a" ; sleep 0.$(( $RANDOM % 9 + 1)) &>/dev/null ; sleep 0,$(( $RANDOM % 9 + 1)) &>/dev/null
- done
- sleep 5
-
- # Kill the existing counter and generate a new one.
- echo -n "Recalculating the counter... "
- mv /var/cache/edb/counter /var/cache/edb/counter.old
- python -c 'import sys; sys.path = ["/usr/lib/portage/pym"]+sys.path; import portage; portage.db["/"]["vartree"].dbapi.counter_tick("/")' &>/dev/null
- if [ -f /var/cache/edb/counter ] ; then
- echo "Counter updated successfully."
- rm -f /var/cache/edb/counter.old
- else
- echo "FAILED to update counter."
- ls -l /var/cache/edb/counter.old
- echo "!!! This is a problem."
- mv /var/cache/edb/counter.old /var/cache/edb/counter
- fi
- fi # PORTAGE_TESTING
-
- if [ ! -d "${ROOT}var/cache/edb/dep" ]
- then
- install -d -m2755 ${ROOT}var/cache/edb
- install -d -m2775 -o root -g portage ${ROOT}var/cache/edb/dep
- fi
-
- # Old place of install
- rm -f ${ROOT}usr/lib/python2.2/site-packages/portage.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/xpak.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/output.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/cvstree.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/getbinpkg.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/emergehelp.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/dispatch_conf.py[co]
-
- # New old place of install
- rm -f ${ROOT}usr/lib/portage/pym/*.py[co]
-
- # we gotta re-compile these modules and deal with systems with clock skew (stale compiled files)
- einfo "Compiling python modules..."
- python -c 'import compileall; compileall.compile_path()' &> /dev/null
- python -c "import compileall; compileall.compile_dir('${ROOT}usr/lib/portage/pym')" &> /dev/null
-
- if has ccache $FEATURES && has userpriv $FEATURES; then
- chown -R portage:portage /var/tmp/ccache &> /dev/null
- chmod -R g+rws /var/tmp/ccache &>/dev/null
- fi
-
- if [ -d "${ROOT}usr/portage/distfiles" ]; then
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}usr/portage/distfiles"
- chmod 2775 "${ROOT}usr/portage/distfiles/cvs-src"
- fi
- if [ -d "${ROOT}/${PORTDIR}/distfiles" ]; then
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles"
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles/cvs-src"
- fi
-
- chown -R root:portage ${ROOT}var/cache/edb
- find ${ROOT}var/cache/edb -type f -print0 | ${XARGS} -0 -n 500 chmod 664
-
- for X in ${ROOT}etc/._cfg????_make.globals; do
- # Overwrite the globals file automatically.
- [ -e "${X}" ] && mv -f "${X}" "${ROOT}etc/make.globals"
- done
-
- einfo "You may run 'emerge metadata' to perform cache updates if you have"
- einfo "changed versions of portage. This will provide a fairly dramatic"
- einfo "speedup. Alternatively, you may 'emerge sync' if it has been more"
- einfo "than 30 minutes since your last sync."
-}
+++ /dev/null
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51-r8.ebuild,v 1.7 2005/01/10 23:41:04 eradicator Exp $
-
-inherit flag-o-matic eutils toolchain-funcs
-
-# If the old /lib/sandbox.so is in /etc/ld.so.preload, it can
-# cause everything to segfault !!
-export SANDBOX_DISABLED="1"
-
-S=${WORKDIR}/${PF}
-DESCRIPTION="The Portage Package Management System (Similar to BSD's ports). The primary package management and distribution system for Gentoo."
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="http://zarquon.twobit.net/gentoo/portage/${PF}.tar.bz2 http://gentoo.twobit.net/portage/${PF}.tar.bz2 mirror://gentoo/${PF}.tar.bz2"
-RESTRICT="nosandbox sandbox"
-
-# Contact carpaski with a reason before you modify any of these.
-#KEYWORDS=" alpha amd64 arm hppa ia64 mips ppc ppc-macos ppc64 s390 sh sparc x86"
-KEYWORDS=" ~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="build selinux"
-
-RDEPEND="!build? ( >=sys-apps/sed-4.0.5 dev-python/python-fchksum >=dev-lang/python-2.2.1 sys-apps/debianutils >=app-shells/bash-2.05a ) selinux? ( >=dev-python/python-selinux-2.15 )"
-
-python_version() {
- local tmpstr="$(/usr/bin/python -V 2>&1 )"
- export PYVER_ALL="${tmpstr#Python }"
-
- export PYVER_MAJOR=$(echo ${PYVER_ALL} | cut -d. -f1)
- export PYVER_MINOR=$(echo ${PYVER_ALL} | cut -d. -f2)
- export PYVER_MICRO=$(echo ${PYVER_ALL} | cut -d. -f3-)
- export PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
-}
-
-check_multilib() {
- has_m32
- if [ "$?" == 0 ]; then
- einfo "Found valid multilib environment."
- einfo "Building with multilib support."
- export MULTILIB="1"
- else
- ewarn "No valid multilib environment found!"
- ewarn "Building without multilib support. If"
- ewarn "you want to have multilib support,"
- ewarn "emerge gcc with \"multilib\" in your"
- ewarn "useflags."
- sleep 5
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-}
-
-src_compile() {
- export CC="$(tc-getCC)"
- cd ${S}/src; ${CC} ${CFLAGS} tbz2tool.c -o tbz2tool
-
- cd ${S}/src/sandbox-1.1
- if use ppc-macos || use x86-fbsd; then
- ewarn "NOT BUILDING SANDBOX ON ${ARCH}"
- elif [ -n "${MULTILIB_ABIS}" ] && ! hasq ${FEATURES}; then
- OABI="${ABI}"
- for ABI in ${MULTILIB_ABIS}; do
- export ABI
- make clean
- make CFLAGS="-O1 -pipe" libsandbox.so || die
- mv libsandbox.so libsandbox.so.${ABI}
- done
- make clean
- export ABI="${DEFAULT_ABI}"
- make CFLAGS="-O1 -pipe" || die
- ABI="${OABI}"
- elif [ "${ARCH}" == "amd64" ]; then
- check_multilib
- make CFLAGS="-O1 -pipe" HAVE_64BIT_ARCH="${MULTILIB}" || die
- elif [ "${ARCH}" == "x86" ]; then
- make CFLAGS="-march=i386 -O1 -pipe" || die
- else
- make CFLAGS="-O1 -pipe" || die
- fi
-
- cd ${S}/bin
-}
-
-src_install() {
- #config files
- cd ${S}/cnf
- insinto /etc
- if [ -f "make.globals.${ARCH}" ]; then
- newins make.globals.${ARCH} make.globals
- newins make.conf.${ARCH} make.conf.example
- 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 ""
- sleep 3
- doins make.globals
- newins make.conf make.conf.example
- fi
-
- doins etc-update.conf dispatch-conf.conf
-
- #python modules
- if [ -x "$(type -p python2.2)" ] || [ -x /usr/bin/python2.2 ]; then
- cd ${S}/src/python-missingos
- chmod +x setup.py
- if [ -x "$(type -p python2.3)" ]; then
- ./setup.py install --root ${D} || eerror "Failed to install missingos module -- python2.2 broken?"
- else
- ./setup.py install --root ${D} || die "Failed to install missingos module"
- fi
- fi
-
-
- dodir /usr/lib/portage/pym
- cd ${S}/pym
- insinto /usr/lib/portage/pym
- doins *.py
-
- #binaries, libraries and scripts
- dodir /usr/lib/portage/bin
- cd ${S}/bin
- exeinto /usr/lib/portage/bin
- doexe *
- doexe ${S}/src/tbz2tool
-
- #install sandbox
- cd ${S}/src/sandbox-1.1
- if use ppc-macos || use x86-fbsd; then
- ewarn "Not installing sandbox on ${ARCH}"
- elif [ -n "${MULTILIB_ABIS}" ]; then
- OABI="${ABI}"
- for ABI in ${MULTILIB_ABIS}; do
- cp libsandbox.so.${ABI} libsandbox.so
- make DESTDIR="${D}" install || \
- die "Failed to install sandbox"
- if [ "$(get_libdir)" = "lib" ]; then
- mv ${D}/lib/libsandbox.so ${D}/lib/libsandbox.so.real
- else
- dodir /$(get_libdir)
- mv ${D}/lib/libsandbox.so ${D}/$(get_libdir)
- fi
- done
- [ -f "${D}/lib/libsandbox.so.real" ] && mv ${D}/lib/libsandbox.so.real ${D}/lib/libsandbox.so
- ABI="${OABI}"
- elif [ "${ARCH}" == "amd64" -a -z "${MULTILIB_ABIS}" ]; then
- check_multilib
- make DESTDIR="${D}" HAVE_64BIT_ARCH="${MULTILIB}" install || \
- die "Failed to install sandbox"
- else
- make DESTDIR="${D}" install || \
- die "Failed to install sandbox"
- fi
-
- #symlinks
- dodir /usr/bin /usr/sbin
- dosym ../lib/portage/bin/emerge /usr/bin/emerge
- dosym ../lib/portage/bin/ebuild /usr/bin/ebuild
- dosym ../lib/portage/bin/ebuild /usr/sbin/ebuild
-
- dosym ../lib/portage/bin/pkgmerge /usr/sbin/pkgmerge
- dosym ../lib/portage/bin/ebuild.sh /usr/sbin/ebuild.sh
-
- dosym ../lib/portage/bin/etc-update /usr/sbin/etc-update
- dosym ../lib/portage/bin/dispatch-conf /usr/sbin/dispatch-conf
- dosym ../lib/portage/bin/archive-conf /usr/sbin/archive-conf
- dosym ../lib/portage/bin/fixpackages /usr/sbin/fixpackages
-
- dosym ../lib/portage/bin/env-update /usr/sbin/env-update
- dosym ../lib/portage/bin/xpak /usr/bin/xpak
- dosym ../lib/portage/bin/repoman /usr/bin/repoman
- dosym ../lib/portage/bin/tbz2tool /usr/bin/tbz2tool
- dosym ../lib/portage/bin/portageq /usr/bin/portageq
-
- dosym ../lib/portage/bin/g-cpan.pl /usr/bin/g-cpan.pl
- dosym ../lib/portage/bin/quickpkg /usr/bin/quickpkg
- dosym ../lib/portage/bin/regenworld /usr/sbin/regenworld
- dosym ../lib/portage/bin/emerge-webrsync /usr/sbin/emerge-webrsync
-
- dosym newins /usr/lib/portage/bin/donewins
-
- # man pages
- doman ${S}/man/*.[0-9]
-
- # temp dir creation
- dodir /var/tmp
- chmod 1777 ${D}/var/tmp
- touch ${D}/var/tmp/.keep
-
- #documentation
- dodoc ${S}/ChangeLog
-}
-
-
-pkg_preinst() {
- if has livecvsportage $FEATURES; then
- if [ "$ROOT" == "/" ]; then
- rm -Rf "${IMAGE}"/usr/lib/portage/pym/*
-
- mv "${IMAGE}"/usr/lib/portage/bin/{sandbox,tbz2tool} ${T}
- rm -Rf "${IMAGE}"/usr/lib/portage/bin/*
- mv "${T}"/{sandbox,tbz2tool} "${IMAGE}"/usr/lib/portage/bin/
- fi
- fi
-
- # If we return true, then we don't have HIGHEST_PROTOCOL.
- # We need to modify the source for this case.
- if python -c "import cPickle,sys; sys.exit('HIGHEST_PROTOCOL' in dir(cPickle))"; then
- sed -i "s:cPickle.HIGHEST_PROTOCOL:-1:" "${IMAGE}"/usr/lib/portage/pym/*.py
- fi
-}
-
-pkg_postinst() {
- local x
-
- [ -f "${ROOT}etc/make.conf" ] || touch ${ROOT}etc/make.conf
-
- #disable global sandbox if it's active (it's been deprecated)
- if [ -f /etc/ld.so.preload ] ; then
- cp /etc/ld.so.preload ${T}
- grep -v libsandbox ${T}/ld.so.preload > /etc/ld.so.preload
- fi
-
- #remove possible previous sandbox files that could cause conflicts
- if [ -d /usr/lib/sandbox ]; then
- rm -f ${ROOT}/usr/lib/portage/bin/ebuild.sh.orig
- rm -f ${ROOT}/usr/lib/portage/pym/portage.py.orig
- rm -f ${ROOT}/usr/bin/sandbox
- rm -rf ${ROOT}/usr/lib/sandbox
- fi
-
- #yank old cache files
- if [ -d /var/cache/edb ]
- then
- rm -f /var/cache/edb/xcache.p
- rm -f /var/cache/edb/mtimes
- fi
-
- install -o root -g portage -m 0755 -d "${ROOT}/etc/portage"
- install -o root -g portage -m 2775 -d "${ROOT}/etc/portage/sets"
- # u+rwx,g+srwx --- This is a secure directory for temp files.
-
- install -o root -g portage -m 2770 -d "${ROOT}/var/lib/portage"
- einfo "Checking ${ROOT}/var/lib/portage for bad/illegal files:"
- find "${ROOT}/var/lib/portage" ! -group portage -o -perm -002 -print0 | ${XARGS} -0n 500 rm -Rvf
-
- OLDWORLD="${ROOT}/var/cache/edb/world"
- NEWWORLD="${ROOT}/var/lib/portage/world"
-
- if [ ! -f "${NEWWORLD}" ]; then
- cp "${OLDWORLD}" "${NEWWORLD}" && \
- rm -f "${OLDWORLD}" && \
- ln ../../lib/portage/world "${NEWWORLD}"
- fi
-
- if [ ! -f "/etc/portage/package.mask" ]; then
- if [ -f "/etc/portage/profile/package.mask" ]; then
- ln /etc/portage/profile/package.mask /etc/portage/package.mask
- einfo "/etc/portage/profile/package.mask is now /etc/portage/package.mask"
- einfo "a hardlink has been created to the new location if it exists in profiles"
- einfo "already."
- echo
- fi
- fi
- echo
-
- einfo "Feature additions are noted in help and make.conf descriptions."
- echo
- einfo "Update configs using 'etc-update' please. Maintaining current configs"
- einfo "for portage and other system packages is fairly important for the"
- einfo "continued health of your system."
- echo
- ewarn "NOTICE: There have been changes in the location of some internal files"
- ewarn " to better match the FHS. The changes do not directly affect users"
- ewarn " but please be advised that changing between versions of portage"
- ewarn " with and without these changes may introduce some inconsistencies"
- ewarn " in package data regarding 'world' and 'virtuals' (provides)."
- echo
- einfo " /var/cache/edb/world has moved to /var/lib/portage/world"
- echo
- einfo " /var/cache/edb/virtuals has been deprecated and is now calculated"
- einfo " on demand. Strictly _USER_ modifications to virtuals may go into"
- einfo " /etc/portage/profile/virtuals and will not be modified by portage."
- echo
-
- if [ -z "$PORTAGE_TEST" ]; then
- for TICKER in 1 2 3 4 5 6 7 8 9 10; do
- echo -ne "\a" ; sleep 0.$(( $RANDOM % 9 + 1)) &>/dev/null ; sleep 0,$(( $RANDOM % 9 + 1)) &>/dev/null
- done
- sleep 5
-
- # Kill the existing counter and generate a new one.
- echo -n "Recalculating the counter... "
- mv /var/cache/edb/counter /var/cache/edb/counter.old
- python -c 'import sys; sys.path = ["/usr/lib/portage/pym"]+sys.path; import portage; portage.db["/"]["vartree"].dbapi.counter_tick("/")' &>/dev/null
- if [ -f /var/cache/edb/counter ] ; then
- echo "Counter updated successfully."
- rm -f /var/cache/edb/counter.old
- else
- echo "FAILED to update counter."
- ls -l /var/cache/edb/counter.old
- echo "!!! This is a problem."
- mv /var/cache/edb/counter.old /var/cache/edb/counter
- fi
- fi # PORTAGE_TESTING
-
- if [ ! -d "${ROOT}var/cache/edb/dep" ]
- then
- install -d -m2755 ${ROOT}var/cache/edb
- install -d -m2775 -o root -g portage ${ROOT}var/cache/edb/dep
- fi
-
- # Old place of install
- rm -f ${ROOT}usr/lib/python2.2/site-packages/portage.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/xpak.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/output.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/cvstree.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/getbinpkg.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/emergehelp.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/dispatch_conf.py[co]
-
- # New old place of install
- rm -f ${ROOT}usr/lib/portage/pym/*.py[co]
-
- # we gotta re-compile these modules and deal with systems with clock skew (stale compiled files)
- einfo "Compiling python modules..."
- python -c 'import compileall; compileall.compile_path()' &> /dev/null
- python -c "import compileall; compileall.compile_dir('${ROOT}usr/lib/portage/pym')" &> /dev/null
-
- if has ccache $FEATURES && has userpriv $FEATURES; then
- chown -R portage:portage /var/tmp/ccache &> /dev/null
- chmod -R g+rws /var/tmp/ccache &>/dev/null
- fi
-
- if [ -d "${ROOT}usr/portage/distfiles" ]; then
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}usr/portage/distfiles"
- chmod 2775 "${ROOT}usr/portage/distfiles/cvs-src"
- fi
- if [ -d "${ROOT}/${PORTDIR}/distfiles" ]; then
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles"
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles/cvs-src"
- fi
-
- chown -R root:portage ${ROOT}var/cache/edb
- find ${ROOT}var/cache/edb -type f -print0 | ${XARGS} -0 -n 500 chmod 664
-
- for X in ${ROOT}etc/._cfg????_make.globals; do
- # Overwrite the globals file automatically.
- [ -e "${X}" ] && mv -f "${X}" "${ROOT}etc/make.globals"
- done
-
- einfo "You may run 'emerge metadata' to perform cache updates if you have"
- einfo "changed versions of portage. This will provide a fairly dramatic"
- einfo "speedup. Alternatively, you may 'emerge sync' if it has been more"
- einfo "than 30 minutes since your last sync."
-}
+++ /dev/null
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.0.51_rc7.ebuild,v 1.5 2004/12/07 06:09:40 usata Exp $
-
-inherit flag-o-matic toolchain-funcs
-
-# If the old /lib/sandbox.so is in /etc/ld.so.preload, it can
-# cause everything to segfault !!
-export SANDBOX_DISABLED="1"
-
-DESCRIPTION="The Portage Package Management System (Similar to BSD's ports). The primary package management and distribution system for Gentoo."
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="http://zarquon.twobit.net/gentoo/portage/${PF}.tar.bz2 http://gentoo.twobit.net/portage/${PF}.tar.bz2 mirror://gentoo/${PF}.tar.bz2"
-RESTRICT="nomirror mirror"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="build selinux"
-# Contact carpaski with a reason before you modify any of these.
-#KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc-macos ppc64 s390 sparc x86"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sparc ~x86"
-
-RDEPEND="selinux? ( dev-python/python-selinux )
- !build? (
- >=sys-apps/sed-4.0.5
- dev-python/python-fchksum
- >=dev-lang/python-2.2.1
- sys-apps/debianutils
- >=app-shells/bash-2.05a
- )"
-
-S=${WORKDIR}/${PF}
-
-python_version() {
- local tmpstr="$(/usr/bin/python -V 2>&1 )"
- export PYVER_ALL="${tmpstr#Python }"
-
- export PYVER_MAJOR=$(echo ${PYVER_ALL} | cut -d. -f1)
- export PYVER_MINOR=$(echo ${PYVER_ALL} | cut -d. -f2)
- export PYVER_MICRO=$(echo ${PYVER_ALL} | cut -d. -f3-)
- export PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
-}
-
-check_multilib() {
- has_m32
- if [ "$?" == 0 ]; then
- einfo "Found valid multilib environment."
- einfo "Building with multilib support."
- export MULTILIB="1"
- else
- ewarn "No valid multilib environment found!"
- ewarn "Building without multilib support. If"
- ewarn "you want to have multilib support,"
- ewarn "emerge gcc with \"multilib\" in your"
- ewarn "useflags."
- sleep 5
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-}
-
-src_compile() {
- cd ${S}/src; $(tc-getCC) ${CFLAGS} tbz2tool.c -o tbz2tool
- cd ${S}/src/sandbox-1.1
- case ${ARCH} in
- "x86")
- make CFLAGS="-march=i386 -O1 -pipe" || die
- ;;
- "amd64")
- check_multilib
- make CFLAGS="-O2 -pipe" HAVE_64BIT_ARCH="${MULTILIB}" || die
- ;;
- *)
- if useq ppc-macos || useq x86-fbsd; then
- ewarn "NOT BUILDING SANDBOX ON $ARCH"
- else
- make || die
- fi
- ;;
- esac
- cd ${S}/bin
-}
-
-src_install() {
- #config files
- cd ${S}/cnf
- insinto /etc
- if [ -f "make.globals.${ARCH}" ]; then
- newins make.globals.${ARCH} make.globals
- newins make.conf.${ARCH} make.conf.example
- 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 ""
- sleep 3
- doins make.globals
- newins make.conf make.conf.example
- fi
-
- doins etc-update.conf dispatch-conf.conf
-
- #python modules
- if [ -x "$(type -p python2.2)" ] || [ -x /usr/bin/python2.2 ]; then
- cd ${S}/src/python-missingos
- chmod +x setup.py
- if [ -x "$(type -p python2.3)" ]; then
- ./setup.py install --root ${D} || eerror "Failed to install missingos module -- python2.2 broken?"
- else
- ./setup.py install --root ${D} || die "Failed to install missingos module"
- fi
- fi
-
-
- dodir /usr/lib/portage/pym
- cd ${S}/pym
- insinto /usr/lib/portage/pym
- doins *.py
-
- #binaries, libraries and scripts
- dodir /usr/lib/portage/bin
- cd ${S}/bin
- exeinto /usr/lib/portage/bin
- doexe *
- doexe ${S}/src/tbz2tool
-
- if use ppc-macos || use x86-fbsd; then
- ewarn "Not installing sandbox on ${ARCH}"
- else
- #install sandbox
- cd ${S}/src/sandbox-1.1
- make DESTDIR=${D} HAVE_64BIT_ARCH="${MULTILIB}" \
- install || die "Failed to compile sandbox"
- fi
-
- #symlinks
- dodir /usr/bin /usr/sbin
- dosym ../lib/portage/bin/emerge /usr/bin/emerge
- dosym ../lib/portage/bin/pkgmerge /usr/sbin/pkgmerge
- dosym ../lib/portage/bin/ebuild /usr/sbin/ebuild
- dosym ../lib/portage/bin/ebuild.sh /usr/sbin/ebuild.sh
-
- dosym ../lib/portage/bin/etc-update /usr/sbin/etc-update
- dosym ../lib/portage/bin/dispatch-conf /usr/sbin/dispatch-conf
- dosym ../lib/portage/bin/archive-conf /usr/sbin/archive-conf
- dosym ../lib/portage/bin/fixpackages /usr/sbin/fixpackages
-
- dosym ../lib/portage/bin/env-update /usr/sbin/env-update
- dosym ../lib/portage/bin/xpak /usr/bin/xpak
- dosym ../lib/portage/bin/repoman /usr/bin/repoman
- dosym ../lib/portage/bin/tbz2tool /usr/bin/tbz2tool
- dosym ../lib/portage/bin/portageq /usr/bin/portageq
-
- dosym ../lib/portage/bin/g-cpan.pl /usr/bin/g-cpan.pl
- dosym ../lib/portage/bin/quickpkg /usr/bin/quickpkg
- dosym ../lib/portage/bin/regenworld /usr/sbin/regenworld
- dosym ../lib/portage/bin/emerge-webrsync /usr/sbin/emerge-webrsync
-
- dosym newins /usr/lib/portage/bin/donewins
-
- # man pages
- doman ${S}/man/*.[0-9]
-
- # temp dir creation
- dodir /var/tmp
- chmod 1777 ${D}/var/tmp
- touch ${D}/var/tmp/.keep
-
- #documentation
- dodoc ${S}/ChangeLog
-}
-
-
-pkg_preinst() {
- if has livecvsportage $FEATURES; then
- if [ "$ROOT" == "/" ]; then
- rm -Rf "${IMAGE}"/usr/lib/portage/pym/*
-
- mv "${IMAGE}"/usr/lib/portage/bin/{sandbox,tbz2tool} ${T}
- rm -Rf "${IMAGE}"/usr/lib/portage/bin/*
- mv "${T}"/{sandbox,tbz2tool} "${IMAGE}"/usr/lib/portage/bin/
- fi
- fi
-}
-
-pkg_postinst() {
- local x
-
- [ -f "${ROOT}etc/make.conf" ] || touch ${ROOT}etc/make.conf
-
- #disable global sandbox if it's active (it's been deprecated)
- if [ -f /etc/ld.so.preload ] ; then
- cp /etc/ld.so.preload ${T}
- grep -v libsandbox ${T}/ld.so.preload > /etc/ld.so.preload
- fi
-
- #remove possible previous sandbox files that could cause conflicts
- if [ -d /usr/lib/sandbox ]; then
- rm -f ${ROOT}/usr/lib/portage/bin/ebuild.sh.orig
- rm -f ${ROOT}/usr/lib/portage/pym/portage.py.orig
- rm -f ${ROOT}/usr/bin/sandbox
- rm -rf ${ROOT}/usr/lib/sandbox
- fi
-
- #yank old cache files
- if [ -d /var/cache/edb ]
- then
- rm -f /var/cache/edb/xcache.p
- rm -f /var/cache/edb/mtimes
- fi
-
- install -o root -g portage -m 0755 -d "${ROOT}/etc/portage"
- install -o root -g portage -m 2775 -d "${ROOT}/etc/portage/sets"
- # u+rwx,g+srwx --- This is a secure directory for temp files.
-
- install -o root -g portage -m 2770 -d "${ROOT}/var/lib/portage"
- einfo "Checking ${ROOT}/var/lib/portage for bad/illegal files:"
- find "${ROOT}/var/lib/portage" ! -group portage -o -perm -002 -print0 | ${XARGS} -0n 500 rm -Rvf
-
- OLDWORLD="${ROOT}/var/cache/edb/world"
- NEWWORLD="${ROOT}/var/lib/portage/world"
-
- if [ ! -f "${NEWWORLD}" ]; then
- cp "${OLDWORLD}" "${NEWWORLD}" && \
- rm -f "${OLDWORLD}" && \
- ln ../../lib/portage/world "${NEWWORLD}"
- fi
-
- if [ ! -f "/etc/portage/package.mask" ]; then
- if [ -f "/etc/portage/profile/package.mask" ]; then
- ln /etc/portage/profile/package.mask /etc/portage/package.mask
- einfo "/etc/portage/profile/package.mask is now /etc/portage/package.mask"
- einfo "a hardlink has been created to the new location if it exists in profiles"
- einfo "already."
- echo
- fi
- fi
- echo
-
- einfo "Feature additions are noted in help and make.conf descriptions."
- echo
- einfo "Update configs using 'etc-update' please. Maintaining current configs"
- einfo "for portage and other system packages is fairly important for the"
- einfo "continued health of your system."
- echo
- ewarn "NOTICE: There have been changes in the location of some internal files"
- ewarn " to better match the FHS. The changes do not directly affect users"
- ewarn " but please be advised that changing between versions of portage"
- ewarn " with and without these changes may introduce some inconsistencies"
- ewarn " in package data regarding 'world' and 'virtuals' (provides)."
- echo
- einfo " /var/cache/edb/world has moved to /var/lib/portage/world"
- echo
- einfo " /var/cache/edb/virtuals has been deprecated and is now calculated"
- einfo " on demand. Strictly _USER_ modifications to virtuals may go into"
- einfo " /etc/portage/profile/virtuals and will not be modified by portage."
- echo
-
- if [ -z "$PORTAGE_TEST" ]; then
- for TICKER in 1 2 3 4 5 6 7 8 9 10; do
- echo -ne "\a" ; sleep 0.$(( $RANDOM % 9 + 1)) &>/dev/null ; sleep 0,$(( $RANDOM % 9 + 1)) &>/dev/null
- done
- sleep 5
-
- # Kill the existing counter and generate a new one.
- echo -n "Recalculating the counter... "
- mv /var/cache/edb/counter /var/cache/edb/counter.old
- python -c 'import sys; sys.path = ["/usr/lib/portage/pym"]+sys.path; import portage; portage.db["/"]["vartree"].dbapi.counter_tick("/")' &>/dev/null
- if [ -f /var/cache/edb/counter ] ; then
- echo "Counter updated successfully."
- rm -f /var/cache/edb/counter.old
- else
- echo "FAILED to update counter."
- ls -l /var/cache/edb/counter.old
- echo "!!! This is a problem."
- mv /var/cache/edb/counter.old /var/cache/edb/counter
- fi
- fi # PORTAGE_TESTING
-
- if [ ! -d "${ROOT}var/cache/edb/dep" ]
- then
- install -d -m2755 ${ROOT}var/cache/edb
- install -d -m2775 -o root -g portage ${ROOT}var/cache/edb/dep
- fi
-
- # Old place of install
- rm -f ${ROOT}usr/lib/python2.2/site-packages/portage.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/xpak.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/output.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/cvstree.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/getbinpkg.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/emergehelp.py[co]
- rm -f ${ROOT}usr/lib/python2.2/site-packages/dispatch_conf.py[co]
-
- # New old place of install
- rm -f ${ROOT}usr/lib/portage/pym/*.py[co]
-
- # we gotta re-compile these modules and deal with systems with clock skew (stale compiled files)
- einfo "Compiling python modules..."
- python -c 'import compileall; compileall.compile_path()' &> /dev/null
- python -c "import compileall; compileall.compile_dir('${ROOT}usr/lib/portage/pym')" &> /dev/null
-
- if has ccache $FEATURES && has userpriv $FEATURES; then
- chown -R portage:portage /var/tmp/ccache &> /dev/null
- chmod -R g+rws /var/tmp/ccache &>/dev/null
- fi
-
- if [ -d "${ROOT}usr/portage/distfiles" ]; then
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}usr/portage/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}usr/portage/distfiles"
- chmod 2775 "${ROOT}usr/portage/distfiles/cvs-src"
- fi
- if [ -d "${ROOT}/${PORTDIR}/distfiles" ]; then
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chgrp portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod 0644 &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chown portage &> /dev/null
-
- find "${ROOT}/${PORTDIR}/distfiles/cvs-src" -type f -maxdepth 1 -print0 | \
- ${XARGS} -0 -n 500 chmod u+w &> /dev/null
-
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles"
- chmod 2775 "${ROOT}/${PORTDIR}/distfiles/cvs-src"
- fi
-
- chown -R root:portage ${ROOT}var/cache/edb
- find ${ROOT}var/cache/edb -type f -print0 | ${XARGS} -0 -n 500 chmod 664
-
- for X in ${ROOT}etc/._cfg????_make.globals; do
- # Overwrite the globals file automatically.
- [ -e "${X}" ] && mv -f "${X}" "${ROOT}etc/make.globals"
- done
-
- einfo "You may run 'emerge metadata' to perform cache updates if you have"
- einfo "changed versions of portage. This will provide a fairly dramatic"
- einfo "speedup. Alternatively, you may 'emerge sync' if it has been more"
- einfo "than 30 minutes since your last sync."
-}