FS#19975 - [makepkg] "$startdir" check (grep) may stall the package process indefinitely

Attached to Project: Pacman
Opened by Thomas Bächler (brain0) - Friday, 25 June 2010, 13:51 GMT
Last edited by Allan McRae (Allan) - Thursday, 01 July 2010, 05:59 GMT
Task Type Bug Report
Category makepkg
Status Closed
Assigned To Dan McGee (toofishes)
Allan McRae (Allan)
Architecture All
Severity High
Priority Normal
Reported Version 3.4.0
Due in Version 3.4.1
Due Date Undecided
Percent Complete 100%
Votes 4
Private No


The udev PKBUILD creates the /lib/udev/devices/ directory, which contains /lib/udev/devices/stdin, a symlink to /proc/self/fd/0. Grepping from /proc/self/fd/0 will hang indefinitely.

tpowa discovered this when trying to upgrade udev:
17084 ? S+ 0:00 \_ /bin/bash -e /usr/bin/makepkg -c
20886 ? S+ 0:00 \_ /bin/sh /usr/bin/fakeroot -- /usr/bin/makepkg -F -c
20901 ? S+ 0:00 \_ /bin/bash -e /usr/bin/makepkg -F -c
21604 ? S+ 0:00 \_ grep -R /home/tobias/Arch/svn/svn-packages/udev/trunk/src /home/tobias/Arch/svn/svn-packages/udev/trunk/pkg/udev

The 'grep' process blocks the packaging process. This grep is part of the new '$startdir check' introduced in 3.4.0. It now seems to be impossible to build udev without modifying makepkg (i.e., omitting that check - or is there an option?).

A possible solution might be based on find $pkgdir -type f -exec grep ..., to make sure only ordinary files are checked.
This task depends upon

This task blocks these from closing
 FS#19988 - [udev] from abs does not build 
Closed by  Allan McRae (Allan)
Thursday, 01 July 2010, 05:59 GMT
Reason for closing:  Fixed
Additional comments about closing:  Git commit: http://projects.archlinux.org/pacman.git /commit/?h=maint&id=d7c98d4e