14:06:25 #startmeeting 14:06:25 Meeting started Thu Jul 28 14:06:25 2016 UTC. The chair is terceiro. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:06:25 Useful Commands: #action #agreed #help #info #idea #link #topic. 14:06:35 #topic lucianopc 14:06:37 mande ver 14:06:39 voltei também 14:06:51 What was done 14:06:51 ============= 14:06:51 Create privacy text to use popcon data 14:06:51 - This text explains how AppRecommender wants to use the popularity-contest 14:06:51 data. On text its informed what is the popularity-contest and his data, 14:06:52 how to transform this data into clusters to improve the AppRecommender 14:06:52 recommendation, the privacy risks that are involved, and the measures 14:06:54 taken to minimize those risks 14:06:54 - The text its on line 111 of pad https://pad.riseup.net/p/apprec-privacy 14:06:57 Create text for the Debian planet 14:06:57 - This text explains my work on Google Summer of Code 14:06:58 - Pad link for this text: https://pad.riseup.net/p/luciano_planet_gsoc 14:06:58 Create another strategy for makes recommendation with a referenced package 14:07:01 - This strategy its on branch 'package_reference_strategy' on 14:07:01 repository: https://github.com/TCC-AppRecommender/AppRecommender/ 14:07:02 - It has not been added on AppRecommender master because this code need 14:07:02 be improve 14:07:04 - This strategy implements the following steps: 14:07:04 - Given a list of referenced packages, for example the packages installed 14:07:06 with 'apt-get install vim python', the list of referenced packages 14:07:06 contains 'vim' and 'python'. 14:07:09 - Add on content profile the name of referenced packages, for this 14:07:09 example its added 'vim' and 'python', this content profile its used as a 14:07:10 query to xapian database return the recommendations. 14:07:10 - By default the xapian databases used on recommendation its on 14:07:13 '~/.apprecommender/axi_desktopapps', but the dependencies of uninstalled 14:07:13 packages are not indexed on this database, therefore its used the 14:07:14 '/var/lib/apt-xapian-index/index' as xapian databases, because this 14:07:14 databases contains all debian packages. 14:07:17 - Run recommendation and filter the packages, to recommends only the 14:07:17 packages that have one of packages on list of referenced packages as 14:07:18 dependency. Example: for vim can recommends vim-gtk and vim-athena, and 14:07:18 for python can recommends founded python-numpy. 14:07:20 Milestone: https://gitlab.com/AppRecommender/AppRecommender/milestones/13 14:07:20 To the next week 14:07:23 ================ 14:07:23 - Fix text about privacy text to use popcon data 14:07:24 - Fix text for the Debian planet 14:07:24 - Add text on Debian planet 14:07:27 - Improve the strategy for makes recommendation with a referenced package 14:07:27 - Run the package referenced strategy after user install packages with apt 14:07:28 Milestone: https://gitlab.com/AppRecommender/AppRecommender/milestones/14 14:10:23 terceiro: quanto ao texto pro planet, obrigado pelo feedback, vou ficar atento aqueles erros, e pedir uma ajuda pro lucasmoura no inglês 14:11:31 lucianopc: eu sinto que esse negócio do popcon está se arrastando a um tempo 14:11:52 falta o q exatamente? 14:12:19 mandar o texto pra eles, e conseguir colocar o script no servidor 14:12:24 se for o texto explicando o processo, nos fechamos a primeira versão já 14:12:29 conforme pedido semana passada 14:12:50 como tratar os dados do popcon até chegar na recomendação já está implementado 14:13:22 ok, então a gente tem um texto explicando, e um patch para o popcon? 14:13:30 sim 14:13:41 ok. manda os 2 por email, que eu vou olhar 14:13:47 blz 14:14:08 #info we have the popcon patch and the text explaining how the data is used ready 14:14:29 #action lucianopc will send the popcon patch and the text explaining how the data is used by email 14:14:40 #action terceiro will review the popcon patch and the text explaining how the data is used 14:15:01 em geral, sempre que vcs tiverem algo pronto, não precisa esperar a reunião semanal, pode mandar 14:15:10 certo 14:15:13 ok 14:15:25 ao invés de esperar chegar na reunião, eu perguntar "cadê" e vcs dizerem "tá aqui" 14:15:26 :) 14:16:04 outra dúvida, os dados de saída do script são dois arquivos de texto 14:16:16 já deixa eles compactados em um tar.gz, ou não precisa? 14:16:44 compacta cada um indivualmente com xz 14:16:50 foo.xz 14:16:53 blz 14:16:53 bar.xz 14:17:10 já tem o código que gera as assinaturas gpg? 14:18:26 vamos gerar uma para o servidor e uma para o cliente (o AppRecommender)? 14:18:34 ou só uma pro servidor mesmo? 14:19:01 o servidor só gera a assinatura 14:19:04 o cliente só verifica 14:19:49 ok, e pra esse caso, a chave pro cliente verificar a assinatura, já vai estar no AppRecommender, no pacote? 14:19:54 ou será transferido pelo servidor? 14:20:08 popularity-contest: /usr/share/popularity-contest/debian-popcon.gpg 14:20:20 o popularity-contest tem a chave publica do servidor 14:21:14 vc vai querer algo como 14:21:15 $ gpgv --keyring /usr/share/popularity-contest/debian-popcon.gpg ASSINATURA 14:21:32 (não testei) 14:22:05 ok, vou testar 14:22:07 outra dúvida, então o pacote do AppRecommender tem que ter o popularity-contest como dependencia? 14:22:12 lucianopc: sim 14:22:20 faz sentido até 14:22:28 sim, verdade 14:22:38 se vc vai usar os dados dos outros pra recomendar pacotes pra vc, nada mais justo do que vc contribuir tb 14:22:59 éh, faz sentido :) 14:23:39 então essa semana vou focar logo em fechar toda essa parte da transferencia 14:24:07 então tá mudando o plano em relação ao q vc postou aí em cima? 14:24:18 quero adicionar kk 14:24:33 vc não vai conseguir fazer tudo ... 14:24:34 tudo bem? 14:24:45 faça plano realistas, e não se decepcione 14:25:45 ok, então, vou remover essa parte de melhorar a estratégia, acredito que é bem mais importante ter essa parte da integração do popcon com o AppRecommender funcionando 14:25:50 tudo bem? 14:25:58 lucianopc: blz 14:27:43 sim, com relação ao planet vcs entenderam que tem q criar um blog né 14:27:50 sim 14:27:59 ta como tarefa dessa semana já 14:28:25 ok 14:28:30 lucianopc: ? 14:28:44 sim, entrei la no canal debian-www, eles falaram que pode ser qualquer blog 14:29:24 eu já tinha dito isso :) 14:29:36 foi mal, confundi, falaram que o nosso web site pessoal é a melhorlugar 14:29:55 e é 14:29:56 aí estava lendo a wiki do Debian planet 14:29:59 vc tava pensando no q? 14:30:29 antes de vc explicar eu pensei que fosse só um post 14:31:12 terceiro: qual o link do seu blog? ou site pessoal? queria ver 14:31:30 http://softwarelivre.org/terceiro 14:31:47 eu uso o blog do noosfero mesmo no sl.org 14:32:15 obrigado :) 14:33:04 estava na dúvida de onde criar 14:33:15 eu não queria influenciar vcs, mas simplesmente usar seu perfil num noosfero da vida (sl.org encaixa perfeitamente) é uma opção bem prática 14:33:46 certo, tinha pensado no github pages. Mas acho que essa seria melhor mesmo 14:33:55 tanto faz 14:34:06 qq coisa q funcione 14:34:11 certo 14:34:18 ok 14:35:06 lucianopc: essa semana agora então fechar os textos e a integração com popcon 14:35:07 ? 14:35:09 mais alguma coisa? 14:35:25 sim, isso mesmo, acredito que está bom 14:36:12 lucianopc: blz. mais alguma coisa do seu projeto pra gente discutir hoje? 14:36:48 se surgir algumas dúvidas, tem algum horário que vc acha melhor pra te chamar no irc? 14:37:25 só pra não atrapalhar em momentos que vc esteja ocupado 14:38:05 não ... em geral pode perguntar sempre, se eu estiver concentrado/ocupado o pior q acontece é eu responder mais tarde 14:38:19 blz, vlw 14:38:37 mesmo se eu estiver offline na vida real, meu proxy tá sempre online em meu nome 14:38:49 pode perguntar até 4h da manhã que quando eu conectar eu respondo :) 14:39:06 kkk obrigado :) 14:39:31 vamos em frente 14:39:32 #topic lucasmoura 14:39:38 okay 14:39:56 What I have done during the weekend: 14:39:56 * Allow AppRecommender to be installed on /var/lib 14:39:56 * Add more package filters 14:39:56 * Created texts for planet 14:39:56 * Aid @lucianopc on popularity-contest cluster text 14:39:58 * Fix issue with unused modules being installed by AppRecommender 14:39:58 What I will do this week: 14:40:00 * Create new AppRecommender package with the given fixes 14:40:00 * Create the cronjob for both apprec --init and apprec --train 14:40:03 * Create blog to allow integration with planet 14:40:03 * Create component with partial or merge type (AppStream) 14:40:25 Bom, acho que de melhor notícia, é que acho que finalmente esse patch do AppStream vai sair 14:40:34 massa 14:40:44 o Matthias pediu para eu adicionar só mais uma coisa no patch, que é algo relativamente simples 14:40:50 mas acho que agora vai 14:41:18 sucesso 14:41:39 Ai além disso, agora também é possível que o AppRecommender instalar as paradas do banco tanto na HOME quanto no /var/lib 14:41:51 a questão do /var/lib na verdade é change apprecommender to store data in /var/lib 14:41:51 eu perdi mais tempo nisso do que pensei 14:42:05 sim 14:42:15 o apt-file fazia isso antigamente 14:42:28 se vc era root, usava o /var/lib, senão ~/.apt-file 14:42:41 acho que isso não dá muito certo, porque o mantenedor desistiu disso 14:43:11 sim, o @lucianopc até me recomendou a fazer isso 14:43:26 mas achei que não seria a melhor abordagem 14:43:49 mas hj, basicamente no pacote vou só criar um patch para mudar o diretório base no config.py para /var/lib 14:43:57 em desenvolvimento, ainda continua instalando na HOME 14:44:17 hm ... sei não 14:44:44 acha melhor fazer essa questão do contexto mesmo ? 14:44:46 o melhor seria usar uma variável de ambiente, ou uma opção de linha de comando, e em desenvolvimento passar um diretório local nisso 14:45:13 certo, posso fazer isso sem problema 14:45:48 os.getenv("APPRECOMMENDER_DATADIR", "/var/lib/apprecommender") 14:46:07 em desenvolvimento, vc pode criar um script wrapper, que faz 14:46:25 export APPRECOMMENDER_DATADIR=$(pwd)/data 14:46:30 e chama o script pricipal 14:47:00 certo 14:47:39 #info Appstream patch almost done 14:48:06 lucasmoura: e o apprecommender já gera esses dados no formato que o Appstream espera? 14:48:27 ainda não 14:48:35 certo 14:48:38 será minha primeira tarefa depois do patch ser aceito 14:48:41 ok 14:49:03 #info after the Appstream patch is in, lucasmoura will implement the generation of the data files in apprecommender 14:49:33 ai além disso, o único arquivo que ainda to deixando na HOME do usuário, tanto em devel quanto em prod, foi o log do apprecommender 14:49:56 eu falei com o time de python sobre isso, e me recomendaram a deixar o log na HOME mesmo 14:50:08 certo ... 14:50:17 esse log quarda o q exatamente? 14:50:46 basicamente ele guarda o fluxo de execução do apprecommender e erros, caso acontecerem 14:51:18 ok. e quanto roda como root fica no home do root? 14:51:27 não 14:51:36 eu fiz esse tratamento também 14:51:47 certo 14:51:50 parece o 14:51:51 se rodar como root na hora de gerar esses arquivos 14:51:51 ok 14:52:02 eu dou um chmod nele para alterar as permissões de escrita 14:52:39 e também, fiz o tratamento para o path do arquivo 14:53:16 não entendi a parte do chmod 14:53:35 quando eu tava criando esse arquivo como o root, o log 14:53:47 ele não tava dando permissão de escrita para outros usuários 14:53:50 só de leitura 14:53:57 ai fiz o chmod para isso 14:54:05 entretanto, não sei se foi a melhor abordagem 14:55:06 oi? 14:55:10 e onde fica o log? 14:55:28 fica na HOME do usuário 14:55:37 de qual usuário? 14:55:46 se eu rodo como root, ele escreve no HOME de outro usuario/ 14:55:47 ? 14:55:48 ??? 14:56:32 eu pego a variável de ambiente SUDO_USER 14:56:39 para fazer esse tratamento 14:56:49 e USER, quando não é com sudo 14:57:03 vixe 14:57:10 muito errado ? kkkk 14:57:23 erradinho 14:58:44 então, comandos de sudo não deveriam criar o log ? ou tem que ter um log para cada usuário que roda o apprecommender ? 14:58:50 atualmente, o log é criado quando o --init é executado 14:59:01 se vc rodou com sudo vc é root, o log vai para o HOME do root 14:59:04 ou para /var/log/ 14:59:22 lucasmoura: tente o seguinte pra fazer o que acontece: 14:59:32 mkdir ~/.apprecommender 15:00:04 ln -s /etc/passwd ~/.apprecommender/log # (ou qual seja o nome do arquivo de log) 15:00:12 sudo apprec --qqcoisa 15:00:29 certo, vou testar aqui 15:00:39 eu tenho impressão que coisas ruins podem acontecer 15:00:51 lucasmoura: ao invés de /etc/passwd, use um arquivo temporário 15:00:56 mas no fluxo básico que eu pensei, o usuário só rodaria como sudo os comandos de criação do banco e treinamento do ml 15:01:05 tipo /tmp/lalala, dono root, permissão 0644 15:01:16 certo 15:01:31 lucasmoura: essas coisas deveriam ser feitas em background, e não na mão pelo usuário 15:01:53 certo 15:01:58 vc realmente espera que um usuario mais leigo -- que é quem isso pode mais beneficiar, no final das contas -- abra um terminal e rode coisas como root? 15:02:20 é, de fato 15:02:38 mas então eu realmente vou ter que tirar a criação do log do --init 15:02:39 lucasmoura: na real na real, o ideal seria ter um usuário do sistema, epsecífico pra isso, e nunca rodar nada como root 15:02:58 pense em separar as coisas 15:03:20 okay 15:03:24 uma coisa é atualizar o banco de dados; isso é feito pelo usuaŕio do sistema "apprec", em /var/lib/apprecommender. só ele pode escrever lá 15:03:39 outra coisa é consultar; qq usuário que possa ler /var/lib/apprecommender consegue fazer 15:04:24 certo, conhece algum pacote que crie um usuário assim ? Só para eu poder me espelhar um pouco para fazer no pacote do AppRecommender 15:04:25 como o apt 15:04:40 tem o apt 15:04:43 deixa eu ver um mais simples 15:05:19 lucasmoura: mas é o mesmo que vc já estava fazendo para o root, só que em vez de root, usa um usuario proprio 15:05:36 okay 15:06:15 a unica diferença substancial é criar o usuario no postinst 15:06:52 pra isso vc pode por exemplo olhar o postinst do debci 15:07:15 certo, eu faço o chown no postinst também ? 15:07:18 ou de qq outro pacote q cria um usuario proprio, como mysql postgresql etc 15:07:27 sim 15:08:00 certo, vou dar uma olhada 15:09:28 okay, adicionar essa tarefas no backlog então 15:09:57 revisar a criação do log e criar um usuário para o apprecommender para atualização do banco 15:11:21 ok 15:12:37 mas acho que da minha parte foi isso 15:12:51 o resto foi os textos do planet e o que eu ajudei o @lucianopc 15:13:30 k 15:13:39 vamos encerrar então 15:14:04 #info apprecommender must run in the background as a system user and not root 15:14:12 #undo 15:14:12 Removing item from minutes: 15:14:32 obrigado terceiro 15:14:36 #info apprecommender must run the writing part (i.e. creating/updarting the DB) in the background as a system user and not root 15:14:49 #info the reading part (client) can be used as any user 15:14:59 #endmeeting