Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[ebuild] démarche pour compiler un ebuild autrement [resolu]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Sun Mar 06, 2005 2:50 am    Post subject: [ebuild] démarche pour compiler un ebuild autrement [resolu Reply with quote

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 :o. 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 :D


Last edited by Figti on Mon Mar 07, 2005 2:46 pm; edited 5 times in total
Back to top
View user's profile Send private message
scout
Veteran
Veteran


Joined: 08 Mar 2003
Posts: 1991
Location: France, Paris en Semaine / Metz le W-E

PostPosted: Sun Mar 06, 2005 3:04 am    Post subject: Reply with quote

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
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Sun Mar 06, 2005 3:08 am    Post subject: Reply with quote

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
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Sun Mar 06, 2005 3:44 am    Post subject: Reply with quote

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
View user's profile Send private message
scout
Veteran
Veteran


Joined: 08 Mar 2003
Posts: 1991
Location: France, Paris en Semaine / Metz le W-E

PostPosted: Sun Mar 06, 2005 10:09 am    Post subject: Reply with quote

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
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Sun Mar 06, 2005 4:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Sun Mar 06, 2005 5:01 pm    Post subject: Reply with quote

ton nom d'ebuild n'est pas standart !
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Sun Mar 06, 2005 5:03 pm    Post subject: Reply with quote

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
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Sun Mar 06, 2005 5:11 pm    Post subject: Reply with quote

kernel_sensei wrote:
ton nom d'ebuild n'est pas standart !

Mais mon install non plus, puisque je veux des options spécifiques! :D
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
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Sun Mar 06, 2005 5:28 pm    Post subject: Reply with quote

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 :wink: :
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 ? :roll:
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Sun Mar 06, 2005 5:59 pm    Post subject: Reply with quote

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 :wink: :
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 ? :roll:

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 :mrgreen: )
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
TGL
Bodhisattva
Bodhisattva


Joined: 02 Jun 2002
Posts: 1978
Location: Rennes, France

PostPosted: Sun Mar 06, 2005 6:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
Polo
l33t
l33t


Joined: 27 Jan 2004
Posts: 649
Location: Angers, France

PostPosted: Sun Mar 06, 2005 6:04 pm    Post subject: Reply with quote

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 :P
Back to top
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Sun Mar 06, 2005 6:38 pm    Post subject: Reply with quote

Ouaïe désolé pour les erreurs à 30 centimes...
ça progresse, néanmois :D
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
View user's profile Send private message
Polo
l33t
l33t


Joined: 27 Jan 2004
Posts: 649
Location: Angers, France

PostPosted: Sun Mar 06, 2005 6:42 pm    Post subject: Reply with quote

tu peux telecharger pureftp
Code:
emerge -f 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
View user's profile Send private message
TGL
Bodhisattva
Bodhisattva


Joined: 02 Jun 2002
Posts: 1978
Location: Rennes, France

PostPosted: Sun Mar 06, 2005 6:52 pm    Post subject: Reply with quote

Polo wrote:
tu peux telecharger pureftp
Code:
emerge -f 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
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Sun Mar 06, 2005 7:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Sun Mar 06, 2005 8:01 pm    Post subject: Reply with quote

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 :twisted:), 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. :oops: je croyais que Gentoo était très bien fichue pour ça ? :cry:
Back to top
View user's profile Send private message
TGL
Bodhisattva
Bodhisattva


Joined: 02 Jun 2002
Posts: 1978
Location: Rennes, France

PostPosted: Sun Mar 06, 2005 8:09 pm    Post subject: Reply with quote

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 :twisted:), 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. :oops: je croyais que Gentoo était très bien fichue pour ça ? :cry:
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
View user's profile Send private message
TGL
Bodhisattva
Bodhisattva


Joined: 02 Jun 2002
Posts: 1978
Location: Rennes, France

PostPosted: Sun Mar 06, 2005 8:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772
Location: Wellington, Aotearoa

PostPosted: Sun Mar 06, 2005 10:15 pm    Post subject: Reply with quote

TGL wrote:
Quote:
Fiou je commence à croire que c'est bien compliqué de recompiler avec d'autres options. :oops: je croyais que Gentoo était très bien fichue pour ça ? :cry:
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
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772
Location: Wellington, Aotearoa

PostPosted: Sun Mar 06, 2005 10:19 pm    Post subject: Reply with quote

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
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Mon Mar 07, 2005 4:06 am    Post subject: Reply with quote

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
View user's profile Send private message
Polo
l33t
l33t


Joined: 27 Jan 2004
Posts: 649
Location: Angers, France

PostPosted: Mon Mar 07, 2005 11:33 am    Post subject: Reply with quote

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 :P
voila, sinon de rien pour l'aide (je sais pas pour les autres mais je fait ce que je peux :wink: )
Back to top
View user's profile Send private message
Figti
n00b
n00b


Joined: 06 Mar 2005
Posts: 19

PostPosted: Mon Mar 07, 2005 2:47 pm    Post subject: Reply with quote

OK, je découvre les moeurs Gentoo. C'est corrigé :D
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum