Repository 32bit  Forum
Repository 64bit  Wiki

sostituzione parti di testo

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

sostituzione parti di testo

Messaggioda conraid » mer ago 11, 2010 12:00

Ho una serie di slackbuild dove c'è una parte come questa

Codice: Seleziona tutto
# Set compiling FLAGS
case "$ARCH" in
    i486)
        SLKCFLAGS="-O2 -march=i486 -mtune=i686"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    i686)
        SLKCFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    x86_64)
        SLKCFLAGS="-O2 -fPIC -pipe -fomit-frame-pointer"; CHOST="x86_64"
        SLKLDFLAGS="-L/lib64 -L/usr/lib64"; LIBDIRSUFFIX="64"
        ;;
esac


vorrei modificarla con

Codice: Seleziona tutto
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
    case "$( uname -m )" in
        i?86) ARCH=i686 ;;
        arm*) ARCH=arm ;;
        # Unless $ARCH is already set, use uname -m for all other archs:
        *) ARCH=$( uname -m ) ;;
    esac
fi

# Set compiling FLAGS
case "$ARCH" in
    i486)
        SLKCFLAGS="-O2 -march=i486 -mtune=i686"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    i686)
        SLKCFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    x86_64)
        SLKCFLAGS="-O2 -fPIC -pipe -fomit-frame-pointer"; CHOST="x86_64"
        SLKLDFLAGS="-L/lib64 -L/usr/lib64"; LIBDIRSUFFIX="64"
        ;;
    *)
        SLKCFLAGS="-O2"; CHOST=$ARCH
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
esac


per adesso faccio a mano, nel senso che tolgo la parte da eliminare, e poi faccio
Codice: Seleziona tutto
cat file_che_contiene_il_nuovo_codice >> *.SlackBuild

e poi a mano sposto la sezione

ma è una palla, vorrei farlo in modo "semiautomatico", cioè preparare uno script da lanciare per ogni slackbuild che voglio modificare, e in caso, lanciarlo in serie

devo operare da remoto, quindi niente editor grafici, l'ideale sarebbe poter usare qualche script bash con sed, awk o altro, ma anche perl potrei utilizzare

per eliminare la riga ARCH=etc... do un comando sed e via, ma per il testo non sono riuscito a trovare una soluzione. Nel senso che le prove che ho fatto con sed si incartavano tutte, penso per colpa di qualche carattere, ma potrei aver sbagliato.

come fareste?
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: sostituzione parti di testo

Messaggioda metrofox » mer ago 11, 2010 13:16

Quando hanno fatto la stessa cosa su slackbuilds.org hanno parlato di uno script automatico o semi-automatico per editare tutta quella parte di testo...
Avatar utente
metrofox
Linux 2.6
Linux 2.6
 
Messaggi: 758
Iscritto il: gio ago 07, 2008 11:29
Slackware: slackware64-current
Kernel: 3.4.4-ck3
Desktop: FluxBox-1.3.1
Distribuzione: FreeBSD-8.1(amd64)

Re: sostituzione parti di testo

Messaggioda Zeros » mer ago 11, 2010 13:39

Se sai che su tutti slackbuild è presente # Set compiling FLAGS, potresti fare così:
leggi riga per riga, verificando che sia presente la stringa sopra menzionata, se non è presente lo metti in append su un nuovo file, in caso contrario no, fino al primo esac e poi inserisci tutto il blocco nuovo.
Un pò rozza come cosa, ma potrebbe andare.
Zeros
Linux 2.0
Linux 2.0
 
Messaggi: 107
Iscritto il: dom mar 05, 2006 2:22
Località: Roma
Slackware: 12.1
Kernel: 2.6.24.5
Desktop: Kde

Re: sostituzione parti di testo

Messaggioda masalapianta » mer ago 11, 2010 14:03

se la parte da sostituire è sempre la stessa e non cambia mai di un bit, basta usare sed, tr o quel che vuoi; siccome è improbabile che non cambi mai di un bit è meglio fare un parser con opportune regexp, tipo questo:
Codice: Seleziona tutto
#!/usr/bin/perl
use strict;
my $pm = 'testo lallallero
pappappero lallalla
w la figa';
my $pd = 0;
while(<STDIN>) {
   $pd = 1 if( m/case "\$ARCH" in/ );
   print $_ if($pd == 0);
   if($pd == 1 && m/\s*esac\s*/) {
      $pd = 0;
      print $pm;
   }
}

ovviamente sostituisci il valore di $pm con la roba con cui vuoi sostituire la roba che non vuoi; se in altre parti del file son gia presenti stringhe tipo 'case "$ARCH" in' magari modifica la regexp per matchare il commento prima del case o vedi un po tu (non ho la benchè minima idea di cosa possano contenere quei file).
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: sostituzione parti di testo

Messaggioda conraid » mer ago 11, 2010 14:30

sono degli slackbuild (sì lo so, su debian non ci sono :p), questo è un file di esempio

Codice: Seleziona tutto
#!/bin/sh
#
# Slackware build script for Abook (http://abook.sf.net)
#
# Copyright 2008-2010 Corrado Franco (http://conraid.net)
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Exit on most errors
set -e

# Set variables:
CWD=$(pwd)

PRGNAME=${PRGNAME:-abook}
VERSION=${VERSION:-0.6.0pre2}
ARCH=${ARCH:-i686}
BUILD=${BUILD:-4}
TAG=${TAG:-cf}
TMP=${TMP:-/tmp/tgz} # If you use /tmp here, don't use --cleanup options
JOBS=${JOBS:-2}
SOURCE=http://abook.sourceforge.net/devel/abook-0.6.0pre2.tar.gz
PATCH=http://abook.sourceforge.net/patches/abook_vcard_import.patch
PKG=$TMP/package-$PRGNAME
DOCS="$PKG/usr/doc/$PRGNAME-$VERSION"

# Insert document files in this variable
DOCFILES="ABOUT-NLS ANNOUNCE AUTHORS BUGS COPYING ChangeLog FAQ NEWS README RELEASE_NOTES THANKS TODO"

# Set compiling FLAGS
case "$ARCH" in
    i486)
        SLKCFLAGS="-O2 -march=i486 -mtune=i686"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    i686)
        SLKCFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    x86_64)
        SLKCFLAGS="-O2 -fPIC -pipe -fomit-frame-pointer"; CHOST="x86_64"
        SLKLDFLAGS="-L/lib64 -L/usr/lib64"; LIBDIRSUFFIX="64"
        ;;
esac

# Download source, if not exist
if ! [ -e $(basename $SOURCE) ]; then
    wget $SOURCE
fi

# Download source, if not exist
if ! [ -e $(basename $PATCH) ]; then
    wget $PATCH
fi

# Extract source and prepare:
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PRGNAME-$VERSION

tar xzvf $CWD/$PRGNAME-$VERSION.tar.gz
cd $PRGNAME-$VERSION
cat $CWD/$(basename $PATCH) | patch -p1 --verbose --backup --suffix=.orig

# Make sure ownerships and permissions are sane:
chown -R root:root .
chmod -R u+w,go+r-w,a-s .

# Configure
LDFLAGS="$SLKLDFLAGS" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --infodir=/usr/info \
  --host=$CHOST-slackware-linux \
  --build=$CHOST-slackware-linux


# Build and install:
make -j $JOBS
make DESTDIR=$PKG install

# Strip binaries:
( cd $PKG
  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null || true
)

# Add a documentation directory:
mkdir -p ${DOCS}
for i in ${DOCFILES}; do
    if [ -e ${i} ]; then
        if ! [ -L ${i} ]; then
            cp -a ${i} ${DOCS}
        else
            cp -LRp ${i} ${DOCS}
        fi
    fi;
done

# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
  find . -type f -exec gzip -9 {} \;
  for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
fi

# Add a slackbuild script:
cat $CWD/$PRGNAME.SlackBuild > $DOCS/$PRGNAME.SlackBuild

# Add slack-desc
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

# Create package:
cd $PKG
/sbin/makepkg -l y -c n $CWD/$PRGNAME-$VERSION-$ARCH-${BUILD}${TAG}.txz


purtroppo nei vecchi slackbuild, al posto del CASE ho usato una serie di IF, ma questi li tratterò in modo diverso
Per adesso, chiedo perdono per l'orrore, ho tirato fuori una cosa così

Codice: Seleziona tutto
#!/bin/sh
sed -i '/^# Set compiling FLAGS/,/esac/ d' $1
sed -i '/# Download source, if not exist/ i\#-#-#-#-#' $1
sed -i '/#-#-#-#-#/ r file_che_contiene_il_nuovo_codice' $1
sed -i 's/#-#-#-#-#//' $1


usando append before line sarebbe meglio, ma qualche carattere fa caos, e non riesco a capire (a parte l'apostrofo), con "r" va ma dopo una stringa (non ho trovato come includere un file prima), quindi ho aggiunto e tolto una riga temporanea

ora provo con il tuo esempio
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: sostituzione parti di testo

Messaggioda conraid » mer ago 11, 2010 14:52

perfetto masala, ho fatto così

Codice: Seleziona tutto
#!/usr/bin/perl
use strict;

my $pm = '# Automatically determine the architecture we are building on:
if [ -z "$ARCH" ]; then
    case "$( uname -m )" in
        i?86) ARCH=i686 ;;
        arm*) ARCH=arm ;;
        # Unless $ARCH is already set, use uname -m for all other archs:
        *) ARCH=$( uname -m ) ;;
    esac
fi
# Set compiling FLAGS
case "$ARCH" in
    i486)
        SLKCFLAGS="-O2 -march=i486 -mtune=i686"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    i686)
        SLKCFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"; CHOST="i486"
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
    x86_64)
        SLKCFLAGS="-O2 -fPIC -pipe -fomit-frame-pointer"; CHOST="x86_64"
        SLKLDFLAGS="-L/lib64 -L/usr/lib64"; LIBDIRSUFFIX="64"
        ;;
    *)
        SLKCFLAGS="-O2"; CHOST=$ARCH
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;
esac

';
my $pd = 0;
while(<STDIN>) {
   $pd = 1 if( m/^# Set compiling FLAGS/ );
   print $_ if($pd == 0);
   if($pd == 1 && m/\s*esac\s*/) {
      $pd = 0;
      print $pm;
    }
}


a questo punto mi basta, per gli slackbuild in cui ho usato if pazienza, farò due script
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: sostituzione parti di testo

Messaggioda conraid » mer ago 11, 2010 16:34

mi sono reso conto che la strada che stavo seguendo era errata, ci possono essere opzioni diverse in base al programma, e quindi non sarebbero state mantenute con quell'approccio, quindi ne ho seguito un altro, e questa volta non ha nemmeno dato errori nell'append

Codice: Seleziona tutto
sed -i '
/^esac/ i\
    *)\
        SLKCFLAGS="-O2"; CHOST=$ARCH\
        SLKLDFLAGS=""; LIBDIRSUFFIX=""\
        ;;' $1

sed -i '
/^# Set compiling FLAGS/ i\
# Automatically determine the architecture we are building on:\
if [ -z "$ARCH" ]; then\
    case "$( uname -m )" in\
        i?86) ARCH=i686 ;;\
        arm*) ARCH=arm ;;\
        # Unless $ARCH is already set, use uname -m for all other archs:\
        *) ARCH=$( uname -m ) ;;\
    esac\
fi\
' $1


siccome in ogni build so di avere un solo "esac" ho prima aggiunto la parte mancante del default, e dopo aggiunto la determinazione dell'architettura prima della sezione.

sembra funzionare
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: sostituzione parti di testo

Messaggioda targzeta » mer ago 11, 2010 22:25

masalapianta ha scritto:se la parte da sostituire è sempre la stessa e non cambia mai di un bit, basta usare sed, tr o quel che vuoi; siccome è improbabile che non cambi mai di un bit è meglio fare un parser con opportune regexp...

Visto che l'esempio che hai postato era in perl e che dalla frase che ho quotato sembra che escludi la possibilità di farlo, aggiungo solo che lo stesso parser lo si può fare anche con sed, anzi, diciamo che questo è proprio il suo pane quotidiano. Si può implementare un automa a stati finiti nel momento in cui si identificano due RE, una che indica l'inizio del testo da eliminare e l'altra che ne identifica la fine. Quindi puoi dire all'automa:
  • stato 0: rimani allo stato 0 finché non leggi la RE d'inizio. Se leggi la RE d'inizio vai allo stato 1.
  • stato 1: elimina tutte le righe finché non leggi la RE di fine. Se leggi la RE di fine vai allo stato 2
  • stato 2: inserisci il nuovo testo e vai allo stato 3
  • stato 3: copia tutto sino alla fine.
In questo modo, al contrario della soluzione postata da Corrado, sed lo esegui solo una volta e la complessità dell'algoritmo è lineare alla dimensione del testo (in pratica leggi una sola volta tutto il testo).

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6156
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: sostituzione parti di testo

Messaggioda masalapianta » gio ago 12, 2010 9:44

spina ha scritto:
masalapianta ha scritto:se la parte da sostituire è sempre la stessa e non cambia mai di un bit, basta usare sed, tr o quel che vuoi; siccome è improbabile che non cambi mai di un bit è meglio fare un parser con opportune regexp...

Visto che l'esempio che hai postato era in perl e che dalla frase che ho quotato sembra che escludi la possibilità di farlo, aggiungo solo che lo stesso parser lo si può fare anche con sed, anzi, diciamo che questo è proprio il suo pane quotidiano. Si può implementare un automa a stati finiti nel momento in cui si identificano due RE, una che indica l'inizio del testo da eliminare e l'altra che ne identifica la fine. Quindi puoi dire all'automa:
  • stato 0: rimani allo stato 0 finché non leggi la RE d'inizio. Se leggi la RE d'inizio vai allo stato 1.
  • stato 1: elimina tutte le righe finché non leggi la RE di fine. Se leggi la RE di fine vai allo stato 2
  • stato 2: inserisci il nuovo testo e vai allo stato 3
  • stato 3: copia tutto sino alla fine.
In questo modo, al contrario della soluzione postata da Corrado, sed lo esegui solo una volta e la complessità dell'algoritmo è lineare alla dimensione del testo (in pratica leggi una sola volta tutto il testo).

Emanuele

interessante, ho sempre usato sed come stream editor per cose molto semplici (anche perchè per far cose più complesse strumenti come perl sono ovviamente più potenti e flessibili), non ne avevo mai approfondito l'uso avanzato (e mai lo farò :lol: )
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: sostituzione parti di testo

Messaggioda targzeta » gio ago 12, 2010 22:11

masalapianta ha scritto:...
interessante, ho sempre usato sed come stream editor per cose molto semplici (anche perchè per far cose più complesse strumenti come perl sono ovviamente più potenti e flessibili), non ne avevo mai approfondito l'uso avanzato (e mai lo farò :lol: )

Guarda, non so che dirti. Ci sono cose che sed può fare ed altre che non può fare. Ognuno si regola come meglio crede. Ovviamente perl è molto più potente, ma io lo uso solo dove gli altri strumenti che conosco non ci arrivano, e prima passo per awk, il quale come stream editor fa praticamente quasi tutto.

Mi sono accorto solo ora che l'algoritmo che avevo postato è sbagliato, Corrado non voleva eliminare nulla dal flusso, voleva solo inserire qualcosa nel mezzo. L'automa diventa:
  • stato 0: se incontri la RE che indica il punto in cui inserire, vai allo stato 1, altrimenti vai allo stato 0
  • stato 1: inserisci il testo e vai allo stato 2
  • stato 2: copia tutto sino alla fine
Il corrispettivo script per sed diventa questo:
Codice: Seleziona tutto
/^# Set.*FLAGS/b inserisci;p;d;

:inserisci i\
# Automatically determine the architecture we're building on:\
if [ -z "$ARCH" ]; then\
    case "$( uname -m )" in\
        i?86) ARCH=i686 ;;\
        arm*) ARCH=arm ;;\
        # Unless $ARCH is already set, use uname -m for all other archs:\
        *) ARCH=$( uname -m ) ;;\
    esac\
fi\

b fine

:fine n;b fine
Basta copiarlo in un file, ad esempio casa.sed, ed eseguire:
Codice: Seleziona tutto
sed-f casa.sed file_di_input
se funziona, basta aggiungerci l'opzione '-i'.

Ancora più figo è inserire come prima riga del file casa.sed, la riga:
Codice: Seleziona tutto
#!/bin/sed -f
quindi rendere il file eseguibile, in questo modo si può anche fare:
Codice: Seleziona tutto
casa.sed file_input
e, al solito, se funziona, aggiungere l'opzione '-i'.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6156
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: sostituzione parti di testo

Messaggioda conraid » ven ago 13, 2010 9:50

ma la prima parte dove la inserisco?
mi spiego
oltre ad aggiungere questa parte, devo aggiungere

Codice: Seleziona tutto
    *)
        SLKCFLAGS="-O2"; CHOST=$ARCH
        SLKLDFLAGS=""; LIBDIRSUFFIX=""
        ;;' $1


nel case di $ARCH

siccome so che, la prima volta che lancio sed, c'è un solo case allora prima aggiungo questa parte e dopo quel che hai anche scritto tu.
Per questo ho usato "due" sed in uno script bash, da una parte perché la mia ignoranza non mi permette di fare in altro modo (e mi arrangio con quel che so), dall'altra perché c'è appunto devo inserire due parti di testo
come verrebbe?
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: sostituzione parti di testo

Messaggioda targzeta » ven ago 13, 2010 21:19

conraid ha scritto:...come verrebbe?
Viene che devi cercare l'"esac" ed inserirci il testo che vuoi:
Codice: Seleziona tutto
/^# Set.*FLAGS/b inserisci;p;d

:inserisci i\
# Automatically determine the architecture we're building on:\
if [ -z "$ARCH" ]; then\
    case "$( uname -m )" in\
        i?86) ARCH=i686 ;;\
        arm*) ARCH=arm ;;\
        # Unless $ARCH is already set, use uname -m for all other archs:\
        *) ARCH=$( uname -m ) ;;\
    esac\
fi\

b aggiungi

:aggiungi n;/^esac/{i\
    *)\
        SLKCFLAGS="-O2"; CHOST=$ARCH\
        SLKLDFLAGS=""; LIBDIRSUFFIX=""\
        ;;
b fine}; b aggiungi

:fine n;b fine


Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6156
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite