Summary: | Per-ebuild logging (PORT_LOGDIR) is broken on BSD. | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Stephen Bennett (RETIRED) <spb> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | bsd+disabled |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Stephen Bennett (RETIRED)
2004-11-01 14:21:02 UTC
Some info about this problem (hope it helps): The tee process state when portage hang is piperd (trying to read from a pipe). FreeBSD's tee accept both -i and -a used in gnu. Reading portage_exec.py I didn't find any other option to this command, so I think that may be something else. It seems that the problem is around these statements: retval=os.waitpid(mypid[-1],os.WNOHANG)[1] ... (some code) if retval != 0: ... (more code) Setting retval to 0 before the if, made it start logging. Can you add a "print retval" to find out what the value actually is? Adding a 'print retval' always shows me negative values, like this: -1068744901. Your number there looks to be a 32bit signed int. The return value should be: "a 16-bit number, whose low byte is the signal number that killed the process, and whose high byte is the exit status (if the signal number is zero); the high bit of the low byte is set if a core file was produced." Something on your system and/or the FreeBSD port is broken. Feel free to reopen and reassign. |