* bug#20081: patch-source-shebangs crashes on broken symlink
@ 2015-03-11 15:02 Tomáš Čech
2015-03-11 17:32 ` Andreas Enge
2015-04-22 19:06 ` bug#20081: issue is still not fixed Tomáš Čech
0 siblings, 2 replies; 9+ messages in thread
From: Tomáš Čech @ 2015-03-11 15:02 UTC (permalink / raw)
To: 20081
[-- Attachment #1: Type: text/plain, Size: 2442 bytes --]
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
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#20081: patch-source-shebangs crashes on broken symlink
2015-03-11 15:02 bug#20081: patch-source-shebangs crashes on broken symlink Tomáš Čech
@ 2015-03-11 17:32 ` Andreas Enge
2015-03-11 19:13 ` Tomáš Čech
2015-03-11 20:18 ` Mark H Weaver
2015-04-22 19:06 ` bug#20081: issue is still not fixed Tomáš Čech
1 sibling, 2 replies; 9+ messages in thread
From: Andreas Enge @ 2015-03-11 17:32 UTC (permalink / raw)
To: Tomáš Čech; +Cc: 20081
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.
Andreas
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#20081: patch-source-shebangs crashes on broken symlink
2015-03-11 17:32 ` Andreas Enge
@ 2015-03-11 19:13 ` Tomáš Čech
2015-03-12 9:30 ` Ludovic Courtès
2015-03-11 20:18 ` Mark H Weaver
1 sibling, 1 reply; 9+ messages in thread
From: Tomáš Čech @ 2015-03-11 19:13 UTC (permalink / raw)
To: Andreas Enge; +Cc: 20081
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.
And we alone are getting into this problem it is not usual to
preprocess source files before compilation.
I already worked around the bug to confirm I correctly identified the cause.
S_W
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#20081: patch-source-shebangs crashes on broken symlink
2015-03-11 17:32 ` Andreas Enge
2015-03-11 19:13 ` Tomáš Čech
@ 2015-03-11 20:18 ` Mark H Weaver
1 sibling, 0 replies; 9+ messages in thread
From: Mark H Weaver @ 2015-03-11 20:18 UTC (permalink / raw)
To: Andreas Enge; +Cc: Tomáš Čech, 20081
Andreas Enge <andreas@enge.fr> writes:
> 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.
The phase should go after the 'unpack' phase rather than before
configure, but otherwise I agree with Andreas.
Mark
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#20081: patch-source-shebangs crashes on broken symlink
2015-03-11 19:13 ` Tomáš Čech
@ 2015-03-12 9:30 ` Ludovic Courtès
2015-03-12 9:36 ` Tomáš Čech
2015-04-06 21:22 ` Ludovic Courtès
0 siblings, 2 replies; 9+ messages in thread
From: Ludovic Courtès @ 2015-03-12 9:30 UTC (permalink / raw)
To: Tomáš Čech; +Cc: 20081
[-- Attachment #1: Type: text/plain, Size: 744 bytes --]
Tomáš Čech <sleep_walker@suse.cz> 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:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 428 bytes --]
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index a5a6167..9cbddcd 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -288,7 +288,8 @@ matches REGEXP."
file (strerror errno))
result)
'()
- dir)
+ dir
+ lstat)
string<?))
\f
[-- Attachment #3: Type: text/plain, Size: 34 bytes --]
Thoughts?
Thanks,
Ludo’.
^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#20081: patch-source-shebangs crashes on broken symlink
2015-03-12 9:30 ` Ludovic Courtès
@ 2015-03-12 9:36 ` Tomáš Čech
2015-04-06 21:22 ` Ludovic Courtès
1 sibling, 0 replies; 9+ messages in thread
From: Tomáš Čech @ 2015-03-12 9:36 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 20081
[-- Attachment #1: Type: text/plain, Size: 1648 bytes --]
On Thu, Mar 12, 2015 at 10:30:55AM +0100, Ludovic Courtès wrote:
>Tomáš Čech <sleep_walker@suse.cz> 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:
>
>^[[1;32mdiff --git a/guix/build/utils.scm b/guix/build/utils.scm^[[0;0m
>^[[0;0mindex a5a6167..9cbddcd 100644^[[0;0m
>^[[1;31m--- a/guix/build/utils.scm^[[0;0m
>^[[1;34m+++ b/guix/build/utils.scm^[[0;0m
>^[[1;35m@@ -288,7 +288,8 @@ matches REGEXP."^[[0;0m
>^[[0;0m file (strerror errno))^[[0;0m
>^[[0;0m result)^[[0;0m
>^[[0;0m '()^[[0;0m
>^[[1;31m- dir)^[[0;0m
>^[[1;34m+ dir^[[0;0m
>^[[1;34m+ lstat)^[[0;0m
>^[[0;0m string<?))^[[0;0m
>^[[0;0m ^[[0;0m
>^[[0;0m \f^[[0;0m
>
>Thoughts?
Ignoring symlinks is nice solution.
I'd add comment:
We won't touch broken symlinks, symlinks pointing within the sources will be
fixed anyway.
Thanks!
S_W
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#20081: patch-source-shebangs crashes on broken symlink
2015-03-12 9:30 ` Ludovic Courtès
2015-03-12 9:36 ` Tomáš Čech
@ 2015-04-06 21:22 ` Ludovic Courtès
1 sibling, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2015-04-06 21:22 UTC (permalink / raw)
To: Tomáš Čech; +Cc: 20081-done
ludo@gnu.org (Ludovic Courtès) skribis:
> Tomáš Čech <sleep_walker@suse.cz> 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’.
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#20081: issue is still not fixed
2015-03-11 15:02 bug#20081: patch-source-shebangs crashes on broken symlink Tomáš Čech
2015-03-11 17:32 ` Andreas Enge
@ 2015-04-22 19:06 ` Tomáš Čech
2015-04-23 18:58 ` bug#20081: Dangling symlinks gracelessly handled by ‘patch-shebangs’ & co Ludovic Courtès
1 sibling, 1 reply; 9+ messages in thread
From: Tomáš Čech @ 2015-04-22 19:06 UTC (permalink / raw)
To: 20081
[-- Attachment #1: Type: text/plain, Size: 1858 bytes --]
Hi,
during my clean-up of taskwarrior package I removed section which
removes broken symlinks. Even though this bug is considered as fixed, I
believe I reproduced it after 347f54e.
...
task-2.4.3/src/ViewText.cpp
task-2.4.3/src/ViewText.h
task-2.4.3/src/wcwidth6.cpp
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 2357aa0> ...]
In unknown file:
?: 14 [apply-smob/1 #<catch-closure 2357aa0>]
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 2374880 at ice-9/boot-9.scm:4045:3 ()>]
4050: 10 [#<procedure 2374880 at ice-9/boot-9.scm:4045:3 ()>]
1724: 9 [%start-stack load-stack ...]
1729: 8 [#<procedure 2389c60 ()>]
In unknown file:
?: 7 [primitive-load "/gnu/store/06l4f3al56cg49rfiy79risam0f8yb4y-taskwarrior-2.4.3-guile-builder"]
In ice-9/eval.scm:
387: 6 [eval # ()]
In srfi/srfi-1.scm:
830: 5 [every1 #<procedure 2590d00 at /gnu/store/j8w9vf3diyvkccsa21p9fqpwsl3wlsy3-module-import/guix/build/gnu-build-system.scm:580:9 (expr)> ...]
In /gnu/store/j8w9vf3diyvkccsa21p9fqpwsl3wlsy3-module-import/guix/build/gnu-build-system.scm:
584: 4 [#<procedure 2590d00 at /gnu/store/j8w9vf3diyvkccsa21p9fqpwsl3wlsy3-module-import/guix/build/gnu-build-system.scm:580:9 (expr)> #]
167: 3 [patch-source-shebangs # ...]
In unknown file:
?: 2 [remove #<procedure 22cd0e0 at ice-9/boot-9.scm:1460:6 (str)> #]
In ice-9/boot-9.scm:
1461: 1 [#<procedure 22cd0e0 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"
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#20081: Dangling symlinks gracelessly handled by ‘patch-shebangs’ & co.
2015-04-22 19:06 ` bug#20081: issue is still not fixed Tomáš Čech
@ 2015-04-23 18:58 ` Ludovic Courtès
0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2015-04-23 18:58 UTC (permalink / raw)
To: Tomáš Čech; +Cc: 20081
Tomáš Čech <tcech@suse.cz> skribis:
> starting phase `patch-source-shebangs'
> Backtrace:
> In ice-9/boot-9.scm:
> 157: 15 [catch #t #<catch-closure 2357aa0> ...]
> In unknown file:
> ?: 14 [apply-smob/1 #<catch-closure 2357aa0>]
> 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 2374880 at ice-9/boot-9.scm:4045:3 ()>]
> 4050: 10 [#<procedure 2374880 at ice-9/boot-9.scm:4045:3 ()>]
> 1724: 9 [%start-stack load-stack ...]
> 1729: 8 [#<procedure 2389c60 ()>]
> In unknown file:
> ?: 7 [primitive-load "/gnu/store/06l4f3al56cg49rfiy79risam0f8yb4y-taskwarrior-2.4.3-guile-builder"]
> In ice-9/eval.scm:
> 387: 6 [eval # ()]
> In srfi/srfi-1.scm:
> 830: 5 [every1 #<procedure 2590d00 at /gnu/store/j8w9vf3diyvkccsa21p9fqpwsl3wlsy3-module-import/guix/build/gnu-build-system.scm:580:9 (expr)> ...]
> In /gnu/store/j8w9vf3diyvkccsa21p9fqpwsl3wlsy3-module-import/guix/build/gnu-build-system.scm:
> 584: 4 [#<procedure 2590d00 at /gnu/store/j8w9vf3diyvkccsa21p9fqpwsl3wlsy3-module-import/guix/build/gnu-build-system.scm:580:9 (expr)> #]
> 167: 3 [patch-source-shebangs # ...]
> In unknown file:
> ?: 2 [remove #<procedure 22cd0e0 at ice-9/boot-9.scm:1460:6 (str)> #]
> In ice-9/boot-9.scm:
> 1461: 1 [#<procedure 22cd0e0 at ice-9/boot-9.scm:1460:6 (str)> "./src/cal"]
> In unknown file:
> ?: 0 [stat "./src/cal" #<undefined>]
I believe this is Really Fixed™ by cb85eb5 (in core-updates.)
Thanks!
Ludo’.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-04-23 19:00 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-11 15:02 bug#20081: patch-source-shebangs crashes on broken symlink Tomáš Čech
2015-03-11 17:32 ` Andreas Enge
2015-03-11 19:13 ` Tomáš Čech
2015-03-12 9:30 ` Ludovic Courtès
2015-03-12 9:36 ` Tomáš Čech
2015-04-06 21:22 ` Ludovic Courtès
2015-03-11 20:18 ` Mark H Weaver
2015-04-22 19:06 ` bug#20081: issue is still not fixed Tomáš Čech
2015-04-23 18:58 ` bug#20081: Dangling symlinks gracelessly handled by ‘patch-shebangs’ & co Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).