portupgrade exits immediately when stdin/out closed

Garrett Cooper youshi10 at u.washington.edu
Wed Sep 5 06:06:17 PDT 2007


Sergey Matveychuk wrote:
> Russell Jackson wrote:
>> I'm debugging a problem with portupgrade being used as part of an 
>> automated package
>> handler within puppet (http://puppet.reductivelabs.com).
>>
>> The problem is that when the handler executes portupgrade as an 
>> external process from
>> ruby, portupgrade hangs with a script process taking up 100% of the 
>> cpu. I suspected that
>> script isn't designed to be run without a controlling tty. So, I 
>> executed portupgrade like
>> so to test:
>>
>> portupgrade --new --batch --yes <port> <&- >&- 2>&- &
>>
>> To my surprise, portupgrade exits immediately with a status of 0. I 
>> found an old pr
>> (bin/56166) describing similar behavior. It looks like script was 
>> fixed, but portupgrade
>> still isn't happy.
>>
>> This happens with both ports-mgmt/portupgrade and 
>> ports-mgmt/portupgrade-devel.
>>
>> Suggestions?
>>
>
> portupgrade was fixed to work when tty is not a physical device but 
> file or so.
>
> I think you don't want to run portupgade this way really. You have a 
> possibility to brake everything.
>

    I'm not sure how well ruby's debug mode does compared to perl, or 
how it works in comparison, but try preceding the portupgrade command 
with '/usr/local/bin/ruby18 -d', to force portupgrade to run in debug mode.
-Garrett


More information about the freebsd-ports mailing list