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

Forum d'aide générale sur Slackware
Vigen

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

Message 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.
Dernière modification par Vigen le 31 mai 2017, 06:14, modifié 1 fois.
Avatar de l’utilisateur
Thomas
Administrateur
Messages : 432
Inscription : 08 janvier 2017, 07:14
Localisation : Anizy-le-Grand
Contact :

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

Message 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 :)
Vigen

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

Message par Vigen »

Merci pour la précision ;)

Après, je suis preneur de petites astuces, sur la conception de paquets :)
Avatar de l’utilisateur
Thomas
Administrateur
Messages : 432
Inscription : 08 janvier 2017, 07:14
Localisation : Anizy-le-Grand
Contact :

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

Message 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 !
Seb
Messages : 188
Inscription : 22 février 2017, 19:07

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

Message 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... ;)
Didier Spaier
Messages : 129
Inscription : 29 janvier 2017, 21:07

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

Message 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.
Seb
Messages : 188
Inscription : 22 février 2017, 19:07

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

Message 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.
Vigen

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

Message par Vigen »

Salut !!

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

Vigen.
Seb
Messages : 188
Inscription : 22 février 2017, 19:07

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

Message 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.
Répondre