Introdução
Este artigo é sequência dos meus estudos sobre o devpi. E são estes até o momento:- Brito: Configurando repositório pypi na rede interna;
- Brito: Gerenciando Usuários devpi-client;
- Brito: Gerenciando Usuários devpi-client (part 2);
- Brito: devpi index;
- e este. ;)
Escopo
- devpi-server (previamente instalado)
- devpi-client (previamente instalado)
- source reportlab (exclusivamente para teste)
Baixar código fonte do reportlab
Baixe os fontes no sítio oficial do projeto em https://www.reportlab.com/pypi/packages/, ou no pypi com o comando abaixo:wget https://pypi.python.org/packages/source/r/reportlab/reportlab-3.2.0.tar.gz
Alterar revisão do pacote
Para não ter que baixar um novo pacote a cada teste, execute o comando abaixo, alterando a versão do pacote, sempre que necessário:
- tar xvzf reportlab-3.2.0.tar.gz
- cd reportlab-3.2.0/
- cp src/reportlab/__init__.py src/reportlab/__init__.py0
- sed 's/Version = "3.2.0"/Version = "3.2.0.1"/g' src/reportlab/__init__.py0 > src/reportlab/__init__.py
Procedimentos
Login
devpi login root
-
Seleção de indice
Será apresentado dois métodos para seleção de indice, um partindos do zero, com a criação de usuário, permissões e indice; e outro apenas selecionando um já criado.
Crie um indice
No devpi os indices estão atrelados a usuários, que devem ser previamente criados.- devpi user -c dev password='dev'
- devpi index -c dev/test bases=root/pypi acl_upload=root,dev
http://mirror.incoluem.com.br/dev/test: type=stage bases=root/pypi volatile=True uploadtrigger_jenkins=None acl_upload=root,dev pypi_whitelist=
- devpi use dev/test
Selecione um indice pré-existente
devpi use dev/test
Carga de pacote (formato sdist)
- tar xvzf reportlab-3.2.0.tar.gz
- cd reportlab-3.2.0/
- devpi upload
using workdir /tmp/devpi2 --> $ /usr/bin/python setup.py sdist --formats gztar built: /tmp/reportlab-3.2.0/dist/reportlab-3.2.0.tar.gz [SDIST.TGZ] 1678kb register reportlab-3.2.0 to http://mirror.incolume.com.br/dev/test/ file_upload of reportlab-3.2.0.tar.gz to http://mirror.incolume.com.br/dev/test/
- Para prova acesse via web ou execute:
devpi list reportlab
http://mirror.incolume.com.br/dev/test/+f/fc9/1214fa20449b6/reportlab-3.2.0.tar.gz
Carga de pacote (previamente empacotados)
Carga de pacote a partir de um diretório
- tar xvzf reportlab-3.2.0.tar.gz
- cd reportlab-3.2.0/
- python setup.py sdist
- devpi upload --from-dir dist/
register reportlab-3.2.0 to http://mirror.incolume.com.br/dev/test/ file_upload of reportlab-3.2.0.tar.gz to http://mirror.incolume.com.br/dev/test/
Carga de multiplos pacotes a partir de um diretório
Execute o procedimento do item 4 do topico "Alterar a versão revisão do pacote", realise novas cargas e copie os arquivos para /tmp.- devpi upload --from-dir /tmp
ffjcext.zip: does not contain PKGINFO, skipping reportlab-3.2.0.tar.gz: does not contain PKGINFO, skipping register reportlab-3.2.0.1 to http://mirror.incolume.com.br/dev/test/ file_upload of reportlab-3.2.0.1.tar.gz to http://mirror.incolume.com.br/dev/test/ register reportlab-3.2.0.2 to http://mirror.incolume.com.br/dev/test/ file_upload of reportlab-3.2.0.2.tar.gz to http://mirror.incolume.com.br/dev/test/ register reportlab-3.2.0.3 to http://mirror.incolume.com.br/dev/test/ file_upload of reportlab-3.2.0.3.tar.gz to http://mirror.incolume.com.br/dev/test/ register reportlab-3.2.0 to http://mirror.incolume.com.br/dev/test/ file_upload of reportlab-3.2.0.tar.gz to http://mirror.incolume.com.br/dev/test/
A diretiva --from-dir, procura recursivamente em todos nos formatos de empacotamento (zip, tar.gz, tar.bz2, e outros) a meta informação PKGINFO, se não forem encontradas o comando ignora o arquivo.
Como para os pacotes ffjcext.zip e reportlab-3.2.0.tar.gz, apresentados na tela acima.
Carga de multiplos pacotes a partir de um repositório git ou svn
devpi upload --no-vcs --formats=sdist.zip,bdist_egg,sdist
Oudevpi upload --no-vcs --formats=sdist.zip,bdist_egg,sdist,bdist
Oudevpi upload --no-vcs --formats=sdist.zip,sdist,bdist_wheel,bdist_egg,bdist
Exibir versões disponíveis
Execute o procedimento do item 4 do topico "Alterar a versão revisão do pacote" e realise novas cargas.
Do indice
devpi list
pysober reportlab fixProductsEasyNewsletter tema.balanco
Do pacote
devpi list reportlab --all
http://mirror.incolume.com.br/dev/test/+f/490/0c02959d5a6be/reportlab-3.2.0.3.tar.gz http://mirror.incolume.com.br/dev/test/+f/93b/389553ba06e51/reportlab-3.2.0.2.tar.gz http://mirror.incolume.com.br/dev/test/+f/f29/eb93c496c1735/reportlab-3.2.0.1.tar.gz http://mirror.incolume.com.br/dev/test/+f/fc9/1214fa20449b6/reportlab-3.2.0.tar.gz
Remover revisões
Remover uma versão específica de pacote
devpi remove -y reportlab==3.2.0
About to remove the following releases and distributions version: 3.2.0 - http://mirror.incolume.com.br/dev/test/+f/fc9/1214fa20449b6/reportlab-3.2.0.tar.gz Are you sure (yes/no)? yes (autoset from -y option) deleting release 3.2.0 of reportlab
Remover todas as revisões de um pacote
devpi remove -y reportlab
About to remove the following releases and distributions version: 3.2.0.1 - http://mirror.incolume.com.br/dev/test/+f/f29/eb93c496c1735/reportlab-3.2.0.1.tar.gz version: 3.2.0.2 - http://mirror.incolume.com.br/dev/test/+f/93b/389553ba06e51/reportlab-3.2.0.2.tar.gz version: 3.2.0.3 - http://mirror.incolume.com.br/dev/test/+f/490/0c02959d5a6be/reportlab-3.2.0.3.tar.gz Are you sure (yes/no)? yes (autoset from -y option) deleting release 3.2.0.1 of reportlab deleting release 3.2.0.2 of reportlab deleting release 3.2.0.3 of reportlab
Compartilhar indices
Os indices têm que existir previamente.
- devpi index -c dev/stat bases=root/pypi acl_upload=root,dev
- devpi index dev/test bases=root/pypi,dev/stat acl_upload=root,dev
/dev/test changing acl_upload: ['root', 'dev'] /dev/test changing bases: ['root/pypi', 'dev/stat'] http://mirror.incolume.com.br/dev/test: type=stage bases=root/pypi,dev/stat volatile=True uploadtrigger_jenkins=None acl_upload=root,dev pypi_whitelist=
Atualizações
12/06/2015; 15/06/2015; 20/04/2016;Referências
http://doc.devpi.net/latest/quickstart-releaseprocess.htmlhttp://doc.devpi.net/latest/userman/devpi_packages.html
http://doc.devpi.net/latest/userman/devpi_indices.html
http://doc.devpi.net/latest/userman/devpi_commands.html
Comentários