- Modifié
Bonjour
J'essaye de créer un paquet RPM de mon application.
N'utilisant pas de distribution utilisant le système RPM j'ai déjà rencontré quelques soucis que j'ai réussi à corrigé.
Voici mon problème :
J'ai déjà créé un paquet DEB qui dépend des paquets suivants :
- je veux soit lighttpd avec php-cgi, soit apache2 avec libapache2-mod-php5
J'ai regardé la documentation, je n'ai pas trouvé comment faire un OU dans le fichier de spécification.
Quelqu'un à t-il la solution à ce problème ?
Ci-dessous mon fichier de spec complet.
J'essaye de créer un paquet RPM de mon application.
N'utilisant pas de distribution utilisant le système RPM j'ai déjà rencontré quelques soucis que j'ai réussi à corrigé.
Voici mon problème :
J'ai déjà créé un paquet DEB qui dépend des paquets suivants :
Depends: perl (>= 5.000), libappconfig-perl, libgetopt-mixed-perl, libgtk2-notify-perl, libimage-exiftool-perl,
libproc-simple-perl, libxml-libxml-perl, perlmagick, ffmpeg2theora (>= 0.25), oggvideotools,
python, python-mutagen, zip, xdg-utils, lighttpd | apache2, php5-cgi | libapache2-mod-php5, php5-tidy
Comme mon application est la même dans le paquet DEB et dans le paquet RPM, elle dépend donc des mêmes paquets, à ceci prêt que les noms changent et que si je dit pas de bêtises, il n'est pas nécessaire de spécifier les dépendances avec les librairies PERL, voilà donc où j'en suis :
#Requires: perl >= 5.000
#Requires: libappconfig-perl
#Requires: libgetopt-mixed-perl
#Requires: libgtk2-notify-perl
#Requires: libimage-exiftool-perl
#Requires: libproc-simple-perl
#Requires: libxml-libxml-perl
#Requires: perlmagick
Requires: ffmpeg2theora >= 0.25
Requires: oggvideotools
Requires: python
Requires: python-mutagen
Requires: zip
Requires: xdg-utils
Requires: lighttpd apache2
Requires: php-cgi libapache2-mod-php5
Requires: php-tidy
Cela ne fonctionne pas pour au moins une raison :- je veux soit lighttpd avec php-cgi, soit apache2 avec libapache2-mod-php5
J'ai regardé la documentation, je n'ai pas trouvé comment faire un OU dans le fichier de spécification.
Quelqu'un à t-il la solution à ce problème ?
Ci-dessous mon fichier de spec complet.
Name: test
Summary: Photo and video gallery
Summary(fr): Galerie photo et vidéo
Group: Networking/WWW
License: GPL
Version: 1.0.0
Release: 1.0.0
BuildArch: noarch
Source0: http://www.monsite.fr/download/test-1.0.0.tar.gz
URL: http://www.monsite.fr/
Requires: ...
%description
test is a photo and video gallery for the web using
HTML, CSS, JS, PHP, XML and Perl languages. This package
installs PERL program and complete documentation in HTML format.
Commands completion, man page and web server (Lighttpd or Apache)
are also installed.
Local documentation: http://localhost/test/
Website: http://www.monsite.fr/test/
%description -l fr
test est une galerie photo et vidéo pour le web utilisant
les langages HTML, CSS, JS, PHP, XML et Perl. Ce paquet installe
le programme PERL ainsi que la documentation complète au format HTML.
L'autocomplétion des commandes, la page de manuel et le serveur web
(Lighttpd ou Apache) sont également installés.
Documentation local : http://localhost/test/
Site internet : http://www.monsire.fr/test/
%files
%defattr(-,root,root)
/etc/bash_completion.d/test.sh
/usr/share/test/
/usr/share/doc/test/
/usr/share/man/man1/test.1.gz
/usr/share/man/fr/man1/test.1.gz
%post
if [ -d /etc/lighttpd/conf-available/ ] && [ ! -f /etc/lighttpd/conf-available/90-test.conf ] ; then
cp /usr/share/test/conf/lighttpd.conf /etc/lighttpd/conf-available/90-test.conf
ln -s /etc/lighttpd/conf-available/90-test.conf /etc/lighttpd/conf-enabled/90-test.conf
if [ -f /etc/lighttpd/conf-available/15-fastcgi-php.conf ] ; then
if [ ! -h /etc/lighttpd/conf-enabled/15-fastcgi-php.conf ] ; then
ln -s /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled/15-fastcgi-php.conf
fi
elif [ -f /etc/lighttpd/conf-available/10-fastcgi.conf ] ; then
if [ ! -h /etc/lighttpd/conf-enabled/10-fastcgi.conf ] ; then
ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/10-fastcgi.conf
fi
fi
if [ -x /usr/sbin/invoke-rc.d ] ; then
invoke-rc.d lighttpd reload 3> /dev/null || true
else
/etc/init.d/lighttpd reload 3> /dev/null || true
fi
fi
if [ -d /etc/apache2/conf.d/ ] && [ ! -f /etc/apache2/conf.d/test.conf ] ; then
cp /usr/share/test/conf/apache.conf /etc/apache2/conf.d/test.conf
if [ -x /usr/sbin/invoke-rc.d ] ; then
invoke-rc.d apache2 reload 3> /dev/null || true
else
/etc/init.d/apache2 reload 3> /dev/null || true
fi
fi
if [ ! -h /usr/bin/test-install ] ; then
ln -s /usr/share/test/program/install.pl /usr/bin/test-install
fi
if [ ! -h /usr/bin/test-album ] ; then
ln -s /usr/share/test/program/album.pl /usr/bin/test-album
fi
%postun
if [ -d /etc/lighttpd/conf-available/ ] && [ -f /etc/lighttpd/conf-available/90-test.conf ] ; then
rm /etc/lighttpd/conf-available/90-test.conf /etc/lighttpd/conf-enabled/90-test.conf
if [ -x /usr/sbin/invoke-rc.d ] ; then
invoke-rc.d lighttpd reload 3> /dev/null || true
else
/etc/init.d/lighttpd reload 3> /dev/null || true
fi
fi
if [ -d /etc/apache2/conf.d/ ] && [ -f /etc/apache2/conf.d/test.conf ] ; then
rm /etc/apache2/conf.d/test.conf
if [ -x /usr/sbin/invoke-rc.d ] ; then
invoke-rc.d apache2 reload 3> /dev/null || true
else
/etc/init.d/apache2 reload 3> /dev/null || true
fi
fi
if [ -h /usr/bin/test-install ] ; then
rm /usr/bin/test-install
fi
if [ -h /usr/bin/test-album ] ; then
rm /usr/bin/test-album
fi
(test est le nom du programme)