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