Auteur Sujet: Fonction dans Cards  (Lu 218 fois)

Greg

  • Full Member
  • ***
  • Messages: 105
  • Karma: 3
Fonction dans Cards
« le: sam. avril 15 18:39:51 2017 »
Salut à tous (ou resalut)

Cards execute la fonction Build. Mais permet-il l'execution d'autres fonctions ?
« Modifié: sam. avril 15 20:28:35 2017 par tnut »

tnut

  • Administrator
  • Hero Member
  • *****
  • Messages: 684
  • Karma: 4
    • NuTyX distribution
Re : Fonction dans Cards
« Réponse #1 le: sam. avril 15 20:30:46 2017 »
Le Pkgfile étant un script comme un autre et ce script est appelé par le script pkgmk qui est lui-même appelé par cards (depcreate ou create). La réponse est oui pour autant que les fonctions sont définies et ensuite appelée par la fonction build(). Suis-je clair ou tu veux un exemple ?

Ensuite il ya des fonctions standards qui si elles existent, seront exécutées, ce sont les fonctions:

- doc()
- devel()
- lib()
- man()
- service()

Et si elles n'existent pas dans le Pkgfile, ce seront les fonctions standard (donc interne au script pkgmk ) qui seront appelées
« Modifié: sam. avril 15 20:34:24 2017 par tnut »

tnut

  • Administrator
  • Hero Member
  • *****
  • Messages: 684
  • Karma: 4
    • NuTyX distribution
Re : Fonction dans Cards
« Réponse #2 le: sam. avril 15 21:15:45 2017 »
... et après vérifications:

si la fonction prepare() existe, elle sera exécutée AVANT la fonction build()
si la fonction package() existe, elle sera exécutée APRES la fonction build()

Ces deux fonctions étant là pour pouvoir de manière partielle reconnaître un PKGBUILD de archlinux
« Modifié: dim. avril 16 11:56:47 2017 par tnut »

Greg

  • Full Member
  • ***
  • Messages: 105
  • Karma: 3
Re : Fonction dans Cards
« Réponse #3 le: sam. avril 15 21:44:04 2017 »
Merci Tnut, c'est super clair  8)

Ok, donc si je comprends bien :

prepare() package() doc() devel()...sont executé par cards.

et si je créais une fonctions quelconque, l'ordre d'execution sera definit dans Build()

Du coup, j'me pose la question...à part le titre des variable dans Pkgfile, la différence avec des Pkgbuild est "infime", non ? 
« Modifié: dim. avril 16 11:56:38 2017 par tnut »

tnut

  • Administrator
  • Hero Member
  • *****
  • Messages: 684
  • Karma: 4
    • NuTyX distribution
Re : Fonction dans Cards
« Réponse #4 le: dim. avril 16 11:55:31 2017 »
Citer
Du coup, j'me pose la question...à part le titre des variable dans Pkgfile, la différence avec des Pkgbuild est "infime", non ?
Exactement, même les variables sont reconnues: Extrait de la news (archivée) où je l'annonçais:
Citer
Afin de pouvoir réutiliser partiellement les recettes ARCH-Linux, de nouvelles variables ont été créés, ci-dessous, 3 exemples différents de recettes (fichier Pkgfile) avec les variables et syntaxes possibles.

# Description: My first package
# URL: http://downloads.nutyx.org
# Packager: tnut at nutyx dot org
# Depends on: glibc
name=mypackage
version=1.0
release=1
source=(http://downloads.nutyx.org/files/$name-$version.tar.xz)
build() {
cd ${name}-$version
./configure --prefix=/usr \
--disable-static
make
make DESTDIR=$PKG install
}

# Depends on: glibc
packager="tnut at nutyx dot org"
description="My first package"
url="http://downloads.nutyx.org"
name=mypackage
version=1.0
release=1
source=($url/files/$name-$version.tar.xz)
build() {
cd ${name}-$version
./configure --prefix=/usr \
--disable-static
make
make DESTDIR=$PKG install
}
                         

# Packager: tnut at nutyx dot org
# Depends on: glibc
pkgdesc="My first package"
url="http://downloads.nutyx.org"
pkgname=mypackage
pkgver=1.0
pkgrel=1
source=($url/files/$name-$version.tar.xz)
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr \
--disable-static
make
make DESTDIR="$pkgdir" install
}

Merci pour ton grand intérêt

Greg

  • Full Member
  • ***
  • Messages: 105
  • Karma: 3
Re : Fonction dans Cards
« Réponse #5 le: dim. avril 16 14:25:44 2017 »
Genial merci  ;D
« Modifié: dim. avril 16 17:48:42 2017 par tnut »