OK, uma pergunta muito geral, mas aproximadamente ...
Primeiro você descobre qual pacote fornece o software que você deseja alterar (o ubuntu é composto de centenas de pacotes de software separados e há várias maneiras diferentes de descobrir qual deles fornece cada programa / arquivo instalado) e, em seguida:
apt-get source <packagename>
Isso fará o download do código-fonte e o descompactará em uma subpasta sob o local atual.
Por exemplo se eu quiser mudar o comportamento do reprodutor de músicas Rhythmbox:
apt-get source rhythmbox
Edite o código-fonte como quiser. Como construir e executar, depurar etc. realmente depende do programa ... linguagem, sistema de compilação, tipo de software, etc. Principalmente, todos os projetos de software linux usam makefiles . Também deve haver uma variedade de arquivos README na raiz de cada árvore de origem, explicando como lidar com esse projeto em particular.
Quando estiver satisfeito com as alterações, para criar um pacote de substituição que possa instalar, crie uma nova versão e execute um comando (fornecido pela instalação do devscripts ) para construir os arquivos" deb "instaláveis. Você encontrará uma pasta "debian" na raiz do código-fonte do pacote. Edite o arquivo debian/changelog
criando uma nova entrada com um novo número de versão e descrevendo suas alterações. Agora, execute o comando debuild
para criar um novo pacote.
Você pode usar o sistema PPA no Launchpad do Ubuntu para criar seus próprios repositórios de software e carregar seus pacotes de fontes alterados lá ( usando debuild -S
then dput
para carregar o arquivo .changes) a ser construído automaticamente para todas as arquiteturas suportadas e instalável por qualquer pessoa que queira adicionar seu repositório à sua lista.
Há muito mais nisso, é claro, mas isso é um fluxo de trabalho típico (e "tradicional"). Eu me lembro vagamente de um projeto chamado Controle de solo que estava tentando tornar tudo mais fácil.