Contribuir para o Nominatim

From Geomaster, Lda
Jump to navigation Jump to search

Nominatim

O código fonte do projeto Nominatim está disponível no GitHub.

Antes de qualquer contribuição, deve-se ler o documento CONTRIBUTING.

Procurar issues que estejam marcados como simple:

is:open label:simple

Ciclo de vida

  1. Fork p/ a nossa conta
  2. clone localmente
  3. Criar um branch local
  4. Fazer as contribuições e testar
  5. Commit & push
  6. Fazer o Pull Request

Fork

Faz-se na interface do GitHub.

Por uma questão de nomenclatura, os repositórios para a ter os seguintes nomes:

Clone

Fazemos o clone do nosso repositório no GitHub

mkdir -p ~/dev
cd dev
git clone git@github.com:jgrocha/Nominatim.git
git clone --recursive git@github.com:jgrocha/Nominatim.git
cd Nominatim
git remote -v
origin	git@github.com:jgrocha/Nominatim.git (fetch)
origin	git@github.com:jgrocha/Nominatim.git (push)

Foi criado automaticamente a referência para o nosso repositório do GitHub com o nome origin. Falta criar um referência com o nome upstream para o repositório oficial do Nominatim.

git remote add upstream git@github.com:openstreetmap/Nominatim.git
git remote -v
origin	git@github.com:jgrocha/Nominatim.git (fetch)
origin	git@github.com:jgrocha/Nominatim.git (push)
upstream	git@github.com:openstreetmap/Nominatim.git (fetch)
upstream	git@github.com:openstreetmap/Nominatim.git (push)

Branch

git checkout -b issue823
Switched to a new branch 'issue823'

Garantir que o projeto compila direito (na linha de comandos). Corrigir dependências, se necessário.

mkdir build
cd build
cmake ..
make

Opcionalmente, deve-se abrir e usar o projeto num IDE que suporte C. CLion can be used for open source project, according to it's license.

Dependências

sudo apt install libboost-system-dev libboost-filesystem-dev python-pyosmium python3-pyosmium
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_python-py35.so.1.58.0 /usr/lib/x86_64-linux-gnu/libboost_python-py35.so
sudo ldconfig
sudo su
pip3 install osmium
sudo apt-get install php-pear
sudo pear install DB

Teste do build

cd ..
./build/utils/setup.php --osm-file portugal-latest.osm.pbf --all


Contribuições

Commit and push

Pull request