Como obter o mais recente gVim no Ubuntu 14.04? [duplicado]

0

Eu gostaria de criar um gVim AppImage usando pacotes do 14.04 (por que não 16.04? Porque os pacotes do 16.04 são muito novos já que o AppImages só será executado em distribuições mais recentes ou da mesma idade da distribuição de quem eles são compilados). Agora eu gostaria que o meu gVim AppImage fosse para a versão mais recente do gVim, então eu preciso de um repositório para o 14.04 que forneça o mais recente gVim. Eu pesquisei o Launchpad para PPAs do Vim que são mantidos e não encontrei nenhum (todos os que eu encontrei estão desatualizados).

Minhas perguntas:

  • Eu sei que posso construir o mais recente gVim como um pacote Debian com o checkinstall, mas eu quero usar o gVim de um repositório de pacotes para construir o meu gVim AppImage, pois torna as coisas muito mais simples. Onde posso encontrar um pacote Debian recente do gVim?

  • Como posso criar um contêiner AppImage a partir de um conjunto arbitrário de binários (baixados em algum lugar ou compilados da fonte)?

por BH2017 28.10.2016 / 06:34

1 resposta

2

Um AppImage é basicamente apenas uma imagem do sistema de arquivos de montagem automática que contém o aplicativo e tudo o que ele precisa para executar em um único arquivo.

Aqui está um exemplo que cria o GNU Emacs no Travis CI e o empacota como um AppImage: link

Você deve poder fazer o mesmo para o gVim.

  1. Reúna os binários adequados. Se o aplicativo já tiver sido compilado, você poderá usar binários existentes (por exemplo, contidos em arquivos .tar.gz, deb ou rpm). Observe que os binários não devem ser compilados em distribuições mais recentes do que aquelas que você está segmentando. Em outras palavras, se você está alvejando o Ubuntu 9.10, você não deve usar binários compilados no Ubuntu 10.04. Para projetos upstream, pode ser vantajoso compilar compilações especiais para uso em AppImages, que é o que eu recomendaria neste caso. Veja o exemplo do GNU Emacs acima. (Para reutilizar binários existentes, consulte link .)
  2. Reunir binários adequados de todas as dependências que não fazem parte dos sistemas operacionais de base que você está segmentando . Por exemplo, se você está almejando o Ubuntu, o Fedora e o openSUSE, então você precisa reunir todas as bibliotecas e outras dependências que seu aplicativo requer para executar e que não fazem parte do Ubuntu, Fedora e openSUSE na instalação padrão.
  3. Crie um AppDir em funcionamento a partir de seus binários. Um AppImage funcional executa seu aplicativo quando você executa seu arquivo AppRun. Novamente, veja o exemplo do GNU Emacs acima.
  4. Transforme seu AppDir em um AppImage. Isso comprime o conteúdo do seu AppDir em um único arquivo de auto-montagem e auto-executável. O exemplo acima usa a função generate_type2_appimage de functions.sh para isso.
  5. Teste seu AppImage em todos os sistemas operacionais de base que você está segmentando. Este é um passo importante que você não deve pular. Diferenças sutis nas distribuições tornam isso obrigatório. Embora seja possível, na maioria dos casos, criar AppImages que sejam executados em várias distribuições, isso não é feito automaticamente, mas requer um cuidadoso ajuste manual.

Isso soa mais complicado do que realmente é, todas as etapas além do teste podem ser feitas em um pequeno script bash como no exemplo. Como você pode ver no link , é fácil produzir um AppImage.

Eu recomendo trabalhar em conjunto com os autores do software, para que o próprio projeto original forneça uma AppImage oficial. Dessa forma, o projeto upstream pode controlar a experiência do usuário de ponta a ponta do software; algo que muitos projetos de aplicativos upstream apreciam. Os usuários também podem ter certeza de que o AppImage é reunido exatamente da maneira que os autores originais do software pretendem e não são alterados de alguma forma pelos intermediários.

    
por probono 28.10.2016 / 07:25