<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>252243</bug_id>
          
          <creation_ts>2008-12-23 05:19 0000</creation_ts>
          <short_desc>media-libs/x264-0.0.20081006 buildpkg fails with OSError: [Errno 40] Too many levels of symbolic links: &apos;/usr/portage/packages/media-libs/x264-0.0.20081006.tbz2&apos;</short_desc>
          <delta_ts>2008-12-25 07:23:36 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Portage Development</product>
          <component>.tbz2 support</component>
          <version>unspecified</version>
          <rep_platform>AMD64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <keywords>InSVN</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>210077</blocked>
    
    <blocked>216231</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>quantumsummers@gentoo.org</reporter>
          <assigned_to>dev-portage@gentoo.org</assigned_to>
          <cc>quantumsummers@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>quantumsummers@gentoo.org</who>
            <bug_when>2008-12-23 05:19:40 0000</bug_when>
            <thetext>media-libs/x264-0.0.20081006 buildpkg fails with OSError: [Errno 40] Too many levels of symbolic links: 
&apos;/usr/portage/packages/media-libs/x264-0.0.20081006.tbz2&apos;

Currently running portage 2.1.6.2 on a generally stable tree amd64

Reproducible: Always

Steps to Reproduce:
1.emerge -va1 =media-libs/x264-0.0.20081006
2.
3.

Actual Results:  
&gt;&gt;&gt; Source compiled.
&gt;&gt;&gt; Test phase [not enabled]: media-libs/x264-0.0.20081006
&gt;&gt;&gt; Completed installing x264-0.0.20081006
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment
   usr/lib64/libx264.so.65
   usr/lib64/libx264.a
OSError: [Errno 40]

Expected Results:  
/usr/portage/packages/media-libs/x264-0.0.20081006.tbz2

Traceback (most recent call last):
  File &quot;/usr/bin/emerge&quot;, line 18, in &lt;module&gt;
    retval = _emerge.emerge_main()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 14222, in emerge_main
    myopts, myaction, myfiles, spinner)
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 13318, in action_build
    retval = mergetask.merge()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 9984, in merge
    rval = self._merge()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 10226, in _merge
    self._main_loop()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 10354, in _main_loop
    self._poll_loop()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 8912, in _poll_loop
    handler(f, event)
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 2205, in _output_handler
    self.wait()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1659, in wait
    self._wait_hook()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 2973, in _post_phase_exit
    self.wait()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1659, in wait
    self._wait_hook()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1964, in _task_exit_handler
    self.wait()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1659, in wait
    self._wait_hook()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1915, in _default_final_exit
    return self.wait()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1659, in wait
    self._wait_hook()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 2614, in _build_exit
    self._start_task(packager, self._buildpkg_exit)
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1928, in _start_task
    task.start()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 1640, in start
    self._start()
  File &quot;//usr/lib64/portage/pym/_emerge/__init__.py&quot;, line 2993, in _start
    bintree.prevent_collision(pkg.cpv)
  File &quot;//usr/lib64/portage/pym/portage/dbapi/bintree.py&quot;, line 332, in prevent_collision
    self.inject(other_cpv)
  File &quot;//usr/lib64/portage/pym/portage/dbapi/bintree.py&quot;, line 797, in inject
    s = os.stat(full_path)
OSError: [Errno 40] Too many levels of symbolic links: &apos;/usr/portage/packages/media-libs/x264-0.0.20081006.tbz2&apos;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>quantumsummers@gentoo.org</who>
            <bug_when>2008-12-23 05:29:10 0000</bug_when>
            <thetext>equery f x264
[ Searching for packages matching x264... ]
* Contents of media-libs/x264-0.0.20080819:
/usr
/usr/bin
/usr/include
/usr/include/x264.h
/usr/lib64
/usr/lib64/libx264.a
/usr/lib64/libx264.so -&gt; libx264.so.60
/usr/lib64/libx264.so.60
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/x264.pc
/usr/share
/usr/share/doc
/usr/share/doc/x264-0.0.20080819
/usr/share/doc/x264-0.0.20080819/AUTHORS.bz2
/usr/share/doc/x264-0.0.20080819/ratecontrol.txt.bz2
/usr/share/doc/x264-0.0.20080819/regression_test.txt.bz2
/usr/share/doc/x264-0.0.20080819/standards.txt.bz2
/usr/share/doc/x264-0.0.20080819/threads.txt.bz2
/usr/share/doc/x264-0.0.20080819/vui.txt.bz2
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-12-23 09:46:32 0000</bug_when>
            <thetext>Created an attachment (id=176206)
avoid creating a circular symlink

If this patch is saved as /tmp/circular_symlink.patch, then it can be applied as follows:

 patch /usr/lib/portage/pym/portage/dbapi/bintree.py /tmp/circular_symlink.patch</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-12-25 07:23:36 0000</bug_when>
            <thetext>This is released in 2.1.6.3 and 2.2_rc19.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176206</attachid>
            <date>2008-12-23 09:46 0000</date>
            <desc>avoid creating a circular symlink</desc>
            <filename>circular_symlink.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IHB5bS9wb3J0YWdlL2RiYXBpL2JpbnRyZWUucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcHltL3Bv
cnRhZ2UvZGJhcGkvYmludHJlZS5weQkocmV2aXNpb24gMTIyNzkpCisrKyBweW0vcG9ydGFnZS9k
YmFwaS9iaW50cmVlLnB5CShyZXZpc2lvbiAxMjI4MSkKQEAgLTMyMiw3ICszMjIsMjEgQEAKIAkJ
bXlmaWxlID0gbXlwa2cgKyAiLnRiejIiCiAJCW15cGF0aCA9IG9zLnBhdGguam9pbigiQWxsIiwg
bXlmaWxlKQogCQlkZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5wa2dkaXIsIG15cGF0aCkK
LQkJaWYgb3MucGF0aC5leGlzdHMoZGVzdF9wYXRoKToKKworCQl0cnk6CisJCQlzdCA9IG9zLmxz
dGF0KGRlc3RfcGF0aCkKKwkJZXhjZXB0IE9TRXJyb3I6CisJCQlzdCA9IE5vbmUKKwkJZWxzZToK
KwkJCWlmIHN0YXQuU19JU0xOSyhzdC5zdF9tb2RlKToKKwkJCQlzdCA9IE5vbmUKKwkJCQl0cnk6
CisJCQkJCW9zLnVubGluayhkZXN0X3BhdGgpCisJCQkJZXhjZXB0IE9TRXJyb3I6CisJCQkJCWlm
IG9zLnBhdGguZXhpc3RzKGRlc3RfcGF0aCk6CisJCQkJCQlyYWlzZQorCisJCWlmIHN0IGlzIG5v
dCBOb25lOgogCQkJIyBGb3IgaW52YWxpZCBwYWNrYWdlcywgb3RoZXJfY2F0IGNvdWxkIGJlIE5v
bmUuCiAJCQlvdGhlcl9jYXQgPSBwb3J0YWdlLnhwYWsudGJ6MihkZXN0X3BhdGgpLmdldGZpbGUo
IkNBVEVHT1JZIikKIAkJCWlmIG90aGVyX2NhdDoKQEAgLTMzMCwxMSArMzQ0LDcgQEAKIAkJCQlv
dGhlcl9jcHYgPSBvdGhlcl9jYXQgKyAiLyIgKyBteXBrZwogCQkJCXNlbGYuX21vdmVfZnJvbV9h
bGwob3RoZXJfY3B2KQogCQkJCXNlbGYuaW5qZWN0KG90aGVyX2NwdikKLQkJIiIiVGhlIGZpbGUg
bWF5IG9yIG1heSBub3QgZXhpc3QuIE1vdmUgaXQgaWYgbmVjZXNzYXJ5IGFuZCB1cGRhdGUKLQkJ
aW50ZXJuYWwgc3RhdGUgZm9yIGZ1dHVyZSBjYWxscyB0byBnZXRuYW1lKCkuIiIiCiAJCXNlbGYu
X21vdmVfdG9fYWxsKGNwdikKLQkJaWYgb3MucGF0aC5leGlzdHMoZnVsbF9wYXRoKToKLQkJCXNl
bGYuaW5qZWN0KGNwdikKIAogCWRlZiBfZW5zdXJlX2RpcihzZWxmLCBwYXRoKToKIAkJIiIiCkBA
IC0zNjEsNiArMzcxLDcgQEAKIAkJZm9yIGZ1dHVyZSBnZXRuYW1lKCkgY2FsbHMuIiIiCiAJCW15
Y2F0LCBteXBrZyA9IGNhdHNwbGl0KGNwdikKIAkJbXlmaWxlID0gbXlwa2cgKyAiLnRiejIiCisJ
CXNlbGYuX3BrZ19wYXRoc1tjcHZdID0gb3MucGF0aC5qb2luKCJBbGwiLCBteWZpbGUpCiAJCXNy
Y19wYXRoID0gb3MucGF0aC5qb2luKHNlbGYucGtnZGlyLCBteWNhdCwgbXlmaWxlKQogCQl0cnk6
CiAJCQlteXN0YXQgPSBvcy5sc3RhdChzcmNfcGF0aCkKQEAgLTM3MSw3ICszODIsNyBAQAogCQkJ
ZGVzdF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYucGtnZGlyLCAiQWxsIiwgbXlmaWxlKQogCQkJ
X21vdmVmaWxlKHNyY19wYXRoLCBkZXN0X3BhdGgsIG15c2V0dGluZ3M9c2VsZi5zZXR0aW5ncykK
IAkJCXNlbGYuX2NyZWF0ZV9zeW1saW5rKGNwdikKLQkJc2VsZi5fcGtnX3BhdGhzW2Nwdl0gPSBv
cy5wYXRoLmpvaW4oIkFsbCIsIG15ZmlsZSkKKwkJCXNlbGYuaW5qZWN0KGNwdikKIAogCWRlZiBf
bW92ZV9mcm9tX2FsbChzZWxmLCBjcHYpOgogCQkiIiJNb3ZlIGEgcGFja2FnZSBmcm9tICR7UEtH
RElSfS9BbGwvJHtQRn0udGJ6MiB0bwo=
</data>        

          </attachment>
    </bug>

</bugzilla>