Auteur Sujet: [Résolu] Interférence des noms répertoires et paquets dans la chroot.  (Lu 100 fois)

sh4d0w

  • Newbie
  • *
  • Messages: 43
  • Karma: 2
    • enter-nutyx.xyz
Bonjour à tous.
Je viens de me rendre compte que j'ai des interférences dans ma chroot entre le nom des répertoires dans /usr/ports/perso et le nom des paquets.
Quand le nom de la collection et le nom du paquet sont les mêmes, le paquet ne peut pas se compiler sans le renommer.
Par exemple :

nicolas [ ~ ]$ ls /mnt/chroot/usr/ports/perso/
    enlightenment  enlightenment-extra

nicolas [ ~ ]$ ls /mnt/chroot/usr/ports/perso/enlightenment
    enlightenment  efl  python-efl

J'ai dons un paquet qui s'appelle enlightenment dans un répertoire qui s'appelle aussi enlightenment

Dans ce cas là, compiler le paquet enlightenment va poser problème :

cards create -r enlightenment
Retrieve info about the 628 packages: 100 %
/usr/ports/perso/enlightenment has no deps
Retrieve info about the 0 packages: 100 %
create of enlightenment
cards create: /usr/ports/perso/enlightenment package(s)
=======> ERROR: File 'PKGBUILD' not found.
cards 2.2.1 create: could not parse Pkgfile: Invalid Pkgfile

On voit bien que cards cherche à construire le répertoire enlightenment et non le paquet enlightenment.

Du coup, si je renomme mon paquet enlightenment en "e217" par exemple, le problème est contourné :

root [ /usr/ports/perso/enlightenment ]# mv enlightenment/ e217

root [ /usr/ports/perso/enlightenment ]# cards create -r e217
                                              [...]
cards create: /usr/ports/perso/enlightenment/e217 package(s)
=======> PKGMK_INSTALL: no
=======> PKGMK_WORK_DIR: /tmp/work
=======> PKGMK_SOURCE_DIR: /tmp
=======> WARNING: CLEAN IGNORED
=======> PKGMK_IGNORE_REPO: no
=======> PKGMK_IGNORE_FOOTPRINT: yes
=======> PKGMK_IGNORE_MD5SUM: yes
=======> PKGMK_COMPRESS_PACKAGE: yes
=======> PKGMK_COMPRESSION_MODE: xz
=======> name: enlightenment
=======> version: 0.21.7
=======> release: 1
=======> Package 'enlightenment1493371674x86_64.cards.tar.xz' is up to date.
Retrieve info about the 627 packages: 100 %
   ADD: (enlightenment) enlightenment 0.21.7-1, 773 files: 100 %
CREATED: enlightenment 0.21.7

Il me semble que je n'avais pas ce problème avant, est-ce que j'ai mal configuré quelque chose?

root [ ~ ]# cards config
1 Directory: /usr/ports/perso
2 Directory: /usr/ports/perso/enlightenment
3 Directory: /usr/ports/perso/enlightenment-extra
4 Directory: /usr/ports/gui
5 Directory: /usr/ports/cli
6 Directory: /usr/ports/base
Base System list directory: /usr/ports/base
Binaries : x86_64
log directory: /var/log/pkgbuild

root [ ~ ]# cat /etc/pkgmk.conf
## Fichier /etc/pkgmk.conf (chroot)                                                                                                                                                                                             
#                                                                                                                                                                                                                               
                                                                                                                                                                                                                                 
export CFLAGS="-O2 -pipe"                                                                                                                                                                                                       
export CXXFLAGS=""                                                                                                                                                                                                               
case ${PKGMK_ARCH} in                                                                                                                                                                                                           
    "x86_64"|"")                                                                                                                                                                                                                 
       export MAKEFLAGS="-j4"                                                                                                                                                                                                   
       ;;                                                                                                                                                                                                                       
    "i686")                                                                                                                                                                                                                     
       export MAKEFLAGS="-j4"                                                                                                                                                                                                   
       export CFLAGS=" -m32"                                                                                                                                                                                                     
       export CXXFLAGS=" -m32"                                                                                                                                                                                                   
       export LDFLAGS=" -m32"                                                                                                                                                                                                   
       ;;                                                                                                                                                                                                                       
    *)                                                                                                                                                                                                                           
       echo "Unknown architecture selected! Exiting."                                                                                                                                                                           
       exit 1                                                                                                                                                                                                                   
       ;;                                                                                                                                                                                                                       
esac                                                                                                                                                                                                                             
PKGMK_SOURCE_DIR="/tmp"                                                                                                                                                                                                         
PKGMK_KEEP_SOURCES="yes"                                                                                                                                                                                                         
PKGMK_WORK_DIR="/tmp/work"                                                                                                                                                                                                       
PKGMK_IGNORE_REPO="no"                                                                                                                                                                                                           
PKGMK_IGNORE_COLLECTION="no"                                                                                                                                                                                                     
PKGMK_GROUPS=()
PKGMK_LOCALES=()
PKGMK_COMPRESS_PACKAGE="yes"
PKGMK_COMPRESSION_MODE="xz"
PKGMK_CLEAN="no"




 

« Modifié: ven. avril 28 15:25:26 2017 par sh4d0w »
Retrouvez mes constructions sur install-nutyx.xyz - mes vidéos sur enter-nutyx.xyz

tnut

  • Administrator
  • Hero Member
  • *****
  • Messages: 600
  • Karma: 4
    • NuTyX distribution
Re : Interférence des noms répertoires et paquets dans la chroot.
« Réponse #1 le: ven. avril 28 10:14:30 2017 »
Rien de grave.
Tu as mal informé cards parce que tu as confondu collection et port :)

Remplaces dans le /etc/cards.conf de ta chroot

dir /usr/ports/perso
 
par

dir /usr/ports/perso/enlightenment
dir /usr/ports/perso/enlightenment-extra


Et dans le /etc/cards.conf de ta principale

dir /mnt/hd/usr/ports/perso
 
par

dir /mnt/hd/usr/ports/perso/enlightenment
dir /mnt/hd/usr/ports/perso/enlightenment-extra


Aussi n'oublies pas d'ajouter:

PKGMK_IGNORE_RUNTIMEDEPS="no"

http://nutyx.org/fr/build-in-chroot#9

dans ton /etc/pkgmk.conf de ta chroot, sinon les dépendances ne seront pas ajoutées. (Erreur découverte hier soir et corrigée aussitôt dans la documentation)



Et tout entrera dans l'ordre

sh4d0w

  • Newbie
  • *
  • Messages: 43
  • Karma: 2
    • enter-nutyx.xyz
Re : Interférence des noms répertoires et paquets dans la chroot.
« Réponse #2 le: ven. avril 28 10:41:42 2017 »
Citer
Remplaces dans le /etc/cards.conf de ta chroot
dir /usr/ports/perso
par
dir /usr/ports/perso/enlightenment
dir /usr/ports/perso/enlightenment-extra

Le réglage était bon - dans ma chroot :

root [ /usr/ports/perso/enlightenment ]# cards config                                                                                                                               [10:02 x86_64 4.9.23-NuTyX-lts root@nutyl4p]
1 Directory: /usr/ports/perso
2 Directory: /usr/ports/perso/enlightenment
3 Directory: /usr/ports/perso/enlightenment-extra
4 Directory: /usr/ports/gui
5 Directory: /usr/ports/cli
6 Directory: /usr/ports/base
Base System list directory: /usr/ports/base
Binaries : x86_64
log directory: /var/log/pkgbuild


######


Citer
Aussi n'oublies pas d'ajouter:
PKGMK_IGNORE_RUNTIMEDEPS="no"

Ok, là je viens de faire cette modification - dans ma chroot :

nicolas [ ~ ]$ cat /mnt/chroot/etc/pkgmk.conf                                                                                                                                    [12:08 x86_64 4.9.23-NuTyX-lts nicolas@nutyl4p]
## Fichier /etc/pkgmk.conf (chroot)
#

export CFLAGS="-O2 -pipe"
export CXXFLAGS=""
case ${PKGMK_ARCH} in
    "x86_64"|"")
       export MAKEFLAGS="-j4"
       ;;
    "i686")
       export MAKEFLAGS="-j4"
       export CFLAGS=" -m32"
       export CXXFLAGS=" -m32"
       export LDFLAGS=" -m32"
       ;;
    *)
       echo "Unknown architecture selected! Exiting."
       exit 1
       ;;
esac
PKGMK_SOURCE_DIR="/tmp"
PKGMK_KEEP_SOURCES="yes"
PKGMK_WORK_DIR="/tmp/work"
PKGMK_IGNORE_REPO="no"
PKGMK_IGNORE_COLLECTION="no"
PKGMK_GROUPS=()
PKGMK_LOCALES=()
PKGMK_COMPRESS_PACKAGE="yes"
PKGMK_COMPRESSION_MODE="xz"
PKGMK_CLEAN="no"
PKGMK_IGNORE_RUNTIMEDEPS="no"

#####

Le problème subsiste en tous cas. Comme vu précédemment, renommer permet de contourner le problème, mais ce n'est pas vraiment une solution.


« Modifié: ven. avril 28 11:14:42 2017 par tnut »
Retrouvez mes constructions sur install-nutyx.xyz - mes vidéos sur enter-nutyx.xyz

tnut

  • Administrator
  • Hero Member
  • *****
  • Messages: 600
  • Karma: 4
    • NuTyX distribution
Re : Interférence des noms répertoires et paquets dans la chroot.
« Réponse #3 le: ven. avril 28 11:14:23 2017 »
Tu dois supprimer:

dir /usr/ports/perso

Il ne peut pas avoir de ports et de collections dans un meme dossier de toute façon

sh4d0w

  • Newbie
  • *
  • Messages: 43
  • Karma: 2
    • enter-nutyx.xyz
Re : Interférence des noms répertoires et paquets dans la chroot.[Résolu]
« Réponse #4 le: ven. avril 28 15:24:36 2017 »
Tu dois supprimer:
dir /usr/ports/perso

Ah et oui, bien vu, c'était ça le problème. Merci ;)
« Modifié: ven. avril 28 17:09:26 2017 par tnut »
Retrouvez mes constructions sur install-nutyx.xyz - mes vidéos sur enter-nutyx.xyz