Content:

.  Index
.  FAQ
.  Slack Packages
.  Slack Install
. 
Slack Config
.  Slack Tutorial


.  Slack Security
.  Distribuzioni
.  Compilazione
. 
Kernel Linux
.  Downloads
.  Links
. 
Contact


The Slack-it Linux Project

.  Xdialog & dialog

Front-end agli script di shell costruiti attraverso Xdialog e dialog

 
1) SlackPackager v.2.0
 
2) Audio CD Player v.1.0
 
 
1) SlackPackager v.2.0          Download   Screenshots

#!/bin/sh
#
######################
#### SlackPackager v.2.0 ####
######################
#
# Copyright (c) 2003, Simone Bianchini, http://web.tiscali.it/gnu.linux.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Un ringraziamento particolare a Luigi A. Bassetti.
#
# Dipendenze: => Xdialog, GTK+ 1.2.0, Xfree86 (In ambiente grafico)
# => dialog (In ambiente testuale)
#
# SlackPackager permette di creare in modo del tutto automatico paccheti .tgz per Slackware
# a partire dai sorgenti in formato [nome pacchetto]-[versione].tar.gz o tar.bz2
# Lo script richiede all'utente solo l'inserimento del nome del pacchetto, della versione, del
# formato dei tarball e dell'architettura su cui intende compilare i sorgenti per ottenere una
# compilazione ottimizzata attraverso l'uso delle CFLAGS di ottimizzazione del compilatore.
# Gli eseguibili ottenuti vengono infine "strippati" ovvero snelliti per ottenere applicazioni
# più leggere. Provvederà anche ad eliminare tutto ciò che di superfluo lo script e la
# compilazione hanno prodotto.
# Lanciate lo script in console per vedere l'output della configurazione e compilazione.
# Potete lanciare lo script da qualunque posizione nell'albero delle directoy.
#
# Questa versione ha una GUI costruita sul tool "Xdialog" utilizzabile in X.
# Oppure in ambiente testuale verranno utilizzate delle finestre di dialogo basate su dialog.
#
# -- Have fun!!
#
DIALOG=Xdialog
if [ ! $DISPLAY = "" ]; then
(
echo "30" ; sleep 1
echo "XXX" ; echo ".......Loading" ; echo "XXX"
echo "50" ; sleep 1
echo "100" ; sleep 1
) |
Xdialog --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --gauge "Slack-Packager 2.0" 8 40
while [ 0 ]; do
$DIALOG --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --icon "/usr/share/slackpkger/pkg.xpm" \
--menu "Benvenuti nel menu di Slack-Packager.Utilizzate i tasti freccia [+] [-]\n
per navigare nel menu. Digitate il tasto [Invio] per una selezione." 0 0 0 \
"START" "Inizia a creare un pacchetto per Slackware" \
"CREDITS" "Autore, Riferimenti, Licenza GPL" \
"VIEW" "Visualizza i pacchetti già installati" \
"EXIT" "Per uscire dal menu" \
"ATTENZIONE:" "Avviatelo in Console per l'Output della Compilazione" 2> /tmp/menu
if [ $? = 1 -o $? = 255 ]; then
rm -f /tmp/menu
clear
exit 0
fi
MAINSELECT="`cat /tmp/menu`"
rm /tmp/menu
if [ "$MAINSELECT" = "CREDITS" ]; then
Xdialog --wrap --center --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --fixed-font --textbox /usr/share/slackpkger/gnu.txt 0 0
if [ $? = 1 ] ; then
exit;
fi
fi
if [ "$MAINSELECT" = "START" ]; then
# Bisogna essere root
if [ "${UID}" != 0 ] ; then
Xdialog --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --msgbox " ++++ ATTENZIONE ++++

Bisogna essere root per avviare questo script" 0 0
exit 1
fi
POS=`pwd`
if [ "$TMP" = "" ] ; then
TMP=/tmp;
fi
mkdir -p $TMP/package
PKG=$TMP/package
$DIALOG --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator: seleziona la directory" --dselect "/home" 0 0 2> /tmp/dir
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/dir;
exit;
fi
DIR=`cat /tmp/dir`
rm /tmp/dir
$DIALOG --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator: seleziona i sorgenti" --fselect "/home" 0 0 2> /tmp/choise
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/choise;
exit;
fi
CHOISE=`cat /tmp/choise`
rm /tmp/choise
Xdialog --wrap --left --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --inputbox "Inserisci il NOME del programma come visualizzato nel \n
tarball scelto escludendo la versione indicata:

`ls $CHOISE`" 0 0 2> /tmp/nome
if [ $? = 1 ] ; then
rm /tmp/nome
rm -rf $PKG;
exit;
fi
Xdialog --wrap --left --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --inputbox "Inserisci la VERSIONE del programma:

`ls $CHOISE`" 0 0 2> /tmp/versione
if [ $? = 1 ] ; then
rm /tmp/nome /tmp/versione;
rm -rf $PKG;
exit;
fi
Xdialog --wrap --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --inputbox "Inserisci l'ARCHITETTURA di riferimento: i386 o i486" 0 0 2> /tmp/architettura
if [ $? = 1 ] ; then
rm /tmp/nome /tmp/versione /tmp/architettura;
rm -rf $PKG;
exit;
fi
Xdialog --wrap --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --inputbox "Inserisci il FORMATO del tarball dei sorgenti: tar.gz o tar.bz2" 0 0 2> /tmp/formato
if [ $? = 1 ] ; then
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato;
rm -rf $PKG;
exit;
fi
NAME=`cat /tmp/nome`
VERSION=`cat /tmp/versione`
ARCH=`cat /tmp/architettura`
BUILD=1
FORMAT=`cat /tmp/formato`
Xdialog --wrap --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --inputbox "Devi scegliere il PATH per l'installazione tra: /usr - /usr/local - /opt/kde" 0 0 2> /tmp/scelta
if [ $? = 1 ] ; then
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato /tmp/scelta;
rm -rf $PKG;
exit;
fi
SCELTA=`cat /tmp/scelta`
Xdialog --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --infobox "Compilazione dei sorgenti in corso........attendere" 0 0 2000
mkdir $PKG$SCELTA
PERCORSO=$PKG$SCELTA
mkdir -p $PERCORSO/doc/$NAME-$VERSION
if [ $FORMAT = tar.gz ] ; then
cd $DIR
tar xvzf $NAME-$VERSION.$FORMAT;
elif [ $FORMAT = tar.bz2 ] ; then
tar xvfj $NAME-$VERSION.$FORMAT;
fi
cd $NAME-$VERSION
CFLAGS="-O2 -march=$ARCH -mcpu=i686" ./configure --prefix=/usr
make && make prefix=$PERCORSO install && make clean
cp -a AUTHORS INSTALL README ChangeLog $PERCORSO/doc/$NAME-$VERSION
strip $PERCORSO/bin/*
chown -R root.bin $PERCORSO/bin
chmod 644 $PERCORSO/doc/$NAME-$VERSION/*
chown -R root.root $PERCORSO/doc/$NAME-$VERSION
chown -R root.root $PERCORSO/share
mkdir -p $PKG/install
Xdialog --wrap --left --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --inputbox "
Inserisci una descrizione del pacchetto rispettando la formattazione
definita dall'Handy Ruler:

|-----handy-ruler------------------------------------------------------|" 0 0 2> /tmp/desc
if [ $? = 1 ] ; then
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato /tmp/scelta /tmp/desc;
rm -rf $PKG;
exit;
fi
DESC=`cat /tmp/desc`
echo "$NAME: $DESC" > $POS/slack-desc
echo "$NAME: " >> $POS/slack-desc
Xdialog --wrap --left --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --inputbox "
Continua con un'altra riga di descrizione rispettando sempre la formattazione
definita dall'Handy Ruler:

|-----handy-ruler------------------------------------------------------|" 0 0 2> /tmp/desc1
if [ $? = 1 ] ; then
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato /tmp/scelta /tmp/desc /tmp/desc1;
rm -rf $PKG;
exit;
fi
DESC1=`cat /tmp/desc1`
echo "$NAME: $DESC1" >> $POS/slack-desc
echo "$NAME: " >> $POS/slack-desc
if [ -e $POS/slack-desc ] ; then
cat $POS/slack-desc > $PKG/install/slack-desc;
fi
if [ -e $POS/doinst.sh ] ; then
cat $POS/doinst.sh > $PKG/install/doinst.sh;
fi
cd $PKG
makepkg -l y -c n $TMP/$NAME-$VERSION-$ARCH-$BUILD.tgz
Xdialog --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --beep --infobox "Il Pacchetto $NAME-$VERSION-$ARCH-$BUILD.tgz è stato correttamente creato" 0 0 2000
Xdialog --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator: seleziona la directory di destinazione del pacchetto" --dselect "/home" 0 0 2> /tmp/dirdest
DIRDEST=`cat /tmp/dirdest`
rm /tmp/dirdest
mv $TMP/$NAME-$VERSION-$ARCH-$BUILD.tgz $DIR
rm -rf $PKG
rm -rf $POS/slack-desc
rm -rf $POS/$NAME-$VERSION
cd $TMP
rm -rf architettura desc desc1 formato nome scelta versione
Xdialog --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --infobox "Byez......and have fun with slackware!!!" 0 0 2000
exit 0
fi
if [ "$MAINSELECT" = "VIEW" ]; then
ls /var/log/packages > /tmp/pkg.txt
Xdialog --center --separator "-" --title "SlackPackager v.2.0" --backtitle "Slackware Package Creator" --textbox /tmp/pkg.txt 0 0
rm /tmp/pkg.txt
if [ $? = 1 ] ; then
exit;
fi
fi
if [ "$MAINSELECT" = "EXIT" ]; then
rm -f $TMP/menu
break
fi
done
clear
exit 0
else
if [ "${UID}" != 0 ] ; then
dialog --title "SlackPackager" --msgbox "Bisogna essere root per avviare questo script" 10 35
exit 1
fi
dialog --title "SlackPackager" --msgbox "

=====================================================

+++++ Slack-Packager v. 1.0 --velenux coded +++++

=====================================================

Copyright (c) 2003, Simone Bianchini, http://web.tiscali.it/gnu.linux.

Potrai creare pacchetti Slackware (.tgz) a partire dai sorgenti dell'applicazione con ottimizzazioni nella compilazione per architetture i386 e i486" 20 60
POS=`pwd`
if [ "$TMP" = "" ] ; then
TMP=/tmp;
fi
mkdir -p $TMP/package
PKG=$TMP/package
dialog --title "SlackPackager v.1.0" --msgbox "
++++=============================================++++
Puoi creare un pacchetto .tgz scegliendo tra questi
tarball dei sorgenti:
=====================================================
`ls *tar.gz *tar.bz2`" 0 0
dialog --title "SlackPackager v.1.0" --inputbox "
++++=============================================++++
Inserisci il NOME del programma come visualizzato
nel tarball scelto escludendo la versione indicata:
=====================================================
`ls *tar.gz *tar.bz2`" 0 0 2> /tmp/nome
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/nome
clear
exit;
fi
dialog --title "SlackPackager v.1.0" --inputbox "
++++=============================================++++
Inserisci la VERSIONE del programma:
=====================================================
`ls *tar.gz *tar.bz2`" 0 0 2> /tmp/versione
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/nome /tmp/versione
clear
exit;
fi
dialog --title "SlackPackager v.1.0" --inputbox "
++++=============================================++++
Inserisci l'ARCHITETTURA di riferimento:
i386 o i486
=====================================================" 20 60 2> /tmp/architettura
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/nome /tmp/versione /tmp/architettura
clear
exit;
fi
dialog --title "SlackPackager v.1.0" --inputbox "
++++=============================================++++
Inserisci il FORMATO del tarball dei sorgenti:
tar.gz o tar.bz2
=====================================================" 20 60 2> /tmp/formato
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato
clear
exit;
fi
NAME=`cat /tmp/nome`
VERSION=`cat /tmp/versione`
ARCH=`cat /tmp/architettura`
BUILD=1
FORMAT=`cat /tmp/formato`
dialog --title "SlackPackager v.1.0" --inputbox "
++++=============================================++++
Devi scegliere il PATH per l'installazione tra:
/usr - /usr/local - /opt/kde
=====================================================" 20 60 2> /tmp/scelta
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato /tmp/scelta
clear
exit;
fi
SCELTA=`cat /tmp/scelta`
dialog --title "SlackPackager v.1.0" --infobox "
++++=============================================++++
La compilazione è in corso...attendere

Have fun!! :-P
=====================================================" 10 60 ; sleep 4
mkdir $PKG/$SCELTA
PERCORSO=$PKG/$SCELTA
mkdir -p $PERCORSO/doc/$NAME-$VERSION
if [ $FORMAT = tar.gz ] ; then
tar xvzf $POS/$NAME-$VERSION.$FORMAT;
elif [ $FORMAT = tar.bz2 ] ; then
tar xvfj $POS/$NAME-$VERSION.$FORMAT;
fi
cd $NAME-$VERSION
CFLAGS="-O2 -march=$ARCH -mcpu=i686" ./configure --prefix=/usr
make && make prefix=$PERCORSO install && make clean
cp -a AUTHORS INSTALL README ChangeLog $PERCORSO/doc/$NAME-$VERSION
strip $PERCORSO/bin/*
chown -R root.bin $PERCORSO/bin
chmod 644 $PERCORSO/doc/$NAME-$VERSION/*
chown -R root.root $PERCORSO/doc/$NAME-$VERSION
chown -R root.root $PERCORSO/share
mkdir -p $PKG/install
dialog --title "SlackPackager v.1.0" --msgbox "
++++=============================================++++
Inserisci una descrizione del pacchetto
=====================================================
The Handy Ruler below makes it easier to edit a package description. Line up the first '|' above the ':' following the base package name, and the '|' on the right side marks the last column you can put a character in. You must make exactly 11 lines for the formatting to be correct. It's also customary to leave one space after the ':'." 20 60
dialog --title "SlackPackager v.1.0" --inputbox "Inserisci una descrizione del pacchetto rispettando la formattazione definita dall'Handy Ruler:

|-----handy-ruler------------------------------------------------------|" 20 85 2> /tmp/desc
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato /tmp/scelta /tmp/desc
clear
exit;
fi
DESC=`cat /tmp/desc`
echo "$NAME: $DESC" > $POS/slack-desc
echo "$NAME: " >> $POS/slack-desc
dialog --title "SlackPackager v.1.0" --inputbox "Inserisci un'altra riga di descrizione rispettando sempre la formattazione definita dall'Handy Ruler:

|-----handy-ruler------------------------------------------------------|" 20 85 2> /tmp/desc1
if [ $? = 1 ] ; then
rm -rf $PKG
rm /tmp/nome /tmp/versione /tmp/architettura /tmp/formato /tmp/scelta /tmp/desc /tmp/desc1
clear
exit;
fi
DESC1=`cat /tmp/desc1`
echo "$NAME: $DESC1" >> $POS/slack-desc
echo "$NAME: " >> $POS/slack-desc
if [ -e $POS/slack-desc ] ; then
cat $POS/slack-desc > $PKG/install/slack-desc;
fi
if [ -e $POS/doinst.sh ] ; then
cat $POS/doinst.sh > $PKG/install/doinst.sh;
fi
cd $PKG
makepkg -l y -c n $TMP/$NAME-$VERSION-$ARCH-$BUILD.tgz
dialog --title "SlackPackager v.1.0" --infobox "
++++=============================================++++
Il Pacchetto $NAME-$VERSION-$ARCH-$BUILD.tgz
è stato correttamente creato

The Slack-it Linux project
http://web.tiscali.it/gnu.linux
--velenux :-P
=====================================================" 20 60 ; sleep 3
mv $TMP/$NAME-$VERSION-$ARCH-$BUILD.tgz $POS
rm -rf $PKG
rm -rf $POS/slack-desc
rm -rf $POS/$NAME-$VERSION
cd $TMP
rm -rf architettura desc desc1 formato nome scelta versione
exit 0
fi
 

 


2) Audio CD Player v.1.0          Download
            

#!/bin/sh

#

################################

#### CD Audio Player v.1.0 #####

################################

#

# Copyright (c) 2003, Simone Bianchini, http://web.tiscali.it/gnu.linux.

#

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation; either version 2 of the License, or

# (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

#

# CD Audio Player è un front-end per cdplay costruito con Xdialog

#

# Dipendenze: cdplay v.0.9 (http://www.x-paste.de/projects) - Xdialog

#

# Have fun!!

#

while [ 0 ]; do

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --icon "/user/local/share/cdplayer/nap.xpm" \

--menu \

"Benvenuti in Audio Player v.1.0" 0 0 14 \

"PLAY" "Inizia Riproduzione CD audio" \

"PAUSE" "Metti in pausa" \

"RESUME" "Esci dalla pausa" \

"STOP" "Termina la riproduzione" \

"VOLUME" "Regolazione del volume" \

"LIST" "Lista le tracce e la durata" \

"RANDOM" "Inizia Riproduzione Casuale" \

"EJECT" "Espelli il CD" \

"GO-TO" "Inizia riproduzione traccia X" \

"NEXT" "Avanza nella riproduzione" \

"BACK" "Torna indietro" \

"DEVICE" "Seleziona il device" \

"HELP" "Aiuto" \

"CREDITS" "Autore, GPL, Ringraziamenti" \

"EXIT" "Per uscire dal menu" 2> $TMP/menu

if [ $? = 1 -o $? = 255 ]; then

rm -f $TMP/menu

clear

exit 0

fi

MAINSELECT="`cat $TMP/menu`"

rm $TMP/menu

if [ "$MAINSELECT" = "PLAY" ]; then

cdplay -t1

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --infobox "PLAYING......" 10 40 1500

fi

if [ "$MAINSELECT" = "PAUSE" ]; then

cdplay -p

clear

fi

if [ "$MAINSELECT" = "RESUME" ]; then

cdplay -u

fi

if [ "$MAINSELECT" = "STOP" ]; then

cdplay -s

fi

if [ "$MAINSELECT" = "VOLUME" ]; then

aumix &

fi

if [ "$MAINSELECT" = "LIST" ]; then

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --msgbox "`cdplay -i`" 20 40

clear

fi

if [ "$MAINSELECT" = "RANDOM" ]; then

cdplay -r

clear

fi

if [ "$MAINSELECT" = "EJECT" ]; then

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --infobox "EJECT......" 10 40 1500

cdplay -j

fi

if [ "$MAINSELECT" = "GO-TO" ]; then

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --inputbox "Seleziona la traccia" 10 40 2> /tmp/track

TRACK=`cat /tmp/track`

rm /tmp/track

cdplay -t$TRACK

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --infobox "PLAYNG TRACK $TRACK" 10 40 1500

fi

if [ "$MAINSELECT" = "NEXT" ]; then

cdplay -n

fi

if [ "$MAINSELECT" = "BACK" ]; then

cdplay -b

fi

if [ "$MAINSELECT" = "DEVICE" ]; then

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --inputbox "Inserisci il dispositivo di lettura" 10 40 2> /tmp/device

DEVICE=`cat /tmp/device`

rm /tmp/device

cdplay -cd=$DEVICE

Xdialog --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --infobox "Il Device $DEVICE è stato selezionato per la riproduzione" 0 0 1500

fi

if [ "$MAINSELECT" = "HELP" ]; then

Xdialog --left --separator "-" --backtitle "CD Audio Player" --title "Audio Player v.1.0" --msgbox "`cdplay -h`" 0 0

fi

if [ "$MAINSELECT" = "CREDITS" ]; then

Xdialog --wrap --center --title "Audio Player v.1.0" --backtitle "CD Audio Player" --fixed-font --no-cancel --textbox /user/local/share/cdplayer/gnu1.txt 0 0

fi

if [ "$MAINSELECT" = "EXIT" ]; then

cdplay -sj

break

fi

done

clear

exit 0

 

This site is maintained by velenux
(c) 2003 The Slack-it Linux Project