Contribuir para o Nominatim
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
- Fork p/ a nossa conta
- clone localmente
- Criar um branch local
- Fazer as contribuições e testar
- Commit & push
- 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:
- upstream: nome para o repositório https://github.com/openstreetmap/Nominatim
- origin: nome para a nossa cópia https://github.com/jgrocha/Nominatim
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