# Πρόβλημα με dev-python/twisted-core

## Naschramon

Καλησπέρα σας.

Χθές μετά από την βασική εγατάσταση του Gentoo και τις τελικές ρυθμίσεις (δίκτυο, γλώσσα συστήματος, emerge -DuvaN world, emergε --depclean κλπ.), προχώρησα στο χτίσιμο του enviroment σε KDE. Μετά από emerge kde-meta, ξεκίνησε η διαδικασία μεταγλώττισης-εγκατάστασης των περιεχομένων πακέτων (κάπου στα 400 και 6 ώρες περίπου). Άφησα το μηχάνημα να κάνει την δουλειά του, και πήγα για ύπνο. Το πρωί, είχε τελειώσει το compile-install όμως, το KDE δεν εγκαταστάθηκε πλήρως. Και τούτο διότι το τελικό πακέτο, το "kde-base/kde-meta-4.10.5", εξαρτάται από την εγκατάσταση του "dev-python/twisted-core" το οποίο δεν μπορεί να εγκατασταθεί από το portage. Μετά από "emerge kde-meta" το  portage αναφέρει αποτυχία εγκατάστασης λόγο του ebuild  "dev-python/twisted-core".

Έτσι λοιπόν όταν δίνω:

```
# emerge -va kde-meta

* IMPORTANT: 5 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

[ebuild  N    ] dev-python/twisted-core-13.0.0  USE="crypt gtk -serial"

[ebuild  N    ] kde-base/kajongg-4.10.5  USE="handbook (-aqua) -debug" PYTHON_SINGLE_TARGET="python2_7 -python2_6" PYTHON_TARGETS="python2_7 -python2_6"

[ebuild  N    ] kde-base/kdegames-meta-4.10.5  USE="opengl python (-aqua)"

[ebuild  N    ] kde-base/kde-meta-4.10.5  USE="nls -accessibility (-aqua) -sdk -semantic-desktop" 
```

Τότε προχωρώ σε:

```
emerge kde-meta

 * IMPORTANT: 5 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

>>> Verifying ebuild manifests

>>> Emerging (1 of 4) dev-python/twisted-core-13.0.0

>>> Failed to emerge dev-python/twisted-core-13.0.0, Log file:

>>>  '/var/tmp/portage/dev-python/twisted-core-13.0.0/temp/build.log'

*** Resuming merge...

 * emerge --keep-going: kde-base/kde-meta-4.10.5 dropped because it requires

 * >=kde-base/kdegames-meta-4.10.5:4[-aqua]

 * emerge --keep-going: kde-base/kdegames-meta-4.10.5 dropped because it

 * requires >=kde-base/kajongg-4.10.5:4[-aqua]

 * emerge --keep-going: kde-base/kajongg-4.10.5 dropped because it requires

 * >=dev-python/twisted-core-8.2.0

 * Messages for package dev-python/twisted-core-13.0.0:

 * Cannot find $EPATCH_SOURCE!  Value for $EPATCH_SOURCE is:

 * 

 *   /usr/portage/dev-python/twisted-core/files/twisted-12.1.0-remove-tests-conch-dependency.patch

 *   ( twisted-12.1.0-remove-tests-conch-dependency.patch )

 * ERROR: dev-python/twisted-core-13.0.0::gentoo failed (prepare phase):

 *   Cannot find $EPATCH_SOURCE!

 * 

 * Call stack:

 *     ebuild.sh, line   93:  Called src_prepare

 *   environment, line 5297:  Called epatch '/usr/portage/dev-python/twisted-core/files/twisted-12.1.0-remove-tests-conch-dependency.patch'

 *   environment, line 1830:  Called die

 * The specific snippet of code:

 *                   die "Cannot find \$EPATCH_SOURCE!";

 * 

 * If you need support, post the output of `emerge --info '=dev-python/twisted-core-13.0.0::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=dev-python/twisted-core-13.0.0::gentoo'`.

 * The complete build log is located at '/var/tmp/portage/dev-python/twisted-core-13.0.0/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-python/twisted-core-13.0.0/temp/environment'.

 * Working directory: '/var/tmp/portage/dev-python/twisted-core-13.0.0/work/TwistedCore-13.0.0'

 * S: '/var/tmp/portage/dev-python/twisted-core-13.0.0/work/TwistedCore-13.0.0'

 * Messages for package kde-base/kde-meta-4.10.5:

 * emerge --keep-going: kde-base/kde-meta-4.10.5 dropped because it requires

 * >=kde-base/kdegames-meta-4.10.5:4[-aqua]

 * Messages for package kde-base/kdegames-meta-4.10.5:

 * emerge --keep-going: kde-base/kdegames-meta-4.10.5 dropped because it

 * requires >=kde-base/kajongg-4.10.5:4[-aqua]

 * Messages for package kde-base/kajongg-4.10.5:

 * emerge --keep-going: kde-base/kajongg-4.10.5 dropped because it requires

 * >=dev-python/twisted-core-8.2.0

 * 

 * The following 4 packages have failed to build or install:

 * 

 *  (dev-python/twisted-core-13.0.0::gentoo, ebuild scheduled for merge), Log file:

 *   '/var/tmp/portage/dev-python/twisted-core-13.0.0/temp/build.log'

 *  (kde-base/kde-meta-4.10.5::gentoo, ebuild scheduled for merge)

 *  (kde-base/kdegames-meta-4.10.5::gentoo, ebuild scheduled for merge)

 *  (kde-base/kajongg-4.10.5::gentoo, ebuild scheduled for merge)

 * 

```

Σας αναρτώ το build.log:

```
* Package: dev-python/twisted-core-13.0.0

* Repository: gentoo

* Maintainer: python@gentoo.org

* USE: abi_x86_32 crypt elibc_glibc gtk kernel_linux userland_GNU x86

* FEATURES: ccache preserve-libs sandbox userpriv usersandbox

* Applying twisted-core-2.1.0-echo-less.patch ...

[ ok ]

* Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is:

*

* /usr/portage/dev-python/twisted-core/files/twisted-12.1.0-remove-tests-conch-dependency.patch

* ( twisted-12.1.0-remove-tests-conch-dependency.patch )

* ERROR: dev-python/twisted-core-13.0.0::gentoo failed (prepare phase):

* Cannot find $EPATCH_SOURCE!

*

* Call stack:

* ebuild.sh, line 93: Called src_prepare

* environment, line 5267: Called epatch '/usr/portage/dev-python/twisted-core/files/twisted-12.1.0-remove-tests-conch-dependency.patch'

* environment, line 1800: Called die

* The specific snippet of code:

* die "Cannot find \$EPATCH_SOURCE!";

*

* If you need support, post the output of `emerge --info '=dev-python/twisted-core-13.0.0::gentoo'`,

* the complete build log and the output of `emerge -pqv '=dev-python/twisted-core-13.0.0::gentoo'`.

* The complete build log is located at '/var/tmp/portage/dev-python/twisted-core-13.0.0/temp/build.log'.

* The ebuild environment file is located at '/var/tmp/portage/dev-python/twisted-core-13.0.0/temp/environment'.

* Working directory: '/var/tmp/portage/dev-python/twisted-core-13.0.0/work/TwistedCore-13.0.0'

* S: '/var/tmp/portage/dev-python/twisted-core-13.0.0/work/TwistedCore-13.0.0'
```

Αναρτώ επίσης και το ebuild:

```
# Copyright 1999-2013 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-python/twisted-core/twisted-core-13.0.0.ebuild,v 1.1 2013/08/03 09:34:50 mgorny Exp $

EAPI="4"

PYTHON_DEPEND="2:2.6"

SUPPORT_PYTHON_ABIS="1"

RESTRICT_PYTHON_ABIS="2.5 3.* *-jython"

# A couple of failures (refcounting, version-checking), but sufficiently

# functional to be useful, so restrict just the tests.

PYTHON_TESTS_RESTRICTED_ABIS="*-pypy-*"

MY_PACKAGE="Core"

inherit eutils twisted versionator

DESCRIPTION="An asynchronous networking framework written in Python"

LICENSE="MIT"

SLOT="0"

KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"

IUSE="crypt gtk serial"

DEPEND="net-zope/zope-interface

   crypt? ( >=dev-python/pyopenssl-0.10 )

   gtk? ( dev-python/pygtk:2 )

   serial? ( dev-python/pyserial )"

RDEPEND="${DEPEND}

   !dev-python/twisted"

# Needed to make the sendmsg extension work

# (see http://twistedmatrix.com/trac/ticket/5701 )

PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")

DOCS="CREDITS NEWS README"

src_prepare(){

   distutils_src_prepare

   # Give a load-sensitive test a better chance of succeeding.

   epatch "${FILESDIR}/${PN}-2.1.0-echo-less.patch"

   # Skip a test if twisted conch is not available

   # (see Twisted ticket #5703)

   epatch "${FILESDIR}/twisted-12.1.0-remove-tests-conch-dependency.patch"

   # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.

   epatch "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"

   if [[ "${EUID}" -eq 0 ]]; then

      # Disable tests failing with root permissions.

      sed \

         -e "s/test_newPluginsOnReadOnlyPath/_&/" \

         -e "s/test_deployedMode/_&/" \

         -i twisted/test/test_plugin.py

   fi

}

src_test() {

   testing() {

      local exit_status="0"

      "$(PYTHON)" setup.py build -b "build-${PYTHON_ABI}" install --root="${T}/tests-${PYTHON_ABI}" --no-compile || die "Installation of tests failed with $(python_get_implementation_and_version)"

      pushd "${T}/tests-${PYTHON_ABI}${EPREFIX}$(python_get_sitedir)" > /dev/null || die

      # Skip broken tests.

      sed -e "s/test_buildAllTarballs/_&/" -i twisted/python/test/test_release.py || die "sed failed"

      # http://twistedmatrix.com/trac/ticket/5375

      sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py || die "sed failed"

      # tap2rpm is already skipped if rpm is not installed, but fails for me on a Gentoo box with it present.

      # I currently lack the cycles to track this failure down.

      rm twisted/scripts/test/test_tap2rpm.py

      # Prevent it from pulling in plugins from already installed twisted packages.

      rm -f twisted/plugins/__init__.py

      # An empty file doesn't work because the tests check for doc strings in all packages.

      echo "'''plugins stub'''" > twisted/plugins/__init__.py || die

      if ! PYTHONPATH="." "${T}/tests-${PYTHON_ABI}${EPREFIX}/usr/bin/trial" twisted; then

         if [[ -n "${TWISTED_DEBUG_TESTS}" ]]; then

            die "Tests failed with $(python_get_implementation_and_version)"

         else

            exit_status="1"

         fi

      fi

      popd > /dev/null || die

      return "${exit_status}"

   }

   python_execute_function testing

}

src_install() {

   distutils_src_install

   python_clean_installation_image

   python_generate_wrapper_scripts -E -f -q "${ED}usr/bin/trial"

   postinstallational_preparation() {

      touch "${ED}$(python_get_sitedir)/Twisted-${PV}-py$(python_get_version).egg-info"

      # Delete dropin.cache to avoid collisions.

      # dropin.cache is regenerated in pkg_postinst().

      rm -f "${ED}$(python_get_sitedir)/twisted/plugins/dropin.cache"

   }

   python_execute_function -q postinstallational_preparation

   # Don't install index.xhtml page.

   doman doc/man/*.?

   insinto /usr/share/doc/${PF}

   doins -r $(find doc -mindepth 1 -maxdepth 1 -not -name man)

   newconfd "${FILESDIR}/twistd.conf" twistd

   newinitd "${FILESDIR}/twistd.init" twistd

}
```

Πως μπορώ να προχωρήσω λύνοντας αυτό το πρόβλημα;

Σας ευχαριστώ  :Very Happy: 

----------

