[Best Practice] Modification d'un package avec ABS (résolu)

Mise à jour / Création /debug de paquetages
belette
newbie
Messages : 7
Inscription : jeu. 30 oct. 2014, 19:32

[Best Practice] Modification d'un package avec ABS (résolu)

Message par belette »

Bonjour,

Je poste ici non pas pour un problème mais plus pour avoir vos conseils sur les bonnes pratiques avec ABS.
En effet, j'ai eu besoin de modifier un fichier.c pour changer le comportement de hostapd (création de point d'accès wifi), du coup j'ai fait des manips et tout fonctionne correctement, mais j'ai un doute sur la méthode que j'ai employée...

Pour résumer :
-installation d'ABS (pacman -S abs)
-téléchargement des sources et de l'arborescence (abs community/hostapd)
-création d'un répertoire de travail (mkdir -p /home/abs)
-copie des fichiers fraichement téléchargés par la commande abs (cp -r /var/abs/community/hostapd abs/.)
-création du package en .tar (makepkg -o)
-[c'est ici que j'ai un doute] untar le package et modification du fichier.c, puis tar le package à nouveau
-modification du PKGBUILD (suppression de l'URL de la source et remplacement par le package local hostapd-2.3.tar.gz et modification du md5sum)
-installation du nouveau package (makepkg -si)

Ce qui me dérange dans la démarche est de devoir untarer le fichier après avoir passé la commande makepkg -o alors qu'il existe déjà les sources dans le répertoire /src.
J'avais tenté de modifier les fichiers.c dans le répertoire /src mais je me suis rendu compte qu'ils ne sont pas pris en compte et que c'est le package.tar.gz dans le même répertoire qui est celui pris en compte pour créer la version patchée du package.

Je dois louper quelque chose dans mon approche car j'imagine que si makepkg -o créé à la fois le package.tar.gz mais aussi les sources associées dans le répértoire /src c'est surement pour s'attaquer aux sources sans à devoir untarer le package..

Merci d'avance pour vos lumières!

belette
Dernière modification par belette le lun. 12 janv. 2015, 18:10, modifié 1 fois.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Best Practice] Modification d'un package avec ABS (à valider)

Message par FoolEcho »

Salut,
belette a écrit :Ce qui me dérange dans la démarche est de devoir untarer le fichier après avoir passé la commande makepkg -o alors qu'il existe déjà les sources dans le répertoire /src.
J'avais tenté de modifier les fichiers.c dans le répertoire /src mais je me suis rendu compte qu'ils ne sont pas pris en compte et que c'est le package.tar.gz dans le même répertoire qui est celui pris en compte pour créer la version patchée du package.

Je dois louper quelque chose dans mon approche car j'imagine que si makepkg -o créé à la fois le package.tar.gz mais aussi les sources associées dans le répértoire /src c'est surement pour s'attaquer aux sources sans à devoir untarer le package..
Tu rates effectivement un point important qui est l'option -e de makepkg qui permet de compiler le paquet sans extraire les sources.
Du coup, la bonne approche est effectivement makepkg -o pour extraire les sources sans compiler le paquet, puis de modifier ce que tu veux dans src avant de lancer makepkg -e pour obtenir le paquet modifié.

Et pour être complet et mieux présenté (particulièrement si le paquet a vocation à être partagé), une étape supplémentaire consiste à réaliser le patch qui reflète tes changements et à l'intégrer à la fonction prepare() du PKGBUILD. :chinois:
Patching_in_ABS

(au passage, l'installation de abs est tout à fait facultative mais peut-être pratique pour les squelettes de PKGBUILD... quoique je n'ai pas regardé s'ils ont appliqué les derniers changements... y a toujours les scripts rc qui traînent...)
«The following statement is not true. The previous statement is true.» :nage:
belette
newbie
Messages : 7
Inscription : jeu. 30 oct. 2014, 19:32

Re: [Best Practice] Modification d'un package avec ABS (résolu)

Message par belette »

Merci FoolEcho,

je viens de tester c'est parfait je me prenais la tête pour rien (untar / changer les md5sums / tar)
changer les sources dans /src et passer un makepkg -e + pacman -U font le job parfaitement

c'est super!

merci encore

belette
Répondre