[paquet] création d'un dépôt personnel
[paquet] création d'un dépôt personnel
bonjour,
j'ai créé un dépôt personnel pour y mettre les paquets que je souhaite compiler à partir des sources. Tout cela fonctionne parfaitement mais le processus de mise à jour est un peu complexe puisqu'il me faut lancer un makepkg, puis transférer mon paquet dans mon dépôt, mettre à jour le dépôt et enfin installer la mise à jour.
Existe-t-il une autre méthode plus simple pour faire cette mise à jour?
PS J'ai essayé avec yaourt -Sb, il voit mon paquet-git, mais il lui manque le mondepot.abs.tar.gz
j'ai créé un dépôt personnel pour y mettre les paquets que je souhaite compiler à partir des sources. Tout cela fonctionne parfaitement mais le processus de mise à jour est un peu complexe puisqu'il me faut lancer un makepkg, puis transférer mon paquet dans mon dépôt, mettre à jour le dépôt et enfin installer la mise à jour.
Existe-t-il une autre méthode plus simple pour faire cette mise à jour?
PS J'ai essayé avec yaourt -Sb, il voit mon paquet-git, mais il lui manque le mondepot.abs.tar.gz
- benjarobin
- Maître du Kyudo
- Messages : 17235
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [paquet] création d'un dépôt personnel
Pourquoi ne pas faire tout simplement, makepkg puis yaourt -U tonpaquetCompilé.tar.xz
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [paquet] création d'un dépôt personnel
C'est effectivement la solution si on installe sur une machine mais je crée un dépôt parce que j'ai plusieurs machines à installer et une volonté de faire profiter de mon travail la communauté de passionnés de ce logiciel.
Je peux distribuer soit des binaires soit des pkbuild, mais je ne sais pas construire un dépôt type aur avec des pkbuild
Quelle solution me recommandez-vous?
Je peux distribuer soit des binaires soit des pkbuild, mais je ne sais pas construire un dépôt type aur avec des pkbuild
Quelle solution me recommandez-vous?
- benjarobin
- Maître du Kyudo
- Messages : 17235
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [paquet] création d'un dépôt personnel
Je crains que cela ne soit pas possible de dire à yaourt d'utiliser un autre serveur que AUR. Je crois que c'est hard coded.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [paquet] création d'un dépôt personnel
Il n'y a donc pas d'autre solution, tant pis. Je vais mettre en place une tache cron pour générer une version binaire régulierement
Re: [paquet] création d'un dépôt personnel
avec un:gilles74 a écrit :puisqu'il me faut lancer un makepkg, puis transférer mon paquet dans mon dépôt, mettre à jour le dépôt et enfin installer la mise à jour.
Code : Tout sélectionner
PKGDEST=/chemin/vers/depot makepkg -si
un:
Code : Tout sélectionner
cd /chemin/vers/depot
while inotifywait -qe close .; do
repo-add depot.db.tar.gz *.pkg.xz
done
on utilise ce script:gilles74 a écrit : PS J'ai essayé avec yaourt -Sb, il voit mon paquet-git, mais il lui manque le mondepot.abs.tar.gz
Code : Tout sélectionner
#!/bin/bash -e
REP_PKG=/chemin/depot
REP_PKGBUILD=/chemin/pkgbuild
ARCH=(i686 x86_64)
REPO=nomdepot
tmpdir="$(mktemp -d)"
trap 'rm -r "$tmpdir"' 0
cd "$tmpdir"
mkdir "$REPO"
bsdtar cf "$REPO.abs.tar" "$REPO"
for arch in "${ARCH[@]}"; do
mkdir db
cd db
bsdtar -xf $REP_PKG/$arch/$REPO.db.tar.gz
for pkg in *; do
[[ -d $pkg ]] || continue
pkgname=${pkg%-*-*}
pkgbase=$(sed -n '/%BASE%/,/^$/ { /^[^%]/p}' $pkg/desc )
[[ $pkgbase ]] && pkgname=$pkgbase
[[ -d "$REP_PKGBUILD/$pkgname" ]] || continue
cp -R "$REP_PKGBUILD/$pkgname" "$tmpdir/$REPO"
bsdtar -C "$tmpdir" -uf "$tmpdir/$REPO.abs.tar" "$REPO/$pkgname"
done
cd ..
rm -r db
done
gzip "$REPO.abs.tar"
cp "$REPO.abs.tar.gz" "$REP_PKG/any"
cd "$REP_PKG"
for arch in "${ARCH[@]}"; do
(cd $arch; ln -sf ../any/"$REPO.abs.tar.gz" .)
done
Si tu l'utilises après chaque "repo-add", un yaourt bien configuré peut te faciliter la tâche, il faut définir:
Code : Tout sélectionner
# pour makepkg
SRCPKGDEST=répertoire des pkgbuild
PKGDEST=répertoire du dépôt
# pour yaourt
EXPORT=1
EXPORTSRC=1
Si les pkgbuild concernent des versions git/svn/etc... il suffit de générer le *.abs.* seulement à chaque modif majeure, makepkg permet de faire la mise à jour en auto des versions de dev et yaourt permet de garder le pkgbuild d'une compil à l'autre
Code : Tout sélectionner
DEVELBUILDDIR="rep ou stocker les copies de travail"
Re: [paquet] création d'un dépôt personnel
Super! merci pour tous ces précisions, je vais pouvoir faire avancer mon projet.
Je reviens vers vous dès que j'aurai tout digéré.
Je reviens vers vous dès que j'aurai tout digéré.
Re: [paquet] création d'un dépôt personnel
bonjour,
j'ai mis en place mon dépot mais je me pose une question
est-il possible de faire un dépot du type AUR c'est à dire avec des pkgbuild tarball ou des répertoires avec un pkgbuild ? afin que le "client" compile le paquet plutôt que d'avoir des binaires
merci pour votre aide
j'ai mis en place mon dépot mais je me pose une question
est-il possible de faire un dépot du type AUR c'est à dire avec des pkgbuild tarball ou des répertoires avec un pkgbuild ? afin que le "client" compile le paquet plutôt que d'avoir des binaires
merci pour votre aide
Re: [paquet] création d'un dépôt personnel
Il y a le AUR d'Arch qui et la pour sa! pas la peine de refaire la même chose alors que tu déjà un dépôt AUR a disposition
Re: [paquet] création d'un dépôt personnel
Salut gilles74,
Je pense que tu devrais regarder du côté d'ABS: https://wiki.archlinux.org/index.php/ABS
Mais je connais pas trop le sujet, c'est plus une piste qu'une réponse.
Je pense que tu devrais regarder du côté d'ABS: https://wiki.archlinux.org/index.php/ABS
Mais je connais pas trop le sujet, c'est plus une piste qu'une réponse.
~ Yet Another DevOps Blog ~
Re: [paquet] création d'un dépôt personnel
tyctyc : oui effectivement AUR est là pour ça , sauf que mes paquets sont franco français et avec très peu d'utilisateur (10 téléchargemements par an). Il n'est toutefois pas exclu que certains paquets soient postés sur AUR
Nic0 : oui j'ai déjà parcouru ce document mais il n'y a rien sur la création de dépot, ça semble un sujet tabou.
Le plus simple est de créer un espace de téléchargement puis d'utiliser makepkg mais je souhaite utiliser yaourt pour faire la recherche d'un paquet.
Nic0 : oui j'ai déjà parcouru ce document mais il n'y a rien sur la création de dépot, ça semble un sujet tabou.
Le plus simple est de créer un espace de téléchargement puis d'utiliser makepkg mais je souhaite utiliser yaourt pour faire la recherche d'un paquet.
Re: [paquet] création d'un dépôt personnel
Salut,
je maintenais un dépôt personnel pendant un temps et je m'étais écrit quelques scripts afin de me faciliter la tâche (ajout d'un paquet dans i686, x86_64 et any et synchronisation avec le serveur distant via rsync à travers ssh).
Si ça t'intéresse, je peux te passer tout ça.
je maintenais un dépôt personnel pendant un temps et je m'étais écrit quelques scripts afin de me faciliter la tâche (ajout d'un paquet dans i686, x86_64 et any et synchronisation avec le serveur distant via rsync à travers ssh).
Si ça t'intéresse, je peux te passer tout ça.