[FUG-BR] Update ports

Renato Botelho rbgarga em gmail.com
Quarta Novembro 19 15:02:17 BRST 2014


> On Nov 19, 2014, at 14:53, Márcio Luciano Donada <mdonada at gmail.com> wrote:
> 
>> 
>> 
>> Oi Márcio,
>> 
>> Existem várias maneiras de fazer o que você precisa, vou tentar colocar
>> umas ideias e você vê se te atende.
>> 
>> Agora antes de começar vale a pena perguntar uma coisa, esse patch que
>> você aplica no ejabberd, é algo muito específico? Não é algo que pode ser
>> útil pra outras pessoas? Se for, você poderia tentar convencer o mantenedor
>> a colocar o seu patch no port do ejabberd, e assim você se veria livre da
>> obrigação de manter um pacote custom.
>> 
>> Dito isso, vamos ao que interessa. A estrutura de compilação de um port
>> não mudou, então o ‘make extract’ seguido de um patch custom pode ser feito
>> normalmente. O parâmetro -w do portupgrade faz com que ele não execute um
>> ‘make clean’ antes de começar a compilar, o que vai fazer com que seu patch
>> continue lá antes de a compilação acontecer. Então teoricamente isso
>> deveria continuar funcionando.
>> 
>> O pkg fornece uma ferramenta que pode te ajudar a não ter o ejabberd
>> atualizado por engano e seu patch perdido, é o lock/unlock, então se você
>> fizer ‘pkg lock ejabberd’ ele nunca vai ser removido ou atualizado em
>> nenhum processo automático. Aí você faz um ‘pkg unlock ejabberd’ quando for
>> mexer nele.
>> 
>> Com o csup você podia deixar o seu patch lá dentro do pacote do ejbberd,
>> em files/patch-CUSTOM, e ele era sempre aplicado automaticamente, isso com
>> portsnap não vai rolar, ele vai apagar. Então se você quer manter o seu
>> port sempre com o patch pronto, você pode fazer um checkout da árvore do
>> ports usando svn (svn co http://svn.freebsd.org/ports/head /usr/ports) e
>> usar ‘svn up’ pra trazer novos updates, a única perda nesse caso é que o
>> INDEX não será atualizado automaticamente, então um ‘make index’ vai ter
>> que ser executado toda vez que atualizar a árvore.
>> 
>> Com o auxílio do pkg lock/unlock, dependendo da sua necessidade, você pode
>> usar tudo com pkg e atualizar de forma binária, exceto o ejabberd.
>> 
> 
> 
> Renato,
> Obrigado pelos esclarecimentos. Na verdade o modulo é o mod_logdb [1], por
> incrível que pareça é do ejabberd porém eu não sei porque não entra no
> próprio código do ejabberd e por vários updates que realizei, uso ele
> somente dessa forma.
> 
> Pois é, muita coisa nova, mas como você mantém um servidor com pacotes para
> atualizar? aplica algum script para atualizar ou faz isso manualmente nos
> servidores?
> 
> Se tiver alguma doc que seja mais especifica, que você recomenda, para que
> eu possa ler, agradeço.

Uma palavra francesa te dará todas as resposats: Poudriere.

Esse é o software usado pra gerar os pacotes disponíveis pro FreeBSD em packages.FreeBSD.org. Você pode ter um hook que adiciona o patch no ejabberd sozinho pra você.

--
Renato Botelho



Mais detalhes sobre a lista de discussão freebsd