Forum Linux.débutant problème dans la création d'un rpm

Posté par  .
Étiquettes : aucune
0
12
oct.
2006
Bonjour les gens,

Je package en ce moment un petit dev en perl et j'ai un petit problème de dépendance.

Mon rpm installe quelques scripts perl qui s'aident d'une librairie .pm qui se trouve également dans le rpm.
Quand j'installe le rpm, ça se fache pour une question de dépendance sur cette librairie. Si je l'installe avec --nodeps, l'installation fonctionne (oui, forcément) et le produit fonctionne également ... c'est peut être du au "use lib <chemin du pm>" dans mes scripts.
l'erreur :

D: Requires: perl(mupdateapi) NO
D: package masp-admin-simple-0.9.3-6 has unsatisfied Requires: perl(mupdateapi)

Ma question est donc simple. Comment faire comprendre à rpm que cette dépendance est résolu par la package lui même ?

merci pour votre aide
  • # Provides ?

    Posté par  . Évalué à 1.

    Peut-être ajouter une directive Provides mentionnant le nom du package et cette dépendance embarquée ?
    • [^] # Re: Provides ?

      Posté par  . Évalué à 0.

      j'ai déjà essayé

      Provides: perl(mupdateapi)
      Provides: mupdateapi

      mais il ne veut rien savoir, je creuse
      • [^] # Re: Provides ?

        Posté par  . Évalué à 1.

        Jamais tester, mais je crois qu'en ajoutant:

        %define _requires_exceptions "perl(mupdateapi)"

        il y a des chances que cela fonctionne.
    • [^] # Réécrire le perl_require

      Posté par  . Évalué à 2.

      J'ai trouvé une doc ici :

      http://fedoraproject.org/wiki/Packaging/Perl


      Et j'ai mis ça en place ainsi :

      %prep
      # Filter unwanted Requires:
      cat << \EOF > %{_builddir}/%{name}-%{version}-req
      #!/bin/sh
      %{__perl_requires} $* |\
      sed -e '/perl(mupdateapi)/d'
      EOF

      %define __perl_requires %{_builddir}/%{name}-%{version}-req
      chmod +x %{__perl_requires}

      En gros, on éxécute l'ancien script,on pipe et on supprime ce qui nous gêne via un sed d.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.