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

Reply via email to