web-dev-qa-db-fra.com

Comment rechercher un PPA via CLI, ligne de commande?

Si apt search m'échoue, l'étape suivante consiste généralement à rechercher un PPA, mais ppasearch semble être un abandonware. Que puis-je utiliser pour rechercher des PPA (via la ligne de commande)?

9
Jonathan

Vous ne comprenez pas vraiment pourquoi vous souhaitez rechercher des PPA à partir de la ligne de commande, car la plupart des gens ont déjà une fenêtre de navigateur ouverte en permanence. Voici quelques options:

  • Si vous utilisez un navigateur qui prend en charge l’ajout de mots clés aux signets, vous pouvez créer un signet https://launchpad.net/ubuntu/+ppas?name_filter=%s avec le mot clé ppa. Ensuite, tapez ppa [package-name] dans la barre d’URL pour effectuer la recherche.

  • Si ppasearch répond à vos besoins, continuez de l’utiliser aussi longtemps qu’il continue de fonctionner. Vous pouvez essayer de contribuer au développement pour ajouter des fonctionnalités ou corriger des bugs. Si les développeurs ne répondent pas, vous pouvez créer un fork personnel.

  • Vous pouvez créer votre propre script, semblable au suivant:

    #!/usr/bin/env bash
    
    function _show_help_ {
       echo "Usage:" `basename ${0}` "[options] [package-name]"
       echo "Open web browser to search Launchpad for [package-name]."
       echo
       echo "  -l, --list      List PPAs with link and description"
       echo "  -h, --help      Display this help and exit."
    }
    
    function msed {
       Perl -0777 -pe "$@"
    }
    
    if [ $# -lt 1 ]; then
       _show_help_
       exit 1
    fi
    
    case "$1" in
       '-h'|'--help')
          _show_help_
          ;;
       '-l'|'--list')
          shift
          curl -s "https://launchpad.net/ubuntu/+ppas?name_filter=$@" \
              | pandoc -f html -t markdown \
              | msed 's@[\s\S]*<div id="ppa_list">@@' \
              | msed 's@\]\(@\]\(https://launchpad.net/@'
              | grep -E '^\s+\[' \
              | msed 's@^\s+@@' \
              | msed 's@\s+[0-9]+\s+[0-9]+\s+@\n@g'
          ;;
       *)
          xdg-open "https://launchpad.net/ubuntu/+ppas?name_filter=$@"
          ;;
    esac
    

    Ce script ouvre un lien vers un tableau de bord pour rechercher le package donné dans le navigateur par défaut. Avec l'indicateur approprié -l, il génère une liste de noms PPA avec leurs URL et leurs descriptions.

    Vous pouvez ajouter des fonctionnalités supplémentaires selon vos besoins.

2
xiota