Encontrar as intruções do path

Srs.,

Estou tentando atualizar um pacote feito em python.

Originalmente ele era open source mas a empresa decidiu fechar o desenvolvimento e não fez mais qualquer atualização nele.

Dada a pouca documentação estou tendo dificuldades com os testes inciais, então criei uma vm no boxes e instalei o ubuntu 14.04.

Nele consegui instalar do repositório mas não consigo fazer o mesmo no 21.04.

Enxergo apenas duas saídas:
Adicionar o repositório do 14.04 no 21.04 e instalar o programa
descobrir qual o apontamento no path e tentar reproduzir.

Alguém sabe como posso fazer alguma das duas coisas?

Obrigado

Qual programa?

Vai dar ruim, muito ruim… A mesma coisa que faz com que PPA’s quebrem uma versão nova do Ubuntu não preparada, vai acabar acontecendo.

Usar uma VM do Ubuntu 14.04 no Boxes ou procurar uma alternativa. Pois as chances disso dar zebra, sem necessidade, são altas

o programa é o flumotion,

https://packages.ubuntu.com/trusty/flumotion

A última atualização recebida data de 7 anos atrás

O risco de segurança e instabilidade é alto. Novamente: sugiro que busque por uma alternativa.

Tá na mão

https://alternativeto.net/software/flumotion/?platform=linux

Mas essa é exatamente a questão, quero atualizar esse programa

Ou seja, ele foi abandonado. Caducou. Por isso recomendou-se usar uma alternativa

Novamente, a idéia não correr atrás de alternativas, mas atualizar essa, para ganhar conhecimento nas tecnologias que ela utiliza

Boa sorte quebrando o seu sistema : )

Cara, essa atitude não ajuda em nada.

De fato acrescentar um repositório de uma versão descontinuada é um tanto imprudente mas essa foi uma das duas alternativas que pensei inicialmente

Os pacotes sobre os quais esse programa foi construído continuam sendo ativamente atualizados e empresa que desenvolveu o flumotion decidiu não publicar mais as atualizações que fizeram.

Isso de forma alguma significa que eu tenha que “qubrar meu sistemas” mesmo pq vir aqui expor o problema e buscar soluções é para evitar isso.

Agradeço a troca de informações enquanto ela se manteve útil, mas seu último comentário foi desnecessário

Mas para conseguir atualizar, você precisa entender ao menos em qual linguagem este foi programado. Baseado nisso, você pode sim (se possuir autorização e/ou o projeto tiver licença) atualizá-lo.

Por ser um programa abandonado por mais de 7 anos, muita coisa deve ser alterado, não? Ou apenas atualizar as dependências seriam o suficiente?

Vamos lá… O que eu e o Rodrigo estamos tentando explicar é que não é possível adicionar um repositório feito para o Ubuntu 14.04, lá de 2014, no 21.04, uma versão não LTS de 2021 e que em breve perderá o suporte e você terá de migrar inevitavelmente para o 21.10 ou o 22.04 em Abril de 2022. As chances de seu sistema quebrar são altas fora que, como demostrado, a ultima atualização data de 7 anos. Ou você usa o Ubuntu 14.04 em uma máquina virtual, visto que ele terá suporte de segurança e correção de bugs até 2024 ou você busca por uma alternativa. Em fim, faça o que quiserdes

O programa é escrito em Python, linguagem que conheço.
Tem alguns scripts em shell script e make que não sou tão familiarizado mas estou ok.

A licença do pacote é LGPL, e o programa foi construído com base no Gstreamer (open source) e no Twisted (open source).

O problema que estou esbarrando é que em um dos diretórios, ele aponta para um repositório acessado com o svn.
Esse repo estava hospedado em um site de um dos criadores do pacote e foi tirado do ar, talvez, justamente por ser essencial ao build, mas já dei um jeito de conseguir ele.

Em tese seria somente verificar as alterações nas versões posteriores, classes que foram deprecadas, métodos adicionados e etc.

Cara, novamente, te agradeço enquanto a troca foi útil, mas vc perguntou do pacote especificamente, e quando apontei qual era vc preferiu apontar que era algo desatualizado.
Infelizmente você se fixou em um das duas alternativas que eu trouxe e que nem era exatamente a primeira que tinha em mente, o que pode ser visto pelo título do tópico.

Por fim, a idéia inicial não era discutir o pacote em si, alternativas a ele ou a linguagem

O problema real é:

O principal aqui era saber encontrar a vinculação entre um path e o arquivo/comando ele executa, p.ex: eu uso o Vscode, se eu digito no terminal “code” ele abre o programa para mim.
Isso por que existe a instrução associando “code” a binário do programa.

No windows sei que isso é feito pelo Path nas variáveis de ambiente ou do usuário.

No linux não tenho certeza de como achar essa associação, por isso o título do tópico é: "Encontrar as instruções do path"

No Linux, o atributo PATH contém uma sequência de pastas separadas por dois-pontos, por exemplo, na minha máquina:

$ echo "$PATH"
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

Todos os executáveis dentro das pastas listadas no PATH são digitáveis sem especificar o caminho completo. Por exemplo, code é traduzido (geralmente) para /usr/bin/code e assim anda.

Assim como as outras variáveis de ambiente, é uma propriedade pessoal de intransferível de cada processo, não há um lugar único para alterá-lo para o sistema todo.

Porém, a maneira mais prática de alterá-lo de forma eficaz para o seu usuário é indo no arquivo de inicialização do seu shell, (.bashrc se usa o Bash, que costuma ser o padrão no Linux) e aí incluir uma instrução:

PATH="$PATH:/home/ostrock/projetos/flumotion2/bin"
export PATH

Assim, todo terminal que você iniciar poderá executar os arquivos da pasta /home/ostrock/projetos/flumotion2/bin sem especificar o caminho completo.

A melhor prática seria, quando tiver feito as alterações, reempacotar o programa e colocar o arquivo que inicia o mesmo na pasta-padrão, /usr/bin (assim, usuários da sua versão modificada não precisarão alterar o PATH também).

1 curtida

Muito obrigado

Estranho que programas em python são os próprios codigo fonte utilizados como executáveis. Então em tese a primeira parte que é pegar o código fonte vc já tem.

Daí entra o segundo ponto: fazer funcionar. Precisa ver qual era a versão do python naquela época (talvez 2.algumacoisa) e atualizar todo o código fonte pra versão 3. (ou adicionar a versão 2 desatualizada no sistema atual pra ver se ele consegue rodar sem erros). Toda essa etapa vc pode fazer como seu próprio usuário, não precisa instalar o pacote.

Terceiro ponto, quando vc já estiver com o programa rodando, é criar o pacote. Isso é um conhecimento extremamente avançado no sistema operacional e vc vai precisar de muito HH de aulas sobre “empacotamento no debian” do professor Kretcheu pra conseguir a proeza.

1 curtida

Esse programa especificamente utiliza gstream, escrito em C fazer a captura de imagem e vídeo, sendo que ele contém uma api para python.
O streaminf em si é feito Twisted, esse escrito em python, que é um conjunto de servidores para web, desde DNS, imap, ssh e até mesmo irc.

Por isso criei uma VM com ubuntu 14.04 com python 2.7 que é a última versão de python 2 que o twisted deu suporte, inclusive, o pacote do twisted que instalei, lançado no início de 2014 já apresentou algumas classes deprecadas, que pelo que vi, ocorreram em 2010, então ele usa algo bem mais antigo.

De fato nesse ponto eu ainda preciso estudar muito, mas é dando cabeçada que se aprende.

Valeu a ajuda.

2 curtidas