Subject: bug#20081: closed (Re: bug#20081: patch-source-shebangs crashes on broken symlink)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 06 Apr 2015 21:23:02 +0000

Your bug report

#20081: patch-source-shebangs crashes on broken symlink

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
20081: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20081
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20081: patch-source-shebangs crashes on broken symlink
From: [email-masked] (Ludovic Courtès)
To: Tomáš Čech <[email-masked]>
Cc: Andreas Enge <[email-masked]>, [email-masked]
Date: Mon, 06 Apr 2015 23:22:41 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

[email-masked] (Ludovic Courtès) skribis:

> Tomáš Čech <[email-masked]> skribis:
>
>> On Wed, Mar 11, 2015 at 06:32:30PM +0100, Andreas Enge wrote:
>>>On Wed, Mar 11, 2015 at 04:02:11PM +0100, Tomáš Čech wrote:
>>>> I'm trying to create package for taskwarrior.
>>>> Source tarball contain symlinks to nonexisting file `task':
>>>
>>>I would argue that this is not a bug in guix, but in the tarball.
>>>You can remove the link with an additional phase before 'configure, see, for
>>>instance, the dvdisaster package in cdrom.scm.
>>
>> I agree with you that the fishy part is in tarball, but we could make
>> build more robust. Getting backtrace is not nice way to end a build.
>
> I agree.  I think we should patch ‘find-files’ in core-updates to not
> follow symlinks:

Done in 347f54e.

Thanks,
Ludo’.

Subject: patch-source-shebangs crashes on broken symlink
From: Tomáš Čech <[email-masked]>
To: [email-masked]
Date: Wed, 11 Mar 2015 16:02:11 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

I'm trying to create package for taskwarrior.

Source tarball contain symlinks to nonexisting file `task':

$ tar tvf /gnu/store/*-task*.tar.gz | grep -E '/src/(tw|cal |calendar|task)'
lrwxr-xr-x ultrafredde/staff      0 2015-02-16 23:45 task-2.4.1/src/cal -> task
lrwxr-xr-x ultrafredde/staff      0 2015-02-16 23:45 task-2.4.1/src/calendar -> task
lrwxr-xr-x ultrafredde/staff      0 2015-02-16 23:45 task-2.4.1/src/tw -> task

When I run build, I got this backtrace:

phase `unpack' succeeded after 0 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0 seconds
starting phase `patch-source-shebangs'
Backtrace:
In ice-9/boot-9.scm:
  157: 15 [catch #t #<catch-closure f65740> ...]
In unknown file:
    ?: 14 [apply-smob/1 #<catch-closure f65740>]
In ice-9/boot-9.scm:
   63: 13 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
  432: 12 [eval # #]
In ice-9/boot-9.scm:
2401: 11 [save-module-excursion #<procedure f82880 at ice-9/boot-9.scm:4045:3 ()>]
4050: 10 [#<procedure f82880 at ice-9/boot-9.scm:4045:3 ()>]
1724: 9 [%start-stack load-stack #<procedure f959a0 at ice-9/boot-9.scm:4041:10 ()>]
1729: 8 [#<procedure f97c60 ()>]
In unknown file:
    ?: 7 [primitive-load "/gnu/store/ix1s7q448frw02wy9xvzhd66vh08lxcw-taskwarrior-2.4.1-guile-builder"]
In ice-9/eval.scm:
  387: 6 [eval # ()]
In srfi/srfi-1.scm:
  830: 5 [every1 #<procedure 12eb680 at /gnu/store/dyv4k9p9na96q4yzahdlvij3nadaz65h-module-import/guix/build/gnu-build-system.scm:507:9 (expr)> ...]
In /gnu/store/dyv4k9p9na96q4yzahdlvij3nadaz65h-module-import/guix/build/gnu-build-system.scm:
  511: 4 [#<procedure 12eb680 at /gnu/store/dyv4k9p9na96q4yzahdlvij3nadaz65h-module-import/guix/build/gnu-build-system.scm:507:9 (expr)> #]
  164: 3 [patch-source-shebangs # ...]
In unknown file:
    ?: 2 [remove #<procedure ee4d60 at ice-9/boot-9.scm:1460:6 (str)> #]
In ice-9/boot-9.scm:
1461: 1 [#<procedure ee4d60 at ice-9/boot-9.scm:1460:6 (str)> "./src/cal"]
  In unknown file:
    ?: 0 [stat "./src/cal" #<undefined>]

ERROR: In procedure stat:
ERROR: In procedure stat: No such file or directory: "./src/cal"
builder for `/gnu/store/vr408ijifflkqjk9lgpj3sv469fj2pik-taskwarrior-2.4.1.drv' failed with exit code 1
cannot build derivation `/gnu/store/367g51d6vh8v5m1q58hls6bn40ha1262-profile.drv': 1 dependencies couldn't be built
guix package: error: build failed: build of `/gnu/store/367g51d6vh8v5m1q58hls6bn40ha1262-profile.drv' failed