[FUG-BR] Atualizando ports com várias dependências

Renato Botelho rbgarga em gmail.com
Quinta Março 1 15:00:42 BRT 2012


2012/3/1 Otacílio <otacilio.neto at bsd.com.br>:
> On 01/03/2012 14:35, Renato Botelho wrote:
>> 2012/3/1 Otacílio<otacilio.neto at bsd.com.br>:
>>> On 01/03/2012 14:18, Cleyton Agapito wrote:
>>>> Em 1 de março de 2012 14:08, Otacílio<otacilio.neto at bsd.com.br>    escreveu:
>>>>> On 01/03/2012 14:03, Marcel Bonnet wrote:
>>>>>> (desculpe o top posting)
>>>>>> tem um jeito tosco, mas funcionou no meu note:
>>>>>> portupgrade -nfr perl>      lista
>>>>>> como preferir salve a parte da lista q nao quer atualizar e use:
>>>>>> portupgrade -x port
>>>>>> confere se a opt eh x (confundo com portmaster)
>>>>>> mas a idea eh entrar -x port1 -x port2 ...
>>>>>> ele fara tudo menos os ports indicados.
>>>>>> abcs,
>>>>>> ===============================================
>>>>>> Desculpe-me se esta msg foi curta. Escrevi de um dispositivo móvel: lento
>>>>>> p/ teclar e posso dispor de pouco tempo agora.
>>>>>> Marcel Bonnet
>>>>>>
>>>>>> Em 01/03/2012 13:41, "Otacílio"<otacilio.neto at bsd.com.br>escreveu:
>>>>>>
>>>>>> Olá pessoal
>>>>>>
>>>>>> Estou eu atualizando o meu sistema. Seguindo o UPDATING do perl eu tenho
>>>>>> que reinstalar tudo o que depende do perl
>>>>>>
>>>>>> portupgrade -fr perl
>>>>>>
>>>>>> Mas aí é o problema, são mais de 600 ports e esta máquina é o meu
>>>>>> notebook. Eu não posso deixar essa máquina parada até terminar de
>>>>>> compilar a tralha toda, e existem uns ports bem pesados nessa lista,
>>>>>> como java, libreoffice, firefox, thunderbird, eclipse, etc etc.
>>>>>>
>>>>>> Tem alguma forma do portupgrade guardar o que já foi feito para que eu
>>>>>> possa parar a atualização e continuar depois?
>>>>>>
>>>>>> Se eu mandar atualizar vários ports de uma vez só, em um único comando o
>>>>>> portupgrade é inteligente o suficiente para descobrir quais deles são
>>>>>> dependentes uns dos outros para atualizar na ordem certa?
>>>>>>
>>>>>>
>>>>>> Obrigado!
>>>>>
>>>>> Eu fiz isso em outra ocasião, mas tinha a dúvida se ele não atualizava
>>>>> cada port depois do -x ou apenas o último depois do último -x.
>>>>>
>>>>> Fica ainda a outra pergunta, como faço para "pausar" a atualização?
>>>>>
>>>>
>>>> Olá Otacílio,
>>>>
>>>> Olha, pausar acho que não dá não, já andei vendo gente pedindo essa
>>>> funcionalidade mas nada foi feito até hoje.
>>>>
>>>> Eu tenho parado no tapa mesmo (^C), só que tem que cuidar pra não
>>>> fazer isso na hora em que ele está mexendo no banco de dados, se
>>>> corromper é um saco, tem que apagar o velho e mandar fazer outro. A
>>>> título de informação vc pode ligar o log no
>>>> /usr/local/etc/pkgtools.conf (a linha que tem PORTUPGRADE_ARGS = e a
>>>> -L /var/tmp/portupgrade-%s::%s.log), na prática não tem muita
>>>> utilidade mas vc já fica esperto no que pode dar problema por estar
>>>> desatualizado.
>>>>
>>>> Até hoje tive poucos problemas, o chato é que até terminar tudo vc
>>>> corre o risco de algo parar de funcionar, normalmente uma recompilada
>>>> na mão já resolve, nada grave, mas é o risco é do tamanho do port
>>>> (tipo, os grandes são mais complicados).
>>>>
>>>> Agora mesmo estou num notebook todo frankestein pelo mesmo motivo, se
>>>> encontrar alguma forma melhor avise ;-)
>>>>
>>>> []'s
>>>
>>>
>>> Eu estava pensando que se existir uma forma de ligar um log de cada port
>>> que foi atualizado exatamente depois de ser atualizado, não no fim de
>>> tudo, dava para fazer um script que removesse esse port da lista de
>>> dependências quando fosse continuar a atualização de onde parou. Alguém
>>> sabe se é possível ligar um log para cada port atualizado assim que isso
>>> é feito?
>>
>> O portmaster faz isso. Se você executar
>>
>> portmaster -fr perl
>>
>> ele vai marcar, colocando um arquivo dentro de /var/db/pkg/PORTNAME,
>> todos os que já foram recompilados. Se parar na metade e quiser
>> continuar, basta rodar:
>>
>> portmaster -frR perl
>>
>
>
> A forma de parar na metade é com o CTRL+C mesmo?

Isso. Ou se algum port der problema.

-- 
Renato Botelho


Mais detalhes sobre a lista de discussão freebsd