After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 683566 - OSError: [Errno 2] No such file or directory: '/opt/gnome/_jhbuild/root-libgphoto2/opt/gnome/include/gphoto2
OSError: [Errno 2] No such file or directory: '/opt/gnome/_jhbuild/root-libgp...
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2012-09-07 11:45 UTC by Craig Keogh
Modified: 2012-09-12 13:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Do not walk into symlinks (1015 bytes, patch)
2012-09-11 19:36 UTC, Frederic Peters
needs-work Details | Review

Description Craig Keogh 2012-09-07 11:45:18 UTC
# jhbuild tinderbox

I get the following at libgphoto2 install phase:


Traceback (most recent call last):
  • File "/home/oxyde/.local/bin/jhbuild", line 32 in <module>
    jhbuild.main.main(sys.argv[1:])
  • File "/home/oxyde/gnome/jhbuild/jhbuild/main.py", line 148 in main
    rc = jhbuild.commands.run(command, config, args, help=lambda: print_help(parser))
  • File "/home/oxyde/gnome/jhbuild/jhbuild/commands/__init__.py", line 183 in run
    return cmd.execute(config, args, help)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/commands/__init__.py", line 52 in execute
    return self.run(config, options, args, help)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/commands/tinderbox.py", line 108 in run
    return build.build()
  • File "/home/oxyde/gnome/jhbuild/jhbuild/frontends/buildscript.py", line 162 in build
    error, altphases = module.run_phase(self, phase)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 390 in run_phase
    method(buildscript)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/autotools.py", line 336 in do_install
    self.process_install(buildscript, self.get_revision())
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 309 in process_install
    num_copied = self._process_install_files(destdir, destdir_prefix, buildscript.config.prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 268 in _process_install_files
    num_copied += self._process_install_files(installroot, src_path, prefix)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 272 in _process_install_files
    os.rmdir(src_path)
OSError: [Errno 2] No such file or directory: '/opt/gnome/_jhbuild/root-libgphoto2/opt/gnome/include/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2/gphoto2'

Comment 1 Frederic Peters 2012-09-07 11:59:32 UTC
I guess it installs a self referencing symlink, and that process_install_files walks into it…
Comment 2 Frederic Peters 2012-09-11 19:36:34 UTC
Created attachment 224045 [details] [review]
Do not walk into symlinks
Comment 3 Craig Keogh 2012-09-12 00:16:25 UTC
Review of attachment 224045 [details] [review]:

Thank you. Works for me.

The following is now redundant. Change the lines (line 263):
                if os.path.islink(src_path):
                    os.unlink(src_path)
                else:
                    os.rmdir(src_path)
To:
                os.rmdir(src_path)

Then good to commit.
Comment 4 Craig Keogh 2012-09-12 04:03:24 UTC
I raised a another bug which is related, bug 683846 - manifests filelists incorrect when module has soft links.
Comment 5 Craig Keogh 2012-09-12 12:13:25 UTC
Review of attachment 224045 [details] [review]:

Actually fileutils.rename doesn't work for symlinks on Linux. Receive the following error:
OSError: [Errno 21] Is a directory
Comment 6 Craig Keogh 2012-09-12 13:00:33 UTC
Thanks for your patch Frédéric. I learnt from it and committed an enhanced version :)

http://git.gnome.org/browse/jhbuild/commit/?id=b959e7a67634daa722c8652281f163a1bfdcf1f6