14:02:09 <terceiro> #startmeeting
14:02:09 <MeetBot> Meeting started Thu Aug 11 14:02:09 2016 UTC.  The chair is terceiro. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:02:09 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
14:02:22 <terceiro> #chair tassia
14:02:22 <MeetBot> Current chairs: tassia terceiro
14:02:32 <terceiro> quem quer começar hoje?
14:02:57 <terceiro> lucianopc: lucasmoura ^
14:02:59 <lucasmoura> posso começar sem problema
14:03:02 <lucianopc> posso começar
14:03:05 <lucianopc> kkk
14:03:10 <lucasmoura> então vai la lucianopc
14:03:13 <terceiro> ok
14:03:16 <terceiro> #topic lucianopc
14:03:17 <lucianopc> blz
14:03:56 <lucianopc> What was done
14:03:56 <lucianopc> =============
14:03:56 <lucianopc> Refactor and apply revision changes on script to generates clusters with
14:03:56 <lucianopc> popularity-contest data
14:03:56 <lucianopc> Makes AppRecommender run when user install a new package with apt, and update
14:03:57 <lucianopc> the packages on xapian when user runs 'apt-get update'
14:03:57 <lucianopc> To the next week
14:03:59 <lucianopc> ================
14:03:59 <lucianopc> - Send patch to popularity-contest
14:04:00 <lucianopc> - Integrates the collaborative strategy on AppRecommender
14:04:27 <lucianopc> esses dois estão faltando uns detalhes e termino, queria ver contigo terceiro
14:04:38 <terceiro> blz
14:04:39 <terceiro> diga aí
14:05:24 <lucianopc> o script, arrumei o que vc falou no email, só está faltando a parte de compactar
14:05:59 <lucianopc> os arquivos para download no popcon ficam nos dois formatos, compactado e descompactado, acha que é bom manter esse padrão? gerar os dois mesmo
14:06:16 <terceiro> nao sei se é super util ter o descompactado não
14:06:43 <terceiro> a compactação vc usa o modulo lzma do python
14:06:52 <terceiro> nao sei se cheguei a dizer isso
14:07:08 <lucianopc> eu to usando ele agora
14:08:02 <lucianopc> ia perguntar exatamente disso, então ta ok, ja ja te mando o email atualizado
14:08:15 <lucianopc> o que estou vendo é em qual diretório do popcon tem que deixar os dados
14:09:05 <terceiro> lucianopc: eu pensei o seguinte
14:09:06 <lucianopc> pelo que vi no código do popcon quem faz isso é um script em perl, aí estou tento um pouco de dificuldade, no pior caso vou pedir um help pro joenio
14:09:38 <terceiro> suponha que eu quero que os arquivos acabem em popcon.debian.org/data/clusters/latest
14:10:19 <terceiro> aí dentro desse diretorio clusters, vc vai ter diretorios com as versões antigas dos arquivos
14:10:22 <terceiro> por exemplo
14:10:32 <terceiro> 2016.08.11/
14:10:35 <terceiro> 2016.08.12/
14:10:37 <terceiro> 2016.08.13/
14:10:46 <terceiro> aí `latest` seria um link para o ultimo
14:11:13 <lucianopc> sim, entendi, semelhante ao que o popcon faz com os outros dados, blz
14:11:28 <terceiro> o script iria criar um diretorio novo praquele dia, e no final de tudo, fazer um link simbolico chamado latest
14:12:05 <terceiro> ai tem que ver como fazer em python o equivalente a `ln -sfT XXXX.XX.XX latest`, ou seja, sobrescrever o link sem apagar ele antes
14:12:19 <terceiro> aí a gente faz o apprecommender sempre baixar o latest
14:12:47 <lucianopc> ok
14:13:17 <terceiro> os nomes dos diretorios podem provavelmente ser todos os campos da data, ao inves de só até o dia
14:14:13 <lucianopc> blz, semelhante a isso que ele faz no servidor:
14:14:13 <lucianopc> cp $WEBDIR/all-popcon-results.gz $SUMMARYDIR/popcon-`date +"%Y-%m-%d"`.gz
14:14:28 <lucianopc> o diretório ser tipo: `date +"%Y-%m-%d"`
14:14:34 <lucianopc> certo?
14:15:16 <terceiro> pode ser. acho que nao faz sentido rodar mais de uma vez por dia mesmo
14:15:29 <lucianopc> blz
14:15:34 <lucianopc> e, outra duvida, pra colocar algo em popcon.debian.org, o diretório é: /srv/popcon.debian.org/  ?
14:15:37 <terceiro> agora o script tem q abortar se o diretorio jáj existir
14:15:51 <terceiro> lucianopc: faz o diretorio de saída ser um parametro do script
14:16:10 <terceiro> pq aí vc pode testar localmente sem precisa reproduzir a estrutura do servidor na sua maquina
14:16:27 <lucianopc> coloquei lá, é a flag --output, talvez não expliquei corretamente
14:16:38 <terceiro> então pronto
14:16:45 <terceiro> no servidor ele passa o diretorio certo como parametro
14:18:15 <lucianopc> blz
14:19:29 <lucianopc> outra dúvida é quanto a fazer a recomendação quando o usuário instala um pacote
14:20:08 <lucianopc> quando o usuário instalar o AppRecommender pelo pacote vai funcionar corretamente, pq o AppRecommender fica instalado em "/var/lib"
14:20:40 <lucianopc> o AppRecommender é executado como sudo, então funciona sem problemas no "/var/lib"
14:21:07 <lucianopc> mas, se for testar em desenvolvimento, o AppRecommender fica em "~/.apprecommender"
14:21:41 <lucianopc> e aí quando ele vai rodar como sudo o "os.path.expanduser" convert o caractere "~" em "/root/"
14:22:08 <terceiro> eu comentei sobre isso com lucasmoura por email ontem
14:22:13 <terceiro> isso precisa ser arrumado
14:22:19 <terceiro> não é pra usar o HOME por default
14:22:43 <lucasmoura> sim, eu vi la terceiro
14:22:44 <terceiro> para o publico do apprecommender, "em desenvolvimento" é irrelevante :)
14:22:49 <lucasmoura> ta no backlog para arrumar aqui já
14:22:50 <terceiro> publico *alvo*
14:23:23 <lucianopc> lucasmoura: então acho que já posso abrir o MR da integração com o apt, blz?
14:23:33 <lucasmoura> pode sim
14:23:47 <lucasmoura> qualquer coisa le o email la do terceiro sobre essa questão
14:23:55 <lucasmoura> mas acho que o wrapper é o caminho mesmo
14:24:02 <lucianopc> blz, vou ler sim
14:24:07 <terceiro> lucasmoura: eu acho que vc esquecei de copiar lucianopc e tassia
14:24:08 <terceiro> ou não?
14:24:31 <lucasmoura> foi
14:24:40 <lucasmoura> vou encaminhar para os dois aqui agora
14:25:05 <lucasmoura> pronto
14:25:18 <lucianopc> aí no arquivo que vai pro /etc/apt/apt.conf.d/ coloquei a linha APT::Update::Post-Invoke-Success {"update-apt-xapian-index";};
14:25:57 <terceiro> é temos que ver isso
14:26:08 <terceiro> eu acho que vcs estão abusando o apt-xapian-index :)
14:26:26 <terceiro> pq exatamente vcs precisam atualizar ele o tempo todo?
14:26:56 <terceiro> lembre-se que para o publico alvo (usuarios finais - usando stable), os dados do repositorio não são atualizados com frequencia
14:27:09 <lucasmoura> pq o banco do AppRecommender depende dele
14:27:25 <lucasmoura> Se o usuário der um update, esse banco pode ficar diferente
14:27:33 <terceiro> como normalemnte só se tem updates de segurança, na verdade os dados uteis são agtualizados muito raramente
14:27:50 <lucianopc> estavamos pensando tambem na possibilidade do usuário ter pacotes instalados que não estão no xapian
14:28:15 <terceiro> o xapian não indexa os metadados do repositorio?
14:28:26 <lucasmoura> Sim
14:28:26 <terceiro> q diferença faz os pacotes q estao instalados/
14:28:27 <terceiro> ?
14:28:50 <lucasmoura> lucianopc: Acho que nos mesmo descartamos esses pacotes do perfil do usuário
14:29:40 <lucianopc> então
14:29:53 <terceiro> outra coisa conceitual: apenas o apt-xapian-index deveria controlar quando o update-apt-xapian-index é chamado
14:30:02 <terceiro> o apprecommender não deveria se intrometer
14:30:19 <lucianopc> ah, faz sentido
14:31:03 <lucasmoura> isso é verdade
14:31:22 <lucasmoura> o certo seria então mexer no pacote do apt-xapian-index para fazer esse hook  ?
14:31:43 <terceiro> o apt-xapian-index já tem um cron job
14:31:54 <terceiro> não acho q precisa mais do que isso
14:32:12 <terceiro> ou não?
14:33:05 <lucasmoura> na verdade, agora que pensei aqui
14:33:27 <lucasmoura> acho que nos no AppRecommender estamos fazendo errado
14:33:34 <lucasmoura> quando vamos consultar os dados de um pacote
14:33:40 <lucasmoura> usamos o python-apt
14:33:48 <lucianopc> achei aqui, tem um cron mesmo, roda semanalmente
14:34:04 <lucasmoura> mas se sempre usassemos o próprio banco do apt-xapian-index
14:34:14 <lucasmoura> não teria problema de sincronização
14:34:57 <lucasmoura> concorda lucianopc ?
14:35:13 <lucianopc> concordo
14:35:34 <terceiro> massa
14:35:37 <lucasmoura> a parte triste é que o python-apt é bem mais simples de usar
14:35:43 <lucasmoura> mas gera esse overhead todo ai
14:36:06 <terceiro> mas perai
14:36:15 <terceiro> vc ta dizendo que hoje a base do xapian não é usada?
14:36:36 <lucasmoura> Ela é usada
14:36:52 <lucasmoura> Só não é usada quando vamos consultar informações do pacote para fazer os filtros
14:37:03 <lucasmoura> por exemplo, quando vamos ver se um pacote ta na seção de doc
14:37:10 <lucasmoura> nos usamos o python-apt
14:37:36 <lucianopc> por exemplo para pegar as dependencias de um pacote
14:37:43 <lucasmoura> Mas para fazer a busca dos pacotes a serem recomendados, é tudo no apt-xapian-index
14:37:57 <lucianopc> sim, aí é tudo no xapian
14:38:16 <lucianopc> nós usamos o apt para decidir quais pacotes o xapian vai poder recomendar
14:38:16 <terceiro> mas qual é exatamente o problema de sincronização?
14:38:25 <terceiro> entre o apt o a-x-c?
14:38:37 <terceiro> a-x-i
14:38:42 <lucasmoura> pq quando u update é executado, o python-apt é sincronizado, mas o apt-xapian-index não
14:38:49 <terceiro> certo
14:39:11 <lucasmoura> ai quando vamos fazer o filtro, pode acontecer de casos onde um pacote saiu do Debian, mas ficou no apt-xapian-index
14:39:13 <lucasmoura> ai da ruim
14:39:25 <terceiro> certo
14:39:43 <lucianopc> o que a gente pode fazer é, só usar o pacote do apt se tiver ele no xapian, acredito que resolve, e não daria muito trabalho pra fazer isso
14:39:45 <terceiro> $ dpkg -L apt-xapian-index  | grep dist | sed -e 's/^/|/'
14:39:46 <terceiro> |/usr/lib/python2.7/dist-packages
14:39:46 <terceiro> |/usr/lib/python2.7/dist-packages/apt_xapian_index-0.48.egg-info
14:39:46 <terceiro> |/usr/lib/python2.7/dist-packages/axi
14:39:47 <terceiro> |/usr/lib/python2.7/dist-packages/axi/__init__.py
14:39:47 <terceiro> |/usr/lib/python2.7/dist-packages/axi/indexer.py
14:39:56 <terceiro> ^ o apt-xapian-index tem uma API pra python, pelo jeito
14:40:08 <lucasmoura> lucianopc: é, de fato pode funcionar
14:40:18 <terceiro> eu acho que vcs tem que usar apenas uma base de dados
14:40:32 <terceiro> pra evitar essa questão aí
14:41:34 <lucianopc> o apt é pratico, por exemplo, para obter os pacotes que são dependencias, e as dependencias reversas
14:41:53 <terceiro> e vcs tentaram usar apenas o apt?
14:42:32 <lucianopc> não, pq a recomendação é feita pela query no xapian, pra mudar isso teriamos que fazer uma refatoração muito grande
14:42:39 <terceiro> certo
14:43:01 <lucasmoura> Bom, dá para olhar se o apt-cache consegue receber a mesma query do xapian
14:43:24 <lucasmoura> e retornar resultados
14:43:39 <lucianopc> lucasmoura: bora dar uma olhada no que compensa mais, adicionar no xapian o que a gente usa do apt, ou o contrário
14:43:43 <terceiro> fica como exercicio pra vcs pensarem nisso
14:43:44 <lucasmoura> mas a questão de pesos que o Xapian fornece, acho que seria perdido
14:43:58 <lucasmoura> lucianopc: okay
14:44:31 <terceiro> lucianopc: mais alguma coisa?
14:44:51 <terceiro> a gente acabou misturando questões gerais, mas tudo bem
14:44:54 <lucianopc> não, eram essas as duvidas mesmo, obrigado terceiro
14:45:01 <terceiro> blz
14:45:04 <terceiro> vamos em frente
14:45:17 <terceiro> #topic lucasmoura
14:45:24 <terceiro> lucasmoura: vc já se mudou?
14:45:50 <lucasmoura> já sim
14:45:59 <lucasmoura> cheguei quinta passada
14:46:07 <terceiro> e aula começa quando?
14:46:15 <lucasmoura> já começou
14:46:23 <lucasmoura> tenho até lista para fazer já kkkkk
14:46:50 <terceiro> vixe
14:47:06 <terceiro> tá dificil a vida/
14:47:06 <terceiro> ?
14:47:16 <lucasmoura> acho que vai ficar
14:47:35 <lucasmoura> acho que minhas escolhas iniciais de matérias não foram as melhores
14:47:40 <lucasmoura> mas vamos ai
14:48:10 <lucianopc> lucasmoura: se quiser marcar um horário pra fazermos um hangout, pra tirar umas dúvidas do pacote contigo, e aí eu posso ir fazendo essa parte, até pra testar essa parte com o apt no pacote
14:48:34 <lucianopc> aí tu se preocupa menos com isso e pega um tempo a mais aí
14:49:39 <lucasmoura> o pacote ta quase pronto lucianopc
14:49:53 <lucasmoura> acho que o que ta acontecendo agora é só redundância
14:50:00 <lucasmoura> tipo, criar um comando apprec --update
14:50:10 <lucasmoura> para já rodar o apprec --init e apprec --train juntos
14:50:21 <lucasmoura> e resolver essa questão do /var/lib
14:50:29 <terceiro> pelo q eu percebi esses 2 são _sempre_ chamados juntos
14:50:36 <terceiro> entÃo na verdade deveriam ser 1 só :)
14:50:42 <lucasmoura> de fato
14:51:00 <lucasmoura> terceiro: boas novas
14:51:07 <lucasmoura> finalmente a parada do AppStream foi aceita
14:51:12 <lucasmoura> merge concluído
14:51:21 <terceiro> massa
14:51:30 <lucianopc> lol :D
14:51:57 <lucasmoura> o Matthias tinha comentado umas paradas para arrumar
14:52:05 <lucasmoura> e quando pensei em ir lá e começar
14:52:16 <lucasmoura> ele mesmo arrumou e fez o merge
14:52:29 <lucasmoura> kkkkk
14:52:55 <lucasmoura> Mas bom, mandar o report também, antes que eu esqueça
14:53:06 <lucasmoura> What I have done during the weekend:
14:53:06 <lucasmoura> * Fix AppRecommender package
14:53:07 <lucasmoura> * Add apt hook to apt package
14:53:07 <lucasmoura> * Add option to show user classification for the packages. This classification
14:53:07 <lucasmoura> is based on the time of use of each package
14:53:07 <lucasmoura> * Refactor AppRecommender strategy factory. To allow merging strategies
14:53:07 <lucasmoura> * AppStream functionality was merged.
14:53:08 <lucasmoura> What I will do this week:
14:53:08 <lucasmoura> * Finish AppRecommender package
14:53:11 <lucasmoura> * Make AppRecommender create AppStream files
14:54:28 <terceiro> ok
14:54:31 <terceiro> parece bom
14:54:42 <lucianopc> lucasmoura: uma dúvida, quando usa a interface gráfica, aparece todos os pacotes que tem no apt?
14:55:10 <lucianopc> pq se não, temos que colocar isso na estratégia, pra limitar para os que aparecem
14:57:15 <lucasmoura> interface gráfica ?
14:57:40 <lucianopc> o instalador de pacotes via interface gráfica
14:57:51 <lucasmoura> não não
14:57:55 <lucasmoura> isso é outra coisa
14:58:02 <lucasmoura> o AppStream só prove os metadados
14:58:23 <lucianopc> ah sim, verdade, ops, tinha esquecido, foi mal
14:58:26 <lucasmoura> nosso caso, vai ser gerar os metadados para o AppStream
14:58:34 <lucasmoura> que permite fazer o merge dos componentes
15:00:54 <terceiro> lucasmoura: tem alguma coisa especifica q a gente precisa discutir?
15:02:17 <lucasmoura> Só uma dúvida
15:02:34 <lucasmoura> Sobre o hook do apt, você comentou que tava bem parecido com o cron
15:03:02 <lucasmoura> mas eu não entendi,  nesse caso, exatamente o que fazer para evitar a redundância
15:03:30 <terceiro> primeira coisa é ter um comando só
15:03:35 <terceiro> que a gente já discutiu mais cedo
15:04:36 <terceiro> outra coisa é, eu acho que tem que rodar esse treco o tempo todo
15:04:47 <terceiro> é no cron, no apt update, etc etc
15:05:59 <lucasmoura> calma ai, achei que tava errado rodar o AppRecommender toda hora
15:06:40 <terceiro> é, foi o que eu quis dizer
15:06:57 <lucasmoura> ah sim kkkk
15:07:01 <terceiro> eu acho que _é errado_ ter que rodar esse treco o tempo todo
15:07:30 <lucasmoura> bom, se consertarmos essa questão da base da dados
15:07:36 <lucasmoura> acho que esse problema morre
15:07:46 <lucasmoura> pq ai fica só no cron mesmo
15:07:49 <terceiro> provavelmente
15:11:51 <terceiro> mais alguma coisa?
15:12:15 <lucasmoura> acho que dá minha parte não
15:12:32 <terceiro> certo
15:12:36 <terceiro> #topic AOB
15:12:46 <terceiro> me lembrem aí quando é o prazo do gsoc
15:12:59 <terceiro> eu recebi um email do google esses dias dizendo que era "logo"
15:13:14 <terceiro> temos que começar a planejar pra passar a régua
15:13:17 <lucasmoura> acho que é até dia 23
15:13:30 <lucasmoura> para fazer a submissão do que fizemos
15:13:58 <terceiro> certo
15:14:03 <lucianopc> sim, do dia 15 ao 23
15:14:14 <terceiro> pensem aí como exatamente vão fazer
15:14:23 <lucianopc> ok
15:14:24 <terceiro> acho que teve bastante trabalho, então tá tranquilaço
15:14:44 <terceiro> acho que uma lista de URLs commits no gitlab tá ok
15:14:51 <terceiro> vê se as regras do gsoc permitem isso
15:14:56 <lucasmoura> certo
15:15:02 <lucasmoura> acho que permite sim
15:15:18 <lucasmoura> mas tem que postar isso em uma página se não me engano
15:15:22 <lucasmoura> algo do tipo
15:16:32 <terceiro> certo
15:16:35 <terceiro> vejam isso aí
15:16:37 <lucianopc> terceiro: acredito que pode ser isso sim
15:16:40 <lucasmoura> okay
15:16:44 <lucianopc> Be sure to discuss with your mentor the best options for your project. Each organization will have their own preference on how they want you to show your work product. These next few weeks are a very important time to be sure you are communicating with your mentors.
15:17:23 <terceiro> certo
15:17:42 <terceiro> vão planejando 1 blog post cada um como um "relatório final" aí
15:17:51 <lucasmoura> blz
15:17:52 <lucianopc> ok
15:18:03 <terceiro> vamos finalizar por hoje, deu a hora
15:18:08 <terceiro> #endmeeting