This is an old revision of the document!


Usando o CVS via linha de comando no Linux

Iniciando o uso - obtendo os dados iniciais

  • Crie uma pasta do tipo terralib_cvs e entre nela
mkdir terralib_cvs
cd terralib_cvs
  • Logue como anonymous no CVS da DPI:
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib login
  • Baixe o src, terralibx e extensions. Caso não esteja no INPE, essa atividade pode demorar (e como!). E o servidor tem dias que fica pior que atacante dentro da área: é um cai-cai miserável.
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib co src
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib co terralibx
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib co extensions
  • Efetue o logout:
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib logout
  • Entre na pasta extensions:
cd extensions
  • Efetue o login como usuário da rede (para ter acesso aos fontes do terraOGC):
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib login
  • Agora sim, baixe o terraOGC:
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib co terraOGC
  • Por fim, efetue o logout:
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib logout

Usando o CVS do TerraOGC

  • Efetue o login como usuário da rede (para ter acesso aos fontes do terraOGC):
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib login
  • Vá para o diretório onde quer realizar o update (fontes do ows, por exemplo):
cd terraOGC/src/ows
  • Pode visualizar as diferenças entre os arquivos
cvs diff
  • Cheque antes de mandar os arquivos. Se tiver algum conflito, aparecerá o C, (veja tabela de equivalência das letras aqui)
cvs -n update
  • Atualize seus dados locais antes de mandar as atualizações
cvs update
  • A opção P desconsidera pastas vazias e d cria diretórios novos que existem no repositório mas não na máquina local.
cvs update -Pd
  • Agora mande os arquivos de fato
cvs ci [*|(nome_arquivo)*]
  • Atualizando no repositório todos os arquivos da pasta atual com uma mensagem de log
cvs ci -m "Novos arquivos adicionados e alguns atualizados"

Adicionando e removendo pastas e arquivos

  • Para adicionar um arquivo, ou muitos arquivos (sempre comitando no final)
cvs add novoArquivo
cvs add *
cvs add TeXYZClasse.h TeXYZClasse.cpp
cvs ci
  • Pode colocar msgs junto
cvs add -m "Adicionando varios arquivos" *
  • Para adicionar um diretório
cvs add novoDir
cvs ci novoDir
  • Para remover arquivos e diretórios, é bem simples também:
    cvs remove arquivo1.h arquivo1.cpp ...
    cvs remove diretorio
    cvs ci -m "Removendo as classes ..." 

Sumário das operações

  • Baseado no material de Junqueira e Ignácio Jr

Programando

  • Mover para outro artigo TODO

Variáveis de ambiente

  • Antes de compilar o TerraOGC, é necessário ajustar algumas variáveis de ambiente, normalmente no arquivo ~.bashrc
  • Coloque neste arquivo a seguinte configuração:
    # TerraLib Devel
    TERRALIB_DIR=/home/emerson/projetos/terralib_cvs
     
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TERRALIB_DIR/terralibx/lib
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TERRALIB_DIR/extensions/terramanager/lib
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TERRALIB_DIR/extensions/terraOGC/lib
     
    export LD_LIBRARY_PATH
  • Troque a variável TERRALIB_DIR pelo valor usado no seu sistema
  • Antes de usar essas configurações você precisa abrir um novo terminal

Configurando o QMake

Mandriva 2007 x86

  • No Mandriva, precisa alterar o arquivo /usr/lib/qt3/mkspecs/linux-g++/qmake.conf, tirando o /usr/lib da linkagem. Troque as linhas
    QMAKE_LIBDIR_X11	= /usr/lib
    QMAKE_LIBDIR_OPENGL	= /usr/lib

    por

    QMAKE_LIBDIR_X11	= 
    QMAKE_LIBDIR_OPENGL	= 
  • Precisa por causa da libtiff → esse problema é velho

OpenSuse 11.0 x86_64

  • No OpenSuse 11.0 precisa alterar o arquivo /usr/lib/qt3/mkspecs/default/qmake.conf, tirando o /usr/lib da linkagem. Troque as linhas
    QMAKE_LIBDIR            = /usr/lib64/
    QMAKE_LIBDIR_OPENGL     = /usr/lib64/
    

    por

    QMAKE_LIBDIR  	        = 
    QMAKE_LIBDIR_OPENGL	= 
  • Precisa por causa da libtiff → esse problema é velho

Navigation