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