View previous topic :: View next topic |
Author |
Message |
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Sun Mar 06, 2005 2:50 am Post subject: [ebuild] démarche pour compiler un ebuild autrement [resolu |
|
|
Après 3 ans de Debian, je découvre Gentoo depuis 2 semaines.
Je cherche actuellement à mettre en place mon serveur ftp (pureftp), seulement j'ai besoin de le recompiler avec des switchs pureftp différents de ceux utilisés par défaut dans le 'emerge pure-ftpd'
Et je sais pas comment faire . Est-il possible de préserver l'arbre portage en indiquant mes propre options dans le emerge (ailleurs?), ou dois-je récupérer le tar.gz de pureftp et me le recompiler à la main dans un coin?
J'ai bien cherché dans le wiki (superbe, Debian aurait besoin de qqchose comme ça!) mais sans succès sur ce coup là.
Merci
Last edited by Figti on Mon Mar 07, 2005 2:46 pm; edited 5 times in total |
|
Back to top |
|
|
scout Veteran
Joined: 08 Mar 2003 Posts: 1991 Location: France, Paris en Semaine / Metz le W-E
|
Posted: Sun Mar 06, 2005 3:04 am Post subject: |
|
|
Principalement 2 techniques propres:
- Les USE flags controlent les paramètres passés au ./configure, donc en les ajustant bien tu devrais avoir ce qu'il te faut
par exemple dans /usr/portage/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild:
Code: | src_compile() {
local myconf="--with-privsep"
use pam && myconf="${myconf} --with-pam"
use ldap && myconf="${myconf} --with-ldap"
use mysql && myconf="${myconf} --with-mysql"
use postgres && myconf="${myconf} --with-pgsql"
use ssl && myconf="${myconf} --with-tls"
use caps && myconf="${myconf} --with-capabilities"
!(use caps) && myconf="${myconf} --without-capabilities"
use vchroot && myconf="${myconf} --with-virtualchroot"
#!(use vchroot) && myconf="${myconf} --without-virtualchroot"
# adjust max user length to something more appropriate
# for virtual hosts. See bug #62472 for details.
sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" -i ${S}/src/ftpd.h
econf \
--with-altlog --with-extauth \
--with-puredb --with-cookie \
--with-throttling --with-ratios \
--with-quotas --with-ftpwho \
--with-uploadscript --with-virtualhosts \
--with-diraliases --with-peruserlimits \
--with-largefile \
${myconf} || die "econf failed"
emake || die "compile problem"
} |
tu vois ici c'est le econf qui est le ./configure plus quelques options "gentoo"
par exemple le flag --with-mysql de ./configure est activé si tu met "mysql" dans ta variable USE de /etc/make.conf
La liste des USE flags gérés est affichée quand tu fais emerge -pv pure-ftpd
se faire un ebuild perso, il faut alors le mettre dans l'overlay (cf doc portage)
_________________ http://petition.eurolinux.org/ - Petition against ePatents
L'essence de la finesse |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Sun Mar 06, 2005 3:08 am Post subject: |
|
|
Bienvenue sur le forum
Pour les switchs tu veux dire USEFLAGS ? par exemple dans :
Code: | [ebuild N ] net-ftp/pure-ftpd-1.0.20-r1 -caps -ldap -mysql +pam +postgres +ssl -vchroot |
tu parles des -caps -ldap -mysql +pam +postgres +ssl -vchroot ou bien tu veux mettre autre chose encore ?
si tu veux aller plus loin que les useflags gentoo, tu peux te faire un ebuild perso que tu mettras dans ton PORTDIR_OVERLAY (voir doc).
La variable est a specifier dans ton make.conf et par defaut c'est /usr/local/portage/
en suite l'arborescence est organisee de la meme maniere que celle de /usr/portage/
EDIT: erf, grillé par un scout a 4H du mat ... vais me coucher moi ... _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Sun Mar 06, 2005 3:44 am Post subject: |
|
|
Merci pour votre accueil, quelle réactivité!
Vos info sont biens utiles.
En fait les options avec lesquelles je compilais mon pureftp étaient:
Code: | ./configure --with-everything --with-paranoidmsg --with-virtualchroot --without-capabilities --with-privsep |
Ce qui, si je comprends bien, n'est pas totalement pris en compte par les "USEFLAGS" (excellente cette commande emerge -pv , d'ailleurs)
Je suppose que je devrais m'en tirer avec vos info et ça et ça (c'est la bonne démarche?)
Mais comme le suggère Kernel_Sensei, je vais d'abord aller prendre quelques forces avant de me lancer là-dedans!
Pour info l'option qui m'importe le plus c'est celle des "virtual users"; ça permet de créeer des users ftp-only, sans accès ssh ni /home.
Last edited by Figti on Sun Mar 06, 2005 3:47 pm; edited 1 time in total |
|
Back to top |
|
|
scout Veteran
Joined: 08 Mar 2003 Posts: 1991 Location: France, Paris en Semaine / Metz le W-E
|
Posted: Sun Mar 06, 2005 10:09 am Post subject: |
|
|
Figti wrote: | Je suppose que je devrais m'en tirer avec vos info et ça et ça (c'est la bonne démarche?) |
oui c'est la bonne démarche, il te suffit de prendre l'ebuild existant pour pure-ftpd et de le copier au bon endroit de ton overlay comme expliqué dans les Howto
ensuite tu remplaçes
Code: | IUSE="pam mysql postgres ldap ssl caps vchroot"
DEPEND="virtual/libc
pam? ( >=sys-libs/pam-0.75 )
mysql? ( >=dev-db/mysql-3* )
postgres? ( >=dev-db/postgresql-7.2.2 )
ldap? ( >=net-nds/openldap-2.0.25 )
ssl? ( >=dev-libs/openssl-0.9.6g )"
src_compile() {
local myconf="--with-privsep"
use pam && myconf="${myconf} --with-pam"
use ldap && myconf="${myconf} --with-ldap"
use mysql && myconf="${myconf} --with-mysql"
use postgres && myconf="${myconf} --with-pgsql"
use ssl && myconf="${myconf} --with-tls"
use caps && myconf="${myconf} --with-capabilities"
!(use caps) && myconf="${myconf} --without-capabilities"
use vchroot && myconf="${myconf} --with-virtualchroot"
#!(use vchroot) && myconf="${myconf} --without-virtualchroot"
# adjust max user length to something more appropriate
# for virtual hosts. See bug #62472 for details.
sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" -i ${S}/src/ftpd.h
econf \
--with-altlog --with-extauth \
--with-puredb --with-cookie \
--with-throttling --with-ratios \
--with-quotas --with-ftpwho \
--with-uploadscript --with-virtualhosts \
--with-diraliases --with-peruserlimits \
--with-largefile \
${myconf} || die "econf failed"
emake || die "compile problem"
}
|
par:
Code: | IUSE=""
DEPEND="virtual/libc"
src_compile() {
# adjust max user length to something more appropriate
# for virtual hosts. See bug #62472 for details.
sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" -i ${S}/src/ftpd.h
econf --with-everything --with-paranoidmsg --with-virtualchroot --without-capabilities --with-privsep || die "econf failed"
emake || die "compile problem"
}
|
et normalement le tour est joué ... _________________ http://petition.eurolinux.org/ - Petition against ePatents
L'essence de la finesse |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Sun Mar 06, 2005 4:52 pm Post subject: |
|
|
Rha, j'ai bien suivi le howto ainsi que vos indications, mais y'a un truc que je saisis pas.
En fait j'ai voulu "renommer" le ebuild, pour le distinguer des ebuild classiques. J'ai donc un beau fichier pure-ftpd-1.0.20-r1.Erics_option.ebuild
Code: | /usr/local/portage/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.Erics_option.ebuild |
qui est inspiré de pure-ftpd-1.0.20-r1.ebuild, modulo les modif adéquates.
Mais lorsque j'essaie Code: | 'ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild digest' | ou Code: | 'ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild emerge' |
J'ai un message d'erreur un peu obscur, qui visiblement n'apprécie pas que j'ai renommé le ebuild:
Code: | Figuera pure-ftpd # ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild digest
!!! Name error in r1.Erics_option: "r1" is not a valid version component.
!!! Error: PF is null 'pure-ftpd-1.0.20-r1.Erics_option'; exiting.
Figuera pure-ftpd # ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild emerge
!!! Name error in r1.Erics_option: "r1" is not a valid version component.
!!! Error: PF is null 'pure-ftpd-1.0.20-r1.Erics_option'; exiting.
Figuera pure-ftpd #
|
ça semble être simple... mais je tatonne pour le moment. Je n'aurais pas dû renommer le ebuild? Mais comment aurais-je la certitude qu'il utilise bien le bon (celui du overlay, pas celui par défaut) lorsque j'emerge ? |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Sun Mar 06, 2005 5:01 pm Post subject: |
|
|
ton nom d'ebuild n'est pas standart ! _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Sun Mar 06, 2005 5:03 pm Post subject: |
|
|
Figti wrote: | Rha, j'ai bien suivi le howto ainsi que vos indications, mais y'a un truc que je saisis pas.
En fait j'ai voulu "renommer" le ebuild, pour le distinguer des ebuild classiques. J'ai donc un beau fichier pure-ftpd-1.0.20-r1.Erics_option.ebuild
Code: | /usr/local/portage/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.Erics_option.ebuild |
qui est inspiré de pure-ftpd-1.0.20-r1.ebuild, modulo les modif adéquates.
Mais lorsque j'essaie Code: | 'ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild digest' | ou Code: | 'ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild emerge' |
J'ai un message d'erreur un peu obscur, qui visiblement n'apprécie pas que j'ai renommé le ebuild:
Code: | Figuera pure-ftpd # ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild digest
!!! Name error in r1.Erics_option: "r1" is not a valid version component.
!!! Error: PF is null 'pure-ftpd-1.0.20-r1.Erics_option'; exiting.
Figuera pure-ftpd # ebuild pure-ftpd-1.0.20-r1.Erics_option.ebuild emerge
!!! Name error in r1.Erics_option: "r1" is not a valid version component.
!!! Error: PF is null 'pure-ftpd-1.0.20-r1.Erics_option'; exiting.
Figuera pure-ftpd #
|
ça semble être simple... mais je tatonne pour le moment. Je n'aurais pas dû renommer le ebuild? Mais comment aurais-je la certitude qu'il utilise bien le bon (celui du overlay, pas celui par défaut) lorsque j'emerge ? |
le plus simple:
tu le renommes complètement:
Code: | mv /usr/local/portage/net-ftp/pure-ftpd /usr/local/portage/net-ftp/erics-pureftpd
cd /usr/local/portage/net-ftp/erics-pureftpd
mv pure-ftpd-1.0.20-r1.Erics_option.ebuild erics-pureftpd-1.0.20-r1.ebuild
ebuild erics-pureftpd-1.0.20-r1.ebuild digest
emerge erics-pureftpd |
Enjoy _________________ I never think of the future. It comes soon enough.
Albert Einstein
Try simpler first
Shockley |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Sun Mar 06, 2005 5:11 pm Post subject: |
|
|
kernel_sensei wrote: | ton nom d'ebuild n'est pas standart ! |
Mais mon install non plus, puisque je veux des options spécifiques!
Je dois lui donner le nom d'un ebuild standard alors que je veux un truc particulier?
Comment alors gérer plusieurs versions de compilations?
qqchose comme:
'pure-ftpd-1.0.20-r1.ma_premiere_version.ebuild'
'pure-ftpd-1.0.20-r1.mon_autre_version.ebuild'
avec des liens symboliques ? |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Sun Mar 06, 2005 5:28 pm Post subject: |
|
|
sireyessire wrote: |
le plus simple:
tu le renommes compl�tement:
Code: | mv /usr/local/portage/net-ftp/pure-ftpd /usr/local/portage/net-ftp/erics-pureftpd
cd /usr/local/portage/net-ftp/erics-pureftpd
mv pure-ftpd-1.0.20-r1.Erics_option.ebuild erics-pureftpd-1.0.20-r1.ebuild
ebuild erics-pureftpd-1.0.20-r1.ebuild digest
emerge erics-pureftpd |
Enjoy |
Ca m'plait bien dans l'idée. Maintenant j'ai encore un ptit souci :
Code: | Figuera net-ftp # ebuild /usr/local/portage/net-ftp/erics-pureftpd/erics-pure-ftpd-1.0.20-r1.ebuild digest
!!! aux_get(): ebuild path for 'net-ftp/erics-pure-ftpd-1.0.20-r1' not specified:
!!! None
!!! aux_get(): ebuild path for 'net-ftp/erics-pure-ftpd-1.0.20-r1' not specified:
!!! None
doebuild(): aux_get() error reading net-ftp/erics-pure-ftpd-1.0.20-r1; aborting.
Figuera net-ftp #
|
Google ne dit pas grand chose...
et vous ? |
|
Back to top |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Sun Mar 06, 2005 5:59 pm Post subject: |
|
|
Figti wrote: | sireyessire wrote: |
le plus simple:
tu le renommes compl�tement:
Code: | mv /usr/local/portage/net-ftp/pure-ftpd /usr/local/portage/net-ftp/erics-pureftpd
cd /usr/local/portage/net-ftp/erics-pureftpd
mv pure-ftpd-1.0.20-r1.Erics_option.ebuild erics-pureftpd-1.0.20-r1.ebuild
ebuild erics-pureftpd-1.0.20-r1.ebuild digest
emerge erics-pureftpd |
Enjoy |
Ca m'plait bien dans l'idée. Maintenant j'ai encore un ptit souci :
Code: | Figuera net-ftp # ebuild /usr/local/portage/net-ftp/erics-pureftpd/erics-pure-ftpd-1.0.20-r1.ebuild digest
!!! aux_get(): ebuild path for 'net-ftp/erics-pure-ftpd-1.0.20-r1' not specified:
!!! None
!!! aux_get(): ebuild path for 'net-ftp/erics-pure-ftpd-1.0.20-r1' not specified:
!!! None
doebuild(): aux_get() error reading net-ftp/erics-pure-ftpd-1.0.20-r1; aborting.
Figuera net-ftp #
|
Google ne dit pas grand chose...
et vous ? |
il faut que le même nom apparaisse entre le répertoire et le nom de l'ebuild
là tu as un - en trop erics-pureftpd/erics-pure-ftpd-1.0.20-r1.ebuild
devrait être
erics-pureftpd/erics-pureftpd-1.0.20-r1.ebuild
comme je te l'avais mis (tu aurais du faire un copy paste ) _________________ I never think of the future. It comes soon enough.
Albert Einstein
Try simpler first
Shockley |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Sun Mar 06, 2005 6:01 pm Post subject: |
|
|
Humm... à la limite, si il s'agit juste d'ajouter qlqs options au configure (enfin à econf), c'est pas indispensable de se faire un ebuild en overlay. On peut utiliser la variable d'environnement EXTRA_ECONF pour ça, idéalement en la définissant en fonction du paquet dans son /etc/portage/bashrc : Code: | if [ "$0" = "/usr/lib/portage/bin/ebuild.sh" ]; then
case "$*" in
compile)
# EXTRA_CONF options:
case "${PN}" in
pure-ftpd) export EXTRA_ECONF=" \
--with-everything \
--with-paranoidmsg \
--with-virtualchroot \
--without-capabilities \
--with-privsep" ;;
esac ;;
esac
fi |
Bon ceci dit, ça reste un gros hack de goret, la méthode la plus générale pour modifier un ebuild étant quand même de se le recopier dans son overlay et de l'éditer. Mais pour certains cas particulier, c'est pratique aussi comme ça, et ça à l'avantage que tu n'a pas à le refaire à chaque mise à jour (puisque ici c'est le nom du paquet, ${PN}, qu'on teste). Ça a par contre l'inconvénient de ne pas marcher à tous les coups, si tes options perso interfèrent avec celles de l'ebuild (-> que fait configure quand il se retrouve avec "--enable-foobar --disable-foobar" ?) |
|
Back to top |
|
|
Polo l33t
Joined: 27 Jan 2004 Posts: 649 Location: Angers, France
|
Posted: Sun Mar 06, 2005 6:04 pm Post subject: |
|
|
Figti wrote: | /usr/local/portage/net-ftp/erics-pureftpd/erics-pure-ftpd-1.0.20-r1.ebuild |
il faut mettre le meme nom....
soit :
Code: | /usr/local/portage/net-ftp/erics-pure-ftpd/erics-pure-ftpd-1.0.20-r1.ebuild | ou Code: | /usr/local/portage/net-ftp/erics-pureftpd/erics-pureftpd-1.0.20-r1.ebuild |
au choix |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Sun Mar 06, 2005 6:38 pm Post subject: |
|
|
Ouaïe désolé pour les erreurs à 30 centimes...
ça progresse, néanmois
Maintenant le 'emerge digest' a meilleure allure, mais n'arrive pas à s'en sortir (forcément il cherche mon truc perso...)
Code: | Figuera erics-pureftpd # ebuild erics-pureftpd-1.0.20-r1.ebuild digest
>>> Downloading http://distfiles.gentoo.org/distfiles/erics-pureftpd-1.0.20.tar.bz2
--19:26:07-- http://distfiles.gentoo.org/distfiles/erics-pureftpd-1.0.20.tar.bz2
=> `/usr/portage/distfiles/erics-pureftpd-1.0.20.tar.bz2'
Resolving distfiles.gentoo.org... 216.165.129.135, 140.211.166.134, 156.56.247.195
Connecting to distfiles.gentoo.org[216.165.129.135]:80... connected.
HTTP request sent, awaiting response... 404 Not Found
19:26:08 ERROR 404: Not Found.
No digest file available and download failed.
>>> Downloading http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/erics-pureftpd-1.0.20.tar.bz2
--19:26:08-- http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/erics-pureftpd-1.0.20.tar.bz2
=> `/usr/portage/distfiles/erics-pureftpd-1.0.20.tar.bz2'
Resolving distro.ibiblio.org... 152.2.210.109
Connecting to distro.ibiblio.org[152.2.210.109]:80... connected.
HTTP request sent, awaiting response... 404 Not Found
19:26:11 ERROR 404: Not Found.
No digest file available and download failed.
>>> Downloading ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/erics-pureftpd-1.0.20.tar.bz2
--19:26:11-- ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/erics-pureftpd-1.0.20.tar.bz2
=> `/usr/portage/distfiles/erics-pureftpd-1.0.20.tar.bz2'
Resolving ftp.pureftpd.org... 213.41.131.17, 213.206.75.252
Connecting to ftp.pureftpd.org[213.41.131.17]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/pure-ftpd/releases ... done.
==> PASV ... done. ==> RETR erics-pureftpd-1.0.20.tar.bz2 ...
No such file `erics-pureftpd-1.0.20.tar.bz2'.
No digest file available and download failed.
!!! Couldn't download erics-pureftpd-1.0.20.tar.bz2. Aborting.
Figuera erics-pureftpd #
|
Je pensais qu'en étant dans l'overlay, il n'irait pas chercher un truc précisément spécifique
Naturellement erics-pureftpd n'apparait pas comme qqchose à emerger pour le moment, donc pas d'install possible.
Compte tenu de ces msg d'erreur, est-ce que je ne devrais pas revenir à la première démarche, en conservant un nom "connu" de portage (pure-ftpd-1.0.20-r1.ebuild) et modifier le ebuild selon mon souhait? |
|
Back to top |
|
|
Polo l33t
Joined: 27 Jan 2004 Posts: 649 Location: Angers, France
|
Posted: Sun Mar 06, 2005 6:42 pm Post subject: |
|
|
tu peux telecharger pureftp qui sera ainsi dans /usr/portage/distfiles, et le renommer a la main, en "erics-pureftpd-1.0.20.tar.bz2".
apres, le Code: | emere erics-pureftp | devrait bien rouler... a moins de faire un digest avant... |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Sun Mar 06, 2005 6:52 pm Post subject: |
|
|
Polo wrote: | tu peux telecharger pureftp qui sera ainsi dans /usr/portage/distfiles, et le renommer a la main, en "erics-pureftpd-1.0.20.tar.bz2". |
C'est un peu crade, et puis il aura encore ${S} qui sera faux. Vaut mieux corriger l'ebuild :
Code: | # Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild,v 1.7 2005/02/06 11:02:14 vapier Exp $
inherit eutils
MY_P="pure-ftpd-${PV}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="fast, production-quality, standard-conformant FTP server"
HOMEPAGE="http://www.pureftpd.org/"
SRC_URI="ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/${MY_P}.tar.bz2"
[...] |
|
|
Back to top |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Sun Mar 06, 2005 7:41 pm Post subject: |
|
|
TGL wrote: |
C'est un peu crade, et puis il aura encore ${S} qui sera faux. Vaut mieux corriger l'ebuild :
Code: | # Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild,v 1.7 2005/02/06 11:02:14 vapier Exp $
inherit eutils
MY_P="pure-ftpd-${PV}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="fast, production-quality, standard-conformant FTP server"
HOMEPAGE="http://www.pureftpd.org/"
SRC_URI="ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/${MY_P}.tar.bz2"
[...] |
|
+1 _________________ I never think of the future. It comes soon enough.
Albert Einstein
Try simpler first
Shockley |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Sun Mar 06, 2005 8:01 pm Post subject: |
|
|
Merci pour votre aide!
J'ai essayé la première solu (renommer /usr/portage/distfiles/pure-ftpd-1.0.20.tar.bz2 en /usr/portage/distfiles/erics-pureftpd-1.0.20.tar.bz2, mais j'obtenais une erreur dans le emerge (un "file not found" vraisemblablement à cause du changement de nom). J'ai remis le nom de fichier initial.
Ensuite j'ai essayé en éditant le erics-pureftpd-1.0.20-r1.ebuild pour rajouter les 2 lignes suggérées (sans savoir à quoi elles servent ), et là j'en suis toujours à l'erreur du fichier nom trouvé sur les ftp :
Code: | Figuera erics-pureftpd # ebuild erics-pureftpd-1.0.20-r1.ebuild digest
>>> Downloading http://distfiles.gentoo.org/distfiles/erics-pureftpd-1.0.20.tar.bz2
--20:50:22-- http://distfiles.gentoo.org/distfiles/erics-pureftpd-1.0.20.tar.bz2
=> `/usr/portage/distfiles/erics-pureftpd-1.0.20.tar.bz2'
Resolving distfiles.gentoo.org... 216.165.129.135, 156.56.247.195, 140.211.166.134
Connecting to distfiles.gentoo.org[216.165.129.135]:80... connected.
HTTP request sent, awaiting response... 404 Not Found
20:50:23 ERROR 404: Not Found.
No digest file available and download failed.
>>> Downloading http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/erics-pureftpd-1.0.20.tar.bz2
--20:50:23-- http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/erics-pureftpd-1.0.20.tar.bz2
=> `/usr/portage/distfiles/erics-pureftpd-1.0.20.tar.bz2'
Resolving distro.ibiblio.org... 152.2.210.109
Connecting to distro.ibiblio.org[152.2.210.109]:80... connected.
HTTP request sent, awaiting response... 404 Not Found
20:50:26 ERROR 404: Not Found.
No digest file available and download failed.
>>> Downloading ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/erics-pureftpd-1.0.20.tar.bz2
--20:50:26-- ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/erics-pureftpd-1.0.20.tar.bz2
=> `/usr/portage/distfiles/erics-pureftpd-1.0.20.tar.bz2'
Resolving ftp.pureftpd.org... 213.41.131.17, 213.206.75.252
Connecting to ftp.pureftpd.org[213.41.131.17]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/pure-ftpd/releases ... done.
==> PASV ... done. ==> RETR erics-pureftpd-1.0.20.tar.bz2 ...
No such file `erics-pureftpd-1.0.20.tar.bz2'.
No digest file available and download failed.
!!! Couldn't download erics-pureftpd-1.0.20.tar.bz2. Aborting.
Figuera erics-pureftpd # |
Fiou je commence à croire que c'est bien compliqué de recompiler avec d'autres options. je croyais que Gentoo était très bien fichue pour ça ? |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Sun Mar 06, 2005 8:09 pm Post subject: |
|
|
Figti wrote: | Ensuite j'ai essayé en éditant le erics-pureftpd-1.0.20-r1.ebuild pour rajouter les 2 lignes suggérées (sans savoir à quoi elles servent ), et là j'en suis toujours à l'erreur du fichier nom trouvé sur les ftp : |
Regarde bien SRC_URI, je l'ai changé aussi justement (P ~> MY_P).
Quote: | Fiou je commence à croire que c'est bien compliqué de recompiler avec d'autres options. je croyais que Gentoo était très bien fichue pour ça ? | C'est toi qui est parti à te compliquer
Parmis les solutions + simples :
- le coup du EXTRA_ECONF que je citais plus haut
- l'utilisation d'un ebuild dans l'overlay, mais avec son nom original (sincèrement, je vois très mal l'intérêt de ton renomage en fait, par contre on pourrait très facilement lui trouver des inconvénients sérieux)
- l'édition de l'ebuild direct dans l'arbre portage (la différence avec l'utilisation de l'overlay, c'est que tu perdras tes modifs au prochain "emerge sync" ; mais pour juste 2 ou 3 option de configure, tu t'en fous un peu, c'est des trucs qu'on peut faire et refaire comme ça à l'arrache) |
|
Back to top |
|
|
TGL Bodhisattva
Joined: 02 Jun 2002 Posts: 1978 Location: Rennes, France
|
Posted: Sun Mar 06, 2005 8:22 pm Post subject: |
|
|
Figti wrote: | j'obtenais une erreur dans le emerge (un "file not found" vraisemblablement à cause du changement de nom). |
Oui. La compilation à lieu dans le répertoire ${S}, qui par défaut vaut ${WORKDIR}/${P}, où ${WORKDIR} est /var/tmp/${PVR}/work, ${P} est le nom de l'ebuild (et ${PVR} le nom et la version complète, revision (-rX) comprise). Mais dans ton archive de sources, le répertoire de base est "pure-ftpd-VERSION", et pas "erics-pureftpd-VERSION". Donc ton répertoire ${S} par défaut n'est pas bon, d'où la ligne qui force sa valeur.
Par ailleurs, ${P} étais aussi utilisé dans le SRC_URI, et comme il vaut "erics-pureftpd", ça provoque l'erreur de FTP que tu avais. D'où le changement dans SRC_URI.
Oh tiens, et parmis les autres panneaux dans lesquels tu est susceptible d'être tombé, as-tu pensé à recopier les fichiers de /usr/portage/net-ftp/pure-ftpd/files/ (pas le digest, mais les autres, qui sont le scripts d'init ou des trucs du genre), dans le répertoire correspondant de ton overlay ? Si tu ne le fais pas, tu va avoir un paquets bien difficilement utilisable... |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sun Mar 06, 2005 10:15 pm Post subject: |
|
|
TGL wrote: | Quote: | Fiou je commence à croire que c'est bien compliqué de recompiler avec d'autres options. je croyais que Gentoo était très bien fichue pour ça ? | C'est toi qui est parti à te compliquer
Parmis les solutions + simples :
- le coup du EXTRA_ECONF que je citais plus haut
- l'utilisation d'un ebuild dans l'overlay, mais avec son nom original (sincèrement, je vois très mal l'intérêt de ton renomage en fait, par contre on pourrait très facilement lui trouver des inconvénients sérieux)
- l'édition de l'ebuild direct dans l'arbre portage (la différence avec l'utilisation de l'overlay, c'est que tu perdras tes modifs au prochain "emerge sync" ; mais pour juste 2 ou 3 option de configure, tu t'en fous un peu, c'est des trucs qu'on peut faire et refaire comme ça à l'arrache) |
+1
Je conseille la première qui rend l'opération indépendante de la version à installer, ce qui permet de ne plus avoir besoin de refaire de manip en cas de mise à jour, contrairement à la 2e où il faudra refaire un ebuild par nouvelle version, et la 3e qu'il faudra recommencer à chaque fois.
Merci TGL pour le EXTRA_ECONF, je ne connaissais pas, et ça me servira surement un jour. |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sun Mar 06, 2005 10:19 pm Post subject: |
|
|
Je ne suis pas sur que le [n00b] dans le titre soit très utile et conforme aux règles de ce forum, un [ebuild] par exemple serait plus approprié. |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Mon Mar 07, 2005 4:06 am Post subject: |
|
|
Sorry je pensais que c'était une manip courante. J'ai renommé le sujet
D'itérations en itérations, j'ai appliqué la méthode de TGL en indiquant les options en questions dans /etc/portage/bashrc. Bah ça marche nickel!
Merci pour votre aide très amicale et efficace |
|
Back to top |
|
|
Polo l33t
Joined: 27 Jan 2004 Posts: 649 Location: Angers, France
|
Posted: Mon Mar 07, 2005 11:33 am Post subject: |
|
|
Figti wrote: | Bah ça marche nickel!
Merci pour votre aide très amicale et efficace |
je vais peut etre etre lourd, mais il est de mise de changer le titre en rajoutant un "(résolu)" a la fin pour indiquer que le problème l'est
voila, sinon de rien pour l'aide (je sais pas pour les autres mais je fait ce que je peux ) |
|
Back to top |
|
|
Figti n00b
Joined: 06 Mar 2005 Posts: 19
|
Posted: Mon Mar 07, 2005 2:47 pm Post subject: |
|
|
OK, je découvre les moeurs Gentoo. C'est corrigé |
|
Back to top |
|
|
|