4. Obtendo o fonte¶
4.1. URL dos pacotes de fonte¶
O Bazaar fornece alguns atalhos bem interessantes para acessar os ramos fonte de pacotes do Launchpad tanto do Ubuntu como do Debian.
Para se referir a ramos-fonte digite:
ubuntu:package
Onde pacote se refere ao nome do pacote em que você está interessado. Esta URL se refere ao pacote na versão atualmente em desenvolvimento do Ubuntu. Para se referir ao ramo do Tomboy na versão em desenvolvimento, você usaria:
ubuntu:tomboy
To refer to the version of a source package in an older release of Ubuntu, just prefix the package name with the release’s code name. E.g. to refer to Tomboy’s source package in Saucy use:
ubuntu:saucy/tomboy
Uma vez que são únicos, você pode abreviar o nome da série da distribuição:
ubuntu:s/tomboy
Você pode utilizar um procedimento semelhante para acessar os ramos fonte no Debian, embora não haja atalhos para os nomes de séries de distribuição do Debian. Para acessar um ramo do Tomboy na série de desenvolvimento atual do Debian, utilize:
debianlp:tomboy
and to access Tomboy in Debian Wheezy use:
debianlp:wheezy/tomboy
4.2. Obtendo o fonte¶
Todo pacote fonte no Ubuntu tem um ramo fonte associado no Launchpad. Estes ramos fonte são atualizados automaticamente pelo Launchpad, embora o processo não seja tão fácil de usar atualmente.
Há algumas coisas que fazemos primeiro para que o fluxo de trabalho seja mais eficiente depois. Quando você estiver acostumado com o processo, você irá saber quando faz sentido pular estas etapas.
4.2.2. Obtendo o ramo trunk¶
Nós usamos o comando “bzr branch” para criar um ramo local do pacote. Nós nomearemos o diretório destino de “tomboy.dev” só para que seja fácil de lembrar:
$ bzr branch ubuntu:tomboy tomboy.dev
O diretório tomboy.dev representa a versão do Tomboy na versão de desenvolvimento do Ubuntu, e você pode sempre ir a este diretório e executar um “bzr pull” para obter quaisquer atualizações futuras.
4.2.3. Assegurando que a versão está atualizada¶
Quando você fizer o seu ramo bzr você irá receber uma mensagem informando se o ramo de empacotamento está atualizado. Por exemplo:
$ bzr branch ubuntu:tomboy
Most recent Ubuntu version: 1.8.0-1ubuntu1.2
Packaging branch status: CURRENT
Branched 86 revisions.
Ocasionalmente o importador falha e os ramos de empacotamento não correspondem com o que está no arquivo. Uma mensagem dizendo:
Packaging branch status: OUT-OF-DATE
significa que houve falha na importação. Você pode descobrir o porquê em http://package-import.ubuntu.com/status/ e file a bug on the UDD project para ter esse problema resolvido.
4.2.4. Tar do upstream¶
Você pode obter um tar do upstream executando:
bzr get-orig-source
Isto irá tentar vários métodos para obter o tar do upstream, primeiro recriando-o a partir da tag “usptream-x.y” no arquivo do bzr, depois baixando do arquivo do Ubuntu e, por último, executando “debian/rules get-orig-source”. O tar do upstream também será recriado quando o bzr for usado para construir o pacote:
bzr builddeb
O plug-in “builddeb” tem várias opções de configuração.
4.2.5. Obtendo um ramo para uma versão em particular¶
When you want to do something like a stable release update (SRU), or you just want to examine the code in an old release, you’ll want to grab the branch corresponding to a particular Ubuntu release. For example, to get the Tomboy package for Quantal do:
$ bzr branch ubuntu:m/tomboy quantal
4.2.6. Importando um pacote de fontes do Debian¶
Se o pacote no qual você quer trabalhar estiver disponível no Debian mas não no Ubuntu, ainda assim é fácil importar o código para um ramo bzr local para desenvolvimento. Digamos que você quer importar o pacote fonte “novopacote”. Nós iremos começar criando um repositório compartilhado como de costume, mas também temos que criar uma árvore de trabalho para a qual o pacote fonte será importado (lembre-se de sair do diretório do “tomboy” criado acima):
$ bzr init-repo newpackage
$ cd newpackage
$ bzr init debian
$ cd debian
$ bzr import-dsc http://ftp.de.debian.org/debian/pool/main/n/newpackage/newpackage_1.0-1.dsc
Como você pode ver, nós só precisamos fornecer a localização remota do arquivo dsc, e o Bazaar fará o resto. Agora você tem um ramo fonte no Bazaar.