Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Horário de verão BR automático: EBUILD DISPONÍVEL
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Portuguese
View previous topic :: View next topic  
Author Message
leo.fontenelle
Tux's lil' helper
Tux's lil' helper


Joined: 29 May 2005
Posts: 129
Location: Ribeirão Preto, Brasil

PostPosted: Sun Oct 16, 2005 11:05 pm    Post subject: Horário de verão BR automático: EBUILD DISPONÍVEL Reply with quote

Quem já usou o Debian talvez se lembre do tz-brasil, um pacote que permitia ao sistema ajustar-se para o horário de verão na data correta, ano a ano. Estou interessado em colaborar na criação de um arquivo ebuild do mesmo, mas tenho dúvidas se certos arquivos podem ser usados diretamente no Gentoo, então peço a ajuda da comunidade. Seguem-se as informações de que disponho:

Acessando o conteúdo do pacote
Note que os executáveis são shell scripts, então os métodos abaixo só diferem quanto aos comandos de descompactação e cópia.
  1. Baixar o código-fonte - arquivo a princípio mais simples de manipular (tar.gz), mas a informação de qual arquivo vai para qual diretório está contida num script de instalação, e não no próprio empacotamento dos arquivos.
  2. Baixar o pacote .deb - é necessário descompactar com "$ ar x nomedopacote", o que dá três arquivos:
    • data.tar.gz - os arquivos a serem instalados, já hierarquizados por diretório;
    • control.tar.gz - arquivos de controle Debian
    • preinst e postinst - scripts de instalação.


Arquivos
  • ./etc/cron.d/tz-brasil -no Guia de cron do Gentoo Linux não achei referência ao papel do diretório /etc/cron.d, nem como fazer para garantir que o que está no diretório seja executado.
  • ./etc/ppp/ip-up.d/99tz-brasil - não temos esse diretório no Gentoo, e não sei onde colocar esse arquivo de forma a fazê-lo ser executado automaticamente quando a conexão for ativada. Sei que o arquivo /etc/conf.d/net.eth0 pode conter instruções serem rodadas antes/depois de (des)conectar, mas editá-lo automaticamente parece ser uma péssima idéia; e o script /etc/ppp/ip-up não contém qualquer menção a procurar arquivos a serem executados quando a conexão for ativada.
  • ./etc/tz-brasil.conf - só "copiar e colar".
  • ./usr/sbin/tz-brasil - idem.
  • ./usr/sbin/tz-brasil-restart-cron - idem.
  • ./usr/share/doc/tz-brasil/copyright - idem.
  • ./usr/share/doc/tz-brasil/changelog.gz - idem.
  • ./usr/share/man/man8/tz-brasil.8.gz - idem; contém permissão explícita para uso em outras distribuições.
  • ./usr/share/man/man8/tz-brasil-restart-cron.8.gz - idem.
  • ./var/lib/tz-brasil/info-install - armazena informações sobre o horário de verão, antigamente obtidas da ANEEL, mas atualmente do Ministério das Minas e Energia.


Outras questões
O que mais me preocupa agora são as questões levantadas na seção acima. Além disso é necessário criar o arquivo ebuild; com um pouco de esforço acho que consigo, mas se alguém já tiver habilidade nisso fique à vontade. Aí é só colocar no bugzilla!

Agradecimentos
Esse tópico já dará visibilidade a quem vier a ajudar, e acho justo que seus nomes sejam mencionados no arquivo ebuild. Além disso gostaria de agradecer ao Pedro Zorzenon Neto, que desenvolveu a ferramenta, mantém o pacote Debian, e me forneceu informações iniciais sobre como obter o pacote e seu "código-fonte".


Last edited by leo.fontenelle on Thu Nov 03, 2005 4:18 am; edited 2 times in total
Back to top
View user's profile Send private message
leo.fontenelle
Tux's lil' helper
Tux's lil' helper


Joined: 29 May 2005
Posts: 129
Location: Ribeirão Preto, Brasil

PostPosted: Mon Oct 17, 2005 7:46 pm    Post subject: Reply with quote

Realmente, no Debian e no RedHat o diretório /etc/cron.d/ serve para que pacotes instalem "fragmentos de crontab" sem mexerem no /etc/crontab. No Gentoo o vixie-cron tem um patch que menciona o diretório, mas mesmo assim a página do manual não diz coisa alguma a respeito. Por via das dúvidas, enviei uma carta ao autor do guia para o Gentoo perguntando a respeito e solicitando alteração do guia se for o caso. Alguns endereços pertinentes:
Back to top
View user's profile Send private message
leo.fontenelle
Tux's lil' helper
Tux's lil' helper


Joined: 29 May 2005
Posts: 129
Location: Ribeirão Preto, Brasil

PostPosted: Tue Nov 01, 2005 2:39 am    Post subject: Progressos Reply with quote

A ferramenta app-arch/deb2targz permite transformar o pacote final do Debian em um pacote .tar.gz, extremamente conveniente para a instalação. Agora restam duas pendências:
  1. O diretório /etc/ppp/ip-up.d/
    No Debian os pacotes instalam arquivos nesse diretório se quiserem que algo seja executado toda vez que a conexão é estabelecida. Isso é, entretanto, uma modificação; originalmente (inclusive no Gentoo), existem apenas os scripts /etc/ppp/ip-up ou /etc/ppp/ip-up.local, onde se espera que sejam inseridos os comandos. O que o Debian fez foi acrescentar uma instrução no /etc/ppp/ip-up para executar tudo o que encontrar em /etc/ppp/ip-up.d/, através do /bin/run-parts, parte do pacote sys-apps/debianutils presente nas instalações padrão do Gentoo. (Obrigado mais uma vez Pedro.)
    Então, basicamente posso fazer duas coisas:
    1. Criar uma versão própria do programa, ou seja, um fork, e assumir a responsabilidade de colocar e tirar instruções em /etc/ppp/ip-up ao instalar/desinstalar o pacote tz-brasil; ou
    2. Manter fielmente o "código-fonte" do programa, às custas de criar um diretório fora do padrão no Gentoo, e ainda colocando instruções em /etc/ppp/ip-up, só que instruções que se tornam inócuas caso sejam acidentalmente deixadas lá quando o pacote for desinstalado.

  2. A confecção do arquivo ebuild
    Não sei fazer, mas não tenho raiva de quem sabe. Como até agora ninguém se prontificou a ajudar, nem mesmo dando sugestão, já vou procurando documentação, e se eu conseguir aviso a todos aqui no tópico.

Sugestões, alguém?
Back to top
View user's profile Send private message
leo.fontenelle
Tux's lil' helper
Tux's lil' helper


Joined: 29 May 2005
Posts: 129
Location: Ribeirão Preto, Brasil

PostPosted: Thu Nov 03, 2005 5:21 am    Post subject: Arquivo ebuild feito Reply with quote

Muito bem, após um pouco de enrolação e um bocado de pesquisa, está pronta a primeira versão do arquivo ebuild para instalação do tz-brasil. Primeiro, gostaria de pontuar a abordagem utilizada:
  • Não utilizei o deb2targz. O ebuild simplesmente descompacta com "ar x arquivo.deb" e depois descompacta o "data.tar.gz", que é o pacote em si.
  • Confirmei que arquivos dentro de /etc/cron.d/ são lidos como parte da crontab. Isso não é comportamento padrão do vixie-cron, mas vem de um patch que o Gentoo utilza à semelhança do Debian e de várias outras distribuições. Ver o último parágrafo do arquivo FEATURES na documentação do vixie-cron.
  • Mantive lá o script de /etc/ppp/ip-up.d/. No Debian, esse diretório contém os scripts que devem ser executados quando a conexão é estabelecida; como não posso (ou não sei como) editar o arquivo /etc/ppp/ip-up do usuário para varrer esse diretório em busca de scripts, usei aqueles asteriscos verdes de pós-instalação para avisar ao usuário que ele deve editar o tal arquivo para que este chame o script do tz-brasil.

Obrigado novamente ao Pedro Zorzenon Neto, que além de desenvolver o pacote ainda me ajudou bastante no processo de trazê-lo (o pacote!) para o Gentoo.

O arquivo ebuild já se encontra no bugzilla!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portuguese All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum