[conf] Récupérer le fichier par défaut

Autres projets et contributions
Moviuro
Elfe
Messages : 765
Inscription : dim. 17 juin 2012, 22:49

[conf] Récupérer le fichier par défaut

Message par Moviuro »

Plop,

Alors, j'adore arch, mais quand tu fais le con, y'a pas d'outil facile pour te raccrocher aux branches. (J'envie FreeBSD qui apporte toujours par défaut un fichier .sample ou -dist pour chaque paquet, qui est en ro). Et comme j'aime faire l'andouille :bravo:, bah j'me suis écrit ce petit script tout mignon :

Code : Tout sélectionner

#!/usr/bin/env bash
case "$1" in
  /*)
    pacman -Qo "$1" >/dev/null || exit 1
    tar --extract --to-stdout --file "/var/cache/pacman/pkg/$(pacman -Q $(pacman -Qqo "$1") | sed 's/ /-/g')-$(uname --machine).pkg.tar.xz" "${1/\//}" > "$1.sample" || exit 2
    chmod a-w "$1.sample" || exit 3
    ;;
  *)
    echo "Use an abolute path." >&2 && exit 4
    ;;
esac
En gros : tester si ledit fichier appartient à un paquet, si oui, récupérer dans ledit paquet dans le cache ledit fichier de conf et l'écrire dans un .sample sur lequel on enlève les droits de modif -w.

Et puis c'est tout :)
psycho : Latitude E6430 ; BTRFS over LUKS, UEFI & secureboot
schizo : Acer 8942G ; KDE 4, BTRFS over LUKS ; W7 (prend la poussière)
toxo : i5-6600K, bspwm, VM W10 en PCI-passthrough
deadman : Lenovo Thinkcenter, OpenBSD 6.0-stable
popho.be : Kimsufi KS-3, FreeBSD 11.0
Loi de Murphy : Le jour où tu as besoin d'une backup, tu te dis que tu aurais dû en mettre en place
Venez sur IRC en plus du forum !
Avatar de l’utilisateur
staskr
Hankyu
Messages : 40
Inscription : dim. 08 janv. 2012, 18:21

Re: [conf] Récupérer le fichier par défaut

Message par staskr »

Beau script :-)
Moviuro
Elfe
Messages : 765
Inscription : dim. 17 juin 2012, 22:49

Re: [conf] Récupérer le fichier par défaut

Message par Moviuro »

Code : Tout sélectionner

#!/usr/bin/env bash

cache_dir="/var/cache/pacman/pkg"

while getopts "hd:" opt; do
  case "$opt" in
    d)
      cache_dir="$OPTARG"
      ;;
    \?|h)
      cat << EOF
usage: $(basename "$0") [-h] [-d dir] file

-h display this help

restores original file (absolute path) from package in package cache in dir.
dir defaults to $cache_dir
EOF
      [[ "$opt" == "h" ]] && exit 0
      exit 5
      ;;
  esac
done

echo $cache_dir
shift "$((OPTIND-1))"

case "$1" in
  /*)
    pacman -Qo "$1" >/dev/null || exit 1
    tar --extract --to-stdout --file "$cache_dir/$(pacman -Q $(pacman -Qqo "$1") | sed 's/ /-/g')-$(uname --machine).pkg.tar.xz" "${1/\//}" > "$1.sample" || exit 2
    chmod a-w "$1.sample" || exit 3
    ;;
  *)
    echo "Use an abolute path." >&2 && exit 4
    ;;
esac
Up pour pouvoir donner un autre chemin pour le cache de paquets (comme moi qui mets les paquets compilés par yaourt dans /var/cache/aur/pkg)
psycho : Latitude E6430 ; BTRFS over LUKS, UEFI & secureboot
schizo : Acer 8942G ; KDE 4, BTRFS over LUKS ; W7 (prend la poussière)
toxo : i5-6600K, bspwm, VM W10 en PCI-passthrough
deadman : Lenovo Thinkcenter, OpenBSD 6.0-stable
popho.be : Kimsufi KS-3, FreeBSD 11.0
Loi de Murphy : Le jour où tu as besoin d'une backup, tu te dis que tu aurais dû en mettre en place
Venez sur IRC en plus du forum !
Répondre