Qualquer resposta será pelo menos um pouco especulada IMO, pois o que constitui "inovação" difere de pessoa para pessoa (e se é uma coisa boa!) Porque autoconf
foi projetado para ser agnóstico em termos de linguagem e arquitetura na maior parte, há muita inércia mantendo o desejo de mudar: você tem que considerar que alguns scripts de configuração provavelmente já têm décadas, e as pessoas não querem ter que reescrever coisas que funcionem.
Algumas das restrições que autoconf
enfrenta são arquiteturais: por exemplo, como você pode usar o multithreading em uma etapa que verifica o multithreading? A versão 2.5 de libfoo
funcionará com um programa que diz que precisa da versão 1.8? Outros problemas que você cita geralmente são devido à subespecificação de dependências: Eu tive muitos scripts de configuração que simplesmente esquecem de listar todas as suas dependências diretas. Por fim, autoconf
parece ter um número bastante limitado de mantenedores, dificultando grandes mudanças.
Em alguns aspectos, os gerentes de pacotes são onde a inovação acontece. Eles podem lidar com conceitos como pacotes diferentes que precisam de versões diferentes da mesma biblioteca, identificar soluções alternativas para dependências que não estão mais disponíveis e (para distribuir fontes como o Gentoo) fornecer patches para limpar scripts de configuração e código-fonte para que funcionem corretamente .