2012-03-28 2 views
0

Je veux construire RPM avec mon application Ruby et ses gemmes. Dans la mesure où certaines gemmes dépendent des binaires, je veux les découvrir automatiquement. Par exemple nokogiri gem dépend de libxml. Puis-je récupérer toutes ces dépendances pour toutes les gemmes dans Gemfile automatiquement pour les emballer en rpm?Découvrez les dépendances binaires de gem

Maintenant, je le fais mannualy et c'est ennuyeux!

+0

Normalement, 'rpmbuild' fait automatiquement ce genre de choses ... – glglgl

+0

@glglgl, Comment est-ce qu'il connaît les dépendances binaires des gemmes? J'ai besoin de configurer 'BuildRequires' pour eux manuellement – fl00r

+0

Il arrive souvent que les binaires et les bibliothèques soient examinés et que les dépendances aux autres bibliothèques soient créées. OTOH, les paquets de bibliothèque fournissent des symboles correspondant à leurs bibliothèques contenues. Mais pour être honnête, comme je ne savais pas ce que sont les pierres précieuses, je ne pouvais que répondre insuffisamment. Mais peut-être (!) Il existe des scripts qui peuvent analyser et traiter avec eux de manière appropriée. – glglgl

Répondre

3

Non, malheureusement, ce n'est pas possible. RubyGems enregistre uniquement les dépendances Gem. Il ne peut évidemment pas enregistrer les dépendances qu'il ne connaît pas, comment cela fonctionnerait-il?

Il existe un requirements attribute in the gemspec, mais uniquement conçu pour être lisible par l'utilisateur et non lisible par machine.

+0

Yeap, je comprends cela. Je pensais à l'analyse de extconf.rb mais c'est très hacky ne peut pas fonctionner en général :) – fl00r

+0

Il y a aussi des dépendances qui n'apparaissent même pas dans 'extconf.rb' Pensez à bombarder en utilisant' Kernel # system' ou quelque chose comme ça. –

Questions connexes