Que sites podem ser adicionados ao brinde?

1

Estou usando o gerenciador de pacotes sem pacotes porque não tenho acesso root. Um dos sites que brindam procura pacotes é o site agora defuct freshmeat.net.

Eu tentei adicionar o link como possível fonte, mas o formato da URL não funciona.

Quais sites podem ser facilmente adicionados ao brinde?

    
por aggsol 02.06.2015 / 12:28

1 resposta

2

Seu gerenciador de pacotes agora é um PerlScript desativado. Eu cito:

What, you're afraid to run it? Don't worry. It's harmless. In fact it doesn't do anything anymore. It used to do something (5 points if you can tell me what), but then bitrot set in. There's a moral to this story (worth 10 points).

Extraído de: ToastBall.net

Por favor, note que eu não instituí o sistema de pontos aqui, mas em essência estou respondendo a pergunta de 5 pontos.

Eu acredito que o bitrot a que o autor está se referindo é este pouco no freshmeat (Quote):

  • The Freecode site has been moved to a static state effective June 18, 2014 due to low traffic levels and so that folks will focus on more useful endeavors than site upkeep.
  • The site contents have been retained in this static state as a continued path to access the linked software, much of which is on
    self-hosted servers and would be difficult to find otherwise.

Veja a entrada completa em Sobre o Freecode

Raciocínio

Observe o último pacote oficial para download no site oficial do desenvolvedor, versão 1.486 de 15 de julho de 2012, e a opção contida na página man:

- findsites = SITELIST

Set the list of web sites or other locations searched by toast find for packages that have not already been added. SITELIST is a space-separated list of URLs and/or special words taken from the following list: freshmeat, googlecode, sourceforge, gnu, cpan, or all (which stands for all of the preceding words in the order given). The * character will be replaced by the name of the package to find wherever it occurs. If you want a literal * character, too bad. Default: all.

Observe que a lista padrão contém freshmeat e gnu. Em circunstâncias normais, o gnu shoud nunca desaparece, já que todos os linuxes são derivados do GNU Software, mais a GNU Software Foundation é uma entidade legal. O Freshmeat, por outro lado, era um site de hospedagem para projetos, a maioria dos quais está hospedada no SourceForge ou no GitHub agora. O desenvolvedor, por outro lado, codificou essa lista em algum lugar em seu script perl, e como ele optou por não atualizar a lista com novos sites, quando os antigos são extintos, o script pára de funcionar.

Soluções possíveis

  1. O mais próximo que você vai conseguir é especificar o gnu como a única opção na opção --findsites, por exemplo, --findsites=gnu , mas observe que você não pode adicionar repositórios específicos de distribuição, porque o O script perl apenas compreende os itens disponíveis no SITELIST matriz.
  2. Depois de pesquisar, encontrei o array SITELIST: (Linhas 2.380 - 2388 do script configure / toast): %código%

Você pode remover o freshmeat dessa matriz, mas você precisa atualizar o manipulador (linhas 2.400-2.494), remover a pesquisa de freshmeat e adicionar parsings de pesquisa para cada tipo de repositório que você deseja adicionar ... Essa abordagem é BAD , porque as URLs não podem ser garantidas como estáticas, mas essa matriz é um conjunto de strings estáticas.

5 Point Question : Ele costumava instalar pacotes. 10 Point Question (palpite): Agora que o bitrot está definido, e eu percebo que a URL pode mudar a estrutura, ou morrer, a moral é: Um programador não deve confiar em procurar uma string quando puder t encarregar-se da forma como a string é formatada.

    
por 08.06.2015 / 21:24