Como gerar automaticamente o arquivo .desktop?

7

Há um software .deb que não tem um arquivo .desktop , criei esse arquivo. Eu quero criar outro pacote para esse software, quando o usuário instala, eu quero que o arquivo .desktop seja gerado automaticamente e colocado em /usr/share/applications/

Como fazer isso?

    
por Lynob 18.02.2014 / 15:06

2 respostas

5

Parece que tudo o que você quer fazer é extrair o arquivo .deb , adicionar o arquivo .desktop e reconstruir o pacote. Este é um processo bastante simples. Para extrair:

dpkg-deb -R package.deb extract_dir

Note que -R é um extrato bruto para obter os arquivos de controle também. Em seguida, crie /usr/share/applications/ , se ainda não existir:

mkdir -p extract_dir/usr/share/applications/

Em seguida, basta adicionar seu arquivo .desktop (tome cuidado para que o nome não entre em conflito com qualquer outra coisa que você possa instalar) e reconstrua:

cp desktop_file.desktop extract_dir/usr/share/applications/
dpkg-deb -b extract_dir package_new.deb

Note que você também pode usar dpkg-deb -b extract_dir . para criar o pacote com seu nome canônico, mas provavelmente terá que tirar seu original do caminho primeiro ou então ele será destruído.

Fontes:
por 21.02.2014 / 21:56
1

Se você criar esse pacote, poderá executar um script ou executar alguns comandos após o usuário instalá-lo. Esse é o uso do script shell 'postinst' localizado na pasta debian no pacote de origem. A partir disso, você pode gerar o arquivo .desktop ou fazer qualquer outra coisa.

'postinst': This is a normal shell script containing all the commands to be executed (in order) after the installation of the package. dpkg will run this automatically.

Então, tudo que você precisa fazer é criar um script de shell antes de empacotar seu pacote fonte em um pacote binário, nomeá-lo como 'postinst' e colocá-lo no diretório debian.

Leia mais sobre isso: link

    
por 20.02.2014 / 16:46