Como 'emerge --sync' no Gentoo Linux sem remover ebuilds antigos?

3

Quando eu uso emerge --sync , meus arquivos .ebuild antigos são removidos. Como obter mais novos .ebuild-s, mas não perder mais?

    
por marioosh 17.08.2011 / 22:53

1 resposta

3

Uma maneira de fazer isso deve ser substituir as opções padrão do portage rsync, excluindo as opções relacionadas à exclusão. As opções padrão estão atualmente codificadas em /usr/lib/portage/pym/_emerge/actions.py da linha 2039 em minha casa.

Excluindo "--force" e "--delete" você adicionaria

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --whole-file --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

para /etc/make.conf . No sentido de que nenhum arquivo ou diretório deveria ser mais deletado.

Editar: Note que normalmente você não gostaria de manter qualquer tais ebuilds dentro da portage tree que você está sincronizando.

Se você deseja preservar ebuilds específicos, há dois cenários típicos:

  • Você está usando um ebuild desatualizado que deseja manter.
  • Você mesmo escreveu um ebuild, ou encontrou um ebuild em algum lugar, e o adicionou ao portage tree ao qual está sincronizando.

Em ambos os casos, a melhor solução é copiar esses ebuilds para uma sobreposição local. Você também pode ter que copiar ebuilds que eles estão dependendo. Veja como criar uma sobreposição local simples: link

    
por 17.08.2011 / 23:59

Tags