Page 1 sur 2

[Résolu]Slackbuilds, compilation, scripts dépendances, and co.

Publié : 30 mai 2017, 08:55
par Vigen
Bonjour,

Bien conscient qu'il me reste énormément de chemin, avant de pouvoir "maitriser" ma Slack.
Lisant énormément la doc dispo, et écoutant "religieusement" vos conseils avisés ;)
Je me pose quelques questions concernant la compilation d'un paquet.
J'utilise sbopkg qui facilite un peu la chose.
Quels outils utilisez-vous?
Concernant les scripts et paquets.
Si je prend l'exemple de Supertux2 ( :mrgreen: ), il n'est pas dispo dans les slackbuilds, je crois que c'est la première version :
https://slackbuilds.org/repository/14.2/games/supertux/
Des paquets pour Salix ou Slackel sont dispo si ont en crois pkgs.org, comment, en partant des paquets Salix, par exemple, crée le .slackbuild qui va bien?

En vous remerciant par avance pour le temps consacré.

Vigen.

Re: Slackbuilds, compilation, scripts dépendances, and co.

Publié : 30 mai 2017, 14:37
par Thomas
Salut Vigen,

En regardant vite fait sur slackbuilds.org, je me suis rendu compte que supertux = supertux2… ou plutôt supertux2 a dû être renommé supertux par la suite car le SB de supertux2 existait pour slackware 13.37 et 14.0, depuis il s'appelle juste supertux.

Donc tu peux y aller tranquillou avec sbopkg :)

Re: Slackbuilds, compilation, scripts dépendances, and co.

Publié : 30 mai 2017, 14:59
par Vigen
Merci pour la précision ;)

Après, je suis preneur de petites astuces, sur la conception de paquets :)

Re: Slackbuilds, compilation, scripts dépendances, and co.

Publié : 30 mai 2017, 15:08
par Thomas
Vigen a écrit : 30 mai 2017, 14:59 Après, je suis preneur de petites astuces, sur la conception de paquets :)
Le plus simple est de lire entièrement un Slackbuild assez basique comme celui de mpc par exemple, sachant qu'un slackbuild est juste un script bash qui :
1. Extrait le code source d'une archive (tar.gz)
2. Exécute le script de configuration : ./configure
3. Compile : make
4. Installe dans un répertoire temporaire : make install DESTDIR=/tmp/SBo/monpaquet
5. Fais le paquet : makepkg /tmp/monpaquet.tgz

Regarde aussi la doc chez slackbuilds.org.

Bon courage !

Re: Slackbuilds, compilation, scripts dépendances, and co.

Publié : 30 mai 2017, 15:12
par Vigen
Merci !! ;)

Re: [Résolu]Slackbuilds, compilation, scripts dépendances, and co.

Publié : 31 mai 2017, 19:16
par Seb
L'essentiel est de repérer ce qui correspond à la compilation du logiciel et à son installation dans une racine temporaire. Le reste c'est vraiment toujours la même chose, à quelques variantes (en plus pour des paquets privés tu peux te passer de copier les "docs", licences &cie). Par exemple dans un PKGBUILD Arch linux ça correspond aux fonctions build et package (oui, quand tu ne trouves pas sur SBo ou que c'est trop vieux, tu peux aller voir sur les autres distros).

Les templates de SBo ne sont pas mal foutus et proposent un début d'automatisation — même si ça reste encore beaucoup de lignes à écrire à mon goût... ;)

Re: [Résolu]Slackbuilds, compilation, scripts dépendances, and co.

Publié : 02 juin 2017, 00:50
par Didier Spaier
Seb a écrit : 31 mai 2017, 19:16Les templates de SBo ne sont pas mal foutus et proposent un début d'automatisation — même si ça reste encore beaucoup de lignes à écrire à mon goût... ;)
Il y a aussi les SLKBUILDS + slkbuild. Moins de lignes à écrire.

Re: [Résolu]Slackbuilds, compilation, scripts dépendances, and co.

Publié : 02 juin 2017, 19:35
par Seb
Si j'ai bien compris, ça consiste à faire une sorte de PKGBUILD pour générer un SlackBuild ? C'est un concept curieux, mais bon il en faut pour tout les goûts et j'imagine que le but est de pouvoir contribuer quand même à SBo. Personnellement, je me suis fait une petite bibliothèque. Mon SB typique ressemble à ça :

Code : Tout sélectionner

#!/bin/sh
##
# url: http://to/the/website.org
##
# NAME=        # package name field.
# VERSION=     # package version field.
# ARCH=        # package architecture field.
# BUILD=       # package build field.
# SIGN=        # package signature field.
# NOFIX=X      # don't fix source permissions.
# NOSTRIP=X    # don't strip binaries.
# NOPAGE=X     # don't look for pages to compress.
# GZIP=X       # generate a .tgz package.
# PREPEND=X    # ask makepkg to prepend symlinks.
#
##
. "/.../BIBLIOTHEQUE"
##

./configure --prefix=/usr \
            --disable-static \
            --libdir=/usr/lib64
make
make install DESTDIR="$PKGDIR"

mkdesc <<EODESC
XXX (something)

Software does a kind of something somewhere.
EODESC

# EoF
Le truc se lance en root, mais la séquence après le chargement de la bibliothèque s'exécute avec un utilisateur non-privilégié, soit l'inverse de ce qu'on fait en général. J'ai en effet remarqué que de toute façon on a besoin de root pour installer le paquet créé, autant donc entrer le mot de passe une fois pour toutes. Le script prend le dossier des sources en argument, suivi éventuellement des définitions qu'on souhaite modifier ponctuellement. Pour le moment, ça fait bono le job.

Re: [Résolu]Slackbuilds, compilation, scripts dépendances, and co.

Publié : 20 juin 2017, 13:04
par Vigen
Salut !!

Je n'avais pas fait attention...Merci pour la trame du SB ;)

Vigen.

Re: [Résolu]Slackbuilds, compilation, scripts dépendances, and co.

Publié : 20 juin 2017, 19:09
par Seb
Attention, ça ne fonctionne qu'avec ma bibliothèque perso. :)

C'était juste histoire de montrer pourquoi je n'étais pas chaud bouillant par rapport à la suggestion de Didier. Maintenant, si ça t'intéresse (toi ou quelqu'un d'autre, d'ailleurs) je peux la poster ici. Il faut juste que j'ajuste deux-trois trucs pour la rendre un peu générique.