web-dev-qa-db-fra.com

Que contiennent réellement les packages * -dev dans les référentiels de packages Linux?

Ma question est très basique, tout comme ma connaissance actuelle.

Je suis un utilisateur Linux de longue date, mais je ne me suis intéressé que récemment à la programmation. Je vois que de nombreuses applications populaires dans les référentiels Ubuntu ont des packages -dev (par exemple Pidgin-dev en plus de Pidgin). Ma question est la suivante:

Que contiennent ces packages? Comment le téléchargement Pidgin-dev aide-t-il à développer pour Pidgin? Est-ce aussi simple qu'une vérification de dépendance des outils nécessaires pour créer les plugins pour l'application donnée?

J'espérais qu'il y aurait une quantité substantielle de documentation dans les paquets -dev, mais si c'est le cas, je ne peux pas comprendre comment y accéder. Je pense à quelque chose comme une page de manuel, mais utile pour éditer du code.

Tous les conseils sont les bienvenus!

59
conorsch

Le *-dev les packages contiennent le plus souvent les en-têtes liés à l'interface d'une bibliothèque. Viennent ensuite les fichiers de configuration de package (*.pc) décrivant les options de construction et les bibliothèques liées statiquement.

En général, si vous souhaitez connaître le contenu d'un package que vous avez installé, dpkg -L pkgname vous obtiendrez cela. Le apt-file le programme peut vous dire la même chose pour n'importe quel paquet dans les dépôts.

Notez également que les réponses de William Pursell et caf contiennent des détails supplémentaires utiles. Si vous trouvez leur avis utile, faites-le voter.

44
Phil Miller

(Avertissement: je connais Debian mais pas Ubuntu, donc bien qu'il soit presque certain que tout ce que j'écris ci-dessous s'applique, il y a une chance que ce ne soit pas le cas.)

Un autre élément du package * -dev est le lien /usr/lib/lib*.so. Le paquet libfoo0 installera le fichier /usr/lib/libfoo.so.0.0, tandis que libfoo-dev installe les liens /usr/lib/libfoo.so.0 et /usr/lib/libfoo.so. Il s'agit du mécanisme qui vous permet d'installer simultanément libfoo0 et libfoo1, afin que les logiciels nécessitant l'ancienne bibliothèque puissent coexister sur la boîte avec les logiciels utilisant la nouvelle bibliothèque. Lorsque vous installez libfoo-dev, tout logiciel compilé suivra le lien * .so et le lien avec la version de la bibliothèque référencée par ce lien.

27
William Pursell

Les packages -dev contiennent généralement des fichiers d'en-tête C et des versions compilées statiquement de fichiers de bibliothèque (extension .a). Parfois, ils contiennent de la documentation et des exemples supplémentaires, voire des applications d'assistance.

17
caf

Ce package contient les en-têtes et autres fichiers de développement non inclus dans le package Pidgin principal. Installez -dev si vous souhaitez compiler vos propres plugins.

4
zinovii