# .desktop e comando para criar um .ebuild

## Xinitrc

1)Dê um exemplo de .desktop no Gentoo,porque estou em dúvida no que coloca em Type:

2)Qual o comando para criar um .ebuild?

----------

## ff11

 *Xinitrc wrote:*   

> 1)Dê um exemplo de .desktop no Gentoo,porque estou em dúvida no que coloca em Type:

 

Use:

Type=Application

EDIT: Os possíveis valores de Type são: Application, Link e Directory

 *Xinitrc wrote:*   

> 2)Qual o comando para criar um .ebuild?

 

ebuilds são apenas arquivos de texto, então você pode usar qualquer editor de texto puro para criar um.

Como Criar um ebuild no Gentoo

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   1)Dê um exemplo de .desktop no Gentoo,porque estou em dúvida no que coloca em Type: 
> 
> Use:
> 
> Type=Application
> ...

 

Sim,mas o arquivo.desktop vai dentro de uma pasta,assim como no DEBIAN,tipo pasta DEBIAN>arquivo control,essas coisas precisam no .ebuild do gentoo?

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Sim,mas o arquivo.desktop vai dentro de uma pasta,assim como no DEBIAN,tipo pasta DEBIAN>arquivo control,essas coisas precisam no .ebuild do gentoo?

 

Se você for criar somente para o seu usuário a pasta é:

${HOME}/.local/share/applications

e no sistema para todos os usuários é:

/usr/share/applications

e se você quiser ver como isso é instalado via ebuild, basta usar o mail-client/thunderbird-bin como exemplo:

https://github.com/gentoo/gentoo/tree/master/mail-client/thunderbird-bin

na pasta files/icon está o arquivo .desktop:

https://github.com/gentoo/gentoo/blob/master/mail-client/thunderbird-bin/files/icon/thunderbird-bin-r2.desktop

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Sim,mas o arquivo.desktop vai dentro de uma pasta,assim como no DEBIAN,tipo pasta DEBIAN>arquivo control,essas coisas precisam no .ebuild do gentoo? 
> 
> Se você for criar somente para o seu usuário a pasta é:
> ...

 

Fiz,mas aparece esse erro:

junior-aspiref5573g /home/junior # ebuild CalculadoraDeDecimoTerceiroSalario.ebuild manifest clean merge

Appending / to PORTDIR_OVERLAY...

!!! Repository 'x-' is missing masters attribute in '/metadata/layout.conf'

!!! Set 'masters = gentoo' in this file for future compatibility

ebuild: /home/junior/CalculadoraDeDecimoTerceiroSalario.ebuild: home/CalculadoraDeDecimoTerceiroSalario: does not follow correct package syntax

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Fiz,mas aparece esse erro:
> 
> junior-aspiref5573g /home/junior # ebuild CalculadoraDeDecimoTerceiroSalario.ebuild manifest clean merge
> ...

 

Sim. O ebuild requer ser parte de um repositório/overlay e que se tenha a estrutura adequada, como:

```

localrepo

├── metadata

│   └── layout.conf

├── profiles

│   └── repo_name

└── sci-calculators

    └── CalculadoraDeDecimoTerceiroSalario

        └── CalculadoraDeDecimoTerceiroSalario.ebuild

```

com o localrepo/metadata/layout.conf:

```
masters = gentoo
```

com o localrepo/profiles/repo_name:

```
localrepo
```

e o ebuild CalculadoraDeDecimoTerceiroSalario.ebuild no diretório (sci-calculators sendo a categoria):

localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario/CalculadoraDeDecimoTerceiroSalario.ebuild

e com o manifest feito:

```
$ cd localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario

$ repoman manifest

```

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Fiz,mas aparece esse erro:
> 
> junior-aspiref5573g /home/junior # ebuild CalculadoraDeDecimoTerceiroSalario.ebuild manifest clean merge
> ...

 

Deu quase certo,se não fosse esse erro:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario # emerge CalculadoraDeDecimoTerceiroSalario.ebuild manifest clean merge

*** emerging by path is broken and may not always work!!!

 * Last emerge --sync was qui 14 mai 2020 06:05:01 -03.

Calculating dependencies                     h

!!! 'CalculadoraDeDecimoTerceiroSalario.ebuild' is not in a valid ebuild repository hierarchy or does not exist

... done!

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Deu quase certo,se não fosse esse erro:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario # emerge CalculadoraDeDecimoTerceiroSalario.ebuild manifest clean merge
> ...

 

Sim, primeiro  faça o manifest com:

```
$ repoman manifest 
```

depois teste com:

```
$ ebuild CalculadoraDeDecimoTerceiroSalario.ebuild clean install
```

e veja se funcionou primeiro.

Somente então você instala o seu overlay no sistema do Gentoo Linux, para usar o emerge:

1- copiar o repositório para /var/db/repos (/var/db/repos/localrepo)

2- informar o portage de seu repositório:

  a- criando o arquivo: /etc/portage/repos.conf/localrepo.conf com:

```

[localrepo]

location = /var/db/repos/localrepo

masters = gentoo

auto-sync = no

priority=9999

```

Então após fazer o "emerge --sync", você poderá instalar o pacote no sistema com:

```
# emerge CalculadoraDeDecimoTerceiroSalario
```

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Deu quase certo,se não fosse esse erro:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario # emerge CalculadoraDeDecimoTerceiroSalario.ebuild manifest clean merge
> ...

 

O comando repoman não vai diz:

junior-aspiref5573g /home/junior # repoman manifest

bash: repoman: comando não encontrado

será porque estou no redcore,distro baseada no gentoo?

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Deu quase certo,se não fosse esse erro:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario # emerge CalculadoraDeDecimoTerceiroSalario.ebuild manifest clean merge
> ...

 

Agora que instalei o repoman diz ao executa-lo:

junior@junior-aspiref5573g ~ $ repoman manifest

[CRITICAL] Repoman is unable to determine PORTDIR or PORTDIR_OVERLAY from the current working directory

----------

## ff11

seu arquivo desktop pode ser colocado na pasta:

localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario/files

e dentro do seu arquivo ebuild você chama ele com newmenu da eclasse desktop.eclass (ver https://mgorny.pl/articles/the-ultimate-guide-to-eapi-7.html).

sobre o PORTDIR e PORTDIR_OVERLAY, é como o erro diz, você não tem uma configuração valida para usar o seu local overlay.

tente ver sua configuração rodando:

```
# emerge --info
```

----------

## Xinitrc

 *ff11 wrote:*   

> seu arquivo desktop pode ser colocado na pasta:
> 
> localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario/files
> 
> e dentro do seu arquivo ebuild você chama ele com newmenu da eclasse desktop.eclass (ver https://mgorny.pl/articles/the-ultimate-guide-to-eapi-7.html).
> ...

 

Porque está assim:

# BAD: uses INSDESTTREE

dofoo() {

    local INSDESTTREE=/usr/share/foo

    doins "${@}"

}

# GOOD: uses subshell

dofoo() {

    (

        insinto /usr/share/foo

        doins "${@}"

    )

}

src_install() {

    insinto /usr/share/foo

    doins foo

    # BAD: uses INSDESTTREE

    dosym foo "${INSDESTTREE}"/bar

    # GOOD: uses full path

    dosym foo /usr/share/foo/bar

}

# GOOD: uses helper var

src_install() {

    local mypath=/usr/share/foo

    insinto "${mypath}"

    doins foo

    dosym foo "${mypath}"/bar

}

e não assim em todas as linhas:

/usr/share/applications/nomedoprograma(no caso foo)?

Como faço esse newmenu da eclasse da desktop.eclass?

----------

## Xinitrc

Meu arquivo .ebuild:

```

# Copyright 2019 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=7

 

DESCRIPTION="Calculadora feita no Lazarus"

HOMEPAGE="https://gitlab.com/BuiuDeJaraguaDoSul"

SRC_URI="https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/blob/master/CalculadoraDecimo.tar.gz"

 

LICENSE="GPL-2"

SLOT="0"

KEYWORDS="~amd64 ~x86"

src_install(){

    dobin CalculadoraDeDecimoTerceiroSalario

}

```

Meu arquivo .desktop:

```

[Desktop Entry]

Name=CalculadoraDeDecimoTerceiroSalario

Version=1.0

Comment=Calculadora feita no Lazarus

Exec=  /home/junior/CalculadoraDeDecimoTerceiroSalario/usr/bin/CalculadoraDecimo

Icon=  /home/junior/CalculadoraDeDecimoTerceiroSalario/usr/share/icons/Calculadora.png

Type= Application

Categories= GTK;GNOME;Office;Calculator;

Terminal=False

```

----------

## Xinitrc

Olha só o que dá quando tento procurar a CalculadoraDeDecimoTerceiroSalario.ebuild,um programa que fiz no Lazarus(Delphi 7 para Linux):

junior@junior-aspiref5573g ~/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario $ emerge --search CalculadoraDeDecimoTerceiroSalario

[ Results for search key : CalculadoraDeDecimoTerceiroSalario ]

Searching...

Invalid ebuild name: /var/db/repos/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario/CalculadoraDeDecimoTerceiroSalario.ebuild

[ Applications found : 1 ]

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Meu arquivo .desktop:
> 
> ```
> ...

 

Se você já tem o CalculadoraDecimo funcionando em seu usuário, você só precisa colocar o seu arquivo CalculadoraDecimo.desktop em ${HOME}/.local/share/applications como dito antes:

```
$ mv CalculadoraDecimo.desktop /home/junior/.local/share/applications/
```

Mas para instalar no sistema, com o emerge, para todos os usuários, vai precisar do ebuild e repositório correto:

https://drive.google.com/file/d/12ikrbcy0XCjZ1bCBIH0hdDHAQnQToy52/view

Fiz todo o repositório básico com o ebuild funcionando para você (talvez alguma dependência tenha ficado de fora, pois só dei uma passada rápida com ldd), mas como eu não tenho a mínima ideia de onde você tirou o arquivo Calculadora.png, ele ficou de fora. Se quiser incluir ele, basta dizer qual a url dele, que eu modifico o ebuild.

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Meu arquivo .desktop:
> 
> ```
> ...

 

o arquivo Calculadora.png está na pasta CalculadoraDeDecimoTerceiroSalario>usr/share/pixmaps/Calculadora.png

Mas quando procuro com search acontece:

junior@junior-aspiref5573g ~ $ emerge --search CalculadoraDeDecimoTerceiroSalario

[ Results for search key : CalculadoraDeDecimoTerceiroSalario ]

Searching...

Invalid ebuild name: /var/db/repos/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario/CalculadoraDeDecimoTerceiroSalario.ebuild

[ Applications found : 1 ]

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> o arquivo Calculadora.png está na pasta CalculadoraDeDecimoTerceiroSalario>usr/share/pixmaps/Calculadora.png
> 
> 

 

No repositório

https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario

só tem um arquivo CalculadoraDecimo.tar.gz e dentro dele só tem um executável CalculadoraDecimo. Não havia nenhuma Calculadora.png lá.

 *Xinitrc wrote:*   

> 
> 
> Mas quando procuro com search acontece:
> 
> junior@junior-aspiref5573g ~ $ emerge --search CalculadoraDeDecimoTerceiroSalario
> ...

 

Pois seu ebuild está com o nome inválido, e o que eu fiz tem o nome sci-calculators/CalculadoraDecimo-bin

vou postar o conteúdo do ebuild aqui para referência, mas você ainda vai precisar dos outros arquivos que já postei:

```
# Copyright 1999-2020 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=7

KLOGG_PN="${PN/-bin/}"

inherit desktop xdg-utils unpacker

DESCRIPTION="Calculadora feita no Lazarus"

HOMEPAGE="https://gitlab.com/BuiuDeJaraguaDoSul"

SRC_URI="https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz -> ${P}.tar.gz"

RESTRICT="primaryuri"

LICENSE="GPL-3"

SLOT="0"

KEYWORDS="amd64"

RDEPEND="

   app-arch/bzip2

   dev-libs/atk

   dev-libs/fribidi

   media-libs/fontconfig

   media-libs/libpng

   x11-libs/gtk+

   x11-libs/libX11

   x11-libs/gdk-pixbuf

   x11-libs/pango

   x11-libs/cairo

   x11-libs/libXrender

   x11-libs/libXi

   x11-libs/libXrandr

   x11-libs/libXcursor

   x11-libs/libxcb

"

QA_PREBUILT="*"

S="${WORKDIR}"

src_install() {

   mkdir -p "${D}/usr/bin"

   mkdir -p "${D}/usr/share/applications"

   cp "${S}/CalculadoraDecimo" "${D}/usr/bin" || die "Install failed!"

   chmod +x "${FILESDIR}/CalculadoraDecimo.desktop"

   cp "${FILESDIR}/CalculadoraDecimo.desktop" "${D}/usr/share/applications" || die "Install failed!"

}

pkg_postinst() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

pkg_postrm() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

```

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> o arquivo Calculadora.png está na pasta CalculadoraDeDecimoTerceiroSalario>usr/share/pixmaps/Calculadora.png
> 
>  
> ...

 

Não,este arquivo Calculadora.png está numa pasta,mas não disse que está na nuvem,quis dizer que está dentro da home do meu computador,só não especifiquei,risos.

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Não,este arquivo Calculadora.png está numa pasta,mas não disse que está na nuvem,quis dizer que está dentro da home do meu computador,só não especifiquei,risos.

 

Pois é! Como já disse antes, se quiser usar apenas no seu usuário, basta colocar o arquivo .desktop na pasta citada anteriormente. Mas se quiser instalar para todos os usuários, no sistema, com o emerge, vai ter que hospedar o arquivo Calculadora.png também. E corrigir seu localrepo.

----------

## Xinitrc

Veja esses dois comandos um parece que deu certo:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # repoman manifest

>>> Creating Manifest for /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin

  ebuild.notadded               1

   sci-calculators/CalculadoraDecimo-bin/CalculadoraDecimo-bin-9999.ebuild

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # ebuild CalculadoraDeDecimoTerceiroSalario.ebuild clean install

Appending /home/junior/localrepo to PORTDIR_OVERLAY...

ebuild: /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin/CalculadoraDeDecimoTerceiroSalario.ebuild: does not exist

----------

## ff11

 *Xinitrc wrote:*   

> Veja esses dois comandos um parece que deu certo:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # repoman manifest
> 
> >>> Creating Manifest for /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin
> ...

 

O nome do ebuild não é esse, então o correto seria:

```
$ ebuild CalculadoraDecimo-bin-9999.ebuild clean install
```

----------

## Xinitrc

Já upei a calculadora.png em:

https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/blob/master/CalculadoraDeDecimoTerceiroSalario.png

Qual o próximo passo meu mestre,fora que tenho que repetir esse processo mais 7 vezes sozinho depois,porque criei 8 programas para Linux no Lazarus (Delphi 7 para Linux),e essa calculadora é o primeiro programa que vou empacotar,já empacotei para o Debian,Fedora,e Slackware,no Debian aprendi sozinho e nos outros com a ajuda do VIVAOLINUX.

----------

## ff11

 *Xinitrc wrote:*   

> Já upei a calculadora.png em:
> 
> https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/blob/master/CalculadoraDeDecimoTerceiroSalario.png
> 
> Qual o próximo passo meu mestre,fora que tenho que repetir esse processo mais 7 vezes sozinho depois,porque criei 8 programas para Linux no Lazarus (Delphi 7 para Linux),e essa calculadora é o primeiro programa que vou empacotar,já empacotei para o Debian,Fedora,e Slackware,no Debian aprendi sozinho e nos outros com a ajuda do VIVAOLINUX.

 

ok! adicionei a imagem, e fiz algumas outras correções, basta testar:

https://drive.google.com/file/d/1kDlqBmvY8iLPRPflu1cfubuIxpwAgLdP/view

EDIT: para referência o ebuild ficou assim:

```
# Copyright 1999-2020 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop xdg-utils unpacker

DESCRIPTION="Calculadora feita no Lazarus"

HOMEPAGE="https://gitlab.com/BuiuDeJaraguaDoSul"

SRC_URI="

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz -> ${P}.tar.gz

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDeDecimoTerceiroSalario.png -> Calculadora.png

"

RESTRICT="primaryuri"

LICENSE="GPL-3"

SLOT="0"

KEYWORDS="amd64"

RDEPEND="

   app-arch/bzip2

   dev-libs/atk

   dev-libs/fribidi

   media-libs/fontconfig

   media-libs/libpng

   x11-libs/gtk+

   x11-libs/libX11

   x11-libs/gdk-pixbuf

   x11-libs/pango

   x11-libs/cairo

   x11-libs/libXrender

   x11-libs/libXi

   x11-libs/libXrandr

   x11-libs/libXcursor

   x11-libs/libxcb

"

QA_PREBUILT="*"

S="${WORKDIR}"

src_install() {

   mkdir -p "${D}/usr/bin"

   mkdir -p "${D}/usr/share/applications"

   mkdir -p "${D}/usr/share/icons/CalculadoraDecimo"

   cp "${S}/CalculadoraDecimo" "${D}/usr/bin" || die "Install failed!"

   cp -L "${DISTDIR}/Calculadora.png" "${D}/usr/share/icons/CalculadoraDecimo" || die "Install failed!"

   chmod +x "${FILESDIR}/CalculadoraDecimo.desktop"

   cp "${FILESDIR}/CalculadoraDecimo.desktop" "${D}/usr/share/applications" || die "Install failed!"

}

pkg_postinst() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

pkg_postrm() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

```

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   Já upei a calculadora.png em:
> 
> https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/blob/master/CalculadoraDeDecimoTerceiroSalario.png
> 
> Qual o próximo passo meu mestre,fora que tenho que repetir esse processo mais 7 vezes sozinho depois,porque criei 8 programas para Linux no Lazarus (Delphi 7 para Linux),e essa calculadora é o primeiro programa que vou empacotar,já empacotei para o Debian,Fedora,e Slackware,no Debian aprendi sozinho e nos outros com a ajuda do VIVAOLINUX. 
> ...

 

Tá tudo certo mestre,mas acho que esqueci algo:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # emerge CalculadoraDecimo-bin-9999.ebuild clean install

*** emerging by path is broken and may not always work!!!

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

Calculating dependencies                           o

!!! 'CalculadoraDecimo-bin-9999.ebuild' is not in a valid ebuild repository hierarchy or does not exist

... done!

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Tá tudo certo mestre,mas acho que esqueci algo:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # emerge CalculadoraDecimo-bin-9999.ebuild clean install
> ...

 

Bom eu já estava desconfiado disso, mas antes de fazermos essa instalação, precisamos atualizar o seu sistema.

Poderia postar resultado do comando:

```
# emerge --info
```

EDIT: e também o:

```
$ tree /etc/portage/
```

EDIT2: Diga-se de passagem, o comando correto para teste é:

```
$ ebuild CalculadoraDecimo-bin-9999.ebuild clean install
```

----------

## Xinitrc

Mestre,ali em:

/usr/share/icon/CalculadoraDecimo

Não seria:

/usr/share/pixmaps/Calculadora.png

pixmaps porque é o local aonde vão os ícones do gentoo eu acho e do redcore sistema que eu uso baseado no gentoo,e Calculadora.png porque é o icone que está na pasta do meu computador.

----------

## ff11

 *Xinitrc wrote:*   

> Mestre,ali em:
> 
> /usr/share/icon/CalculadoraDecimo
> 
> Não seria:
> ...

 

De fato é o lugar mais adequado. Eu só adicionei um diretório ao caminho já existente no seu antigo arquivo .desktop (tendo em mente que funciona, pois estamos usando caminhos absolutos do arquivo), mas como você já identificou esse problema, irei corrigir aqui. E adicionar outras dependências faltantes também, juntamente com outras correções, pois ficaríamos muito tempo nisso, se juntarmos com a atualização do sistema.

E como a mensagem anterior já te falou, é importante ler as news (e ver se elas estão pedindo para fazer alguma coisa):

```
# eselect news list

# eselect news read 1

# eselect news read 2

# eselect news read 3

...

```

----------

## Xinitrc

Ultima coisa que faltou e é definitivo:

O arquivo.desktop não instala no diretório /usr/share/applications,apesar de esse é o diretório de todos os arquivos.desktop desde do Debian até o Gentoo,o arquivo.desktop puxa o gatilho de execução do programa,perceba que fiz um programa no Lazarus (Delphi 7 para Linux) e não em shell script que é mais difícil.

----------

## Xinitrc

Aparece isso:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # eselect news read

2020-06-23-upgrade-to-sys-libs_pam-1_4_0

  Title                     sys-libs/pam-1.4.0 upgrade

  Author                    Mikle Kolyada <zlogene@gentoo.org>

  Posted                    2020-06-23

  Revision                  1

Starting with the 1.4.0 release [1], we don't offer these modules anymore:

* pam_tally and pam_tally2 have been deprecated and replaced

  by the pam_faillock module

* pam_cracklib has been deprecated and replaced

  by the pam_passwdqc module

These changes affected our basic PAM stack configuration.

You only need to take action if:

* you made manual changes to the PAM stack, or

* you use FEATURES="-config-protect-if-modified" option

If this applies to you, please make sure to either run the etc-update or

dispatch-conf command in order to sync your configuration.

Failure to do this may result in your system becoming inaccessible.

[1] - https://github.com/linux-pam/linux-pam/releases/tag/v1.4.0

2020-06-24-xorg-server-dropping-default-suid

  Title                     xorg-server dropping default suid

  Author                    Piotr Karbowski <slashbeast@gentoo.org>

  Posted                    2020-06-24

  Revision                  3

Starting 2020-07-15, stable keyworded x11-base/xorg-server will default

to using the logind interface instead of suid by default. resulting in

better security by default through running the server as a regular user

instead of root. However, this will require our users to use a logind

provider such as elogind or systemd. The systemd users and those who are

not using systemd but use desktop profiles can stop reading here, as

they already have a logind provider enabled.

Others, who have neither systemd or desktop profiles enabled will be

required to globally enable 'elogind' USE flag and update the system

    # emerge --newuse @world

Afterwards, one will need to re-login, so the PAM can assign a seat. One

can confirm that a seat has been assigned upon login by running:

    $ loginctl user-status

Users who do not wish to use logind interface or have rare hardware that

does not use KMS and because of that, require root privileges to

operate, can manually re-enable 'suid' and disable 'elogind' USE flags

in order to preserve the previous behavior. However, please note that

this is heavily discouraged to run X server as root due to security

reasons. The 'suid' USE flag will remain as optional opt-in for the need

of legacy hardware.

2020-09-28-python-2-7-cleanup

  Title                     Python 2.7 cleanup is progressing

  Author                    Michał Górny <mgorny@gentoo.org>

  Posted                    2020-09-28

  Revision                  1

Python 2.7 has reached its end-of-life by 2019-12-31, and many projects

have removed Python 2 support since.  During the last few months we have

been working hard to migrate Gentoo to Python 3, and we have finally

reached the point making it possible for the vast majority of our users

to run a system free of Python 2.7 packages (except for the interpreter

itself).

The few remaining high profile packages (e.g. dev-python/cython)

are preserving Python 2.7 only for a very few uncommon packages.

For this reason, we have decided to create new revisions of them having

Python 2.7 removed.  If you do not need Python 2.7 there, your package

manager should upgrade these packages to the new revisions.

Please note that you may need to manually uninstall any Python 2.7

packages installed from third-party repositories and/or run `emerge

--depclean` first to remove orphan packages.  The recommended process

for Portage users is:

    emerge --depclean

    emerge -vDuU @world

    emerge --depclean

Please note that the Python 2.7 interpreter (without additional Python

packages) remains necessary to build a few high profile packages,

in particular Chromium, Mozilla software and PyPy.  If you build either

of these packages from source, you will not be able to permanently

remove Python 2.7 from your system.

We are going to preserve CPython 2.7 (and PyPy2.7) for as long

as necessary and provide security fixes to the best of our ability.

However, please note that we are not able to dedicate resources to

auditing Python 2.7's code and with little community interest in that,

it should be considered potentially vulnerable.

If your projects still rely on Python 2.7, we would like to once again

encourage you to migrate them to Python 3.  However, if you really need

to run them, we suggest using a virtualenv.  To create a new Python 2.7

environment, install dev-python/virtualenv and use the following option:

    virtualenv -p /usr/bin/python2.7 ...

To create a PyPy2.7 environment:

    virtualenv -p /usr/bin/pypy ...

Modern versions of pip should be able to automatically select older

versions of packages that still support Python 2.7.  Please note that

these versions are generally no longer supported.  They can be buggy,

vulnerable or simply incompatible with one another.

Please do not forget to add dev-lang/python:2.7 to your @world set

or it may get depcleaned once all package dependencies are gone.

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin #

----------

## Xinitrc

Gostaria de saber:

Porque dá esse invalid ebuild name:

emerge CalculadoraDeDecimoTerceiroSalario

Calculating dependencies                          t

Invalid ebuild name: /var/db/repos/localrepo/sci-calculators/CalculadoraDeDecimoTerceiroSalario/CalculadoraDeDecimoTerceiroSalario.ebuild

... done!

emerge: there are no ebuilds to satisfy "CalculadoraDeDecimoTerceiroSalario".

emerge: searching for similar names... nothing similar found.

----------

## ff11

 *Xinitrc wrote:*   

> Gostaria de saber:
> 
> Porque dá esse invalid ebuild name:
> 
> emerge CalculadoraDeDecimoTerceiroSalario
> ...

 

Porquê como você já viu no outro ebuild, o nome precisa de acompanhar a versão como em CalculadoraDecimo-bin-9999.ebuild ("-bin" indica que é um binário e não um código fonte a ser compilado, e "9999" é a versão padrão para a última versão baixada de um repositório git)

Vou testar tudo aqui, daqui a pouco te passo as instruções para a instalação.

----------

## Xinitrc

1)Tu fez faculdade para aprender a empacotar?

2)É verdade que Professor pós graduado de Linux ganha 50 mil por mês?

----------

## Xinitrc

OK,tire as depencias,pois como é um executável do Lazarus acho que não precisa,ficaria assim:

```
# Copyright 1999-2020 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop xdg-utils unpacker

DESCRIPTION="Calculadora feita no Lazarus"

HOMEPAGE="https://gitlab.com/BuiuDeJaraguaDoSul"

SRC_URI="

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz -> ${P}.tar.gz

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDeDecimoTerceiroSalario.png -> Calculadora.png

"

RESTRICT="primaryuri"

LICENSE="GPL-3"

SLOT="0"

KEYWORDS="amd64"

QA_PREBUILT="*"

S="${WORKDIR}"

src_install() {

   mkdir -p "${D}/usr/bin"

   mkdir -p "${D}/usr/share/applications"

   mkdir -p "${D}/usr/share/pixmaps/CalculadoraDecimo"

   cp "${S}/CalculadoraDecimo" "${D}/usr/bin" || die "Install failed!"

   cp -L "${DISTDIR}/Calculadora.png" "${D}/usr/share/icons/CalculadoraDecimo" || die "Install failed!"

   chmod +x "${FILESDIR}/CalculadoraDecimo.desktop"

   cp "${FILESDIR}/CalculadoraDecimo.desktop" "${D}/usr/share/applications" || die "Install failed!"

}

pkg_postinst() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

pkg_postrm() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

```

----------

## ff11

 *Xinitrc wrote:*   

> 1)Tu fez faculdade para aprender a empacotar?

 

Esse tipo de coisa, normalmente se aprende sozinho. Agora programação em certas linguagem eu aprendi fazendo os trabalhos de faculdade (nas aulas mesmo, geralmente, só se ensina teoria)

 *Xinitrc wrote:*   

> 2)É verdade que Professor pós graduado de Linux ganha 50 mil por mês?

 

Não, essa realidade não existe. Um professor doutor fim de carreira (em qualquer área) com todas as promoções aqui no Brasil ganha por volta de R$17.000, e depois dos impostos deduzidos isso cai para uns R$10.000. Inicio de carreira, porém doutor, recebe por volta de R$5.000 (mas a dedução de imposto é menor, não me lembro bem o valor). Talvez em alguma universidade no exterior alguém ganha isso, mas aqui professor não é valorizado.

 *Xinitrc wrote:*   

> OK,tire as depencias,pois como é um executável do Lazarus acho que não precisa,ficaria assim:
> 
> ...

 

Não é uma boa ideia, pois se por algum motivo você não tiver qualquer um desses pacotes instalados sua aplicação não vai rodar (vai instalar, mas não rodar). Pelo contrário, tem que ter mais ainda, que eu já adicionei nesse v3

Testei aqui, e o resultado:

```
# emerge sci-calculators/CalculadoraDecimo-bin

Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sci-calculators/CalculadoraDecimo-bin-9999::localrepo

>>> Downloading 'https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz'

--2020-10-23 17:03:42--  https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz

Resolving gitlab.com (gitlab.com)... 172.65.251.78, 2606:4700:90:0:f22e:fbec:5bed:a9b9

Connecting to gitlab.com (gitlab.com)|172.65.251.78|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 5885042 (5.6M) [application/x-gzip]

Saving to: ‘/var/cache/distfiles/CalculadoraDecimo-bin-9999.tar.gz.__download__’

/var/cache/distfile 100%[===================>]   5.61M  1.98MB/s    in 2.8s    

2020-10-23 17:03:45 (1.98 MB/s) - ‘/var/cache/distfiles/CalculadoraDecimo-bin-9999.tar.gz.__download__’ saved [5885042/5885042]

 * CalculadoraDecimo-bin-9999.tar.gz BLAKE2B SHA512 size ;-) ...                                                                                                   [ ok ]

>>> Downloading 'https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDeDecimoTerceiroSalario.png'

--2020-10-23 17:03:46--  https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDeDecimoTerceiroSalario.png

Resolving gitlab.com (gitlab.com)... 172.65.251.78, 2606:4700:90:0:f22e:fbec:5bed:a9b9

Connecting to gitlab.com (gitlab.com)|172.65.251.78|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 4286 (4.2K) [image/x-icon]

Saving to: ‘/var/cache/distfiles/CalculadoraDeDecimoTerceiroSalario.png.__download__’

/var/cache/distfile 100%[===================>]   4.19K  --.-KB/s    in 0s      

2020-10-23 17:03:46 (20.1 MB/s) - ‘/var/cache/distfiles/CalculadoraDeDecimoTerceiroSalario.png.__download__’ saved [4286/4286]

 * CalculadoraDeDecimoTerceiroSalario.png BLAKE2B SHA512 size ;-) ...                                                                                              [ ok ]

>>> Unpacking source...

>>> Unpacking CalculadoraDecimo-bin-9999.tar.gz to /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/work

>>> Unpacking CalculadoraDeDecimoTerceiroSalario.png to /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/work

unpack CalculadoraDeDecimoTerceiroSalario.png: file format not recognized. Ignoring.

>>> Source unpacked in /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/work

>>> Preparing source in /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/work ...

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/work ...

>>> Source configured.

>>> Compiling source in /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/work ...

>>> Source compiled.

>>> Test phase [not enabled]: sci-calculators/CalculadoraDecimo-bin-9999

>>> Install sci-calculators/CalculadoraDecimo-bin-9999 into /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/image

>>> Completed installing sci-calculators/CalculadoraDecimo-bin-9999 into /var/tmp/portage/sci-calculators/CalculadoraDecimo-bin-9999/image

 * Final size of build directory: 20876 KiB (20.3 MiB)

 * Final size of installed tree:  20912 KiB (20.4 MiB)

strip: x86_64-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version

   /usr/bin/CalculadoraDecimo

>>> Installing (1 of 1) sci-calculators/CalculadoraDecimo-bin-9999::localrepo

 * Updating icons cache ...                                                                                                                                        [ ok ]

 * Updating .desktop files database ...                                                                                                                            [ ok ]

>>> Recording sci-calculators/CalculadoraDecimo-bin in "world" favorites file...

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

# equery files sci-calculators/CalculadoraDecimo-bin

 * Searching for CalculadoraDecimo-bin in sci-calculators ...

 * Contents of sci-calculators/CalculadoraDecimo-bin-9999:

/usr

/usr/bin

/usr/bin/CalculadoraDecimo

/usr/share

/usr/share/applications

/usr/share/applications/CalculadoraDecimo.desktop

/usr/share/pixmaps

/usr/share/pixmaps/CalculadoraDecimo

/usr/share/pixmaps/CalculadoraDecimo/CalculadoraDeDecimoTerceiroSalario.png

```

E como você pode ver, os arquivos estão todos no lugar.

Agora basta baixar o arquivo localrepo_v3.tar.gz em:

https://drive.google.com/file/d/1R6wsMuW2ZVwUpwTJzWPDzDhpc4w0h-z4/view

Depois, como root, apague o diretório velho, extraia e instale no diretório correto:

```
#cd /var/db/repos

# rm -rf localrepo

# mv /home/junior/localrepo_v3.tar.gz ./

# tar xf localrepo_v3.tar.gz

# chown root.root localrepo -R

# rm -rf localrepo_v3.tar.gz

```

Depois instale o repositório como citado antes, ou copie e cole em no terminal root:

```
# cat > /etc/portage/repos.conf/localrepo.conf << EOF

[localrepo]

location = /var/db/repos/localrepo

masters = gentoo

auto-sync = no

priority=9999

EOF

```

E então você pode instalar com:

```
# emerge sci-calculators/CalculadoraDecimo-bin
```

----------

## ff11

Para referência o resultado final do ebuild ficou assim:

CalculadoraDecimo-bin-9999.ebuild

```
# Copyright 1999-2020 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop xdg-utils unpacker

DESCRIPTION="Calculadora feita no Lazarus"

HOMEPAGE="https://gitlab.com/BuiuDeJaraguaDoSul"

SRC_URI="

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz -> ${P}.tar.gz

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDeDecimoTerceiroSalario.png

"

RESTRICT="primaryuri"

LICENSE="GPL-3"

SLOT="0"

KEYWORDS="amd64"

RDEPEND="

   app-arch/bzip2

   app-arch/brotli

   dev-libs/atk

   dev-libs/libbsd

   dev-libs/expat

   dev-libs/fribidi

   dev-libs/libffi

   dev-libs/libpcre

   media-libs/fontconfig

   media-libs/freetype

   media-libs/harfbuzz

   media-libs/libpng

   media-gfx/graphite2

   sys-apps/util-linux

   sys-libs/zlib

   x11-libs/cairo

   x11-libs/gtk+

   x11-libs/gdk-pixbuf

   x11-libs/pango

   x11-libs/pixman

   x11-libs/libX11

   x11-libs/libXau

   x11-libs/libxcb

   x11-libs/libXdmcp

   x11-libs/libXdamage

   x11-libs/libXcomposite

   x11-libs/libXext

   x11-libs/libXfixes

   x11-libs/libXrender

   x11-libs/libXi

   x11-libs/libXrandr

   x11-libs/libXcursor

   x11-libs/libxcb

"

QA_PREBUILT="*"

S="${WORKDIR}"

src_install() {

   mkdir -p "${D}/usr/bin"

   mkdir -p "${D}/usr/share/applications"

   mkdir -p "${D}/usr/share/pixmaps/CalculadoraDecimo"

   cp "${S}/CalculadoraDecimo" "${D}/usr/bin" || die "Install failed!"

   cp -L "${DISTDIR}/CalculadoraDeDecimoTerceiroSalario.png" "${D}/usr/share/pixmaps/CalculadoraDecimo" || die "Install failed!"

   cp "${FILESDIR}/CalculadoraDecimo.desktop" "${D}/usr/share/applications" || die "Install failed!"

}

pkg_postinst() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

pkg_postrm() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

```

files/CalculadoraDecimo.desktop

```
[Desktop Entry]

Name=CalculadoraDecimo

Version=1.0

Comment=Calculadora feita no Lazarus

Exec=/usr/bin/CalculadoraDecimo

Icon=/usr/share/pixmaps/CalculadoraDecimo/CalculadoraDeDecimoTerceiroSalario.png

Type=Application

Categories=GTK;GNOME;Office;Calculator;

Terminal=false

```

metadata.xml:

```
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">

<pkgmetadata>

   <longdescription lang="en">

      Calculadora de decimo terceiro salario para o Gentoo

   </longdescription>

</pkgmetadata>

```

----------

## ff11

Agora como achar as dependências para os outros pacotes usando ldd:

* basta roda ldd no executável, como por exemplo, rodando para o editor nano (só para exemplificar mesmo):

```

$ ldd /bin/nano

   linux-vdso.so.1 (0x00007ffe393ef000)

   libmagic.so.1 => /usr/lib64/libmagic.so.1 (0x00007f9e2fb77000)

   libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007f9e2fb3c000)

   libtinfow.so.6 => /lib64/libtinfow.so.6 (0x00007f9e2faff000)

   libc.so.6 => /lib64/libc.so.6 (0x00007f9e2f945000)

   libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f9e2f930000)

   libz.so.1 => /lib64/libz.so.1 (0x00007f9e2f916000)

   libdl.so.2 => /lib64/libdl.so.2 (0x00007f9e2f90f000)

   /lib64/ld-linux-x86-64.so.2 (0x00007f9e2fc0f000)

```

Então aparece uma lista de arquivos *.so.* com caminhos completos. então basta rodar qfile para cada um deles:

```

$ qfile /usr/lib64/libmagic.so.1

sys-apps/file: /usr/lib64/libmagic.so.1

$ qfile /lib64/libncursesw.so.6

sys-libs/ncurses: /lib64/libncursesw.so.6

$ qfile /lib64/libtinfow.so.6

sys-libs/ncurses: /lib64/libtinfow.so.6

$ qfile /lib64/libc.so.6

sys-libs/glibc: /lib64/libc.so.6

$ qfile /lib64/libbz2.so.1

app-arch/bzip2: /lib64/libbz2.so.1

$ qfile /lib64/libz.so.1

sys-libs/zlib: /lib64/libz.so.1

$ qfile /lib64/libdl.so.2

sys-libs/glibc: /lib64/libdl.so.2

$ qfile /lib64/ld-linux-x86-64.so.2

sys-libs/glibc: /lib64/ld-linux-x86-64.so.2

```

Como o sys-libs/glibc é um pacote básico que sempre vai estar presente, não precisa de adicionar (a menos que exija uma versão específica, e nesse caso precisaria especificar o pacote e a versão mínima para poder distribuir para outras pessoas usarem). Então basta adicionar os nomes deles na variável RDEPEND, que representa as dependências usadas na execução do aplicativo, como demostrado no CalculadoraDecimo-bin-9999.ebuild.

----------

## Xinitrc

Deu tudo certo mestre,consegui instalar,mas tenho que remover com emerge -C para retestar

Dai te passarei o programa no formato ebuild ou a pasta com tudo.

Qual o nome do programa completo para eu remover com emerge -C?

----------

## ff11

 *Xinitrc wrote:*   

> Deu tudo certo mestre,consegui instalar,mas tenho que remover com emerge -C para retestar
> 
> Dai te passarei o programa no formato ebuild ou a pasta com tudo.
> 
> Qual o nome do programa completo para eu remover com emerge -C?

 

Instala com:

```
# emerge sci-calculators/CalculadoraDecimo-bin
```

Remove com:

```
# emerge -C sci-calculators/CalculadoraDecimo-bin
```

----------

## Xinitrc

Tentei retestar sem remover,mas apareceu isso:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # emerge CalculadoraDecimo-bin-9999.ebuild 

!!! Section 'localrepo' in repos.conf has location attribute set to nonexistent directory: '/var/db/repos/localrepo'

WARNING: One or more repositories have missing repo_name entries:

        /var/db/repos/localrepo/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a

unique name for the repository on the first line.

*** emerging by path is broken and may not always work!!!

Calculating dependencies                            

!!! 'CalculadoraDecimo-bin-9999.ebuild' is not in a valid ebuild repository hierarchy or does not exist

... done!

Parece que o erro é em repo_name e em repo.conf também mestre.

----------

## ff11

 *Xinitrc wrote:*   

> Tentei retestar sem remover,mas apareceu isso:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # emerge CalculadoraDecimo-bin-9999.ebuild 
> 
> !!! Section 'localrepo' in repos.conf has location attribute set to nonexistent directory: '/var/db/repos/localrepo'
> ...

 

Novamente testar é com o comando ebuild não emerge.

Então:

```
$ ebuild CalculadoraDecimo-bin-9999.ebuild clean install
```

----------

## Xinitrc

Me desculpe mestre,essa é a terceira vez que você fala,é que eu tenho dificuldade de aprendizado devido a síndrome de noonan,mas minha dificuldade de aprendizado não interfere na minha inteligência,pois só um burro não sabe que conhecimento e inteligência são conceitos diferentes,e a maioria das pessoas acha que conhecimento é sinal de inteligência,acabei de explicar que não,porque são conceitos diferentes,com 22 anos eu já tinha 15 diplomas profissionalizantes de informática,uma faculdade de logística e estava começando a criar meus programas.deb

Acho que agora foi,veja:

emerge CalculadoraDeDecimoTerceiroSalario

!!! Section 'localrepo' in repos.conf has location attribute set to nonexistent directory: '/var/db/repos/localrepo'

WARNING: One or more repositories have missing repo_name entries:

        /var/db/repos/localrepo/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a

unique name for the repository on the first line.

Calculating dependencies                           ... done!

emerge: there are no ebuilds to satisfy "CalculadoraDeDecimoTerceiroSalario".

emerge: searching for similar names... nothing similar found.

junior-aspiref5573g /home/junior #

----------

## ff11

 *Xinitrc wrote:*   

> Me desculpe mestre,essa é a terceira vez que você fala,é que eu tenho dificuldade de aprendizado devido a síndrome de noonan,mas minha dificuldade de aprendizado não interfere na minha inteligência,pois só um burro não sabe que conhecimento e inteligência são conceitos diferentes,e a maioria das pessoas acha que conhecimento é sinal de inteligência,acabei de explicar que não,porque são conceitos diferentes,com 22 anos eu já tinha 15 diplomas profissionalizantes de informática,uma faculdade de logística e estava começando a criar meus programas.deb
> 
> 

 

Não se estresse com esse tipo de coisa. Aqui o problema é a experiência. E para quem não está acostumado com o Gentoo Linux, você já demostra muita habilidade, não se preocupe. Mas demora um pouco para acostumar com todos os comandos mesmo (então vá com calma).

 *Xinitrc wrote:*   

> 
> 
> Acho que agora foi,veja:
> 
> emerge CalculadoraDeDecimoTerceiroSalario
> ...

 

Bom, eu mudei o nome do pacote de "CalculadoraDeDecimoTerceiroSalario" para "CalculadoraDecimo-bin", pois o nome do executável é CalculadoraDecimo, então o uso seria:

* Para instalar:

```
# emerge CalculadoraDecimo-bin
```

* Para remover:

```
# emerge -C CalculadoraDecimo-bin
```

Mas se você quiser, eu posso renomear para o nome maior "CalculadoraDeDecimoTerceiroSalario" (só acho que fica mais difícil de digitar).

----------

## Xinitrc

Aqui está o link do arquivo,não precisa mudar nada a principio,só precisa fazer as correções para criar o arquivo.ebuild,acho isso,mas tu sabe mais do que eu:

http://www.mediafire.com/file/jq53cf1ku9aozk7/localrepo.tar.gz/file

----------

## Xinitrc

Quero mostrar meus programas para Linux criei para debian,fedora e slackware,vou mostrar do Slackware,porque dos outros são iguais do Slackware,esses programas que vou mostrar fiz no Lazarus,e tenho que empacotar também como hobby para o Gentoo/Redcore linux:

https://planetalinux.forumbrasil.net/t5-todos-os-meus-programas-para-slackware

Ali só tem 6 para Slackware,mas no total são 8 programas,falta o criptografador(Conceito de criptografia),e o CalculadoraEmpresarial(Baseada nas fórmulas de logística que aprendi na faculdade).

----------

## ff11

 *Xinitrc wrote:*   

> Aqui está o link do arquivo,não precisa mudar nada a principio,só precisa fazer as correções para criar o arquivo.ebuild,acho isso,mas tu sabe mais do que eu:
> 
> http://www.mediafire.com/file/jq53cf1ku9aozk7/localrepo.tar.gz/file

 

 *Xinitrc wrote:*   

> Quero mostrar meus programas para Linux criei para debian,fedora e slackware,vou mostrar do Slackware,porque dos outros são iguais do Slackware,esses programas que vou mostrar fiz no Lazarus,e tenho que empacotar também como hobby para o Gentoo/Redcore linux:
> 
> https://planetalinux.forumbrasil.net/t5-todos-os-meus-programas-para-slackware

 

Eu não entendi muito bem o quê você quer, ou espera aqui.

E desconfio fortemente que você está acostumado com distribuições como debian, fedora ou slackware que você simplesmente faz um pacote .deb, .rpm ou .tgz e então compartilha ele.

Mas em distribuições baseadas no código fonte, como o Gentoo Linux, a maneira de instalação é diferente.

Não existe um pacote arquivo.ebuild que contenha tudo. Os próprios arquivos de texto é o quê é distribuído aqui.

Se você passar o arquivo localrepo.tar.gz para outro usuário Gentoo linux, ele será capaz de instalar e rodar sua aplicação (dado que o seu repositório não mude o nome do programa, ou o caminho dos arquivos no servidor)

O quê pode ser feito para facilitar um pouco mais, é criar um overlay remoto com esse repositório local, mas isso não é necessário, pois todos os usuários Gentoo Linux sabem importar o pacote para os respectivos repositórios locais de cada um.

----------

## Xinitrc

Eu quero aprender sobre Gentoo e aprender a como criar programa no Gentoo,mas como tu falou é so ter o localrepo e pronto.

Veja:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # emerge sci-calculators/CalculadoraDecimo-bin

!!! Section 'localrepo' in repos.conf has location attribute set to nonexistent directory: '/var/db/repos/localrepo'

WARNING: One or more repositories have missing repo_name entries:

        /var/db/repos/localrepo/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a

unique name for the repository on the first line.

Calculating dependencies                         ... done!

emerge: there are no ebuilds to satisfy "sci-calculators/CalculadoraDecimo-bin".

emerge: searching for similar names...

emerge: Maybe you meant any of these: sci-calculators/galculator, sci-calculators/calcoo, sci-calculators/qalculate-gtk?

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # 

Via esse comando dá para saber que instalaou certinho,pois tentei desinstalar/remover como tu me ensinou e não foi.

----------

## ff11

 *Xinitrc wrote:*   

> Eu quero aprender sobre Gentoo e aprender a como criar programa no Gentoo,mas como tu falou é so ter o localrepo e pronto.
> 
> Veja:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # emerge sci-calculators/CalculadoraDecimo-bin
> ...

 

Pois é, você está misturando conceitos de outras distribuições linux aqui.

Você não baixa e executa o ebuild para instalar e remover como se faz com arquivos .deb no debian. Se tentar fazer isso, não vai funcionar.

No Gentoo linux você tem que criar e um overlay e instalar os pacotes a partir desse overlay. Nada de tentar executar instalações no seu diretório do usuário (/home/junior/...). Essa execução no usuário (com o comando ebuild) era somente para testar o funcionamento, ela não instala nem remove o pacote, somente testa ele.

Para instalar e remover você precisa do overlay instalado no diretório correto, e você não roda o comando emerge no arquivo ebuild, e sim o comando emerge tem que saber onde estão todos os ebuilds e pode ser executado de qualquer lugar (assim como o apt-get do debian).

Deixe me perguntar como está o seu inglês? Você consegue ler e entender tutoriais em inglês?

----------

## Xinitrc

Meu inglês está mais ou menos,mais para menos,risos,sei que a maioria da documentação do gentoo está em inglês,então terei que me esforçar ou usar o google tradutor.

----------

## ff11

 *Xinitrc wrote:*   

> Meu inglês está mais ou menos,mais para menos,risos,sei que a maioria da documentação do gentoo está em inglês,então terei que me esforçar ou usar o google tradutor.

 

Pois é. Você tem que entender o básico de funcionamento para poder usar o Gentoo Linux. Como por exemplo:

* Saber usar e manipular os arquivos de configuração em /etc/portage;

* Saber como instalar e remover pacotes com o comando emerge. E como adicionar e remover overlays (que também é feito dentro de /etc/portage, além dos diretórios do repositório em si);

* Aprender a atualizar o sistema de maneira segura, sabendo resolver conflitos de dependências (acontece muito com alguns updates);

* Aprender a usar o comando eselect para atualizar o profile, python, gcc, java-vm e muitos outros;

* Aprender a limpar o sistema usando --depclean e verificar consistência usando revdep-rebuild;

* e muitos outros similares.

O Gentoo Linux requer um certo cuidado e manutenção regular, ou você pode cair numa armadilha em que fica extremamente difícil de atualizar, tanto que muitas das vezes se recomenda fazer uma instalação do zero do quê atualizar.

É claro que usuários com muita experiência consegue atualizar instalações antigas, mas dá um certo trabalho também.

Ou seja, você precisa se acostumar um pouco mais com o Gentoo Linux, e manter/atualizando ele por um pouco mais de tempo, e ir ganhando experiência. Talvez você vai quebrar o sistema várias vezes, e ter que instalar tudo do zero novamente, dependendo de sua abordagem (se mais conservadora ou aventureira). Pois as coisas aqui funcionam com uma filosofia diferente, e você deve ter notado um pouco disso quando instalou o sistema. Depois de ganhar essa experiência, volte e re-leia novamente as nossas conversas, e você saberá fazer tudo que precisa.

Tente ler os guias oficiais, tem uma pequena parte em português (mas já ajuda um pouco):

https://wiki.gentoo.org/wiki/Handbook:AMD64/pt-br

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   Eu quero aprender sobre Gentoo e aprender a como criar programa no Gentoo,mas como tu falou é so ter o localrepo e pronto.
> 
> Veja:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # emerge sci-calculators/CalculadoraDecimo-bin
> ...

 

Pois é,como vou passar os programas que vou fazer no Gentoo para meus amigos,se estou acostumado com o Debian,Fedora e Slackware,a principio mestre é só passar o localrepo e o arquivo.ebuild? me corrija se estiver errado!,você testou o localrepo que te passei para ver se funciona na tua máquina?

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Pois é,como vou passar os programas que vou fazer no Gentoo para meus amigos,se estou acostumado com o Debian,Fedora e Slackware,a principio mestre é só para o localrepo e o arquivo.ebuild? me corrija se estiver errado!,você testou o localrepo que te passei para ver se funciona na tua máquina?

 

O localrepo já vai bem completo. Na verdade os únicos arquivos que outros usuário precisam, nesse caso seria o CalculadoraDecimo-bin-9999.ebuild e o CalculadoraDecimo.desktop, mais nada (é bom ter mais para facilitar apenas, pois precisaríamos de recriar a estrutura de pastas manualmente se não sabermos qual ela é).

O pacote instala e roda normalmente aqui na minha máquina.

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Pois é,como vou passar os programas que vou fazer no Gentoo para meus amigos,se estou acostumado com o Debian,Fedora e Slackware,a principio mestre é só para o localrepo e o arquivo.ebuild? me corrija se estiver errado!,você testou o localrepo que te passei para ver se funciona na tua máquina? 
> 
> O localrepo já vai bem completo. Na verdade os únicos arquivos que outros usuário precisam, nesse caso seria o CalculadoraDecimo-bin-9999.ebuild e o CalculadoraDecimo.desktop, mais nada (é bom ter mais para facilitar apenas, pois precisaríamos de recriar a estrutura de pastas manualmente se não sabermos qual ela é).
> ...

 

Ufa mestre,que bom,como ficou o seu desktop com o seu nome de usuário e outra você conseguiu remover também o pacote?

e outra obrigado por ter paciência comigo e que demoro para cair a ficha,se é que me entende.

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Ufa mestre,que bom,como ficou o seu desktop com o seu nome de usuário e outra você conseguiu remover também o pacote?
> 
> e outra obrigado por ter paciência comigo e que demoro para cair a ficha,se é que me entende.

 

Instalei com sucesso no sistema.

Rodei no meu usuário usando: 

```
$ gtk-launch CalculadoraDecimo
```

 para testar a integração com o arquivo .desktop

E depois removi com sucesso também.

Ficou 100% (^_^)/

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Ufa mestre,que bom,como ficou o seu desktop com o seu nome de usuário e outra você conseguiu remover também o pacote?
> 
> e outra obrigado por ter paciência comigo e que demoro para cair a ficha,se é que me entende. 
> ...

 

1)Gostou do programa que fiz?

2)Como criou o arquivo Manifest cheio daquelas letrinhas dentro?

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> 1)Gostou do programa que fiz?

 

Só cheguei a verificar que funciona mesmo. Não fiz nada aprofundado. E depois removi. Mas pelo que vi, ficou bem feito.

 *Xinitrc wrote:*   

> 2)Como criou o arquivo Manifest cheio daquelas letrinhas dentro?

 

Usei o comando "repoman manifest" para criar o arquivo Manifest. Toda vez que alguma coisa é atualizada no diretório do ebuild, o arquivo de Manifest precisa ser refeito.

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> 1)Gostou do programa que fiz? 
> 
> Só cheguei a verificar que funciona mesmo. Não fiz nada aprofundado. E depois removi. Mas pelo que vi, ficou bem feito.
> ...

 

ultima coisa criei a pasta sci-utility(para ir no utilitários),mas apareceu isso:

repoman manifest

repoman: sci-utility is not an official category.  Skipping QA checks in this directory.

Please ensure that you add sci-utility to /home/junior/localrepo/profiles/categories

if it is a new category.

E outra quais são as outras categorias para colocar no Gentoo além da sci-calculators?

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> ultima coisa criei a pasta sci-utility(para ir no utilitários),mas apareceu isso:
> 
> repoman manifest
> ...

 

Assim como a mensagem está dizendo (em inglês), a categoria não existe, e se pretende criar uma nova, terá que declarar ela.

Mas eu aconselho a usar uma das categorias já existentes (basta escolher uma e usar o mesmo nome de diretório):

https://packages.gentoo.org/categories

EDIT: como a sci-misc por exemplo

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> ultima coisa criei a pasta sci-utility(para ir no utilitários),mas apareceu isso:
> 
> repoman manifest
> ...

 

Criei mas aparece isso:

junior-aspiref5573g /home/junior/localrepo/sci-utility/GerdorDeSenhas # repoman manifest

Invalid ebuild name: /home/junior/localrepo/sci-misc/GerdorDeSenhas/GeradorDeSenhas-bin-9999.ebuild

>>> Creating Manifest for /home/junior/localrepo/sci-misc/GerdorDeSenhas

!!! Package name does not match directory name: 'sci-misc/GeradorDeSenhas-bin-9999'

!!! Unable to generate manifest for '/home/junior/localrepo/sci-misc/GerdorDeSenhas'.

  ebuild.notadded               1

  manifest.bad [fatal]          1

   sci-misc/GerdorDeSenhas/Manifest

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Criei mas aparece isso:
> 
> junior-aspiref5573g /home/junior/localrepo/sci-utility/GerdorDeSenhas # repoman manifest
> ...

 

Sim. A mensagem de erro diz que o nome do diretório não está correto.

Perceba que o seu ebuild tem o nome GeradorDeSenhas-bin (versão 9999, e extensão .ebuild) e também precisa estar em um diretório com o mesmo nome (GeradorDeSenhas-bin) e não "GerdorDeSenhas"

----------

## Xinitrc

Pode marcar o tópico como resolvido para mim,so vou passar para ti meu Gerador de senhas,que gera senha aleátoria e segura para sua conta ou email.

Você testa,posta o resultado,e depois marca esse tópico como resolvido.Tá ok.

----------

## Xinitrc

http://www.mediafire.com/file/0zvefq05n001jvl/localrepo%2528Gerador%2529.tar.gz/file

http://www.mediafire.com/file/g8o1adz3o36utzy/Gerador.tar.gz/file

----------

## ff11

 *Xinitrc wrote:*   

> http://www.mediafire.com/file/0zvefq05n001jvl/localrepo%2528Gerador%2529.tar.gz/file
> 
> http://www.mediafire.com/file/g8o1adz3o36utzy/Gerador.tar.gz/file

 

Quase. Você esqueceu de modificar algumas partes, e tem alguns problemas com outras:

em files/GeradorDeSenhas.desktop:

```
[Desktop Entry]

Name=Gerador de Senhas

Version=1.0

Comment=Gerador de Senhas

Exec=/home/junior/GeradorDeSenhas/usr/bin/Gerador

Icon=/home/junior/GeradorDeSenhas/usr/share/pixmaps/GeradorDeSenha.png

Type=Application

Categories=GTK;GNOME;Utility;Utilitários;

Terminal=false
```

Está dizendo para executar a partir do caminho usando o seu usuário. Você pode usar o outro como referência para fazer o .destop chamar o executável do sistema (/usr/bin/Gerador), e usar o ícone do sistema (/usr/share/pixmaps/GeradorDeSenha.png, eu acho, pois seria bom criar um diretório para ele)

No GeradorDeSenhas-bin-9999.ebuild:

```
# Copyright 1999-2020 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop xdg-utils unpacker

DESCRIPTION="Calculadora feita no Lazarus"

HOMEPAGE="https://gitlab.com/BuiuDeJaraguaDoSul"

SRC_URI="

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoogeradordesenhas/-/blob/master/Gerador.tar.gz

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoogeradordesenhas/-/blob/master/GeradorDeSenha.png

"

RESTRICT="primaryuri"

LICENSE="GPL-3"

SLOT="0"

KEYWORDS="amd64"

RDEPEND="

   app-arch/bzip2

   app-arch/brotli

   dev-libs/atk

   dev-libs/libbsd

   dev-libs/expat

   dev-libs/fribidi

   dev-libs/libffi

   dev-libs/libpcre

   media-libs/fontconfig

   media-libs/freetype

   media-libs/harfbuzz

   media-libs/libpng

   media-gfx/graphite2

   sys-apps/util-linux

   sys-libs/zlib

   x11-libs/cairo

   x11-libs/gtk+

   x11-libs/gdk-pixbuf

   x11-libs/pango

   x11-libs/pixman

   x11-libs/libX11

   x11-libs/libXau

   x11-libs/libxcb

   x11-libs/libXdmcp

   x11-libs/libXdamage

   x11-libs/libXcomposite

   x11-libs/libXext

   x11-libs/libXfixes

   x11-libs/libXrender

   x11-libs/libXi

   x11-libs/libXrandr

   x11-libs/libXcursor

   x11-libs/libxcb

"

QA_PREBUILT="*"

S="${WORKDIR}"

src_install() {

   mkdir -p "${D}/usr/bin"

   mkdir -p "${D}/usr/share/applications"

   mkdir -p "${D}/usr/share/pixmaps/GeradorDeSenha"

   cp "${S}/CalculadoraDecimo" "${D}/usr/bin" || die "Install failed!"

   cp -L "${DISTDIR}/Gerador.png" "${D}/usr/share/pixmaps/GeradorDeSenha" || die "Install failed!"

   cp "${FILESDIR}/GeradorDeSenhas.desktop" "${D}/usr/share/applications" || die "Install failed!"

}

pkg_postinst() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

pkg_postrm() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

```

Os links não funcionam, pois você está copiando o link para o site do gitlab.com e não para os arquivos, que seriam:

https://gitlab.com/BuiuDeJaraguaDoSul/gentoogeradordesenhas/-/raw/master/Gerador.tar.gz

https://gitlab.com/BuiuDeJaraguaDoSul/gentoogeradordesenhas/-/raw/master/GeradorDeSenha.png

perceba que embora parecidos, os links são diferentes. E o portage do Gentoo Linux não entende sites em html que contém o arquivo, ele espera um link para o arquivo.

em src_install() ainda tem linhas com dados do ebuild anterior, e que não estão consistentes com o seu files/GeradorDeSenhas.desktop:

```
   cp "${S}/CalculadoraDecimo" "${D}/usr/bin" || die "Install failed!"

   cp -L "${DISTDIR}/Gerador.png" "${D}/usr/share/pixmaps/GeradorDeSenha" || die "Install failed!"

```

----------

## Xinitrc

Eu já corrigir o programa mas quando executo o desktop aparece a mensagem

Não foi possível encontrar o programa /usr/bin/Gerador

Não tem que ter uma pasta na minha home para o Gerador?

Porque o programa não instala na minha máquina,só na sua,é lenda,truque ou o que?

----------

## Xinitrc

Consegui instalar a calculadora com os comandos que tu me ensinou.

----------

## ff11

 *Xinitrc wrote:*   

> Eu já corrigir o programa mas quando executo o desktop aparece a mensagem
> 
> Não foi possível encontrar o programa /usr/bin/Gerador

 

Isso pois você está tentando executar em seu usuário um ebuild que está sendo feito para ser executado a partir do sistema. E para isso, você precisa instalar ele corretamente (assim como foi feito com o caso ca Calculadora).

 *Xinitrc wrote:*   

> Não tem que ter uma pasta na minha home para o Gerador?

 

Se você quiser usar a versão para distribuição, então não. Não tem nenhuma pasta para isso (e não deveria ter).

Mas se você quiser usar apenas para o seu usuário, sem compartilhar para os outros, então você pode usar na sua HOME, mas ninguém a não ser você vai conseguir usar desse jeito, pois o nome do usuário vai ser diferente.

 *Xinitrc wrote:*   

> Porque o programa não instala na minha máquina,só na sua,é lenda,truque ou o que?

 

É que você não está instalando o overlay corretamente. O fluxo de trabalho funciona mais ou menos, de maneira bem simplificada, assim:

1- Quando você digira "# emerge MeuPrograma", o portage lê os arquivos em /etc/portage/repos.conf/ para saber onde está os repositórios, então...

2- Ele busca nos diretórios dos repositórios até achar o ebuild correto e fazer a instalação no sistema (nada haver com o seu usuário).

 *Xinitrc wrote:*   

> Consegui instalar a calculadora com os comandos que tu me ensinou.

 

Bom, a resposta aqui é do mesmo jeito, mas você vai ter que entender e obedecer o funcionamento de seu overlay localrepo, e adicionar o segundo ebuild nele.

Mas pelo que eu vejo, você está querendo forçar seu jeito no Gentoo Linux, e isso só vai causar mais estresante para você.

Poderíamos repetir esses procedimento várias e várias vezes, e não resolveríamos nada, pois você não está entendendo os conceitos por trás deles. Só ficará sendo uma distribuição Linux com comandos complicados para você.

E por isso, eu dei a sugestão de você aprender e ir usando e mantendo o sistema antes de tentar trabalhar com overlays, mas eu sinto uma certa impaciência de sua parte.

Então deixe me lhe dar outra sugestão que será melhor para você: Ao invés de ficar fazendo um empacotamento para cada distribuição linux, não seria melhor você fazer um que funcionará em todas? Assim, você não teria que ficar preocupado com detalhes de cada sistema, pode usar uma distribuição linux que seja mais fácil para você, se concentrando no desenvolvimento de software, ao invés de detalhes técnicos como mantar uma distribuição linux nova.

Hoje, os mais populares formatos de empacotamento que são independentes de distribuições linux são: AppImage, Flatpak e Snap

E pelo seu tipo de uso, vendo que você gosta de executar a aplicação em seu usuário, eu recomendo o empacotamento e uso de AppImage.

Existem vários tutoriais sobre AppImage no Vivaolinux, e se você já tem um .deb, tem esse bem fácil aqui: https://www.vivaolinux.com.br/dica/deb2appimage-Crie-AppImage-facilmente

O empacotamento em AppImage cria um arquivo executável que funciona da mesma maneira em qualquer distribuição linux, e você pode distribuir suas aplicações para todos sem preocupação.

Mas se o seu objeto é aprender sobre o Gentoo Linux, pois você gosta da abordagem. O quê eu não acho que seja o caso, pois se fosse, você estaria querendo e tentando fazer o portage compilar a aplicação para você a partir do código fonte, e não tentando instalar um binário que você já compilou. Então, se eu estiver enganado e esse for o caso, novamente recomendo que pare e estude um pouco mais o Gentoo Linux e entenda a filosofia e maneira correta de usar-lo. Mas como não acho que eu esteja errado, e que você só quer compartilhar suas aplicações, use AppImage que vai ser menos dor de cabeça para você.

----------

## Xinitrc

Pelo que entendi a filosofia do Gentoo é compilar,por isso demora mais,mais ganhamos alguns segundos a mais de execução nos programas,tornando os programas mais rápidos,entendi que o OVERLAY é uma especie de programa que lista o repositório em busca de programas.

----------

## ff11

 *Xinitrc wrote:*   

> Pelo que entendi a filosofia do Gentoo é compilar,por isso demora mais,mais ganhamos alguns segundos a mais de execução nos programas,tornando os programas mais rápidos,entendi que o OVERLAY é uma especie de programa que lista o repositório em busca de programas.

 

Não exatamente. A filosofia do Gentoo é compilar para customizar e porquê as pessoas não confiam muito em binários feitos por outras pessoas (código malicioso pode ter sido incluso). É bem raro você encontrar um usuário de Gentoo Linux que vai rodar seu programa sem ter a possibilidade de ver o código, e compilar ele mesmo o binário (garantindo que nada extra foi adicionado). As pessoas aqui são bem paranoicas com segurança.

E OVERLAY não é um programa, e sim uma funcionalidade do portage. Seria o equivalente o quê é feito no debian com o SourcesList: https://wiki.debian.org/pt_BR/SourcesList

----------

## Xinitrc

```
# Copyright 1999-2020 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop xdg-utils unpacker

DESCRIPTION="Visualizador de imagem feito no Lazarus"

HOMEPAGE="https://gitlab.com/BuiuDeJaraguaDoSul"

SRC_URI="

      

      

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoovisualizadordeimagem/-/blob/master/VisualizadorDeImagens.tar.gz

      https://gitlab.com/BuiuDeJaraguaDoSul/gentoovisualizadordeimagem/-/blob/master/Visualizador.png

      

      "

RESTRICT="primaryuri"

LICENSE="GPL-3"

SLOT="0"

KEYWORDS="amd64"

RDEPEND="

   app-arch/bzip2

   app-arch/brotli

   dev-libs/atk

   dev-libs/libbsd

   dev-libs/expat

   dev-libs/fribidi

   dev-libs/libffi

   dev-libs/libpcre

   media-libs/fontconfig

   media-libs/freetype

   media-libs/harfbuzz

   media-libs/libpng

   media-gfx/graphite2

   sys-apps/util-linux

   sys-libs/zlib

   x11-libs/cairo

   x11-libs/gtk+

   x11-libs/gdk-pixbuf

   x11-libs/pango

   x11-libs/pixman

   x11-libs/libX11

   x11-libs/libXau

   x11-libs/libxcb

   x11-libs/libXdmcp

   x11-libs/libXdamage

   x11-libs/libXcomposite

   x11-libs/libXext

   x11-libs/libXfixes

   x11-libs/libXrender

   x11-libs/libXi

   x11-libs/libXrandr

   x11-libs/libXcursor

   x11-libs/libxcb

"

QA_PREBUILT="*"

S="${WORKDIR}"

src_install() {

   mkdir -p "${D}/usr/bin"

   mkdir -p "${D}/usr/share/applications"

   mkdir -p "${D}/usr/share/pixmaps/Visualizador"

   cp "${S}/Visualizador" "${D}/usr/bin" || die "Install failed!"

   cp -L "${DISTDIR}/Visualizador.png" "${D}/usr/share/pixmaps/Visualizador" || die "Install failed!"

   cp "${FILESDIR}/Visualizador.desktop" "${D}/usr/share/applications" || die "Install failed!"

}

pkg_postinst() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}

pkg_postrm() {

   xdg_icon_cache_update

   xdg_desktop_database_update

}
```

Esse está certo baseado no meu localrepo do visualizadordeimagem:

https://gitlab.com/BuiuDeJaraguaDoSul/gentoovisualizadordeimagem/-/blob/master/localrepo.tar.gz

----------

## ff11

 *Xinitrc wrote:*   

> 
> 
> ```
> ...
> 
> ...

 

Eu não sei exatamente o quê você está tentando fazer, mas faça o teste do link e você verá o quê eu já havia falado antes:

```
$ wget -c https://gitlab.com/BuiuDeJaraguaDoSul/gentoovisualizadordeimagem/-/blob/master/VisualizadorDeImagens.tar.gz

$ tar xf VisualizadorDeImagens.tar.gz || echo "ERRO: Nao eh possivel extrair o arquivo VisualizadorDeImagens.tar.gz"

e

$ wget -c https://gitlab.com/BuiuDeJaraguaDoSul/gentoovisualizadordeimagem/-/blob/master/localrepo.tar.gz

$ tar xf localrepo.tar.gz || echo "ERRO: Nao eh possivel extrair o arquivo localrepo.tar.gz"

```

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   
> 
> ```
> ...
> 
> ...

 

Estava eu tentando instalar o programa na máquina na aba ou categoria utilitários.

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Estava eu tentando instalar o programa na máquina na aba ou categoria utilitários.

 

Usando os links referenciados, os arquivos só podem ser baixados normalmente usando um navegador web.

Mesmo que os nomes dos arquivos sejam VisualizadorDeImagens.tar.gz e localrepo.tar.gz o quê são baixados são arquivos html.

Interessantemente, esses arquivos html possuem os dados dentro da de uma tag div no atributo data-blob-data, mantendo o tamanho deles bem perto do arquivo pretendido, no estilo:

```
...

<div data-blob-data="MuitoInformacaoEmBinarioAquiComOsDadosDoArquivo" data-is-ci-config-file="false" id="js-blob-toggle-graph-preview"></div>

...
```

Me parece que você ainda não tinha percebido que, como eu disse antes, os links não estavam apontando para os arquivos diretamente. É fácil de confundir os dois tipos (mesmo nome, mesma extensão, tamanho similares).

Sites como o gitlab.com tem vários tipos de links para vários tipos de uso, então mesmo que os arquivos tenham exatamente o mesmo nome, e tamanhos bem parecidos, eles ainda são diferentes do original (em conteúdo e formato).

----------

## Xinitrc

Não é isso,quero que você baixe o VisualizadorDeImagens.tar.gz e o localrepo do VisualizadorDeImagens e tente instalar o programa na sua máquina,faça as correções e depois passe para mim,pois não consigo fazer correções dessa porcaria,e que além da síndrome de noonan eu ainda tenho ansiedade,depressão e bipolaridade,e você percebeu que eu sou ansioso,você é muito inteligente,outros não perceberiam.

----------

## ff11

 *Xinitrc wrote:*   

> Não é isso,quero que você baixe o VisualizadorDeImagens.tar.gz e o localrepo do VisualizadorDeImagens e tente instalar o programa na sua máquina,faça as correções e depois passe para mim,pois não consigo fazer correções dessa porcaria,e que além da síndrome de noonan eu ainda tenho ansiedade,depressão e bipolaridade,e você percebeu que eu sou ansioso,você é muito inteligente,outros não perceberiam.

 

Pode ficar tranquilo, meu amigo. Essa ansiedade toda faz mal para a saúde (ela pode te acrescentar um problema no estomago também).

Se quiser, eu posso fazer tudo de uma vez só, um localrepo para governar todos (tipo o anel do filme Senhor dos Anéis).

O meu ponto é sobre a utilidade desse método para você. Pois ebuilds precisam ser mantidos de tempos em tempos, atualizados para usarem as novas EAPIs (eu estou usando a versão 7 agora), ou novas maneiras de funcionar. Como são feitos de binários, quando algumas das dependências forem atualizadas, isso geralmente quebra a compatibilidade, e eles param de funcionar, e tudo teria que ser refeito novamente (inclusive a recompilação na sua máquina). Isso acontece muito com o python aqui, e os usuários chamam literalmente de inferno ("hell" em inglês), com uns títulos de postagem bem engraçadas como "Caindo no inferno", "Tentando sair do inferno" ou "Do inferno ao céu" e por ai vai.

E foi por isso que eu propus a ideia do AppImage, que funcionaria em qualquer distribuição linux, é fácil de instalar e rodar, não precisa se preocupar com as dependências (pois elas já vão embutidas).

Eu mesmo uso umas 10 aqui:

```
Audacity-2.1.2.glibc2.15-x86_64.AppImage

CPU-X-v4.0.1-x86_64.AppImage

GitQlient-1.2.0-x86_64.AppImage

GoldenDict-da197ff-x86_64.AppImage

HandBrake-1.1.2.glibc2.17-x86_64.AppImage

MKVToolNix_GUI-43.0.0-x86_64.AppImage

PeaZip-v7.2.2-x86_64.AppImage

sabaki-v0.51.1-linux-x64.AppImage

VSCodium-1.50.1-1602946577.glibc2.16-x86_64.AppImage

wxHexEditor-0.23-x86_64.AppImage

```

Então não precisa se estressar não. Basta pensar um pouquinho com calma, não precisa ter pressa. E tomar uma decisão. Eu posso fazer um localrepo com todos os ebuilds de todos os seus programas, mas infelizmente não teria condições de ficar atualizando eles a cada grande mudança do Gentoo Linux, e elas acontecem relativamente frequentemente. E não é garantia que eu estaria disponível quando você precisasse. E no caso do AppImage, tem muitos usuários do Viva o Linux (em português) que estão fazendo artigos e tirando dúvidas sobre AppImage, sendo que quando um não estiver disponível o outro pode ajudar. Afinal, só Deus sabe o quê pode nos acontecer (um resfriadinho de COVID-19 e já era).

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   Não é isso,quero que você baixe o VisualizadorDeImagens.tar.gz e o localrepo do VisualizadorDeImagens e tente instalar o programa na sua máquina,faça as correções e depois passe para mim,pois não consigo fazer correções dessa porcaria,e que além da síndrome de noonan eu ainda tenho ansiedade,depressão e bipolaridade,e você percebeu que eu sou ansioso,você é muito inteligente,outros não perceberiam. 
> 
> Pode ficar tranquilo, meu amigo. Essa ansiedade toda faz mal para a saúde (ela pode te acrescentar um problema no estomago também).
> 
> Se quiser, eu posso fazer tudo de uma vez só, um localrepo para governar todos (tipo o anel do filme Senhor dos Anéis).
> ...

 

OK,muito obrigado,sua um aviso para o bem é claro:

Meus programas não precisam de atualização no localrepo,pois tem uma só funcionalidade em cada programa.

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> OK,muito obrigado,sua um aviso para o bem é claro:
> 
> Meus programas não precisam de atualização no localrepo,pois tem uma só funcionalidade em cada programa.

 

Bom, não é uma questão de funcionalidades que estou falando aqui, mas de dependências.

Como você usou o Lazarus para fazer suas aplicações, ele usou muitas dependências que se quebram facilmente. Mesmo que você não perceba suas aplicações estão usando essas dependências (sem elas, eles não rodam).

Vou lhe dar uns exemplos de quebra que suas aplicações podem sofrer aqui no Gentoo usando exemplos reais do passado:

* Suas aplicações usam o dev-libs/expat, e ele já quebrou aplicações no passado aqui: libexpat 2.0.0 ABI breakage

* Elas também usam o media-libs/freetype, e ele já quebrou apps aqui no passado: https://forums.gentoo.org/viewtopic-t-30543-start-0.html

* Usam também o media-libs/libpng, que teve um aviso dos próprios desenvolvedores do Gentoo: Watch out for the libpng 1.4 update

* Usam o x11-libs/cairo que já quebrou completamente o openoffice aqui, além de outras aplicações: https://bugs.gentoo.org/182127

e por ai vai

...

Ou seja, já aconteceu várias vezes no passado, continua acontecendo no presente, e vai acontecer no futuro também. A única maneira de evitar isso, seria você oferecendo as dependências (que seus apps estão usando) junto com a aplicação, seja fazendo uma completa compilação estática (algo meio complicado de fazer no Lazarus), ou empacotar tudo em um container (como o AppImage) que vai ter as dependências junto na versão que mantém elas funcionado sem quebrar.

----------

## Xinitrc

1)Você é moderador/administrador do fórum Gentoo?

2)Gostaria de uma área para postar programas feitos pelos membros,assim eu postaria meus programas para Gentoo no Lazarus junto com o código fonte de cada programa,não se faz open source sem abrir o código fonte do programa,assim o pessoal talvez confiaria no meus programas,e melhoraria eles.neh?

----------

## Xinitrc

Olha o erro:O que estou fazendo de errado?

 ebuild VisualizadorDeImagem-bin-9999.ebuild clean install

Appending /home/junior/localrepo to PORTDIR_OVERLAY...

 * Visualizador.tar.gz BLAKE2B SHA512 size  :Wink:  ...                                                                                                                                      [ ok ]

 * Visualizador.png BLAKE2B SHA512 size  :Wink:  ...                                                                                                                                         [ ok ]

 * checking ebuild checksums  :Wink:  ...                                                                                                                                                    [ ok ]

 * checking auxfile checksums  :Wink:  ...                                                                                                                                                   [ ok ]

 * checking miscfile checksums  :Wink:  ...                                                                                                                                                  [ ok ]

>>> Unpacking source...

>>> Unpacking Visualizador.tar.gz to /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work

gzip: /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/Visualizador.tar.gz: not in gzip format

tar: This does not look like a tar archive

tar: Exiting with failure status due to previous errors

 * ERROR: sci-misc/VisualizadorDeImagem-bin-9999::localrepo failed (unpack phase):

 *   unpacking /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/Visualizador.tar.gz failed (comp=gzip -dc arch=tar --no-same-owner -xof)

 * 

 * Call stack:

 *               ebuild.sh, line  125:  Called src_unpack

 *             environment, line 1684:  Called unpacker_src_unpack

 *             environment, line 2546:  Called unpacker

 *             environment, line 2541:  Called _unpacker 'Visualizador.tar.gz'

 *             environment, line  558:  Called assert 'unpacking /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/Visualizador.tar.gz failed (comp=gzip -dc arch=tar --no-same-owner -xof)'

 *   isolated-functions.sh, line   18:  Called die

 * The specific snippet of code:

 *              [[ $x -eq 0 ]] || die "$@"

 * 

 * If you need support, post the output of `emerge --info '=sci-misc/VisualizadorDeImagem-bin-9999::localrepo'`,

 * the complete build log and the output of `emerge -pqv '=sci-misc/VisualizadorDeImagem-bin-9999::localrepo'`.

 * The complete build log is located at '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/temp/environment'.

 * Working directory: '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work'

 * S: '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work'

junior-aspiref5573g /home/junior/localrepo/sci-misc/VisualizadorDeImagem-bin #

----------

## ff11

 *Xinitrc wrote:*   

> 1)Você é moderador/administrador do fórum Gentoo?

 

Não. Sou somente um usuário comum aleatório que pode aparecer hoje e sumir completamente amanhã.

 *Xinitrc wrote:*   

> 2)Gostaria de uma área para postar programas feitos pelos membros,assim eu postaria meus programas para Gentoo no Lazarus junto com o código fonte de cada programa,não se faz open source sem abrir o código fonte do programa,assim o pessoal talvez confiaria no meus programas,e melhoraria eles.neh?

 

Eu acho que isso é contra as regras do Forum Gentoo Linux, e você pode ter problemas se tentar isso.

 *Xinitrc wrote:*   

> Olha o erro:O que estou fazendo de errado?
> 
> ebuild VisualizadorDeImagem-bin-9999.ebuild clean install
> 
> 

 

Oh! O comando para teste está correto. Muito bom.

 *Xinitrc wrote:*   

> gzip: /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/Visualizador.tar.gz: not in gzip format
> 
> tar: This does not look like a tar archive
> 
> tar: Exiting with failure status due to previous errors
> ...

 

Como eu disse antes, e está na mensagem de erro, o arquivo Visualizador.tar.gz é um html e não um gzip.

Sua URL está errada.

DICA:

A URL do html tem a palavra blob nele,

enquanto a URL do real arquivo tar.gz (gzip) tem a palavra raw nele.

----------

## Xinitrc

Como faço para minha html ter o raw invés do blob?

----------

## ff11

 *Xinitrc wrote:*   

> Como faço para minha html ter o raw invés do blob?

 

Mudando o blob para raw?!

Exemplo:

* URL com blob:

https://gitlab.com/BuiuDeJaraguaDoSul/gentoovisualizadordeimagem/-/blob/master/localrepo.tar.gz

* URL com raw:

https://gitlab.com/BuiuDeJaraguaDoSul/gentoovisualizadordeimagem/-/raw/master/localrepo.tar.gz

perceba que a única mudança foi a palavra blob para raw.

----------

## Xinitrc

Coloquei raw no link do localrepo,mas aparece o seguinte:

emerge VisualizadorDeImagem-bin

Calculating dependencies             ... done!                     

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sci-misc/VisualizadorDeImagem-bin-9999::localrepo

 * VisualizadorDeImagens.tar.gz BLAKE2B SHA512 size  :Wink:  ...                                                                                                                             [ ok ]

 * Visualizador.png BLAKE2B SHA512 size  :Wink:  ...                                                                                                                                         [ ok ]

>>> Unpacking source...

>>> Unpacking VisualizadorDeImagens.tar.gz to /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work

gzip: /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/VisualizadorDeImagens.tar.gz: not in gzip format

tar: This does not look like a tar archive

tar: Exiting with failure status due to previous errors

 * ERROR: sci-misc/VisualizadorDeImagem-bin-9999::localrepo failed (unpack phase):

 *   unpacking /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/VisualizadorDeImagens.tar.gz failed (comp=gzip -dc arch=tar --no-same-owner -xof)

 * 

 * Call stack:

 *               ebuild.sh, line  125:  Called src_unpack

 *             environment, line 1686:  Called unpacker_src_unpack

 *             environment, line 2548:  Called unpacker

 *             environment, line 2543:  Called _unpacker 'VisualizadorDeImagens.tar.gz'

 *             environment, line  560:  Called assert 'unpacking /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/VisualizadorDeImagens.tar.gz failed (comp=gzip -dc arch=tar --no-same-owner -xof)'

 *   isolated-functions.sh, line   18:  Called die

 * The specific snippet of code:

 *              [[ $x -eq 0 ]] || die "$@"

 * 

 * If you need support, post the output of `emerge --info '=sci-misc/VisualizadorDeImagem-bin-9999::localrepo'`,

 * the complete build log and the output of `emerge -pqv '=sci-misc/VisualizadorDeImagem-bin-9999::localrepo'`.

 * The complete build log is located at '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/temp/environment'.

 * Working directory: '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work'

 * S: '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work'

>>> Failed to emerge sci-misc/VisualizadorDeImagem-bin-9999, Log file:

>>>  '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/temp/build.log'

 * Messages for package sci-misc/VisualizadorDeImagem-bin-9999:

 * ERROR: sci-misc/VisualizadorDeImagem-bin-9999::localrepo failed (unpack phase):

 *   unpacking /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/VisualizadorDeImagens.tar.gz failed (comp=gzip -dc arch=tar --no-same-owner -xof)

 * 

 * Call stack:

 *               ebuild.sh, line  125:  Called src_unpack

 *             environment, line 1686:  Called unpacker_src_unpack

 *             environment, line 2548:  Called unpacker

 *             environment, line 2543:  Called _unpacker 'VisualizadorDeImagens.tar.gz'

 *             environment, line  560:  Called assert 'unpacking /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/VisualizadorDeImagens.tar.gz failed (comp=gzip -dc arch=tar --no-same-owner -xof)'

 *   isolated-functions.sh, line   18:  Called die

 * The specific snippet of code:

 *              [[ $x -eq 0 ]] || die "$@"

 * 

 * If you need support, post the output of `emerge --info '=sci-misc/VisualizadorDeImagem-bin-9999::localrepo'`,

 * the complete build log and the output of `emerge -pqv '=sci-misc/VisualizadorDeImagem-bin-9999::localrepo'`.

 * The complete build log is located at '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/temp/environment'.

 * Working directory: '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work'

 * S: '/var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/work'

----------

## ff11

 *Xinitrc wrote:*   

> Coloquei raw no link do localrepo,mas aparece o seguinte:
> 
> emerge VisualizadorDeImagem-bin
> 
> 

 

Vejo que você está progredindo. Muito bom, mas:

 *Xinitrc wrote:*   

> 
> 
> gzip: /var/tmp/portage/sci-misc/VisualizadorDeImagem-bin-9999/distdir/VisualizadorDeImagens.tar.gz: not in gzip format
> 
> tar: This does not look like a tar archive
> ...

 

A URL ainda está errada no arquivo que você está usando. Você deve ter corrigido somente na sua cópia local.

A sua cópia local, que está provavelmente em:

/home/junior/localrepo/sci-misc/VisualizadorDeImagem-bin-9999/VisualizadorDeImagem-bin-9999.ebuild

Não é a que o portage está usando nesse caso. Mas foi a que você modificou

O portage está usando a cópia dele, que provavelmente está em:

/var/db/repos/localrepo/sci-misc/VisualizadorDeImagem-bin-9999/VisualizadorDeImagem-bin-9999.ebuild

E lembre que ao modificar o ebuild, você precisa gerar novamente o arquivio Manifest (como mencionado anteriormente)

----------

## Xinitrc

Ultima pergunta mestre:

Qual é a sua idade?

Pergunto isso,porque tu sabe muito de Gentoo etc...

----------

## Xinitrc

emerge VisualizadorDeImagem-bin

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

Calculating dependencies          l * Digest verification failed:

 * /var/db/repos/localrepo/sci-misc/VisualizadorDeImagem-bin/VisualizadorDeImagem-bin-9999.ebuild

 * Reason: Filesize does not match recorded size

 * Got: 1733

 * Expected: 1721

... done!

!!! All ebuilds that could satisfy "VisualizadorDeImagem-bin" have been masked.

!!! One of the following masked packages is required to complete your request:

- sci-misc/VisualizadorDeImagem-bin-9999::localrepo (masked by: corruption)

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

----------

## Xinitrc

A calculadora que tu me ensinou a fazer está dando esse erro no computador,depois que formatei o redcore:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # repoman manifest

>>> Downloading 'https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz'

--2020-10-28 14:00:29--  https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz

Resolving gitlab.com... 172.65.251.78, 2606:4700:90:0:f22e:fbec:5bed:a9b9

Connecting to gitlab.com|172.65.251.78|:443... connected.

HTTP request sent, awaiting response... 404 Not Found

2020-10-28 14:00:30 ERROR 404: Not Found.

>>> Downloading 'http://mirror.bytemark.co.uk/gentoo/distfiles/4b/CalculadoraDecimo.tar.gz'

--2020-10-28 14:00:30--  http://mirror.bytemark.co.uk/gentoo/distfiles/4b/CalculadoraDecimo.tar.gz

Resolving mirror.bytemark.co.uk... 212.110.163.12, 80.68.83.150, 2001:41c8:20:5e6::150, ...

Connecting to mirror.bytemark.co.uk|212.110.163.12|:80... connected.

HTTP request sent, awaiting response... 404 Not Found

2020-10-28 14:00:30 ERROR 404: Not Found.

!!! Couldn't download 'CalculadoraDecimo.tar.gz'. Aborting.

!!! Fetch failed for CalculadoraDecimo.tar.gz, can't update Manifest

!!! Unable to generate manifest for '/home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin'.

  ebuild.notadded               1

  manifest.bad [fatal]          1

   sci-calculators/CalculadoraDecimo-bin/Manifest

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Qual é a sua idade?
> 
> ...

 

Nesse mundo, esse meu pobre corpo, tem 37 anos.

Depois de anos fazendo sempre a mesmas coisa, você se acostuma.

 *Xinitrc wrote:*   

> ...
> 
> Calculating dependencies          l * Digest verification failed:
> 
> ...

 

Toda vez que o arquivo muda no servidor, o ebuild precisa ser refeito. Ou pelo menos o arquivo Manifest.

 *Xinitrc wrote:*   

> ...
> 
> >>> Downloading 'https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz'
> 
> ...
> ...

 

Olhei no

https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/

e você mudou o arquivo CalculadoraDecimo.tar.gz para CalculadoraDeDecimoTerceiroSalario.tar.gz.

No commit:

https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/commit/899eb74285c771ee2dc8eaaa94b65fabe894d061

você removeu o arquivo, então o portage não consegue baixar um arquivo que não existe mais.

Esse tipo de mudança faz parte da manutenção dos arquivos ebuild (apesar que nesse caso, foi você mesmo que mudou, acontece também quando o Gentoo Linux muda o nome das dependências).

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Qual é a sua idade?
> 
> ... 
> ...

 

Eu tenho quase sua idade,tenho 33 anos,deu quase certo Mestre,parou no seguinte:

 emerge CalculadoraDecimo-bin

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

Calculating dependencies                    * Digest verification failed:

 * /var/db/repos/localrepo/sci-calculators/CalculadoraDecimo-bin/CalculadoraDecimo-bin-9999.ebuild

 * Reason: Filesize does not match recorded size

 * Got: 1797

 * Expected: 1812

... done!

!!! All ebuilds that could satisfy "CalculadoraDecimo-bin" have been masked.

!!! One of the following masked packages is required to complete your request:

- sci-calculators/CalculadoraDecimo-bin-9999::localrepo (masked by: corruption)

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

Entendi que o motivo(Reason no inglês) é que o tamanho do arquivo não corresponde ao arquivo gravado,entendi certo mestre,seu aluno está progredindo?

Se for isso:

O que faço agora?

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Entendi que o motivo(Reason no inglês) é que o tamanho do arquivo não corresponde ao arquivo gravado,entendi certo mestre,seu aluno está progredindo?
> 
> Se for isso:
> ...

 

Correto.

Você pode fazer:

* Recriar o Manifest do CalculadoraDecimo-bin-9999.ebuild com o arquivo novo:

```
# rm /var/cache/distfiles/CalculadoraDecimo.tar.gz

# cd /var/db/repos/localrepo/sci-calculators/CalculadoraDecimo-bin/

# rm Manifest

# repoman manifest
```

E tentar novamente o:

```
# emerge CalculadoraDecimo-bin
```

E ter em mente que no Gentoo Linux, qualquer mudança, mesmo que pequena, precisa que o pacote seja atualizado (ou pelo menos o arquivo Manifest).

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Entendi que o motivo(Reason no inglês) é que o tamanho do arquivo não corresponde ao arquivo gravado,entendi certo mestre,seu aluno está progredindo?
> 
> Se for isso:
> ...

 

Obrigado Mestre,deu certo,devo todo meu ensino a você,que foi meu Professor,e como todo Professor teve paciência para ensinar ao seu aluno.

----------

## Xinitrc

Mestre,aprendi tudo contigo,só não aprendi a resolver problemas,como esse por exemplo:

junior-aspiref5573g /var/db/repos/localrepo/sci-misc/GeradorDeSenhas-bin # emerge GeradorDeSenhas-bin

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

Calculating dependencies                            ... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sci-misc/GeradorDeSenhas-bin-9999::localrepo

 * Gerador.tar.gz BLAKE2B SHA512 size  :Wink:  ...                                                                                                                                           [ ok ]

 * GeradorDeSenha.png BLAKE2B SHA512 size  :Wink:  ...                                                                                                                                       [ ok ]

>>> Unpacking source...

>>> Unpacking Gerador.tar.gz to /var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work

>>> Unpacking GeradorDeSenha.png to /var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work

unpack GeradorDeSenha.png: file format not recognized. Ignoring.

>>> Source unpacked in /var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work

>>> Preparing source in /var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work ...

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work ...

>>> Source configured.

>>> Compiling source in /var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work ...

>>> Source compiled.

>>> Test phase [not enabled]: sci-misc/GeradorDeSenhas-bin-9999

>>> Install sci-misc/GeradorDeSenhas-bin-9999 into /var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/image

cp: cannot stat '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/distdir/Gerador.png': No such file or directory

 * ERROR: sci-misc/GeradorDeSenhas-bin-9999::localrepo failed (install phase):

 *   Install failed!

 * 

 * Call stack:

 *     ebuild.sh, line 125:  Called src_install

 *   environment, line 1675:  Called die

 * The specific snippet of code:

 *       cp -L "${DISTDIR}/Gerador.png" "${D}/usr/share/pixmaps/Gerador" || die "Install failed!";

 * 

 * If you need support, post the output of `emerge --info '=sci-misc/GeradorDeSenhas-bin-9999::localrepo'`,

 * the complete build log and the output of `emerge -pqv '=sci-misc/GeradorDeSenhas-bin-9999::localrepo'`.

 * The complete build log is located at '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/temp/environment'.

 * Working directory: '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work'

 * S: '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work'

>>> Failed to emerge sci-misc/GeradorDeSenhas-bin-9999, Log file:

>>>  '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/temp/build.log'

 * Messages for package sci-misc/GeradorDeSenhas-bin-9999:

 * ERROR: sci-misc/GeradorDeSenhas-bin-9999::localrepo failed (install phase):

 *   Install failed!

 * 

 * Call stack:

 *     ebuild.sh, line 125:  Called src_install

 *   environment, line 1675:  Called die

 * The specific snippet of code:

 *       cp -L "${DISTDIR}/Gerador.png" "${D}/usr/share/pixmaps/Gerador" || die "Install failed!";

 * 

 * If you need support, post the output of `emerge --info '=sci-misc/GeradorDeSenhas-bin-9999::localrepo'`,

 * the complete build log and the output of `emerge -pqv '=sci-misc/GeradorDeSenhas-bin-9999::localrepo'`.

 * The complete build log is located at '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/temp/environment'.

 * Working directory: '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work'

 * S: '/var/tmp/portage/sci-misc/GeradorDeSenhas-bin-9999/work'

----------

## ff11

Apenas se acalme, respire fundo, e olhe as mensagens com cuidado que você vai descobrir o problema:

 *Xinitrc wrote:*   

> ...
> 
>  * GeradorDeSenha.png BLAKE2B SHA512 size  ...                                                                                                                                       [ ok ]
> 
> ...
> ...

 

O arquivo baixado foi o GeradorDeSenha.png, mas você está tentando usar o Gerador.png.

Suponho que você esteja referenciando o mesmo arquivo com dois nomes diferentes. E por isso a mensagem de erro, que o arquivo Gerador.png não existe.

----------

## Xinitrc

 *ff11 wrote:*   

> Apenas se acalme, respire fundo, e olhe as mensagens com cuidado que você vai descobrir o problema:
> 
>  *Xinitrc wrote:*   ...
> 
>  * GeradorDeSenha.png BLAKE2B SHA512 size  ...                                                                                                                                       [ ok ]
> ...

 

Deu o seguinte erro abaixo,mas esse erro já aprendemos.

junior-aspiref5573g /home/junior/localrepo/sci-misc/GeradorDeSenhas-bin # ebuild GeradorDeSenhas-bin-9999.ebuild clean install

Appending /home/junior/localrepo to PORTDIR_OVERLAY...

>>> Downloading 'https://gitlab.com/BuiuDeJaraguaDoSul/gentoogeradordesenhas/-/raw/master/Gerador.tar.gz'

--2020-10-30 11:30:13--  https://gitlab.com/BuiuDeJaraguaDoSul/gentoogeradordesenhas/-/raw/master/Gerador.tar.gz

Resolving gitlab.com... 172.65.251.78, 2606:4700:90:0:f22e:fbec:5bed:a9b9

Connecting to gitlab.com|172.65.251.78|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 5884390 (5,6M) [application/x-gzip]

Saving to: ‘/var/cache/distfiles/Gerador.tar.gz.__download__’

/var/cache/distfiles/Gerador.tar.gz.__download_ 100%[======================================================================================================>]   5,61M  2,52MB/s    in 2,2s    

2020-10-30 11:30:17 (2,52 MB/s) - ‘/var/cache/distfiles/Gerador.tar.gz.__download__’ saved [5884390/5884390]

!!! Fetched file: Gerador.tar.gz VERIFY FAILED!

!!! Reason: Filesize does not match recorded size

!!! Got:      5884390

!!! Expected: 6406489

Refetching... File renamed to '/var/cache/distfiles/Gerador.tar.gz._checksum_failure_.guf2mglo'

>>> Downloading 'http://mirror.bytemark.co.uk/gentoo/distfiles/02/Gerador.tar.gz'

--2020-10-30 11:30:17--  http://mirror.bytemark.co.uk/gentoo/distfiles/02/Gerador.tar.gz

Resolving mirror.bytemark.co.uk... 80.68.83.150, 212.110.163.12, 2001:41c8:20:5fc::12, ...

Connecting to mirror.bytemark.co.uk|80.68.83.150|:80... connected.

HTTP request sent, awaiting response... 404 Not Found

2020-10-30 11:30:18 ERROR 404: Not Found.

!!! Couldn't download 'Gerador.tar.gz'. Aborting.

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> junior-aspiref5573g /home/junior/localrepo/sci-misc/GeradorDeSenhas-bin # ebuild GeradorDeSenhas-bin-9999.ebuild clean install
> 
> ...
> ...

 

Eu sei que é chato, mas repetirei novamente, toda vez que alguma modificação for feita, não importa quão pequena ela seja, você terá que atualizar pelo menos o arquivo Manifest. E aqui eu estou falando somente de suas modificações, sem levar em conta as modificações nos pacotes de dependências. Basicamente meu ponto era esse quando eu disse que ficar dando manutenção a esses ebuilds seria a pior parte para você e tinha recomendado o uso do AppImage (mas você discorda, então não posso fazer nada a respeito).

E para esse caso:

```
# Atualize o Manifest:

$ cd /home/junior/localrepo/sci-misc/GeradorDeSenhas-bin

$ repoman manifest

# então você poderá usar o:

$ ebuild GeradorDeSenhas-bin-9999.ebuild clean install

```

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> junior-aspiref5573g /home/junior/localrepo/sci-misc/GeradorDeSenhas-bin # ebuild GeradorDeSenhas-bin-9999.ebuild clean install
> 
> ...
> ...

 

Tinha colocado lá em cima,que já tinhamos aprendido esse erro abaixo,e que depois que enviei o erro,vi que já tinha aprendido contigo.

----------

## ff11

 *Xinitrc wrote:*   

> ...
> 
> Tinha colocado lá em cima,que já tinhamos aprendido esse erro abaixo,e que depois que enviei o erro,vi que já tinha aprendido contigo.

 

Não se preocupe com isso. Eu mesmo vivo esquecendo de atualizar o Manifest, e geralmente só percebo quando vejo a mensagem de erro. E por isso que eu digo que qualquer modificação que seja, precisa de atualização (até mesmo um comentário dentro do ebuild que nem mesmo é executado, gera a necessidade de atualização).

----------

## Xinitrc

 *ff11 wrote:*   

>  *Xinitrc wrote:*   ...
> 
> Tinha colocado lá em cima,que já tinhamos aprendido esse erro abaixo,e que depois que enviei o erro,vi que já tinha aprendido contigo. 
> 
> Não se preocupe com isso. Eu mesmo vivo esquecendo de atualizar o Manifest, e geralmente só percebo quando vejo a mensagem de erro. E por isso que eu digo que qualquer modificação que seja, precisa de atualização (até mesmo um comentário dentro do ebuild que nem mesmo é executado, gera a necessidade de atualização).

 

Mestre ainda não aprendi a corrigir problemas,por favor corrija esse para mim:

junior-aspiref5573g /home/junior/localrepo/sci-calculators/CalculadoraDecimo-bin # ebuild CalculadoraDecimo-bin-9999.ebuild clean install

Appending /home/junior/localrepo to PORTDIR_OVERLAY...

>>> Downloading 'https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz'

--2020-10-31 12:19:56--  https://gitlab.com/BuiuDeJaraguaDoSul/gentoocalculadoradedecimoterceirosalario/-/raw/master/CalculadoraDecimo.tar.gz

Resolving gitlab.com... 172.65.251.78, 2606:4700:90:0:f22e:fbec:5bed:a9b9

Connecting to gitlab.com|172.65.251.78|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 5885042 (5,6M) [application/x-gzip]

Saving to: ‘/var/cache/distfiles/CalculadoraDecimo-bin-9999.tar.gz.__download__’

/var/cache/distfiles/CalculadoraDecimo-bin-9999 100%[======================================================================================================>]   5,61M  1,34MB/s    in 6,4s    

2020-10-31 12:20:03 (903 KB/s) - ‘/var/cache/distfiles/CalculadoraDecimo-bin-9999.tar.gz.__download__’ saved [5885042/5885042]

!!! Fetched file: CalculadoraDecimo-bin-9999.tar.gz VERIFY FAILED!

!!! Reason: Failed on BLAKE2B verification

!!! Got:      f05cc6fbc7e6506fa1701b6ffabbd72e2e71c7bd0b254238320a69d3e39bf39a0b7feda9f683ada5a0748accf7402fb8d354a108fc8d5f7ae1f866c5950e77c2

!!! Expected: 2a08eed056cf0046545a9c722808935420d71fb8ee39cf7c16c6d1085556e43c838f9ce37d8285b89b041db6683e159be878d30a15e94554084b215569c9ee3d

Refetching... File renamed to '/var/cache/distfiles/CalculadoraDecimo-bin-9999.tar.gz._checksum_failure_.ml4049dl'

>>> Downloading 'http://mirror.bytemark.co.uk/gentoo/distfiles/59/CalculadoraDecimo-bin-9999.tar.gz'

--2020-10-31 12:20:04--  http://mirror.bytemark.co.uk/gentoo/distfiles/59/CalculadoraDecimo-bin-9999.tar.gz

Resolving mirror.bytemark.co.uk... 212.110.163.12, 80.68.83.150, 2001:41c8:20:5fc::12, ...

Connecting to mirror.bytemark.co.uk|212.110.163.12|:80... connected.

HTTP request sent, awaiting response... 404 Not Found

2020-10-31 12:20:04 ERROR 404: Not Found.

!!! Couldn't download 'CalculadoraDecimo-bin-9999.tar.gz'. Aborting.

----------

