Le 16/09/04 à 16:53, [EMAIL PROTECTED] écrivait:
> Quoting Jean-Pierre Pourrez
> > DISTVER=`cat /etc/mandrake-release | perl -ne 'print $1 if
> > (s!^.*release[^\d]*(\d+(\.\d+)?).*!is)'`
>
> Oui on gagne quelques lignes.
> Par contre on s'efforce de ne pas utiliser awk, gawk et perl dans les codes
> communs à toutes les distribs pour diminuer les dépendances de construction
> (et
> le support qui va avec sur le forum).
C'est ennuyeux car autoconf dépend de Perl
> Donc la même chose avec du sed si c'est pas plus compliqué ;-)
Il n'y a qu'à demander !
# ===== check distribution =====
get_DISTVER () {
# $1 keyword to search
# $2 file to scan in /etc directory
grep -i $1 /etc/$2 | sed 's!^[^0-9]*\([0-9]\+\(\.[0-9]\+\)\?\).*!\1!'
}
SIMPLE=0
if test -f /etc/mandrake-release ; then
# Mandrake Linux release xx.y with xx.y in 9.1 9.2 10.0 10
DISTRIB="Mandrake"
DISTVER=`get_DISTVER release mandrake-release`
elif test -f /etc/fedora-release ; then
# Fedora Core release x with x in 1 2. Take care: Fedora has also
/etc/redhat-release
DISTRIB="Fedora"
DISTVER=`get_DISTVER release fedora-release`
elif test -f /etc/redhat-release ; then
# Red Hat Linux release 9 (Shrike)
DISTRIB="Redhat"
DISTVER=`get_DISTVER release redhat-release`
elif test -f /etc/slackware-version ; then
# Slackware x.y.z with x.y.z in 9.1.0 10.0.0
DISTRIB="Slackware"
DISTVER=`get_DISTVER slackware slackware-version`
elif test -f /etc/SuSE-release ; then
# SuSe Linux x.y with x.y in 9.0 9.1
DISTRIB="Suse"
DISTVER=`get_DISTVER suse SuSE-version`
elif test -f /etc/debian_version ; then
# 3.0 3.1
DISTRIB="Debian"
DISTVER=`cat /etc/debian_version`
else
DISTRIB="generic"
DISTVER=0
fi
Attention aux versions des expressions rationnelles !
voir "expressions rationnelles obsol" dans "man 7 regex"
Moins portable que Perl.
Avec get_DISTVER, la fonction flt_to_str devient inutile.
> > Autre suggestion pour dsp-dir:
> >
> > # ===== arg: dsp-dir =====
> > AC_ARG_WITH(dsp-dir,
> > [ --with-dsp-dir Path to DSP files
> > (default={datadir})],
> > DSPDIR=${withval},
> > DSPDIR=""
> > )
> > # if test -z "${DSPDIR}" ; then
> > # DSPDIR=${CONFDIR}/eagle-usb/dsp
> > # fi
> > [ -z "${DSPDIR}" ] && DSPDIR=${datadir}/eagle-usb
> >
> > Sur Debian, dans la doc http://localhost/doc/autoconf/autoconf.html,
> > ${datadir} semble un dossier plus approprié:
> > datadir
> > The directory for installing read-only architecture-independent data.
>
> C'est exact mais ce n'est pas une doc spécifique à Debian. Donc je vais plus
> loin et je propose la suppression de @dspdir@ qui est redondant avec @datadir@
> (et puis on n'installe plus jamais les codes DSP dans /etc/eagle-usb).
>
> D'ailleurs je crois que les fichiers de lang devraient aussi tomber là...
> EU_DSP_DIR=$(DESTDIR)@datadir@ # Makefile.common
> EU_LANG_DIR=$(DESTDIR)@datadir@
Il y a aussi tous ces scripts qui n'ont pas leur place dans
/etc/eagle-usb/scripts. Ils devraient être dans ${sbindir} ou ${bindir}
J'avais déjà fait la remarque sur ce problème, il y a quelque temps. Je suis
heureux que tu
abondes dans ce sens ;-)
A+++
Jean-Pierre