View previous topic :: View next topic |
Author |
Message |
thelinuxfr Tux's lil' helper
Joined: 15 Oct 2006 Posts: 122 Location: FRANCE (Orleans 45)
|
Posted: Mon May 11, 2009 4:24 pm Post subject: [Pulse2&MDS] Makefile et besoin d'aide ! (Résolu) |
|
|
Bonjour,
J'ai de créer des ebuilds pour Pulse2 et MDS, outils réseau Mandriva (ici). J'ai une ligne dans les Makefiles a virer car il y a une violation d'accès. Je pense le faire avec "sed". Mais je n'arrive pas trop a utiliser "sed". Alors quelle syntax je peux utilise pour virer une ligne avec sed?
Pour ceux qu'il veulent m'aider n'hésitez pas à tester et reporter les bugs, ou même avoir un accès sur le SVN. Suivez le liens :
http://code.google.com/p/thelinux/
Merci d'avance. _________________ TheLinuxFr.Org
Blog: http://thelinuxfr.org/
Ebuild Gentoo: http://overlays.thelinuxfr.org/
Last edited by thelinuxfr on Tue May 12, 2009 4:48 pm; edited 1 time in total |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Mon May 11, 2009 6:23 pm Post subject: |
|
|
un truc style Code: | sed -i '/regex/d' fichier | (gnused pour le -i), normalement, dans un ebuild, il faudrait utiliser esed, mais je ne suis pas sûr de la syntaxe exacte, peut-être
Code: | esed '/regex/d' file |
_________________ The End of the Internet! |
|
Back to top |
|
|
brubru Tux's lil' helper
Joined: 14 May 2008 Posts: 109 Location: France
|
Posted: Mon May 11, 2009 8:25 pm Post subject: |
|
|
Salut.
dosed est banni de EAPI3, mieux vaut rester sur sed.
Sinon, donne-nous un extrait du Makefile avec la ligne à enlever/modifier, on doit pouvoir aider.
ps: le devmanual est vraiment top comme guide pour écrire des ebuilds ou faire des scripts shell en général.
Bruno |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Mon May 11, 2009 8:31 pm Post subject: |
|
|
brubru wrote: | Salut.
dosed est banni de EAPI3, mieux vaut rester sur sed. |
Arf, Merci pour l'info, ça m'apprendra à ne pas vérifier ce que je dis _________________ The End of the Internet! |
|
Back to top |
|
|
thelinuxfr Tux's lil' helper
Joined: 15 Oct 2006 Posts: 122 Location: FRANCE (Orleans 45)
|
Posted: Tue May 12, 2009 3:23 am Post subject: |
|
|
Voici un extrait, il y a des lignes qui crées des violation d'accès, comme: CHOWN et CHGRP ou INSTALL dans /etc.
Code: |
Makefile:
install: build_mo apache_conf
@echo ""
@echo "Installing mmc-web in $(DESTDIR)$(DATADIR)"
$(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(DATADIR)
$(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(ETCDIR)
$(CP) -R $(FILESTOINSTALL) $(DESTDIR)$(DATADIR)
$(CHOWN) -R root $(DESTDIR)$(DATADIR)
$(CHGRP) -R root $(DESTDIR)$(DATADIR)
$(INSTALL) confs/mmc.ini -m 640 -o root -g $(HTTPDUSER) $(DESTDIR)$(ETCDIR)
$(SED) -i 's!^rootfs[ \t].*$$!rootfs = $(DATADIR)/!' $(DESTDIR)$(ETCDIR)/mmc.ini
$(SED) -i 's!^rootfsmodules[ \t].*$$!rootfsmodules = $(DATADIR)/modules/!' $(DESTDIR)$(ETCDIR)/mmc.ini
find $(DESTDIR)$(DATADIR) -type f -name *.po -exec rm -f {} \;
|
A suppr:
Code: |
$(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(DATADIR)
$(CHOWN) -R root $(DESTDIR)$(DATADIR)
$(CHGRP) -R root $(DESTDIR)$(DATADIR)
|
Merci d'avance
PS: Vous pouvez utiliser mon overlay pour tester Pulse&MMC _________________ TheLinuxFr.Org
Blog: http://thelinuxfr.org/
Ebuild Gentoo: http://overlays.thelinuxfr.org/ |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Tue May 12, 2009 6:39 am Post subject: |
|
|
j'te trouve un poil trop insistant, alors j'te le dis, c'est pas méchant, mais bon...
Ce qu'il faut que tu comprennes, c'est que spontannément, on n'a pas envie de l'essayer ton logiciel, par contre on veut bien t'aider.
[Encore tu nous aurais dit un minimum pourquoi il était bien etc.. j'dis pas...]
Bon, montre nous où t'en es de tes différents essais, et après on en reparle. _________________ The End of the Internet! |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8718 Location: ~Brussels - Belgique
|
Posted: Tue May 12, 2009 6:56 am Post subject: |
|
|
Plutôt qu'un sed, je pense qu'il est plus "propre" d'appliquer des patches, placés dans le répertoire "files" de l'ebuild. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
Posted: Tue May 12, 2009 7:38 am Post subject: |
|
|
La comme ça, je vois pas ou il y a un problème...
Toutes les lignes utilisent DESTDIR. C'est bien. Dans ton ebuild, il suffit de setter DESTIR correctement (ça doit correspondre à ${D} de l'ebuild, qui est la racine d'install dans /var/tmp)
Genre "make DESTDIR=${D} install" _________________ Merci de respecter les règles du forum.
Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing |
|
Back to top |
|
|
thelinuxfr Tux's lil' helper
Joined: 15 Oct 2006 Posts: 122 Location: FRANCE (Orleans 45)
|
Posted: Tue May 12, 2009 11:15 am Post subject: |
|
|
Il y a un problème car des fichiers dans /etc/ sont modifiés par lesrcype python (setup.py). J'ai trouvé un moyen pour régler le problème:
Code: |
src_install() {
"${python}" setup.py install --root="${D}" --no-compile "$@" || die "install failed"
# Et la je spécifie les fichiers dans /etc/, sinon le reste s'install bien dans /usr/share
dosbin bin/* || die "bin install failed"
insinto etc/mmc/agent/keys
}
|
_________________ TheLinuxFr.Org
Blog: http://thelinuxfr.org/
Ebuild Gentoo: http://overlays.thelinuxfr.org/ |
|
Back to top |
|
|
brubru Tux's lil' helper
Joined: 14 May 2008 Posts: 109 Location: France
|
Posted: Tue May 12, 2009 11:33 am Post subject: |
|
|
Salut.
Si tu utilises l'eclass distutils, ton src_install devrait utiliser la fonction exportée distutils_src_install:
Code: |
distutils_src_install() {
# Mark the package to be rebuilt after a python upgrade.
python_need_rebuild
# need this for python-2.5 + setuptools in cases where
# a package uses distutils but does not install anything
# in site-packages. (eg. dev-java/java-config-2.x)
# - liquidx (14/08/2006)
pylibdir="$(${python} -c 'from distutils.sysconfig import get_python_lib; print get_python_lib()')"
[ -n "${pylibdir}" ] && dodir "${pylibdir}"
if has_version ">=dev-lang/python-2.3"; then
${python} setup.py install --root="${D}" --no-compile "$@" ||\
die "python setup.py install failed"
else
${python} setup.py install --root="${D}" "$@" ||\
die "python setup.py install failed"
fi
DDOCS="CHANGELOG KNOWN_BUGS MAINTAINERS PKG-INFO CONTRIBUTORS TODO NEWS"
DDOCS="${DDOCS} Change* MANIFEST* README* AUTHORS"
for doc in ${DDOCS}; do
[ -s "$doc" ] && dodoc $doc
done
[ -n "${DOCS}" ] && dodoc ${DOCS}
} |
Si tu veux surcharger ta fonction, tu peux faire comme cela:
Code: |
src_install() {
distutils_src_install "$args_a_passer_a_setup.py"
# Et la je spécifie les fichiers dans /etc/, sinon le reste s'install bien dans /usr/share
dosbin bin/* || die "bin install failed"
insinto etc/mmc/agent/keys
}
|
Mais si l'installation des fichiers de configuration ne respecte pas $DESTDIR ( ou --root dans ce cas là ), regarde s'il n'y a pas des paramètres supplementaires pour le script setup.py (genre --confdir... ) sinon c'est un bug et cela devrait être rapporter upstream. |
|
Back to top |
|
|
thelinuxfr Tux's lil' helper
Joined: 15 Oct 2006 Posts: 122 Location: FRANCE (Orleans 45)
|
|
Back to top |
|
|
|