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