Gentoo

Como escrever Ebuilds do Gentoo

Como escrever Ebuilds do Gentoo
Se você não tem o pacote Gentoo que deseja, não tenha medo! Você pode construir o seu próprio! Para fazer isso, você precisará de alguma experiência com a compilação de software usando os kits de ferramentas conhecidos do Linux make, gcc e outros. Para criar um pacote Gentoo, 'emake' é usado para controlar e ajustar o processo. Usando essas ferramentas, você pode criar pacotes muito pequenos que são executados de forma rápida e confiável.

Estrutura Ebuild

Para criar sua própria ebuild, você deve começar com o * correto.arquivo ebuild. Seu arquivo ebuild é o coração de toda sua ebuild. O arquivo ebuild depende de muitos outros arquivos, assim como o make faz. Na verdade, na maioria dos casos, sua ebuild dependerá de marca, embora seja sua escolha. A seguir está a árvore do neovim:
/ mnt / SW / projects / System / Gentoo / gentoo / app-editors / neovim
├── arquivos
│ ├── neovim-0.4.3-gcc-10-fix.correção
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.4-cmake-release-type.correção
│ └── sysinit.vim
├── Manifesto
├── metadados.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild

Então, para que você usa esses arquivos em seu aplicativo? O *.O arquivo ebuild é o arquivo óbvio. Este arquivo contém o SRC_URI, que aponta diretamente para o código. Outras informações no arquivo incluem a descrição, o site e outras informações necessárias para compilar o pacote.

O arquivo de manifesto contém o hash que identifica exclusivamente o código.

Os metadados.O arquivo xml contém o nome do mantenedor e endereço de e-mail, o nome do projeto e alguns sinalizadores para compilar. A identidade remota também está localizada neste arquivo, como o repositório GitHub para o upstream. O diretório de arquivos contém todos os patches que você possa precisar e quaisquer configurações especiais que você precise. O exemplo acima mostra um arquivo com configurações apropriadas de acordo com os mantenedores do Gentoo.

Dentro do arquivo Ebuild

Os valores dentro do arquivo são fáceis de entender, em sua maioria. A descrição e a página inicial são para a ajuda do desenvolvedor. O número EAPI indica qual versão do Gentoo será executada. Você também tem a Licença, que é bastante clara; combine a licença com o código para o qual você está construindo um arquivo ebuild.

Ainda mais complicado é SLOT, que é usado se você precisar ter várias versões. SLOT irá então apontar esta compilação para a versão que você está suportando. A maioria dos softwares terá o valor 0, permitindo apenas uma versão de cada vez.

KEYWORDS é o valor que indica quais plataformas para as quais seu código-fonte pode compilar. Os fornecidos são amd65, x86 e possivelmente arm64. Uma lista completa está disponível em seu sistema Gentoo. Observe que se você quiser contribuir, você devo defina um til (~) na frente da arquitetura. Isso significa que o código não foi testado, então certifique-se de que o código foi bem testado antes de remover este símbolo. De preferência, faça com que muitos usuários vejam o código antes de remover o til.

A variável IUSE retorna aos parâmetros que você deseja definir para o seu compilador.

Você também tem DEPEND, que vem em três tipos diferentes. Os valores RDEPEND são os valores que você usa ao executar o código. Os valores BDEPEND são os valores dependentes de construção. O pacote que você está tentando adicionar ao Gentoo irá conter um arquivo que descreve as dependências necessárias.

Para pacotes simples, você não precisa de mais nada. No entanto, o pacote específico no qual você está trabalhando provavelmente terá algumas coisas que devem ser feitas antes de compilar o código. Se isso não corresponder ao que os desenvolvedores do Gentoo esperavam, você pode configurar o seu próprio.

Funções

No arquivo, o instalador usará certas funções para todo o processo. Por exemplo, para aplicar patches antes de executar o comando, o src_prepare () função vai lidar com esta situação.

O src_configure () função usa econf para definir, i.e., 'use_enable.'Nesta função, você pode descompactar seus arquivos usando o comando unpack. Você também pode passar args para ./ configure para o seu projeto usando econf. Como você pode ver, essas funções são nomeadas de acordo com seus equivalentes, e muitas vezes, elas passam argumentos entre.

O src_install () função desempenha a mesma função que faço instalar faria em uma construção C / C ++. No entanto, ele contém muitas opções que você pode consultar no documento de referência.

A maioria das funções existe para quando você tem um software de caso especial. Você provavelmente irá começar a se aprofundar nessas funções quando tentar implementar seu primeiro pacote.

Exemplo: Arquivo de pacote SimulIDE

Aqui, apresentamos um arquivo que foi criado para o pacote SimulIDE. O pacote requer um ambiente de desenvolvimento Qt5, então você precisará adicioná-lo ao seu arquivo ebuild. Na imagem a seguir, você pode ver os valores RDEPEND refletindo esta ideia. As bibliotecas já estão contidas nos repositórios do Gentoo, o que torna fácil apontar para.

# Copyright 2021 Mats Tage Axelsson
# Distribuído sob os termos da GNU General Public License v3
EAPI = 7
DESCRIPTION = "SimulIDE simula seus projetos de circuito, inclui emulação de Arduino."
HOMEPAGE = "https: // www.simulídio.com / p / home.html "
SRC_URI = "https: // mailfence.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Sources.alcatrão.gz "
LICENÇA = "GPL-3"
SLOT = "0"
PALAVRAS-CHAVE = "~ x86 ~ amd64"
RDEPEND = "dev-qt / qtsvg
dev-qt / qtxml
dev-qt / qtscript
dev-qt / qtwidgets
dev-qt / qtconcurrent
dev-qt / qtserialport
dev-qt / qtmultimedia "
DEPEND = "$ RDEPEND
dev-libs / libelf
dev-embedded / avr-libc "
src_prepare ()
desempacotar simulide_0.4.14-SR4_Sources.alcatrão.gz

src_configure ()
econf --with-popt

No src_prepare () função, você pode ver que o pacote é descompactado antes de usar.

Sobreposição

Depois de cortar e limpar todos os seus erros, você pode querer adicionar seu pacote ao projeto Gentoo. Layman foi criado para que você possa usar um software experimental para a instalação da sua distribuição principal. O projeto é denominado Overlays, mas o comando para instalá-lo é denominado Layman.

Conclusão

Criar novos pacotes para o Gentoo é uma tarefa que pode aumentar suas habilidades. Mesmo assim, se você construiu muitos pacotes antes de usar make e o conjunto de ferramentas gcc, você deve ser capaz de pegar este processo rapidamente. Além disso, certifique-se de contribuir de volta para a comunidade o máximo que puder.

Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...
WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...