flavors rev 130

Rename: core-xfce --> xfce
author Christophe Lincoln <pankso@slitaz.org>
date Wed Feb 22 23:26:35 2012 +0100 (2012-02-22)
parents 628eb741f4e9
children ea182c1a826b
files core-xfce/packages.list core-xfce/receipt core-xfce/rootcd/README core-xfce/rootcd/index.html core-xfce/rootcd/style.css core-xfce/rootfs/etc/init.d/bootopts.sh core-xfce/rootfs/etc/init.d/network.sh core-xfce/rootfs/etc/lxpanel/default/panels/panel core-xfce/rootfs/etc/skel/.Xdefaults core-xfce/rootfs/etc/skel/.config/pcmanfm/main core-xfce/rootfs/etc/skel/.gtkrc-2.0 core-xfce/rootfs/etc/skel/.netsurf/Choices core-xfce/rootfs/etc/skel/Desktop/slitaz-doc.desktop core-xfce/rootfs/etc/slitaz/applications.conf core-xfce/rootfs/etc/xdg/openbox/menu.en.xml core-xfce/rootfs/etc/xdg/openbox/menu.fr.xml core-xfce/rootfs/etc/xdg/openbox/menu.pt.xml core-xfce/rootfs/etc/xdg/openbox/rc.xml core-xfce/rootfs/root/.Xdefaults core-xfce/rootfs/root/.gtkrc-2.0 core-xfce/rootfs/sbin/tazlocale core-xfce/rootfs/usr/bin/slitaz-installer core-xfce/rootfs/usr/bin/tazlito core-xfce/rootfs/usr/bin/tazlitobox core-xfce/rootfs/usr/bin/wifibox core-xfce/rootfs/usr/share/applications/burnbox-doc.desktop core-xfce/rootfs/usr/share/applications/gpl-license.desktop core-xfce/rootfs/usr/share/applications/system-doc.desktop core-xfce/rootfs/usr/share/applications/tazlito-doc.desktop core-xfce/rootfs/usr/share/applications/tazlitobox.desktop core-xfce/rootfs/usr/share/applications/tazpkg-doc.desktop core-xfce/rootfs/usr/share/doc/slitaz/book.css core-xfce/rootfs/usr/share/doc/slitaz/favicon.ico core-xfce/rootfs/usr/share/doc/slitaz/images/css/header.png core-xfce/rootfs/usr/share/doc/slitaz/index.de.html core-xfce/rootfs/usr/share/doc/slitaz/index.en.html core-xfce/rootfs/usr/share/doc/slitaz/index.fr.html core-xfce/rootfs/usr/share/doc/slitaz/index.hu.html core-xfce/rootfs/usr/share/doc/slitaz/index.pt.html core-xfce/rootfs/usr/share/doc/slitaz/template.html core-xfce/rootfs/usr/share/images/slitaz-background.jpg core-xfce/rootfs/usr/share/pixmaps/slitaz-menu.png core-xfce/rootfs/usr/share/slim/themes/slitaz/background.png core-xfce/rootfs/usr/share/slim/themes/slitaz/panel.png core-xfce/rootfs/usr/share/slim/themes/slitaz/slim.theme core-xfce/rootfs/usr/share/webhome/index.html core-xfce/rootfs/usr/share/webhome/netsurf.html core-xfce/rootfs/usr/share/webhome/style.css xfce/packages.list xfce/receipt xfce/rootcd/README xfce/rootcd/index.html xfce/rootcd/style.css xfce/rootfs/etc/init.d/bootopts.sh xfce/rootfs/etc/init.d/network.sh xfce/rootfs/etc/lxpanel/default/panels/panel xfce/rootfs/etc/skel/.Xdefaults xfce/rootfs/etc/skel/.config/pcmanfm/main xfce/rootfs/etc/skel/.gtkrc-2.0 xfce/rootfs/etc/skel/.netsurf/Choices xfce/rootfs/etc/skel/Desktop/slitaz-doc.desktop xfce/rootfs/etc/slitaz/applications.conf xfce/rootfs/etc/xdg/openbox/menu.en.xml xfce/rootfs/etc/xdg/openbox/menu.fr.xml xfce/rootfs/etc/xdg/openbox/menu.pt.xml xfce/rootfs/etc/xdg/openbox/rc.xml xfce/rootfs/root/.Xdefaults xfce/rootfs/root/.gtkrc-2.0 xfce/rootfs/sbin/tazlocale xfce/rootfs/usr/bin/slitaz-installer xfce/rootfs/usr/bin/tazlito xfce/rootfs/usr/bin/tazlitobox xfce/rootfs/usr/bin/wifibox xfce/rootfs/usr/share/applications/burnbox-doc.desktop xfce/rootfs/usr/share/applications/gpl-license.desktop xfce/rootfs/usr/share/applications/system-doc.desktop xfce/rootfs/usr/share/applications/tazlito-doc.desktop xfce/rootfs/usr/share/applications/tazlitobox.desktop xfce/rootfs/usr/share/applications/tazpkg-doc.desktop xfce/rootfs/usr/share/doc/slitaz/book.css xfce/rootfs/usr/share/doc/slitaz/favicon.ico xfce/rootfs/usr/share/doc/slitaz/images/css/header.png xfce/rootfs/usr/share/doc/slitaz/index.de.html xfce/rootfs/usr/share/doc/slitaz/index.en.html xfce/rootfs/usr/share/doc/slitaz/index.fr.html xfce/rootfs/usr/share/doc/slitaz/index.hu.html xfce/rootfs/usr/share/doc/slitaz/index.pt.html xfce/rootfs/usr/share/doc/slitaz/template.html xfce/rootfs/usr/share/images/slitaz-background.jpg xfce/rootfs/usr/share/pixmaps/slitaz-menu.png xfce/rootfs/usr/share/slim/themes/slitaz/background.png xfce/rootfs/usr/share/slim/themes/slitaz/panel.png xfce/rootfs/usr/share/slim/themes/slitaz/slim.theme xfce/rootfs/usr/share/webhome/index.html xfce/rootfs/usr/share/webhome/netsurf.html xfce/rootfs/usr/share/webhome/style.css
line diff
     1.1 --- a/core-xfce/packages.list	Wed Feb 22 23:24:45 2012 +0100
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,251 +0,0 @@
     1.4 -915resolution
     1.5 -alsa-lib
     1.6 -alsaplayer
     1.7 -alsa-utils
     1.8 -asunder
     1.9 -atk
    1.10 -attr
    1.11 -beaver
    1.12 -busybox
    1.13 -busybox-pam
    1.14 -bzlib
    1.15 -cairo
    1.16 -cairomm
    1.17 -cdparanoia-III
    1.18 -cdrkit
    1.19 -clearlooks
    1.20 -conspy
    1.21 -curl
    1.22 -dbus
    1.23 -dbus-glib
    1.24 -depmod
    1.25 -desktop-file-utils
    1.26 -dialog
    1.27 -dropbear
    1.28 -e2fsprogs
    1.29 -enchant
    1.30 -epdfview
    1.31 -expat
    1.32 -firefox
    1.33 -fontconfig
    1.34 -freetype
    1.35 -fuse
    1.36 -galculator
    1.37 -gamin
    1.38 -garcon
    1.39 -gcc-lib-base
    1.40 -gcolor2
    1.41 -GConf
    1.42 -gdbm
    1.43 -get-flash-plugin
    1.44 -gettext-base
    1.45 -get-wifi-firmware
    1.46 -glib
    1.47 -glibc-base
    1.48 -glibmm
    1.49 -gparted
    1.50 -gpxe
    1.51 -grub
    1.52 -gtk+
    1.53 -gtkdialog
    1.54 -gtkmm
    1.55 -gtk-xfce-engine
    1.56 -hal
    1.57 -hardinfo
    1.58 -hicolor-icon-theme
    1.59 -isapnptools
    1.60 -isomaster
    1.61 -jpeg
    1.62 -kbd-busybox
    1.63 -lcms
    1.64 -leafpad
    1.65 -libcap
    1.66 -libcddb
    1.67 -libcdio
    1.68 -libcomerr
    1.69 -libcrypto
    1.70 -libcurl
    1.71 -libdb
    1.72 -libdrm
    1.73 -libexif
    1.74 -libexo
    1.75 -libfirefox
    1.76 -libgcrypt
    1.77 -libgio
    1.78 -libgiomm
    1.79 -libglade
    1.80 -libgnutls
    1.81 -libgpg-error
    1.82 -libical
    1.83 -libIDL
    1.84 -libidn
    1.85 -libmad
    1.86 -libnotify
    1.87 -libogg
    1.88 -libpng
    1.89 -libsexy
    1.90 -libsigc++
    1.91 -libsoup
    1.92 -libssl
    1.93 -libtasn1
    1.94 -libtool
    1.95 -libunique
    1.96 -libusb
    1.97 -libusb-compat
    1.98 -libvorbis
    1.99 -libwebkit
   1.100 -libwnck
   1.101 -libxcb
   1.102 -libxfce4ui
   1.103 -libxfce4util
   1.104 -libxfcegui4
   1.105 -libxml2
   1.106 -libxslt
   1.107 -linux
   1.108 -linux-crypto
   1.109 -linux-sound
   1.110 -linux-wireless
   1.111 -locale-de
   1.112 -locale-es
   1.113 -locale-fr
   1.114 -locale-pt_BR
   1.115 -lostirc
   1.116 -lua
   1.117 -lxappearance
   1.118 -lxpanel
   1.119 -lxtask
   1.120 -lzlib
   1.121 -lzma
   1.122 -menu-cache
   1.123 -mercurial
   1.124 -mesa
   1.125 -mhwaveedit
   1.126 -midori
   1.127 -mtpaint
   1.128 -nano
   1.129 -ncurses
   1.130 -ncurses-common
   1.131 -ncursesw
   1.132 -ntfs-3g
   1.133 -ntfsprogs
   1.134 -obconf
   1.135 -openbox
   1.136 -openssl
   1.137 -ORBit2
   1.138 -osmo
   1.139 -pam
   1.140 -pango
   1.141 -pangomm
   1.142 -parted
   1.143 -patch
   1.144 -pciutils
   1.145 -pcmanfm
   1.146 -pcmciautils
   1.147 -pcre
   1.148 -perl
   1.149 -perl-uri
   1.150 -perl-xml-parser
   1.151 -pixman
   1.152 -polkit
   1.153 -poppler
   1.154 -popt
   1.155 -ppp
   1.156 -python
   1.157 -readline
   1.158 -rp-pppoe
   1.159 -shared-mime-info
   1.160 -slim
   1.161 -slitaz-base-files
   1.162 -slitaz-boot-scripts
   1.163 -slitaz-configs
   1.164 -slitaz-doc
   1.165 -slitaz-icon
   1.166 -slitaz-menus
   1.167 -slitaz-polar-cursors
   1.168 -slitaz-tools
   1.169 -slitaz-tools-boxes
   1.170 -sqlite
   1.171 -startup-notification
   1.172 -sudo
   1.173 -sudoku-savant
   1.174 -suggested-applications
   1.175 -sysfsutils
   1.176 -syslinux
   1.177 -syslinux-extra
   1.178 -tazchroot
   1.179 -tazlito
   1.180 -tazpkg
   1.181 -tazusb
   1.182 -tazweb
   1.183 -tazwok
   1.184 -tcl
   1.185 -thunar
   1.186 -thunar-archive-plugin
   1.187 -thunar-volman
   1.188 -tiff
   1.189 -tk
   1.190 -transmission
   1.191 -transset-df
   1.192 -ttf-dejavu
   1.193 -udev
   1.194 -util-linux-ng-blkid
   1.195 -util-linux-ng-getopt
   1.196 -util-linux-ng-uuid
   1.197 -viewnior
   1.198 -web-applications
   1.199 -wireless_tools
   1.200 -wpa_supplicant
   1.201 -xcb-util
   1.202 -xfce4
   1.203 -xfce4-icon-theme
   1.204 -xfce4-panel
   1.205 -xfce4-session
   1.206 -xfce4-settings
   1.207 -xfce4-slitaz-config
   1.208 -xfce-utils
   1.209 -xfconf
   1.210 -xfdesktop
   1.211 -xfdesktop-extras
   1.212 -xfwm4
   1.213 -xfwm4-themes
   1.214 -xorg
   1.215 -xorg-base-fonts
   1.216 -xorg-iceauth
   1.217 -xorg-libfontenc
   1.218 -xorg-libICE
   1.219 -xorg-libpciaccess
   1.220 -xorg-libSM
   1.221 -xorg-libX11
   1.222 -xorg-libXau
   1.223 -xorg-libXaw
   1.224 -xorg-libXcomposite
   1.225 -xorg-libXcursor
   1.226 -xorg-libXdamage
   1.227 -xorg-libXdmcp
   1.228 -xorg-libXext
   1.229 -xorg-libXfixes
   1.230 -xorg-libXfont
   1.231 -xorg-libXft
   1.232 -xorg-libXi
   1.233 -xorg-libXinerama
   1.234 -xorg-libxkbfile
   1.235 -xorg-libXmu
   1.236 -xorg-libXp
   1.237 -xorg-libXpm
   1.238 -xorg-libXrandr
   1.239 -xorg-libXrender
   1.240 -xorg-libXss
   1.241 -xorg-libXt
   1.242 -xorg-libXtst
   1.243 -xorg-libXxf86vm
   1.244 -xorg-rgb
   1.245 -xorg-server
   1.246 -xorg-setxkbmap
   1.247 -xorg-xauth
   1.248 -xorg-xcompmgr
   1.249 -xorg-xf86-input-evdev
   1.250 -xorg-xf86-video-vesa
   1.251 -xorg-xkbcomp
   1.252 -xorg-xkeyboard-config
   1.253 -xterm
   1.254 -zlib
     2.1 --- a/core-xfce/receipt	Wed Feb 22 23:24:45 2012 +0100
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,11 +0,0 @@
     2.4 -# SliTaz flavor receipt.
     2.5 -
     2.6 -FLAVOR="core-xfce"
     2.7 -SHORT_DESC="SliTaz Core with XFCE Desktop, Firefox and Mercurial"
     2.8 -VERSION="20100512"
     2.9 -MAINTAINER="miltonsj@gmail.com"
    2.10 -
    2.11 -FRUGAL_RAM="320M"
    2.12 -ROOTFS_SIZE="252.8M"
    2.13 -INITRAMFS_SIZE="54.3M"
    2.14 -ISO_SIZE="57.1M"
     3.1 --- a/core-xfce/rootcd/README	Wed Feb 22 23:24:45 2012 +0100
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,26 +0,0 @@
     3.4 -README SliTaz GNU/Linux CD
     3.5 -===============================================================================
     3.6 -
     3.7 -
     3.8 -Check the index.html page for more information
     3.9 -
    3.10 -
    3.11 -LICENSE
    3.12 --------
    3.13 -
    3.14 -Copyright (c)  2006-2012  SliTaz GNU/Linux
    3.15 -
    3.16 -SliTaz is free software; you can redistribute it and/or modify
    3.17 -it under the terms of the GNU General Public License as published by
    3.18 -the Free Software Foundation; either version 3 of the License, or
    3.19 -(at your option) any later version.
    3.20 -
    3.21 -SliTaz is distributed in the hope that it will be useful,
    3.22 -but WITHOUT ANY WARRANTY; without even the implied warranty of
    3.23 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    3.24 -GNU General Public License for more details.
    3.25 -
    3.26 -You should have received a copy of the GNU General Public License
    3.27 -along with SliTaz; if not, write to the Free Software
    3.28 -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 
    3.29 -USA
     4.1 --- a/core-xfce/rootcd/index.html	Wed Feb 22 23:24:45 2012 +0100
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,84 +0,0 @@
     4.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     4.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     4.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     4.7 -<head>
     4.8 -	<title>SliTaz GNU/Linux - CD</title>
     4.9 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    4.10 -	<meta name="author" content="Christophe Lincoln"/>
    4.11 -	<link rel="stylesheet" type="text/css" href="style.css" />
    4.12 -</head>
    4.13 -<body>
    4.14 -
    4.15 -<!-- Header -->
    4.16 -<div id="header">
    4.17 -	<div id="logo"></div>
    4.18 -	<div id="network">
    4.19 -		<a href="http://www.slitaz.org/">Website</a>
    4.20 -		<a href="http://scn.slitaz.org/">Community</a>
    4.21 -		<a href="http://doc.slitaz.org/">Doc</a>
    4.22 -		<a href="http://forum.slitaz.org/">Forum</a>
    4.23 -		<a href="http://labs.slitaz.org/issues">Bugs</a>
    4.24 -		<a href="http://hg.slitaz.org/">Hg</a>
    4.25 -	</div>
    4.26 -	<h1>SliTaz Live</h1>
    4.27 -</div>
    4.28 -
    4.29 -<!-- Block -->
    4.30 -<div id="block"></div>
    4.31 -
    4.32 -<!-- Content -->
    4.33 -<div id="content">
    4.34 -<h2>LiveCD information</h2>
    4.35 -
    4.36 -<h3>English</h3>
    4.37 -<p>
    4.38 -	Welcome to the SliTaz GNU/Linux cdrom. To boot SliTaz from a cdrom
    4.39 -	just burn the ISO image onto a blank disc. Then reboot your computer
    4.40 -	with the disc in your cdrom drive.
    4.41 -</p>
    4.42 -<p>
    4.43 -	SliTaz is a micro GNU/Linux distro using BusyBox, a Linux kernel,
    4.44 -	and GNU free software. SliTaz also uses goodies from the Debian
    4.45 -	project. The goal of SliTaz is to have a GNU/Linux distro working
    4.46 -	entirely in memory (RAM) and fully installable to a HD for desktop or
    4.47 -	server usage.
    4.48 -</p>
    4.49 -<p>
    4.50 -	On the system you will find documentation in /usr/share/doc and the
    4.51 -	full <a href="README">GPL license</a> in /usr/share/licenses.
    4.52 -</p>
    4.53 -
    4.54 -<h3>Français</h3>
    4.55 -<p>
    4.56 -	Bienvenue sur la page d'index d'un cdrom de SliTaz GNU/Linux. 
    4.57 -	Vous devez démarrez votre ordinateur avec le cdrom dans le lecteur
    4.58 -	CD ou DVD, pour lancer SliTaz en RAM et sans risques pour la
    4.59 -	machine hôte.
    4.60 -</p>
    4.61 -<p>
    4.62 -	SliTaz peut fonctionner des mois entiers sans redémarrer, le système
    4.63 -	peut fonctionner dans 144 Mb de mémoire vive et sur des machines 
    4.64 -	sans disque dur. Mais SliTaz est aussi pleinement installable sur
    4.65 -	un disque dur et largement extensible via le gestionnaire de 
    4.66 -	paquets et la compilation de nouvelles applications depuis les
    4.67 -	sources.
    4.68 -</p>
    4.69 -
    4.70 -<!-- End content -->
    4.71 -</div>
    4.72 -
    4.73 -<!-- Footer -->
    4.74 -<div id="footer">
    4.75 -    Copyright &copy; 2012 <a href="http://www.slitaz.org/">SliTaz</a>
    4.76 -    <p>
    4.77 -    SliTaz @
    4.78 -		<a href="http://twitter.com/slitaz">Twitter</a>
    4.79 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
    4.80 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
    4.81 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
    4.82 -		<a href="http://flattr.com/profile/slitaz">Flattr</a>
    4.83 -	    </p>
    4.84 -</div>
    4.85 -
    4.86 -</body>
    4.87 -</html>
     5.1 --- a/core-xfce/rootcd/style.css	Wed Feb 22 23:24:45 2012 +0100
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,77 +0,0 @@
     5.4 -/* CSS style for SliTaz GNU/Linux generic xHTML files. */
     5.5 -
     5.6 -html { min-height: 102%; }
     5.7 -
     5.8 -body {
     5.9 -	background: #ffffff;
    5.10 -	color: black;
    5.11 -	font: 13px sans-serif, vernada, arial;
    5.12 -	margin: 0;
    5.13 -	min-width: 640px;
    5.14 -}
    5.15 -
    5.16 -a { text-decoration: underline; color: #215090; }
    5.17 -a:hover { text-decoration: none; color: blue; }
    5.18 -img { border: 0pt none; vertical-align: middle; }
    5.19 -h2 { color: #444; }
    5.20 -h3 { color: #666; font-size: 140%; }
    5.21 -
    5.22 -#header { 
    5.23 -	height: 40px; 
    5.24 -	background: #351a0a;
    5.25 -}
    5.26 -
    5.27 -#header h1 {
    5.28 -	margin: 0;
    5.29 -	padding: 8px 0 0 8px;
    5.30 -	width: 250px;
    5.31 -	color: white;
    5.32 -	font-size: 20px;
    5.33 -	font-style: italic;
    5.34 -}
    5.35 -
    5.36 -#header h1 a { 
    5.37 -	color: white; 
    5.38 -	text-decoration: none;
    5.39 -	font-size: 20px;
    5.40 -	font-style: italic;
    5.41 -}
    5.42 -
    5.43 -#header h1 a:hover, #network a:hover { 
    5.44 -	color: #d66018;
    5.45 -}
    5.46 -
    5.47 -#network { 
    5.48 -	float: right; 
    5.49 -	padding: 12px 5px 0; 
    5.50 -	font-size: 12px;
    5.51 -}
    5.52 -
    5.53 -#network a { padding: 0 6px; }
    5.54 -
    5.55 -#network a { 
    5.56 -	color: #fff; 
    5.57 -	font-weight: bold;
    5.58 -	text-decoration: none;
    5.59 -}
    5.60 -
    5.61 -#block { 
    5.62 -	min-height: 8px; 
    5.63 -	background: #d66018; 
    5.64 -	padding: 0;
    5.65 -	border-bottom: 1px solid #f5f5f5;
    5.66 -}
    5.67 -
    5.68 -#content {
    5.69 -	padding: 30px 80px;
    5.70 -	text-align: justify;
    5.71 -}
    5.72 -
    5.73 -#footer {
    5.74 -	text-align: center;
    5.75 -	border-top: 1px solid #ddd;
    5.76 -	padding: 40px;
    5.77 -	color: #666;
    5.78 -}
    5.79 -
    5.80 -#footer a { color: #666; padding: 0 2px; }
     6.1 --- a/core-xfce/rootfs/etc/init.d/bootopts.sh	Wed Feb 22 23:24:45 2012 +0100
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,212 +0,0 @@
     6.4 -#!/bin/sh
     6.5 -# /etc/init.d/bootopts.sh - SliTaz boot options from the cmdline.
     6.6 -#
     6.7 -# Earlier boot options are in rcS, ex: config= and modprobe=
     6.8 -#
     6.9 -. /etc/init.d/rc.functions
    6.10 -
    6.11 -# Update fstab for swapon/swapoff 
    6.12 -add_swap_in_fstab()
    6.13 -{
    6.14 -	grep -q "$1	" /etc/fstab || cat >> /etc/fstab <<EOT
    6.15 -$1	swap	swap	default	0 0
    6.16 -EOT
    6.17 -}
    6.18 -
    6.19 -# Default user account without password (uid=1000). In live mode the option
    6.20 -# user=name can be used, but user must be added before home= to have home dir.
    6.21 -# This option is not handled by a loop and case like others and has no
    6.22 -# effect on an installed system.
    6.23 -if ! grep -q "100[0-9]:100[0-9]" /etc/passwd; then
    6.24 -	if grep -q "user=" /proc/cmdline; then
    6.25 -		USER=`cat /proc/cmdline | sed 's/.*user=\([^ ]*\).*/\1/'`
    6.26 -		# Avoid usage of an existing system user or root.
    6.27 -		if grep -q ^$USER /etc/passwd; then
    6.28 -			USER=tux
    6.29 -		fi
    6.30 -	else
    6.31 -		USER=tux
    6.32 -	fi
    6.33 -	echo -n "Configuring user and group: $USER..."
    6.34 -	echo "$USER:x:1000:1000:SliTaz User,,,:/home/$USER:/bin/sh" >> /etc/passwd
    6.35 -	echo "$USER::14035:0:99999:7:::" >> /etc/shadow
    6.36 -	echo "$USER:x:1000:" >> /etc/group
    6.37 -	echo "$USER:!::" >> /etc/gshadow
    6.38 -	status
    6.39 -	# Audio and cdrom group.
    6.40 -	addgroup $USER audio
    6.41 -	addgroup $USER cdrom
    6.42 -	# /home/$USER files from /etc/skel.
    6.43 -	if [ -d /etc/skel ]; then
    6.44 -		cp -a /etc/skel /home/$USER
    6.45 -		# Path for user desktop files.
    6.46 -		for i in /home/$USER/.local/share/applications/*.desktop
    6.47 -		do
    6.48 -			sed -i s/"user_name"/"$USER"/g $i
    6.49 -		done
    6.50 -	else
    6.51 -		mkdir -p /home/$USER
    6.52 -	fi
    6.53 -	# Set permissions.
    6.54 -	chown -R $USER.$USER /home/$USER
    6.55 -	# Slim default user.
    6.56 -	if [ -f /etc/slim.conf ]; then
    6.57 -		sed -i s/"default_user .*"/"default_user        $USER"/\
    6.58 -			/etc/slim.conf
    6.59 -	fi
    6.60 -fi
    6.61 -
    6.62 -# Parse /proc/cmdline for boot options.
    6.63 -echo "Parsing kernel cmdline for SliTaz live options... "
    6.64 -
    6.65 -for opt in `cat /proc/cmdline`
    6.66 -do
    6.67 -	case $opt in
    6.68 -		eject)
    6.69 -			# Eject cdrom.
    6.70 -			eject /dev/cdrom ;;
    6.71 -		autologin)
    6.72 -			# Autologin option to skip first graphic login prompt.
    6.73 -			echo "auto_login        yes" >> /etc/slim.conf ;;
    6.74 -		lang=*)
    6.75 -			# Check for a specified locale (lang=*).
    6.76 -			LANG=${opt#lang=}
    6.77 -			echo -n "Setting system locale to: $LANG... "
    6.78 -			echo "LANG=$LANG" > /etc/locale.conf
    6.79 -			echo "LC_ALL=$LANG" >> /etc/locale.conf
    6.80 -			[ ! -d /usr/lib/locale/$LANG ] && localedef \
    6.81 -				-i $LANG -c -f UTF-8 /usr/lib/locale/$LANG &
    6.82 -			status ;;
    6.83 -		kmap=*)
    6.84 -			# Check for a specified keymap (kmap=*).
    6.85 -			KEYMAP=${opt#kmap=}
    6.86 -			echo -n "Setting system keymap to: $KEYMAP..."
    6.87 -			echo "$KEYMAP" > /etc/keymap.conf
    6.88 -			status ;;
    6.89 -		home=*)
    6.90 -			# Check for a specified home partition (home=*) and check for 
    6.91 -			# user home dir. Note: home=usb is a shorter and easier way to
    6.92 -			# have home=/dev/sda1.
    6.93 -			DEVICE=${opt#home=}
    6.94 -			[ "$DEVICE" = "usb" ] && DEVICE=sda1
    6.95 -			echo "Home has been specified to $DEVICE..."
    6.96 -			USBDELAY=`cat /sys/module/usb_storage/parameters/delay_use`
    6.97 -			USBDELAY=$((1+$USBDELAY))
    6.98 -			echo "Sleeping $USBDELAY s to let the kernel detect the device... "
    6.99 -			sleep $USBDELAY
   6.100 -			USER=`cat /etc/passwd | grep 1000 | cut -d ":" -f 1`
   6.101 -			DEVID=$DEVICE
   6.102 -			if [ -x /sbin/blkid ]; then
   6.103 -				# Can be a label, uuid or devname. DEVID gives us first: /dev/name.
   6.104 -				DEVID=`/sbin/blkid | grep $DEVICE | cut -d: -f1`
   6.105 -				DEVID=${DEVID##*/}
   6.106 -			fi
   6.107 -			if [ -n "$DEVID" ] && grep -q "$DEVID" /proc/partitions ; then
   6.108 -				echo "Mounting /home on /dev/$DEVID... "
   6.109 -				[ -d /home/$USER ] && mv /home/$USER /tmp/$USER-files
   6.110 -				mount /dev/$DEVID /home -o uid=1000,gid=1000 2>/dev/null \
   6.111 -					|| mount /dev/$DEVID /home
   6.112 -				# Check if swap file must be generated in /home: swap=size (Mb).
   6.113 -				# This option is only used within home=device.
   6.114 -				if grep -q "swap=[1-9]*" /proc/cmdline; then
   6.115 -					SWAP_SIZE=`cat /proc/cmdline | sed 's/.*swap=\([^ ]*\).*/\1/'`
   6.116 -					# DD to gen a virtual disk.
   6.117 -					echo "Generating swap file: /home/swap ($SWAP_SIZE)..."
   6.118 -					dd if=/dev/zero of=/home/swap bs=1M count=$SWAP_SIZE
   6.119 -					# Make the Linux swap filesystem.
   6.120 -					mkswap /home/swap
   6.121 -					add_swap_in_fstab /home/swap
   6.122 -				fi
   6.123 -			else
   6.124 -				echo "Unable to find $DEVICE... "
   6.125 -			fi
   6.126 -			# Move all user dir if needed.
   6.127 -			if [ ! -d "/home/$USER" ] ; then
   6.128 -				mv /tmp/$USER-files /home/$USER
   6.129 -				chown -R $USER.$USER /home/$USER
   6.130 -			else
   6.131 -				rm -rf /tmp/$USER-files
   6.132 -			fi
   6.133 -			# Install all packages in /home/boot/packages. In live CD and 
   6.134 -			# USB mode the option home= mounts the device on /home, so we 
   6.135 -			# already have a boot directory with the Kernel and rootfs.
   6.136 -			if [ -d "/home/boot/packages" ]; then
   6.137 -				for pkg in /home/boot/packages/*.tazpkg
   6.138 -				do
   6.139 -					tazpkg install $pkg
   6.140 -				done
   6.141 -			fi ;;
   6.142 -		laptop)
   6.143 -			# Laptop option to load related Kernel modules.
   6.144 -			echo "Loading laptop modules: ac, battery, fan, yenta_socket..."
   6.145 -			for mod in ac battery fan yenta_socket
   6.146 -			do
   6.147 -				modprobe $mod
   6.148 -			done
   6.149 -			grep -qs batt /etc/lxpanel/default/panels/panel || 
   6.150 -			sed -i 's/= cpu/= batt\n}\n\nPlugin {\n    type = cpu/' \
   6.151 -				/etc/lxpanel/default/panels/panel 2> /dev/null
   6.152 -			# Enable Kernel Laptop mode.
   6.153 -			echo "5" > /proc/sys/vm/laptop_mode ;;
   6.154 -		mount)
   6.155 -			# Mount all ext3 partitions found (opt: mount).
   6.156 -			# Get the list of partitions.
   6.157 -			DEVICES_LIST=`fdisk -l | grep 83 | cut -d " " -f 1`
   6.158 -			# Mount filesystems rw.
   6.159 -			for device in $DEVICES_LIST
   6.160 -			do
   6.161 -				name=${device#/dev/}
   6.162 -				# Device can be already used by home=usb.
   6.163 -				if ! mount | grep ^$device >/dev/null; then
   6.164 -					echo "Mounting partition: $name on /mnt/$name"
   6.165 -					mkdir /mnt/$name
   6.166 -					mount $device /mnt/$name
   6.167 -				fi
   6.168 -			done ;;
   6.169 -		mount-packages)
   6.170 -			# Mount and install packages-XXX.iso (useful without Internet 
   6.171 -			# connection).
   6.172 -			PKGSIGN="LABEL=\"packages-$(cat /etc/slitaz-release)\" TYPE=\"iso9660\""
   6.173 -			PKGDEV=$(blkid | grep "$PKGSIGN" | cut -d: -f1)
   6.174 -			[ -z "$PKGDEV" -a -L /dev/cdrom ] && \
   6.175 -				PKGDEV=$(blkid /dev/cdrom | grep "$PKGSIGN" | cut -d: -f1)
   6.176 -			if [ -n "$PKGDEV" ]; then
   6.177 -				echo -n "Mounting packages archive from $PKGDEV..."
   6.178 -				mkdir /packages && mount -t iso9660 -o ro $PKGDEV /packages
   6.179 -				status
   6.180 -				/packages/install.sh
   6.181 -			fi ;;
   6.182 -		wm=*)
   6.183 -			# Check for a Window Manager (for a flavor, default WM can be changed
   6.184 -			# with boot options or with an addfile in /etc/X11/wm.default.
   6.185 -			WM=${opt#wm=}
   6.186 -			mkdir -p /etc/X11
   6.187 -			case $WM in
   6.188 -				jwm)
   6.189 -					echo "jwm" > /etc/X11/wm.default ;;
   6.190 -				ob|openbox|openbox-session)
   6.191 -					echo "openbox" > /etc/X11/wm.default ;;
   6.192 -				e17|enlightenment|enlightenment_start)
   6.193 -					echo "enlightenment" > /etc/X11/wm.default ;;
   6.194 -			esac ;;
   6.195 -		*)
   6.196 -			continue ;;
   6.197 -	esac
   6.198 -done
   6.199 -
   6.200 -# If no default WM fallback to Openbox (we never know).
   6.201 -if [ ! -f /etc/X11/wm.default ]; then
   6.202 -	echo "openbox" > /etc/X11/wm.default
   6.203 -fi
   6.204 -
   6.205 -# Activate an eventual swap file or partition.
   6.206 -if [ "`fdisk -l | grep swap`" ]; then
   6.207 -	for SWAP_DEV in `fdisk -l | grep swap | awk '{ print $1 }'`; do
   6.208 -		echo "Swap memory detected on: $SWAP_DEV"
   6.209 -		add_swap_in_fstab $SWAP_DEV
   6.210 -	done
   6.211 -fi
   6.212 -if grep -q swap /etc/fstab; then
   6.213 -	echo "Activating swap memory..."
   6.214 -	swapon -a
   6.215 -fi
     7.1 --- a/core-xfce/rootfs/etc/init.d/network.sh	Wed Feb 22 23:24:45 2012 +0100
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,216 +0,0 @@
     7.4 -#!/bin/sh
     7.5 -# /etc/init.d/network.sh - Network initialization boot script.
     7.6 -# Config file is: /etc/network.conf
     7.7 -#
     7.8 -. /etc/init.d/rc.functions
     7.9 -
    7.10 -if [ -z "$2" ]; then
    7.11 -	. /etc/network.conf 
    7.12 -else
    7.13 -	. $2 
    7.14 -fi
    7.15 -
    7.16 -
    7.17 -Boot() {
    7.18 -	# Set hostname.
    7.19 -	echo -n "Setting hostname..."
    7.20 -	/bin/hostname -F /etc/hostname
    7.21 -	status
    7.22 -
    7.23 -	# Configure loopback interface.
    7.24 -	echo -n "Configuring loopback..."
    7.25 -	/sbin/ifconfig lo 127.0.0.1 up
    7.26 -	/sbin/route add 127.0.0.1 lo
    7.27 -	status	
    7.28 -}
    7.29 -
    7.30 -
    7.31 -eth() {
    7.32 -#  Use ethernet
    7.33 -	   	ifconfig $INTERFACE up	
    7.34 -}
    7.35 -
    7.36 -wifi() {
    7.37 -	# For wifi. Users just have to enable it through yes and usually
    7.38 -	# essid any will work and the interface is autodetected.
    7.39 -	if [ "$WIFI" = "yes" ] || grep -q "wifi" /proc/cmdline; then
    7.40 -	    ifconfig $INTERFACE down
    7.41 -		
    7.42 -		# Confirm if $WIFI_INTERFACE is the wifi interface
    7.43 -		if [ ! -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then
    7.44 -			echo "$WIFI_INTERFACE is not a wifi interface, changing it."
    7.45 -			WIFI_INTERFACE=$(grep : /proc/net/dev | cut -d: -f1 | \
    7.46 -				while read dev; do iwconfig $dev 2>&1 | \
    7.47 -					grep -iq "essid" && { echo $dev ; break; }; \
    7.48 -				done)
    7.49 -			[ -n "$WIFI_INTERFACE" ] && sed -i "s/^WIFI_INTERFACE=.*/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" /etc/network.conf
    7.50 -		fi
    7.51 -		
    7.52 -		echo -n "Configuring $WIFI_INTERFACE..."
    7.53 -		ifconfig $WIFI_INTERFACE up
    7.54 -		if iwconfig $WIFI_INTERFACE | grep -q "Tx-Power"; then
    7.55 -			iwconfig $WIFI_INTERFACE txpower on
    7.56 -		fi
    7.57 -		status
    7.58 -		
    7.59 -		[ -n "$WPA_DRIVER" ] || WPA_DRIVER="wext"
    7.60 -		
    7.61 -		
    7.62 -		IWCONFIG_ARGS=""
    7.63 -		[ -n "$WIFI_MODE" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS mode $WIFI_MODE"
    7.64 -		[ -n "$WIFI_CHANNEL" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS channel $WIFI_CHANNEL"
    7.65 -		
    7.66 -		if [ "$WIFI_KEY_TYPE" == "" ]; then
    7.67 -			iwconfig $WIFI_INTERFACE essid "$WIFI_ESSID" $IWCONFIG_ARGS
    7.68 -		fi
    7.69 -		
    7.70 -		[ -n "$WIFI_KEY" ] && case "$WIFI_KEY_TYPE" in
    7.71 -			wep|WEP) 
    7.72 -			     IWCONFIG_ARGS="$IWCONFIG_ARGS key $WIFI_KEY"
    7.73 -				 iwconfig $WIFI_INTERFACE essid "$WIFI_ESSID" $IWCONFIG_ARGS
    7.74 -# wpa_supplicant can also deal with wep encryption but iwconfig is preferred
    7.75 -# Tip: Use unquoted strings for hexadecimal key in wep_key0
    7.76 -#			cat /etc/wpa_supplicant.conf > /tmp/wpa.conf 
    7.77 -#			cat >> /tmp/wpa.conf <<EOF
    7.78 -#ctrl_interface=/var/run/wpa_supplicant
    7.79 -#ctrl_interface_group=0
    7.80 -#ap_scan=1
    7.81 -#network={
    7.82 -#	ssid="$WIFI_ESSID"
    7.83 -#	scan_ssid=1
    7.84 -#	key_mgmt=NONE
    7.85 -#	wep_key0="$WIFI_KEY"
    7.86 -#	wep_tx_keyidx=0
    7.87 -#	priority=5
    7.88 -#}
    7.89 -#EOF
    7.90 -				    ;;
    7.91 -			wpa|WPA) cat /etc/wpa_supplicant.conf > /tmp/wpa.conf # load pre-configured multiple profiles 
    7.92 -			cat >> /tmp/wpa.conf <<EOF
    7.93 -ctrl_interface=/var/run/wpa_supplicant
    7.94 -ctrl_interface_group=0
    7.95 -ap_scan=1
    7.96 -network={
    7.97 -	ssid="$WIFI_ESSID"
    7.98 -	scan_ssid=1
    7.99 -	proto=WPA RSN
   7.100 -	key_mgmt=WPA-PSK
   7.101 -	psk="$WIFI_KEY"
   7.102 -	priority=5
   7.103 -}
   7.104 -EOF
   7.105 -				echo "Starting wpa_supplicant for WPA-PSK..."
   7.106 -				wpa_supplicant -B -W -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 
   7.107 -				;;
   7.108 -			any|ANY) cat /etc/wpa_supplicant.conf > /tmp/wpa.conf 
   7.109 -			cat >> /tmp/wpa.conf <<EOF
   7.110 -ctrl_interface=/var/run/wpa_supplicant
   7.111 -ctrl_interface_group=0
   7.112 -ap_scan=1
   7.113 -network={
   7.114 -	ssid="$WIFI_ESSID"
   7.115 -	scan_ssid=1
   7.116 -	key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
   7.117 -	group=CCMP TKIP WEP104 WEP40
   7.118 -	pairwise=CCMP TKIP
   7.119 -	psk="$WIFI_KEY"
   7.120 -	priority=5
   7.121 -}
   7.122 -EOF
   7.123 -				echo "Starting wpa_supplicant for any key type..."
   7.124 -				wpa_supplicant -B -W -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 
   7.125 -				;;
   7.126 -		esac
   7.127 -		
   7.128 -		rm -f /tmp/wpa.conf
   7.129 -		
   7.130 -		INTERFACE=$WIFI_INTERFACE			
   7.131 -	fi
   7.132 -
   7.133 -}
   7.134 -
   7.135 -wpa()
   7.136 -{
   7.137 -	DHCP_SCRIPT="/etc/init.d/wpa_action.sh"
   7.138 -	wpa_cli -a$DHCP_SCRIPT -B 
   7.139 -}
   7.140 -
   7.141 -dhcp() {
   7.142 -
   7.143 -# For a dynamic IP with DHCP. 
   7.144 -	if [ "$DHCP" = "yes" ]  ; then
   7.145 -		echo "Starting udhcpc client on: $INTERFACE..."		
   7.146 -		if [ -d /var/run/wpa_supplicant ]; then # wpa wireless && wpa_ctrl_open interface is up
   7.147 -		   wpa		  
   7.148 -		else  # fallback on udhcpc: wep, eth
   7.149 -		   /sbin/udhcpc -b -T 1 -A 12 -i $INTERFACE -p /var/run/udhcpc.$INTERFACE.pid
   7.150 -		fi		
   7.151 -	fi
   7.152 -	
   7.153 -}
   7.154 -
   7.155 -static_ip() {
   7.156 -# For a static IP.
   7.157 -	if [ "$STATIC" = "yes" ] ; then
   7.158 -		echo "Configuring static IP on $INTERFACE: $IP..."
   7.159 -		/sbin/ifconfig $INTERFACE $IP netmask $NETMASK up
   7.160 -		/sbin/route add default gateway $GATEWAY
   7.161 -		# Dirty trick: wpa_supplicant waits for wpa_cli
   7.162 -		wpa_cli -B
   7.163 -		# Multi-DNS server in $DNS_SERVER.
   7.164 -		/bin/mv /etc/resolv.conf /tmp/resolv.conf.$$
   7.165 -		for NS in $DNS_SERVER
   7.166 -		do
   7.167 -			echo "nameserver $NS" >> /etc/resolv.conf
   7.168 -		done
   7.169 -	fi
   7.170 -}
   7.171 -
   7.172 -# Stopping everything
   7.173 -Stop() {
   7.174 -	echo "Stopping all interfaces"
   7.175 -	ifconfig $INTERFACE down
   7.176 -	ifconfig $WIFI_INTERFACE down
   7.177 -
   7.178 -	echo "Killing all daemons"
   7.179 -	killall udhcpc
   7.180 -	killall wpa_supplicant 2>/dev/null
   7.181 -	
   7.182 -	if iwconfig $WIFI_INTERFACE | grep -q "Tx-Power"; then
   7.183 -		echo "Shutting down wifi card"
   7.184 -		iwconfig $WIFI_INTERFACE txpower off
   7.185 -	fi
   7.186 -}
   7.187 -
   7.188 -Start() {
   7.189 -   eth
   7.190 -   wifi
   7.191 -   dhcp 
   7.192 -   static_ip	
   7.193 -}
   7.194 -
   7.195 -
   7.196 -# looking for arguments:
   7.197 -if [ -z "$1" ]; then
   7.198 -	Boot
   7.199 -	Start
   7.200 -else
   7.201 -	case $1 in
   7.202 -		start)
   7.203 -			Start ;;
   7.204 -		stop)
   7.205 -			Stop ;;
   7.206 -		restart)
   7.207 -			Stop
   7.208 -			Start ;;
   7.209 -		*)
   7.210 -			echo ""
   7.211 -			echo -e "\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart]"
   7.212 -			echo ""
   7.213 -			echo -e "	Default configuration file is \033[1m/etc/network.conf\033[0m"
   7.214 -			echo -e "	You can specify another configuration file in the second argument:"
   7.215 -			echo -e "	\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart] file.conf"
   7.216 -			echo ""
   7.217 -
   7.218 -	esac
   7.219 -fi
     8.1 --- a/core-xfce/rootfs/etc/lxpanel/default/panels/panel	Wed Feb 22 23:24:45 2012 +0100
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,185 +0,0 @@
     8.4 -# lxpanel <profile> config file. Manually editing is not recommended.
     8.5 -# Use preference dialog in lxpanel to adjust config when you can.
     8.6 -
     8.7 -Global {
     8.8 -    edge=bottom
     8.9 -    allign=center
    8.10 -    margin=0
    8.11 -    widthtype=percent
    8.12 -    width=100
    8.13 -    height=24
    8.14 -    transparent=1
    8.15 -    tintcolor=#000000
    8.16 -    alpha=0
    8.17 -    autohide=0
    8.18 -    heightwhenhidden=2
    8.19 -    setdocktype=1
    8.20 -    setpartialstrut=1
    8.21 -    usefontcolor=1
    8.22 -    fontcolor=#ffffff
    8.23 -    background=0
    8.24 -    backgroundfile=/usr/share/lxpanel/images/background.png
    8.25 -    iconsize=24
    8.26 -}
    8.27 -
    8.28 -Plugin {
    8.29 -    type = space
    8.30 -    Config {
    8.31 -        Size=4
    8.32 -    }
    8.33 -}
    8.34 -
    8.35 -Plugin {
    8.36 -    type = menu
    8.37 -    Config {
    8.38 -        image=/usr/share/pixmaps/slitaz-menu.png
    8.39 -        system {
    8.40 -        }
    8.41 -        separator {
    8.42 -        }
    8.43 -        item {
    8.44 -            image=/usr/share/icons/SliTaz/16x16/categories/applications-system.png
    8.45 -            command=run
    8.46 -        }
    8.47 -        separator {
    8.48 -        }
    8.49 -        item {
    8.50 -            image=/usr/share/pixmaps/logout.png
    8.51 -            command=logout
    8.52 -        }
    8.53 -    }
    8.54 -}
    8.55 -
    8.56 -Plugin {
    8.57 -    type = space
    8.58 -    Config {
    8.59 -        Size=4
    8.60 -    }
    8.61 -}
    8.62 -
    8.63 -Plugin {
    8.64 -    type = launchbar
    8.65 -    Config {
    8.66 -        Button {
    8.67 -            id=xterm.desktop
    8.68 -        }
    8.69 -        Button {
    8.70 -            id=midori.desktop
    8.71 -        }
    8.72 -    }
    8.73 -}
    8.74 -
    8.75 -Plugin {
    8.76 -    type = pager
    8.77 -}
    8.78 -
    8.79 -Plugin {
    8.80 -    type = wincmd
    8.81 -    Config {
    8.82 -        image=window-manager
    8.83 -        Button1=iconify
    8.84 -        Button2=shade
    8.85 -        Toggle=0
    8.86 -    }
    8.87 -}
    8.88 -
    8.89 -Plugin {
    8.90 -    type = taskbar
    8.91 -    expand=1
    8.92 -    Config {
    8.93 -        tooltips=1
    8.94 -        IconsOnly=0
    8.95 -        ShowAllDesks=0
    8.96 -        UseMouseWheel=1
    8.97 -        UseUrgencyHint=1
    8.98 -        FlatButton=1
    8.99 -        MaxTaskWidth=200
   8.100 -        spacing=1
   8.101 -        GroupedTasks=0
   8.102 -    }
   8.103 -}
   8.104 -
   8.105 -Plugin {
   8.106 -    type = space
   8.107 -    Config {
   8.108 -        Size=4
   8.109 -    }
   8.110 -}
   8.111 -
   8.112 -Plugin {
   8.113 -    type = tray
   8.114 -}
   8.115 -
   8.116 -Plugin {
   8.117 -    type = volumealsa
   8.118 -}
   8.119 -
   8.120 -Plugin {
   8.121 -    type = space
   8.122 -    Config {
   8.123 -        Size=4
   8.124 -    }
   8.125 -}
   8.126 -
   8.127 -Plugin {
   8.128 -    type = netstatus
   8.129 -    Config {
   8.130 -        iface=eth0
   8.131 -        configtool=subox netbox %i
   8.132 -    }
   8.133 -}
   8.134 -
   8.135 -Plugin {
   8.136 -    type = space
   8.137 -    Config {
   8.138 -        Size=4
   8.139 -    }
   8.140 -}
   8.141 -
   8.142 -Plugin {
   8.143 -    type = batt
   8.144 -    Config {
   8.145 -        HideIfNoBattery=0
   8.146 -        AlarmCommand=xmessage Battery low
   8.147 -        AlarmTime=5
   8.148 -        BackgroundColor=black
   8.149 -        BorderWidth=1
   8.150 -        ChargingColor1=#28f200
   8.151 -        ChargingColor2=#22cc00
   8.152 -        DischargingColor1=#ffee00
   8.153 -        DischargingColor2=#d9ca00
   8.154 -        Size=8
   8.155 -    }
   8.156 -}
   8.157 -
   8.158 -Plugin {
   8.159 -    type = cpu
   8.160 -}
   8.161 -
   8.162 -Plugin {
   8.163 -    type = space
   8.164 -    Config {
   8.165 -        Size=2
   8.166 -    }
   8.167 -}
   8.168 -
   8.169 -Plugin {
   8.170 -    type = launchbar
   8.171 -    Config {
   8.172 -        Button {
   8.173 -            id=tazpkgbox.desktop
   8.174 -        }
   8.175 -    }
   8.176 -}
   8.177 -
   8.178 -Plugin {
   8.179 -    type = dclock
   8.180 -    Config {
   8.181 -        ClockFmt=%R
   8.182 -        TooltipFmt=%A %x
   8.183 -        Action=desktopbox calendar
   8.184 -        BoldFont=0
   8.185 -        IconOnly=0
   8.186 -    }
   8.187 -}
   8.188 -
     9.1 --- a/core-xfce/rootfs/etc/skel/.Xdefaults	Wed Feb 22 23:24:45 2012 +0100
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,20 +0,0 @@
     9.4 -!~/.Xdefault: Control the behavior of x-clients.
     9.5 -!
     9.6 -
     9.7 -! Xcursor theme (~/.icons).
     9.8 -!
     9.9 -Xcursor.theme:		slitaz-polar
    9.10 -
    9.11 -! XTerm settings.
    9.12 -!
    9.13 -xterm*background:	black
    9.14 -xterm*foreground:	white
    9.15 -xterm*cursorColor:	#6AA2D8
    9.16 -xterm*scrollBar:	off
    9.17 -xterm*faceName:		DejaVu Sans Mono
    9.18 -xterm*faceSize:		9
    9.19 -
    9.20 -! Xload settings.
    9.21 -!
    9.22 -!xload*background:	black
    9.23 -!xload*foreground:	lightblue
    10.1 --- a/core-xfce/rootfs/etc/skel/.config/pcmanfm/main	Wed Feb 22 23:24:45 2012 +0100
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,15 +0,0 @@
    10.4 -[General]
    10.5 -big_icon_size=32
    10.6 -terminal=xterm
    10.7 -
    10.8 -[Window]
    10.9 -width=640
   10.10 -height=480
   10.11 -splitter_pos=160
   10.12 -maximized=0
   10.13 -
   10.14 -[Desktop]
   10.15 -show_desktop=1
   10.16 -show_wallpaper=1
   10.17 -wallpaper=/usr/share/images/slitaz-background.jpg
   10.18 -show_wm_menu=1
    11.1 --- a/core-xfce/rootfs/etc/skel/.gtkrc-2.0	Wed Feb 22 23:24:45 2012 +0100
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,13 +0,0 @@
    11.4 -# ~/.gtkrc-2.0 - GTK+ theme, icon and font configuration.
    11.5 -#
    11.6 -# System files   : /usr/share/{themes,icons,fonts}
    11.7 -# Personal files : ~/.icons and ~/.fonts
    11.8 -#
    11.9 -
   11.10 -gtk-theme-name = "SliTaz"
   11.11 -#gtk-theme-name = "Clearlooks-DeepSky"
   11.12 -#gtk-theme-name = "Clearlooks-Olive"
   11.13 -
   11.14 -gtk-icon-theme-name = "SliTaz"
   11.15 -
   11.16 -gtk-font-name = "DejaVu Sans 9"
    12.1 --- a/core-xfce/rootfs/etc/skel/.netsurf/Choices	Wed Feb 22 23:24:45 2012 +0100
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,64 +0,0 @@
    12.4 -http_proxy:0
    12.5 -http_proxy_host:
    12.6 -http_proxy_port:8080
    12.7 -http_proxy_auth:0
    12.8 -http_proxy_auth_user:
    12.9 -http_proxy_auth_pass:
   12.10 -font_size:128
   12.11 -font_min_size:85
   12.12 -font_sans:Sans
   12.13 -font_serif:Serif
   12.14 -font_mono:Monospace
   12.15 -font_cursive:Serif
   12.16 -font_fantasy:Serif
   12.17 -accept_language:
   12.18 -accept_charset:
   12.19 -memory_cache_size:2097152
   12.20 -disc_cache_age:28
   12.21 -block_advertisements:0
   12.22 -minimum_gif_delay:10
   12.23 -send_referer:1
   12.24 -animate_images:1
   12.25 -expire_url:28
   12.26 -font_default:1
   12.27 -ca_bundle:
   12.28 -ca_path:/etc/ssl/certs
   12.29 -homepage_url:file:///usr/share/webhome/netsurf.html
   12.30 -url_suggestion:1
   12.31 -window_x:40
   12.32 -window_y:40
   12.33 -window_width:800
   12.34 -window_height:600
   12.35 -window_screen_width:0
   12.36 -window_screen_height:0
   12.37 -toolbar_status_size:0
   12.38 -scale:100
   12.39 -incremental_reflow:1
   12.40 -min_reflow_period:25
   12.41 -max_fetchers:24
   12.42 -max_fetchers_per_host:5
   12.43 -max_cached_fetch_handles:6
   12.44 -suppress_curl_debug:1
   12.45 -target_blank:1
   12.46 -button_2_tab:1
   12.47 -margin_top:10
   12.48 -margin_bottom:10
   12.49 -margin_left:10
   12.50 -margin_right:10
   12.51 -export_scale:70
   12.52 -suppress_images:0
   12.53 -remove_backgrounds:0
   12.54 -enable_loosening:1
   12.55 -enable_PDF_compression:1
   12.56 -enable_PDF_password:0
   12.57 -render_resample:0
   12.58 -downloads_clear:0
   12.59 -request_overwrite:1
   12.60 -show_single_tab:0
   12.61 -button_type:1
   12.62 -disable_popups:0
   12.63 -disable_plugins:0
   12.64 -history_age:0
   12.65 -hover_urls:0
   12.66 -focus_new:0
   12.67 -new_blank:0
    13.1 --- a/core-xfce/rootfs/etc/skel/Desktop/slitaz-doc.desktop	Wed Feb 22 23:24:45 2012 +0100
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,5 +0,0 @@
    13.4 -[Desktop Entry]
    13.5 -Name=Documentation
    13.6 -Exec=GtkLauncher file:///usr/share/doc/slitaz/index.html
    13.7 -Icon=slitaz-doc.png
    13.8 -Type=Application
    14.1 --- a/core-xfce/rootfs/etc/slitaz/applications.conf	Wed Feb 22 23:24:45 2012 +0100
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,18 +0,0 @@
    14.4 -# SliTaz default applications configuration file. Thes apps can be
    14.5 -# started throught wrappers: browser, editor and terminal.
    14.6 -#
    14.7 -
    14.8 -# File manager.
    14.9 -FILE_MANAGER="pcmanfm"
   14.10 -
   14.11 -# Web browser.
   14.12 -BROWSER="midori"
   14.13 -
   14.14 -# Text editor.
   14.15 -EDITOR="leafpad"
   14.16 -
   14.17 -# X terminal.
   14.18 -TERMINAL="xterm"
   14.19 -
   14.20 -# Window manager.
   14.21 -WINDOW_MANAGER="openbox"
    15.1 --- a/core-xfce/rootfs/etc/xdg/openbox/menu.en.xml	Wed Feb 22 23:24:45 2012 +0100
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,134 +0,0 @@
    15.4 -<?xml version="1.0" encoding="UTF-8"?>
    15.5 -
    15.6 -<openbox_menu xmlns="http://openbox.org/3.4/menu">
    15.7 -
    15.8 -<!-- Favorite applications -->
    15.9 -<menu id="favorites-menu" label="Favorite Applications">
   15.10 -  <item label="File Manager">
   15.11 -    <action name="Execute"><command>file-manager</command></action>
   15.12 -  </item>
   15.13 -  <item label="Terminal">
   15.14 -    <action name="Execute"><command>terminal</command></action>
   15.15 -  </item>
   15.16 -  <item label="Web Browser">
   15.17 -    <action name="Execute"><command>browser</command></action>
   15.18 -  </item>
   15.19 -  <item label="Text Editor">
   15.20 -    <action name="Execute"><command>editor</command></action>
   15.21 -  </item>
   15.22 -  <separator />
   15.23 -  <item label="Configure favorite">
   15.24 -    <action name="Execute"><command>desktopbox tazapps</command></action>
   15.25 -  </item>
   15.26 -</menu>
   15.27 -
   15.28 -<!-- Desktop files -->
   15.29 -<menu id="desktop-menu" label="Desktop Files &amp; Icons">
   15.30 -  <item label="Create new directory">
   15.31 -    <action name="Execute"><command>desktopbox new-folder</command></action>
   15.32 -  </item>
   15.33 -  <item label="Create new file">
   15.34 -    <action name="Execute"><command>desktopbox new-file</command></action>
   15.35 -  </item>
   15.36 -  <separator />
   15.37 -  <item label="Add new icon">
   15.38 -    <action name="Execute"><command>desktopbox add-icons</command></action>
   15.39 -  </item>
   15.40 -</menu>
   15.41 -
   15.42 -<!-- Desktop effects -->
   15.43 -<menu id="desktop-effects" label="Desktop Effects">
   15.44 -  <item label="Activate composite">
   15.45 -    <action name="Execute"><command>xcompmgr</command></action>
   15.46 -  </item>
   15.47 -  <item label="Activate shadows">
   15.48 -    <action name="Execute"><command>xcompmgr -c -r 10</command></action>
   15.49 -  </item>
   15.50 -  <item label="Activate shadows/fade">
   15.51 -    <action name="Execute"><command>xcompmgr -c -f -r 10</command></action>
   15.52 -  </item>
   15.53 -  <separator />
   15.54 -  <item label="Set opacity (actual)">
   15.55 -    <action name="Execute">
   15.56 -      <command>transset-df --actual --max 60</command>
   15.57 -    </action>
   15.58 -  </item>
   15.59 -  <item label="Set opacity (click)">
   15.60 -    <action name="Execute">
   15.61 -      <command>transset-df --click --max 60</command>
   15.62 -    </action>
   15.63 -  </item>
   15.64 -  <separator />
   15.65 -  <item label="Stop effects">
   15.66 -    <action name="Execute"><command>killall xcompmgr</command></action>
   15.67 -  </item>
   15.68 -</menu>
   15.69 -
   15.70 -<!-- SliTaz Live (Tazlito and Tazusb) -->
   15.71 -<menu id="slitaz-live-menu" label="SliTaz Live">
   15.72 -  <item label="Tazlito LiveCD Tool">
   15.73 -    <action name="Execute"><command>subox tazlitobox</command></action>
   15.74 -  </item>
   15.75 -  <item label="TazUSB LiveUSB Tool">
   15.76 -    <action name="Execute"><command>subox tazusbbox</command></action>
   15.77 -  </item>
   15.78 -  <separator />
   15.79 -  <item label="TazUSB Writefs (gzip)">
   15.80 -    <action name="Execute">
   15.81 -      <command>subox "xterm -e tazusb writefs gzip"</command>
   15.82 -    </action>
   15.83 -  </item>
   15.84 -  <item label="TazUSB Writefs (lzma)">
   15.85 -    <action name="Execute">
   15.86 -      <command>subox "xterm -e tazusb writefs lzma"</command>
   15.87 -    </action>
   15.88 -  </item>
   15.89 -  <item label="TazUSB Writefs (none)">
   15.90 -    <action name="Execute">
   15.91 -      <command>subox "xterm -e tazusb writefs none"</command>
   15.92 -    </action>
   15.93 -  </item>
   15.94 -</menu>
   15.95 -
   15.96 -<!-- Openbox configuration -->
   15.97 -<menu id="openbox-menu" label="Openbox">
   15.98 -  <item label="ObConf">
   15.99 -    <action name="Execute"><command>obconf</command></action>
  15.100 -  </item>
  15.101 -  <item label="Autostart Script">
  15.102 -    <action name="Execute">
  15.103 -      <command>desktopbox autostart</command>
  15.104 -    </action>
  15.105 -  </item>
  15.106 -  <item label="Openbox Menu">
  15.107 -    <action name="Execute">
  15.108 -      <command>editor ~/.config/openbox/menu.xml</command>
  15.109 -    </action>
  15.110 -  </item>
  15.111 -  <separator />
  15.112 -  <item label="Reconfigure">
  15.113 -    <action name="Reconfigure" />
  15.114 -  </item>
  15.115 -  <item label="Restart">
  15.116 -    <action name="Restart" />
  15.117 -  </item>
  15.118 -</menu>
  15.119 -
  15.120 -<menu id="root-menu" label="Openbox 3">
  15.121 -  <!-- <separator label="SliTaz Openbox" /> -->
  15.122 -  <menu id="favorites-menu" />
  15.123 -  <menu id="desktop-menu" />
  15.124 -  <!-- Pipe menu to open folder using GTK bookmarks -->
  15.125 -  <menu id="open-folder-menu" label="Open Folder"
  15.126 -        execute="/usr/lib/openbox/open-folder-menu.sh" />
  15.127 -  <menu id="desktop-effects" />
  15.128 -  <menu id="slitaz-live-menu" />
  15.129 -  <menu id="openbox-menu" />
  15.130 -  <menu id="client-list-menu" />
  15.131 -  <separator />
  15.132 -  <item label="Logout">
  15.133 -    <action name="Execute"><command>desktopbox logout</command></action>
  15.134 -  </item>
  15.135 -</menu>
  15.136 -
  15.137 -</openbox_menu>
    16.1 --- a/core-xfce/rootfs/etc/xdg/openbox/menu.fr.xml	Wed Feb 22 23:24:45 2012 +0100
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,137 +0,0 @@
    16.4 -<?xml version="1.0" encoding="UTF-8"?>
    16.5 -
    16.6 -<openbox_menu xmlns="http://openbox.org/3.4/menu">
    16.7 -
    16.8 -<!-- Favorites applications -->
    16.9 -<menu id="favorites-menu" label="Applications favorites">
   16.10 -  <item label="Gestionnaire de fichiers">
   16.11 -    <action name="Execute"><command>file-manager</command></action>
   16.12 -  </item>
   16.13 -  <item label="Emulateur de Terminal">
   16.14 -    <action name="Execute"><command>terminal</command></action>
   16.15 -  </item>
   16.16 -  <item label="Navigateur Web">
   16.17 -    <action name="Execute"><command>browser</command></action>
   16.18 -  </item>
   16.19 -  <item label="Editeur de texte">
   16.20 -    <action name="Execute"><command>editor</command></action>
   16.21 -  </item>
   16.22 -  <separator />
   16.23 -  <item label="Configuration des favoris">
   16.24 -    <action name="Execute"><command>desktopbox tazapps</command></action>
   16.25 -  </item>
   16.26 -</menu>
   16.27 -
   16.28 -<!-- Desktop files -->
   16.29 -<menu id="desktop-menu" label="Fichiers &amp; Icônes du bureau">
   16.30 -  <item label="Créer un nouveau dossier">
   16.31 -    <action name="Execute"><command>desktopbox new-folder</command></action>
   16.32 -  </item>
   16.33 -  <item label="Créer un nouveau fichier">
   16.34 -    <action name="Execute"><command>desktopbox new-file</command></action>
   16.35 -  </item>
   16.36 -  <separator />
   16.37 -  <item label="Ajouter un icône">
   16.38 -    <action name="Execute"><command>desktopbox add-icons</command></action>
   16.39 -  </item>
   16.40 -</menu>
   16.41 -
   16.42 -<!-- Desktop effects -->
   16.43 -<menu id="desktop-effects" label="Effets visuels">
   16.44 -  <item label="Activer le composite">
   16.45 -    <action name="Execute"><command>xcompmgr</command></action>
   16.46 -  </item>
   16.47 -  <item label="Active les ombres">
   16.48 -    <action name="Execute"><command>xcompmgr -c -r 10</command></action>
   16.49 -  </item>
   16.50 -  <item label="Activer les ombres fade">
   16.51 -    <action name="Execute"><command>xcompmgr -c -f -r 10</command></action>
   16.52 -  </item>
   16.53 -  <separator />
   16.54 -  <item label="Régler l'opacité (actuel)">
   16.55 -    <action name="Execute">
   16.56 -      <command>transset-df --actual --max 60</command>
   16.57 -    </action>
   16.58 -  </item>
   16.59 -  <item label="Régler l'opacité (clicque)">
   16.60 -    <action name="Execute">
   16.61 -      <command>transset-df --click --max 60</command>
   16.62 -    </action>
   16.63 -  </item>
   16.64 -  <separator />
   16.65 -  <item label="Stoper les effets">
   16.66 -    <action name="Execute"><command>killall xcompmgr</command></action>
   16.67 -  </item>
   16.68 -</menu>
   16.69 -
   16.70 -<!-- SliTaz Live (Tazlito and Tazusb) -->
   16.71 -<menu id="slitaz-live-menu" label="SliTaz Live CD/USB">
   16.72 -  <item label="Tazlito LiveCD Tool">
   16.73 -    <action name="Execute"><command>subox tazlitobox</command></action>
   16.74 -  </item>
   16.75 -  <item label="TazUSB LiveUSB Tool">
   16.76 -    <action name="Execute"><command>subox tazusbbox</command></action>
   16.77 -  </item>
   16.78 -  <separator />
   16.79 -  <item label="TazUSB Writefs (gzip)">
   16.80 -    <action name="Execute">
   16.81 -      <command>subox "xterm -e tazusb writefs gzip"</command>
   16.82 -    </action>
   16.83 -  </item>
   16.84 -  <item label="TazUSB Writefs (lzma)">
   16.85 -    <action name="Execute">
   16.86 -      <command>subox "xterm -e tazusb writefs lzma"</command>
   16.87 -    </action>
   16.88 -  </item>
   16.89 -  <item label="TazUSB Writefs (none)">
   16.90 -    <action name="Execute">
   16.91 -      <command>subox "xterm -e tazusb writefs none"</command>
   16.92 -    </action>
   16.93 -  </item>
   16.94 -</menu>
   16.95 -
   16.96 -<!-- Openbox configuration -->
   16.97 -<menu id="openbox-menu" label="Openbox">
   16.98 -  <item label="Configuration via OBconf">
   16.99 -    <action name="Execute"><command>obconf</command></action>
  16.100 -  </item>
  16.101 -  <item label="Script de démarrage">
  16.102 -    <action name="Execute">
  16.103 -      <command>desktopbox autostart</command>
  16.104 -    </action>
  16.105 -  </item>
  16.106 -  <item label="Menu d'Openbox">
  16.107 -    <action name="Execute">
  16.108 -      <command>editor ~/.config/openbox/menu.xml</command>
  16.109 -    </action>
  16.110 -  </item>
  16.111 -  <separator />
  16.112 -  <item label="Reconfigurer">
  16.113 -    <action name="Reconfigure" />
  16.114 -  </item>
  16.115 -  <item label="Redémarrer">
  16.116 -    <action name="Restart" />
  16.117 -  </item>
  16.118 -</menu>
  16.119 -
  16.120 -<menu id="root-menu" label="Openbox 3">
  16.121 -  <!-- <separator label="SliTaz Openbox" /> -->
  16.122 -  <menu id="favorites-menu" />
  16.123 -  <menu id="desktop-menu" />
  16.124 -  <!-- Pipe menu to open folder using GTK bookmarks -->
  16.125 -  <menu id="open-folder-menu" label="Dossiers favoris"
  16.126 -        execute="/usr/lib/openbox/open-folder-menu.sh" />
  16.127 -  <menu id="desktop-effects" />
  16.128 -  <menu id="slitaz-live-menu" />
  16.129 -  <menu id="openbox-menu" />
  16.130 -  <menu id="client-list-menu" />
  16.131 -  <separator />
  16.132 -  <!-- <item label="Exécuter">
  16.133 -    <action name="Execute"><command>gmrun</command></action>
  16.134 -  </item> -->
  16.135 -  <item label="Déconnexion">
  16.136 -    <action name="Execute"><command>desktopbox logout</command></action>
  16.137 -  </item>
  16.138 -</menu>
  16.139 -
  16.140 -</openbox_menu>
    17.1 --- a/core-xfce/rootfs/etc/xdg/openbox/menu.pt.xml	Wed Feb 22 23:24:45 2012 +0100
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,134 +0,0 @@
    17.4 -<?xml version="1.0" encoding="UTF-8"?>
    17.5 -
    17.6 -<openbox_menu xmlns="http://openbox.org/3.4/menu">
    17.7 -
    17.8 -<!-- Aplicações Favoritas -->
    17.9 -<menu id="favorites-menu" label="Aplicativos Favoritos">
   17.10 -  <item label="Gerenciador de Arquivos">
   17.11 -    <action name="Execute"><command>pcmanfm</command></action>
   17.12 -  </item>
   17.13 -  <item label="Terminal">
   17.14 -    <action name="Execute"><command>terminal</command></action>
   17.15 -  </item>
   17.16 -  <item label="Navegador Web">
   17.17 -    <action name="Execute"><command>browser</command></action>
   17.18 -  </item>
   17.19 -  <item label="Editor de Texto">
   17.20 -    <action name="Execute"><command>editor</command></action>
   17.21 -  </item>
   17.22 -  <separator />
   17.23 -  <item label="Configure favorite">
   17.24 -    <action name="Execute"><command>desktopbox tazapps</command></action>
   17.25 -  </item>
   17.26 -</menu>
   17.27 -
   17.28 -<!-- Desktop files -->
   17.29 -<menu id="desktop-menu" label="Arquivos &amp; Ãcones do Desktop">
   17.30 -  <item label="Criar nova pasta">
   17.31 -    <action name="Execute"><command>desktopbox new-folder</command></action>
   17.32 -  </item>
   17.33 -  <item label="Criar novo arquivo">
   17.34 -    <action name="Execute"><command>desktopbox new-file</command></action>
   17.35 -  </item>
   17.36 -  <separator />
   17.37 -  <item label="Adicionar novo ícone">
   17.38 -    <action name="Execute"><command>desktopbox add-icons</command></action>
   17.39 -  </item>
   17.40 -</menu>
   17.41 -
   17.42 -<!-- Efeitos do Desktop -->
   17.43 -<menu id="desktop-effects" label="Efeitos Visuais">
   17.44 -  <item label="Ativar composite">
   17.45 -    <action name="Execute"><command>xcompmgr</command></action>
   17.46 -  </item>
   17.47 -  <item label="Ativar sombreamento">
   17.48 -    <action name="Execute"><command>xcompmgr -c -r 10</command></action>
   17.49 -  </item>
   17.50 -  <item label="Ativar sombreamento/fade">
   17.51 -    <action name="Execute"><command>xcompmgr -c -f -r 10</command></action>
   17.52 -  </item>
   17.53 -  <separator />
   17.54 -  <item label="Definir opacidade (atual)">
   17.55 -    <action name="Execute">
   17.56 -      <command>transset-df --actual --max 60</command>
   17.57 -    </action>
   17.58 -  </item>
   17.59 -  <item label="Definir opacidade (click)">
   17.60 -    <action name="Execute">
   17.61 -      <command>transset-df --click --max 60</command>
   17.62 -    </action>
   17.63 -  </item>
   17.64 -  <separator />
   17.65 -  <item label="Parar efeitos">
   17.66 -    <action name="Execute"><command>killall xcompmgr</command></action>
   17.67 -  </item>
   17.68 -</menu>
   17.69 -
   17.70 -<!-- SliTaz Live (Tazlito e Tazusb) -->
   17.71 -<menu id="slitaz-live-menu" label="SliTaz Live CD/USB">
   17.72 -  <item label="Tazlito Ferramenta LiveCD">
   17.73 -    <action name="Execute"><command>subox tazlitobox</command></action>
   17.74 -  </item>
   17.75 -  <item label="TazUSB LiveUSB Tool">
   17.76 -    <action name="Execute"><command>subox tazusbbox</command></action>
   17.77 -  </item>
   17.78 -  <separator />
   17.79 -  <item label="TazUSB Writefs (gzip)">
   17.80 -    <action name="Execute">
   17.81 -      <command>subox "xterm -e tazusb writefs gzip"</command>
   17.82 -    </action>
   17.83 -  </item>
   17.84 -  <item label="TazUSB Writefs (lzma)">
   17.85 -    <action name="Execute">
   17.86 -      <command>subox "xterm -e tazusb writefs lzma"</command>
   17.87 -    </action>
   17.88 -  </item>
   17.89 -  <item label="TazUSB Writefs (none)">
   17.90 -    <action name="Execute">
   17.91 -      <command>subox "xterm -e tazusb writefs none"</command>
   17.92 -    </action>
   17.93 -  </item>
   17.94 -</menu>
   17.95 -
   17.96 -<!-- Configuração do Openbox -->
   17.97 -<menu id="openbox-menu" label="Openbox">
   17.98 -  <item label="Configuração do Openbox (GUI)">
   17.99 -    <action name="Execute"><command>obconf</command></action>
  17.100 -  </item>
  17.101 -  <item label="Aplicações autoiniciadas">
  17.102 -    <action name="Execute">
  17.103 -      <command>desktopbox autostart</command>
  17.104 -    </action>
  17.105 -  </item>
  17.106 -  <item label="Menu do Openbox">
  17.107 -    <action name="Execute">
  17.108 -      <command>editor ~/.config/openbox/menu.xml</command>
  17.109 -    </action>
  17.110 -  </item>
  17.111 -  <separator />
  17.112 -  <item label="Reconfigurar">
  17.113 -    <action name="Reconfigure" />
  17.114 -  </item>
  17.115 -  <item label="Reiniciar">
  17.116 -    <action name="Restart" />
  17.117 -  </item>
  17.118 -</menu>
  17.119 -
  17.120 -<menu id="root-menu" label="Openbox 3">
  17.121 -  <!-- <separator label="SliTaz Openbox" /> -->
  17.122 -  <menu id="favorites-menu" />
  17.123 -  <menu id="desktop-menu" />
  17.124 -  <!-- Pipe menu to open folder using GTK bookmarks -->
  17.125 -  <menu id="open-folder-menu" label="Locais Favoritos"
  17.126 -        execute="/usr/lib/openbox/open-folder-menu.sh" />
  17.127 -  <menu id="desktop-effects" />
  17.128 -  <menu id="slitaz-live-menu" />
  17.129 -  <menu id="openbox-menu" />
  17.130 -  <menu id="client-list-menu" />
  17.131 -  <separator />
  17.132 -  <item label="Sair">
  17.133 -    <action name="Execute"><command>desktopbox logout</command></action>
  17.134 -  </item>
  17.135 -</menu>
  17.136 -
  17.137 -</openbox_menu>
    18.1 --- a/core-xfce/rootfs/etc/xdg/openbox/rc.xml	Wed Feb 22 23:24:45 2012 +0100
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,699 +0,0 @@
    18.4 -<?xml version="1.0" encoding="UTF-8"?>
    18.5 -<!-- Do not edit this file, it will be overwritten on install.
    18.6 -        Copy the file to $HOME/.config/openbox/ instead. -->
    18.7 -<openbox_config xmlns="http://openbox.org/3.4/rc">
    18.8 -  <resistance>
    18.9 -    <strength>10</strength>
   18.10 -    <screen_edge_strength>20</screen_edge_strength>
   18.11 -  </resistance>
   18.12 -  <focus>
   18.13 -    <focusNew>yes</focusNew>
   18.14 -    <!-- always try to focus new windows when they appear. other rules do
   18.15 -       apply -->
   18.16 -    <followMouse>no</followMouse>
   18.17 -    <!-- move focus to a window when you move the mouse into it -->
   18.18 -    <focusLast>yes</focusLast>
   18.19 -    <!-- focus the last used window when changing desktops, instead of the one
   18.20 -       under the mouse pointer. when followMouse is enabled -->
   18.21 -    <underMouse>no</underMouse>
   18.22 -    <!-- move focus under the mouse, even when the mouse is not moving -->
   18.23 -    <focusDelay>200</focusDelay>
   18.24 -    <!-- when followMouse is enabled, the mouse must be inside the window for
   18.25 -       this many milliseconds (1000 = 1 sec) before moving focus to it -->
   18.26 -    <raiseOnFocus>no</raiseOnFocus>
   18.27 -    <!-- when followMouse is enabled, and a window is given focus by moving the
   18.28 -       mouse into it, also raise the window -->
   18.29 -  </focus>
   18.30 -  <placement>
   18.31 -    <policy>Smart</policy>
   18.32 -    <!-- 'Smart' or 'UnderMouse' -->
   18.33 -    <center>yes</center>
   18.34 -    <!-- whether to place windows in the center of the free area found or
   18.35 -       the top left corner -->
   18.36 -    <monitor>Any</monitor>
   18.37 -    <!-- with Smart placement on a multi-monitor system, try to place new windows
   18.38 -       on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
   18.39 -       the active window is -->
   18.40 -  </placement>
   18.41 -  <theme>
   18.42 -    <name>SliTaz</name>
   18.43 -    <titleLayout>NLIMC</titleLayout>
   18.44 -    <!--
   18.45 -      available characters are NDSLIMC, each can occur at most once.
   18.46 -      N: window icon
   18.47 -      L: window label (AKA title).
   18.48 -      I: iconify
   18.49 -      M: maximize
   18.50 -      C: close
   18.51 -      S: shade (roll up/down)
   18.52 -      D: omnipresent (on all desktops).
   18.53 -  -->
   18.54 -    <keepBorder>yes</keepBorder>
   18.55 -    <animateIconify>yes</animateIconify>
   18.56 -    <font place="ActiveWindow">
   18.57 -      <name>Sans</name>
   18.58 -      <size>8</size>
   18.59 -      <!-- font size in points -->
   18.60 -      <weight>Bold</weight>
   18.61 -      <!-- 'bold' or 'normal' -->
   18.62 -      <slant>Normal</slant>
   18.63 -      <!-- 'italic' or 'normal' -->
   18.64 -    </font>
   18.65 -    <font place="InactiveWindow">
   18.66 -      <name>Sans</name>
   18.67 -      <size>8</size>
   18.68 -      <!-- font size in points -->
   18.69 -      <weight>Bold</weight>
   18.70 -      <!-- 'bold' or 'normal' -->
   18.71 -      <slant>Normal</slant>
   18.72 -      <!-- 'italic' or 'normal' -->
   18.73 -    </font>
   18.74 -    <font place="MenuHeader">
   18.75 -      <name>Sans</name>
   18.76 -      <size>10</size>
   18.77 -      <!-- font size in points -->
   18.78 -      <weight>Normal</weight>
   18.79 -      <!-- 'bold' or 'normal' -->
   18.80 -      <slant>Normal</slant>
   18.81 -      <!-- 'italic' or 'normal' -->
   18.82 -    </font>
   18.83 -    <font place="MenuItem">
   18.84 -      <name>Sans</name>
   18.85 -      <size>9</size>
   18.86 -      <!-- font size in points -->
   18.87 -      <weight>Normal</weight>
   18.88 -      <!-- 'bold' or 'normal' -->
   18.89 -      <slant>Normal</slant>
   18.90 -      <!-- 'italic' or 'normal' -->
   18.91 -    </font>
   18.92 -    <font place="OnScreenDisplay">
   18.93 -      <name>sans</name>
   18.94 -      <size>9</size>
   18.95 -      <!-- font size in points -->
   18.96 -      <weight>bold</weight>
   18.97 -      <!-- 'bold' or 'normal' -->
   18.98 -      <slant>normal</slant>
   18.99 -      <!-- 'italic' or 'normal' -->
  18.100 -    </font>
  18.101 -  </theme>
  18.102 -  <desktops>
  18.103 -    <!-- this stuff is only used at startup, pagers allow you to change them
  18.104 -       during a session
  18.105 -
  18.106 -       these are default values to use when other ones are not already set
  18.107 -       by other applications, or saved in your session
  18.108 -
  18.109 -       use obconf if you want to change these without having to log out
  18.110 -       and back in -->
  18.111 -    <number>2</number>
  18.112 -    <firstdesk>1</firstdesk>
  18.113 -    <names>
  18.114 -      <!-- set names up here if you want to, like this:
  18.115 -    <name>desktop 1</name>
  18.116 -    <name>desktop 2</name>
  18.117 -    -->
  18.118 -    </names>
  18.119 -    <popupTime>875</popupTime>
  18.120 -    <!-- The number of milliseconds to show the popup for when switching
  18.121 -       desktops.  Set this to 0 to disable the popup. -->
  18.122 -  </desktops>
  18.123 -  <resize>
  18.124 -    <drawContents>yes</drawContents>
  18.125 -    <popupShow>Nonpixel</popupShow>
  18.126 -    <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
  18.127 -    <popupPosition>Center</popupPosition>
  18.128 -    <!-- 'Center', 'Top', or 'Fixed' -->
  18.129 -    <popupFixedPosition>
  18.130 -      <!-- these are used if popupPosition is set to 'Fixed' -->
  18.131 -      <x>10</x>
  18.132 -      <!-- positive number for distance from left edge, negative number for
  18.133 -         distance from right edge, or 'Center' -->
  18.134 -      <y>10</y>
  18.135 -      <!-- positive number for distance from top edge, negative number for
  18.136 -         distance from bottom edge, or 'Center' -->
  18.137 -    </popupFixedPosition>
  18.138 -  </resize>
  18.139 -  <!-- You can reserve a portion of your screen where windows will not cover when
  18.140 -     they are maximized, or when they are initially placed.
  18.141 -     Many programs reserve space automatically, but you can use this in other
  18.142 -     cases. -->
  18.143 -  <margins>
  18.144 -    <top>0</top>
  18.145 -    <bottom>0</bottom>
  18.146 -    <left>0</left>
  18.147 -    <right>0</right>
  18.148 -  </margins>
  18.149 -  <dock>
  18.150 -    <position>TopLeft</position>
  18.151 -    <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
  18.152 -    <floatingX>0</floatingX>
  18.153 -    <floatingY>0</floatingY>
  18.154 -    <noStrut>no</noStrut>
  18.155 -    <stacking>Above</stacking>
  18.156 -    <!-- 'Above', 'Normal', or 'Below' -->
  18.157 -    <direction>Vertical</direction>
  18.158 -    <!-- 'Vertical' or 'Horizontal' -->
  18.159 -    <autoHide>no</autoHide>
  18.160 -    <hideDelay>300</hideDelay>
  18.161 -    <!-- in milliseconds (1000 = 1 second) -->
  18.162 -    <showDelay>300</showDelay>
  18.163 -    <!-- in milliseconds (1000 = 1 second) -->
  18.164 -    <moveButton>Middle</moveButton>
  18.165 -    <!-- 'Left', 'Middle', 'Right' -->
  18.166 -  </dock>
  18.167 -  <keyboard>
  18.168 -    <chainQuitKey>C-g</chainQuitKey>
  18.169 -    <!-- Keybindings for desktop switching -->
  18.170 -    <keybind key="C-A-Left">
  18.171 -      <action name="DesktopLeft">
  18.172 -        <dialog>no</dialog>
  18.173 -        <wrap>no</wrap>
  18.174 -      </action>
  18.175 -    </keybind>
  18.176 -    <keybind key="C-A-Right">
  18.177 -      <action name="DesktopRight">
  18.178 -        <dialog>no</dialog>
  18.179 -        <wrap>no</wrap>
  18.180 -      </action>
  18.181 -    </keybind>
  18.182 -    <keybind key="C-A-Up">
  18.183 -      <action name="DesktopUp">
  18.184 -        <dialog>no</dialog>
  18.185 -        <wrap>no</wrap>
  18.186 -      </action>
  18.187 -    </keybind>
  18.188 -    <keybind key="C-A-Down">
  18.189 -      <action name="DesktopDown">
  18.190 -        <dialog>no</dialog>
  18.191 -        <wrap>no</wrap>
  18.192 -      </action>
  18.193 -    </keybind>
  18.194 -    <keybind key="S-A-Left">
  18.195 -      <action name="SendToDesktopLeft">
  18.196 -        <dialog>no</dialog>
  18.197 -        <wrap>no</wrap>
  18.198 -      </action>
  18.199 -    </keybind>
  18.200 -    <keybind key="S-A-Right">
  18.201 -      <action name="SendToDesktopRight">
  18.202 -        <dialog>no</dialog>
  18.203 -        <wrap>no</wrap>
  18.204 -      </action>
  18.205 -    </keybind>
  18.206 -    <keybind key="S-A-Up">
  18.207 -      <action name="SendToDesktopUp">
  18.208 -        <dialog>no</dialog>
  18.209 -        <wrap>no</wrap>
  18.210 -      </action>
  18.211 -    </keybind>
  18.212 -    <keybind key="S-A-Down">
  18.213 -      <action name="SendToDesktopDown">
  18.214 -        <dialog>no</dialog>
  18.215 -        <wrap>no</wrap>
  18.216 -      </action>
  18.217 -    </keybind>
  18.218 -    <keybind key="W-F1">
  18.219 -      <action name="Desktop">
  18.220 -        <desktop>1</desktop>
  18.221 -      </action>
  18.222 -    </keybind>
  18.223 -    <keybind key="W-F2">
  18.224 -      <action name="Desktop">
  18.225 -        <desktop>2</desktop>
  18.226 -      </action>
  18.227 -    </keybind>
  18.228 -    <keybind key="W-F3">
  18.229 -      <action name="Desktop">
  18.230 -        <desktop>3</desktop>
  18.231 -      </action>
  18.232 -    </keybind>
  18.233 -    <keybind key="W-F4">
  18.234 -      <action name="Desktop">
  18.235 -        <desktop>4</desktop>
  18.236 -      </action>
  18.237 -    </keybind>
  18.238 -    <keybind key="W-d">
  18.239 -      <action name="ToggleShowDesktop"/>
  18.240 -    </keybind>
  18.241 -    <!-- Keybindings for windows -->
  18.242 -    <keybind key="A-F4">
  18.243 -      <action name="Close"/>
  18.244 -    </keybind>
  18.245 -    <keybind key="A-Escape">
  18.246 -      <action name="Lower"/>
  18.247 -      <action name="FocusToBottom"/>
  18.248 -      <action name="Unfocus"/>
  18.249 -    </keybind>
  18.250 -    <keybind key="A-space">
  18.251 -      <action name="ShowMenu">
  18.252 -        <menu>client-menu</menu>
  18.253 -      </action>
  18.254 -    </keybind>
  18.255 -    <!-- Keybindings for window switching -->
  18.256 -    <keybind key="A-Tab">
  18.257 -      <action name="NextWindow"/>
  18.258 -    </keybind>
  18.259 -    <keybind key="A-S-Tab">
  18.260 -      <action name="PreviousWindow"/>
  18.261 -    </keybind>
  18.262 -    <keybind key="C-A-Tab">
  18.263 -      <action name="NextWindow">
  18.264 -        <panels>yes</panels>
  18.265 -        <desktop>yes</desktop>
  18.266 -      </action>
  18.267 -    </keybind>
  18.268 -    <!-- Keybindings for running applications -->
  18.269 -    <keybind key="W-e">
  18.270 -      <action name="Execute">
  18.271 -        <startupnotify>
  18.272 -          <enabled>true</enabled>
  18.273 -          <name>App Launcher</name>
  18.274 -        </startupnotify>
  18.275 -        <command>lxpanelctl run</command>
  18.276 -      </action>
  18.277 -    </keybind>
  18.278 -  </keyboard>
  18.279 -  <mouse>
  18.280 -    <dragThreshold>8</dragThreshold>
  18.281 -    <!-- number of pixels the mouse must move before a drag begins -->
  18.282 -    <doubleClickTime>200</doubleClickTime>
  18.283 -    <!-- in milliseconds (1000 = 1 second) -->
  18.284 -    <screenEdgeWarpTime>400</screenEdgeWarpTime>
  18.285 -    <!-- Time before changing desktops when the pointer touches the edge of the
  18.286 -       screen while moving a window, in milliseconds (1000 = 1 second).
  18.287 -       Set this to 0 to disable warping -->
  18.288 -    <context name="Frame">
  18.289 -      <mousebind button="A-Left" action="Press">
  18.290 -        <action name="Focus"/>
  18.291 -        <action name="Raise"/>
  18.292 -      </mousebind>
  18.293 -      <mousebind button="A-Left" action="Click">
  18.294 -        <action name="Unshade"/>
  18.295 -      </mousebind>
  18.296 -      <mousebind button="A-Left" action="Drag">
  18.297 -        <action name="Move"/>
  18.298 -      </mousebind>
  18.299 -      <mousebind button="A-Right" action="Press">
  18.300 -        <action name="Focus"/>
  18.301 -        <action name="Raise"/>
  18.302 -        <action name="Unshade"/>
  18.303 -      </mousebind>
  18.304 -      <mousebind button="A-Right" action="Drag">
  18.305 -        <action name="Resize"/>
  18.306 -      </mousebind>
  18.307 -      <mousebind button="A-Middle" action="Press">
  18.308 -        <action name="Lower"/>
  18.309 -        <action name="FocusToBottom"/>
  18.310 -        <action name="Unfocus"/>
  18.311 -      </mousebind>
  18.312 -      <mousebind button="A-Up" action="Click">
  18.313 -        <action name="DesktopPrevious"/>
  18.314 -      </mousebind>
  18.315 -      <mousebind button="A-Down" action="Click">
  18.316 -        <action name="DesktopNext"/>
  18.317 -      </mousebind>
  18.318 -      <mousebind button="C-A-Up" action="Click">
  18.319 -        <action name="DesktopPrevious"/>
  18.320 -      </mousebind>
  18.321 -      <mousebind button="C-A-Down" action="Click">
  18.322 -        <action name="DesktopNext"/>
  18.323 -      </mousebind>
  18.324 -      <mousebind button="A-S-Up" action="Click">
  18.325 -        <action name="SendToDesktopPrevious"/>
  18.326 -      </mousebind>
  18.327 -      <mousebind button="A-S-Down" action="Click">
  18.328 -        <action name="SendToDesktopNext"/>
  18.329 -      </mousebind>
  18.330 -    </context>
  18.331 -    <context name="Titlebar">
  18.332 -      <mousebind button="Left" action="Press">
  18.333 -        <action name="Focus"/>
  18.334 -        <action name="Raise"/>
  18.335 -      </mousebind>
  18.336 -      <mousebind button="Left" action="Drag">
  18.337 -        <action name="Move"/>
  18.338 -      </mousebind>
  18.339 -      <mousebind button="Left" action="DoubleClick">
  18.340 -        <action name="ToggleMaximizeFull"/>
  18.341 -      </mousebind>
  18.342 -      <mousebind button="Middle" action="Press">
  18.343 -        <action name="Lower"/>
  18.344 -        <action name="FocusToBottom"/>
  18.345 -        <action name="Unfocus"/>
  18.346 -      </mousebind>
  18.347 -      <mousebind button="Up" action="Click">
  18.348 -        <action name="Shade"/>
  18.349 -        <action name="FocusToBottom"/>
  18.350 -        <action name="Unfocus"/>
  18.351 -        <action name="Lower"/>
  18.352 -      </mousebind>
  18.353 -      <mousebind button="Down" action="Click">
  18.354 -        <action name="Unshade"/>
  18.355 -        <action name="Raise"/>
  18.356 -      </mousebind>
  18.357 -      <mousebind button="Right" action="Press">
  18.358 -        <action name="Focus"/>
  18.359 -        <action name="Raise"/>
  18.360 -        <action name="ShowMenu">
  18.361 -          <menu>client-menu</menu>
  18.362 -        </action>
  18.363 -      </mousebind>
  18.364 -    </context>
  18.365 -    <context name="Top">
  18.366 -      <mousebind button="Left" action="Press">
  18.367 -        <action name="Focus"/>
  18.368 -        <action name="Raise"/>
  18.369 -        <action name="Unshade"/>
  18.370 -      </mousebind>
  18.371 -      <mousebind button="Left" action="Drag">
  18.372 -        <action name="Resize">
  18.373 -          <edge>top</edge>
  18.374 -        </action>
  18.375 -      </mousebind>
  18.376 -    </context>
  18.377 -    <context name="Left">
  18.378 -      <mousebind button="Left" action="Press">
  18.379 -        <action name="Focus"/>
  18.380 -        <action name="Raise"/>
  18.381 -      </mousebind>
  18.382 -      <mousebind button="Left" action="Drag">
  18.383 -        <action name="Resize">
  18.384 -          <edge>left</edge>
  18.385 -        </action>
  18.386 -      </mousebind>
  18.387 -    </context>
  18.388 -    <context name="Right">
  18.389 -      <mousebind button="Left" action="Press">
  18.390 -        <action name="Focus"/>
  18.391 -        <action name="Raise"/>
  18.392 -      </mousebind>
  18.393 -      <mousebind button="Left" action="Drag">
  18.394 -        <action name="Resize">
  18.395 -          <edge>right</edge>
  18.396 -        </action>
  18.397 -      </mousebind>
  18.398 -    </context>
  18.399 -    <context name="Bottom">
  18.400 -      <mousebind button="Left" action="Press">
  18.401 -        <action name="Focus"/>
  18.402 -        <action name="Raise"/>
  18.403 -      </mousebind>
  18.404 -      <mousebind button="Left" action="Drag">
  18.405 -        <action name="Resize">
  18.406 -          <edge>bottom</edge>
  18.407 -        </action>
  18.408 -      </mousebind>
  18.409 -      <mousebind button="Middle" action="Press">
  18.410 -        <action name="Lower"/>
  18.411 -        <action name="FocusToBottom"/>
  18.412 -        <action name="Unfocus"/>
  18.413 -      </mousebind>
  18.414 -      <mousebind button="Right" action="Press">
  18.415 -        <action name="Focus"/>
  18.416 -        <action name="Raise"/>
  18.417 -        <action name="ShowMenu">
  18.418 -          <menu>client-menu</menu>
  18.419 -        </action>
  18.420 -      </mousebind>
  18.421 -    </context>
  18.422 -    <context name="BLCorner">
  18.423 -      <mousebind button="Left" action="Press">
  18.424 -        <action name="Focus"/>
  18.425 -        <action name="Raise"/>
  18.426 -      </mousebind>
  18.427 -      <mousebind button="Left" action="Drag">
  18.428 -        <action name="Resize"/>
  18.429 -      </mousebind>
  18.430 -    </context>
  18.431 -    <context name="BRCorner">
  18.432 -      <mousebind button="Left" action="Press">
  18.433 -        <action name="Focus"/>
  18.434 -        <action name="Raise"/>
  18.435 -      </mousebind>
  18.436 -      <mousebind button="Left" action="Drag">
  18.437 -        <action name="Resize"/>
  18.438 -      </mousebind>
  18.439 -    </context>
  18.440 -    <context name="TLCorner">
  18.441 -      <mousebind button="Left" action="Press">
  18.442 -        <action name="Focus"/>
  18.443 -        <action name="Raise"/>
  18.444 -        <action name="Unshade"/>
  18.445 -      </mousebind>
  18.446 -      <mousebind button="Left" action="Drag">
  18.447 -        <action name="Resize"/>
  18.448 -      </mousebind>
  18.449 -    </context>
  18.450 -    <context name="TRCorner">
  18.451 -      <mousebind button="Left" action="Press">
  18.452 -        <action name="Focus"/>
  18.453 -        <action name="Raise"/>
  18.454 -        <action name="Unshade"/>
  18.455 -      </mousebind>
  18.456 -      <mousebind button="Left" action="Drag">
  18.457 -        <action name="Resize"/>
  18.458 -      </mousebind>
  18.459 -    </context>
  18.460 -    <context name="Client">
  18.461 -      <mousebind button="Left" action="Press">
  18.462 -        <action name="Focus"/>
  18.463 -        <action name="Raise"/>
  18.464 -      </mousebind>
  18.465 -      <mousebind button="Middle" action="Press">
  18.466 -        <action name="Focus"/>
  18.467 -        <action name="Raise"/>
  18.468 -      </mousebind>
  18.469 -      <mousebind button="Right" action="Press">
  18.470 -        <action name="Focus"/>
  18.471 -        <action name="Raise"/>
  18.472 -      </mousebind>
  18.473 -    </context>
  18.474 -    <context name="Icon">
  18.475 -      <mousebind button="Left" action="Press">
  18.476 -        <action name="Focus"/>
  18.477 -        <action name="Raise"/>
  18.478 -        <action name="Unshade"/>
  18.479 -        <action name="ShowMenu">
  18.480 -          <menu>client-menu</menu>
  18.481 -        </action>
  18.482 -      </mousebind>
  18.483 -      <mousebind button="Right" action="Press">
  18.484 -        <action name="Focus"/>
  18.485 -        <action name="Raise"/>
  18.486 -        <action name="ShowMenu">
  18.487 -          <menu>client-menu</menu>
  18.488 -        </action>
  18.489 -      </mousebind>
  18.490 -    </context>
  18.491 -    <context name="AllDesktops">
  18.492 -      <mousebind button="Left" action="Press">
  18.493 -        <action name="Focus"/>
  18.494 -        <action name="Raise"/>
  18.495 -        <action name="Unshade"/>
  18.496 -      </mousebind>
  18.497 -      <mousebind button="Left" action="Click">
  18.498 -        <action name="ToggleOmnipresent"/>
  18.499 -      </mousebind>
  18.500 -    </context>
  18.501 -    <context name="Shade">
  18.502 -      <mousebind button="Left" action="Press">
  18.503 -        <action name="Focus"/>
  18.504 -        <action name="Raise"/>
  18.505 -      </mousebind>
  18.506 -      <mousebind button="Left" action="Click">
  18.507 -        <action name="ToggleShade"/>
  18.508 -      </mousebind>
  18.509 -    </context>
  18.510 -    <context name="Iconify">
  18.511 -      <mousebind button="Left" action="Press">
  18.512 -        <action name="Focus"/>
  18.513 -        <action name="Raise"/>
  18.514 -      </mousebind>
  18.515 -      <mousebind button="Left" action="Click">
  18.516 -        <action name="Iconify"/>
  18.517 -      </mousebind>
  18.518 -    </context>
  18.519 -    <context name="Maximize">
  18.520 -      <mousebind button="Left" action="Press">
  18.521 -        <action name="Focus"/>
  18.522 -        <action name="Raise"/>
  18.523 -        <action name="Unshade"/>
  18.524 -      </mousebind>
  18.525 -      <mousebind button="Middle" action="Press">
  18.526 -        <action name="Focus"/>
  18.527 -        <action name="Raise"/>
  18.528 -        <action name="Unshade"/>
  18.529 -      </mousebind>
  18.530 -      <mousebind button="Right" action="Press">
  18.531 -        <action name="Focus"/>
  18.532 -        <action name="Raise"/>
  18.533 -        <action name="Unshade"/>
  18.534 -      </mousebind>
  18.535 -      <mousebind button="Left" action="Click">
  18.536 -        <action name="ToggleMaximizeFull"/>
  18.537 -      </mousebind>
  18.538 -      <mousebind button="Middle" action="Click">
  18.539 -        <action name="ToggleMaximizeVert"/>
  18.540 -      </mousebind>
  18.541 -      <mousebind button="Right" action="Click">
  18.542 -        <action name="ToggleMaximizeHorz"/>
  18.543 -      </mousebind>
  18.544 -    </context>
  18.545 -    <context name="Close">
  18.546 -      <mousebind button="Left" action="Press">
  18.547 -        <action name="Focus"/>
  18.548 -        <action name="Raise"/>
  18.549 -        <action name="Unshade"/>
  18.550 -      </mousebind>
  18.551 -      <mousebind button="Left" action="Click">
  18.552 -        <action name="Close"/>
  18.553 -      </mousebind>
  18.554 -    </context>
  18.555 -    <context name="Desktop">
  18.556 -      <mousebind button="Up" action="Click">
  18.557 -        <action name="DesktopPrevious"/>
  18.558 -      </mousebind>
  18.559 -      <mousebind button="Down" action="Click">
  18.560 -        <action name="DesktopNext"/>
  18.561 -      </mousebind>
  18.562 -      <mousebind button="A-Up" action="Click">
  18.563 -        <action name="DesktopPrevious"/>
  18.564 -      </mousebind>
  18.565 -      <mousebind button="A-Down" action="Click">
  18.566 -        <action name="DesktopNext"/>
  18.567 -      </mousebind>
  18.568 -      <mousebind button="C-A-Up" action="Click">
  18.569 -        <action name="DesktopPrevious"/>
  18.570 -      </mousebind>
  18.571 -      <mousebind button="C-A-Down" action="Click">
  18.572 -        <action name="DesktopNext"/>
  18.573 -      </mousebind>
  18.574 -      <mousebind button="Left" action="Press">
  18.575 -        <action name="Focus"/>
  18.576 -        <action name="Raise"/>
  18.577 -      </mousebind>
  18.578 -      <mousebind button="Right" action="Press">
  18.579 -        <action name="Focus"/>
  18.580 -        <action name="Raise"/>
  18.581 -      </mousebind>
  18.582 -    </context>
  18.583 -    <context name="Root">
  18.584 -      <!-- Menus -->
  18.585 -      <mousebind button="Middle" action="Press">
  18.586 -        <action name="ShowMenu">
  18.587 -          <menu>client-list-combined-menu</menu>
  18.588 -        </action>
  18.589 -      </mousebind>
  18.590 -      <mousebind button="Right" action="Press">
  18.591 -        <action name="ShowMenu">
  18.592 -          <menu>root-menu</menu>
  18.593 -        </action>
  18.594 -      </mousebind>
  18.595 -    </context>
  18.596 -    <context name="MoveResize">
  18.597 -      <mousebind button="Up" action="Click">
  18.598 -        <action name="DesktopPrevious"/>
  18.599 -      </mousebind>
  18.600 -      <mousebind button="Down" action="Click">
  18.601 -        <action name="DesktopNext"/>
  18.602 -      </mousebind>
  18.603 -      <mousebind button="A-Up" action="Click">
  18.604 -        <action name="DesktopPrevious"/>
  18.605 -      </mousebind>
  18.606 -      <mousebind button="A-Down" action="Click">
  18.607 -        <action name="DesktopNext"/>
  18.608 -      </mousebind>
  18.609 -    </context>
  18.610 -  </mouse>
  18.611 -  <menu>
  18.612 -    <!-- You can specify more than one menu file in here and they are all loaded,
  18.613 -       just don't make menu ids clash or, well, it'll be kind of pointless -->
  18.614 -    <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
  18.615 -    <file>menu.xml</file>
  18.616 -    <hideDelay>200</hideDelay>
  18.617 -    <!-- if a press-release lasts longer than this setting (in milliseconds), the
  18.618 -       menu is hidden again -->
  18.619 -    <middle>no</middle>
  18.620 -    <!-- center submenus vertically about the parent entry -->
  18.621 -    <submenuShowDelay>100</submenuShowDelay>
  18.622 -    <!-- this one is easy, time to delay before showing a submenu after hovering
  18.623 -       over the parent entry -->
  18.624 -    <applicationIcons>yes</applicationIcons>
  18.625 -    <!-- controls if icons appear in the client-list-(combined-)menu -->
  18.626 -    <manageDesktops>yes</manageDesktops>
  18.627 -    <!-- show the manage desktops section in the client-list-(combined-)menu -->
  18.628 -  </menu>
  18.629 -  <applications>
  18.630 -    <!--
  18.631 -  # this is an example with comments through out. use these to make your
  18.632 -  # own rules, but without the comments of course.
  18.633 -
  18.634 -  <application name="first element of window's WM_CLASS property (see xprop)"
  18.635 -              class="second element of window's WM_CLASS property (see xprop)"
  18.636 -               role="the window's WM_WINDOW_ROLE property (see xprop)">
  18.637 -  # the name or the class can be set, or both. this is used to match
  18.638 -  # windows when they appear. role can optionally be set as well, to
  18.639 -  # further restrict your matches.
  18.640 -
  18.641 -  # the name, class, and role use simple wildcard matching such as those
  18.642 -  # used by a shell. you can use * to match any characters and ? to match
  18.643 -  # any single character.
  18.644 -
  18.645 -  # when multiple rules match a window, they will all be applied, in the
  18.646 -  # order that they appear in this list
  18.647 -
  18.648 -
  18.649 -    # each element can be left out or set to 'default' to specify to not 
  18.650 -    # change that attribute of the window
  18.651 -
  18.652 -    <decor>yes</decor>
  18.653 -    # enable or disable window decorations
  18.654 -
  18.655 -    <shade>no</shade>
  18.656 -    # make the window shaded when it appears, or not
  18.657 -
  18.658 -    <position>
  18.659 -      # the position is only used if both an x and y coordinate are provided
  18.660 -      # (and not set to 'default')
  18.661 -      <x>center</x>
  18.662 -      # a number like 50, or 'center' to center on screen. use a negative number
  18.663 -      # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
  18.664 -      # right edge (or bottom).
  18.665 -      <y>200</y>
  18.666 -      <monitor>1</monitor>
  18.667 -      # specifies the monitor in a xinerama setup.
  18.668 -      # 1 is the first head, or 'mouse' for wherever the mouse is
  18.669 -    </position>
  18.670 -
  18.671 -    <focus>yes</focus>
  18.672 -    # if the window should try be given focus when it appears. if this is set
  18.673 -    # to yes it doesn't guarantee the window will be given focus. some
  18.674 -    # restrictions may apply, but Openbox will try to
  18.675 -
  18.676 -    <desktop>1</desktop>
  18.677 -    # 1 is the first desktop, 'all' for all desktops
  18.678 -
  18.679 -    <layer>normal</layer>
  18.680 -    # 'above', 'normal', or 'below'
  18.681 -
  18.682 -    <iconic>no</iconic>
  18.683 -    # make the window iconified when it appears, or not
  18.684 -
  18.685 -    <skip_pager>no</skip_pager>
  18.686 -    # asks to not be shown in pagers
  18.687 -
  18.688 -    <skip_taskbar>no</skip_taskbar>
  18.689 -    # asks to not be shown in taskbars. window cycling actions will also
  18.690 -    # skip past such windows
  18.691 -
  18.692 -    <fullscreen>yes</fullscreen>
  18.693 -    # make the window in fullscreen mode when it appears
  18.694 -
  18.695 -    <maximized>true</maximized>
  18.696 -    # 'Horizontal', 'Vertical' or boolean (yes/no)
  18.697 -  </application>
  18.698 -
  18.699 -  # end of the example
  18.700 --->
  18.701 -  </applications>
  18.702 -</openbox_config>
    19.1 --- a/core-xfce/rootfs/root/.Xdefaults	Wed Feb 22 23:24:45 2012 +0100
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,20 +0,0 @@
    19.4 -!~/.Xdefault: Control the behavior of x-clients.
    19.5 -!
    19.6 -
    19.7 -! Xcursor theme (~/.icons).
    19.8 -!
    19.9 -Xcursor.theme:		slitaz-polar
   19.10 -
   19.11 -! XTerm settings.
   19.12 -!
   19.13 -xterm*background:	black
   19.14 -xterm*foreground:	white
   19.15 -xterm*cursorColor:	#6AA2D8
   19.16 -xterm*scrollBar:	off
   19.17 -xterm*faceName:		DejaVu Sans Mono
   19.18 -xterm*faceSize:		9
   19.19 -
   19.20 -! Xload settings.
   19.21 -!
   19.22 -!xload*background:	black
   19.23 -!xload*foreground:	lightblue
    20.1 --- a/core-xfce/rootfs/root/.gtkrc-2.0	Wed Feb 22 23:24:45 2012 +0100
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,13 +0,0 @@
    20.4 -# ~/.gtkrc-2.0 - GTK+ theme, icon and font configuration.
    20.5 -#
    20.6 -# System files   : /usr/share/{themes,icons,fonts}
    20.7 -# Personal files : ~/.icons and ~/.fonts
    20.8 -#
    20.9 -
   20.10 -gtk-theme-name = "SliTaz"
   20.11 -#gtk-theme-name = "Clearlooks-DeepSky"
   20.12 -#gtk-theme-name = "Clearlooks-Olive"
   20.13 -
   20.14 -gtk-icon-theme-name = "SliTaz"
   20.15 -
   20.16 -gtk-font-name = "DejaVu Sans 9"
    21.1 --- a/core-xfce/rootfs/sbin/tazlocale	Wed Feb 22 23:24:45 2012 +0100
    21.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.3 @@ -1,137 +0,0 @@
    21.4 -#!/bin/sh
    21.5 -#
    21.6 -# Tazlocale: SliTaz GNU/Linux locale setting using dialog boxes.
    21.7 -# Configuration file is : /etc/locale.conf
    21.8 -#
    21.9 -# 20100201 <pankso@slitaz.org> - GNU gpl.
   21.10 -#
   21.11 -
   21.12 -# Check if user is root.
   21.13 -if test $(id -u) != 0; then
   21.14 -	echo -e "\nYou must be root to run `basename $0`!"
   21.15 -	echo -e "Type su and root password to become super-user.\n"
   21.16 -	exit 1
   21.17 -fi
   21.18 -
   21.19 -get_messages()
   21.20 -{
   21.21 -	[ -f "/etc/locale.conf" ] && . /etc/locale.conf
   21.22 -	LANGUAGE=${LANG%_*}
   21.23 -	[ "$LANG" = "C" ] && LANGUAGE="en_US"
   21.24 -	case $LANGUAGE in
   21.25 -		fr*)
   21.26 -			RECONFIG_MSG="
   21.27 -Veuilliez fermer votre session et vous reloguer pour utiliser SliTaz \
   21.28 -avec la locale : $LANG" ;;
   21.29 -		*)
   21.30 -			RECONFIG_MSG="
   21.31 -Please logout of your current session and login again to use SliTaz \
   21.32 -with $LANG locale." ;;
   21.33 -	esac
   21.34 -}
   21.35 -
   21.36 -# Create symlink to translated files provide by SliTaz language pack,
   21.37 -# doc and config files.
   21.38 -link_language_files()
   21.39 -{
   21.40 -	. /etc/locale.conf
   21.41 -	LANGUAGE=${LANG%_*}
   21.42 -	[ "$LANG" = "C" ] && LANGUAGE="en"
   21.43 -	# Openbox menu in /usr/share/doc/slitaz
   21.44 -	if [ -f /etc/xdg/openbox/menu.$LANGUAGE.xml ]; then
   21.45 -		cd /etc/xdg/openbox && rm -f menu.xml
   21.46 -		ln -s menu.$LANGUAGE.xml menu.xml
   21.47 -	fi
   21.48 -	# Documentation in /usr/share/doc/slitaz
   21.49 -	if [ -f /usr/share/doc/slitaz/index.$LANGUAGE.html ]; then
   21.50 -		cd /usr/share/doc/slitaz && rm -f index.html
   21.51 -		ln -s index.$LANGUAGE.html index.html
   21.52 -	fi
   21.53 -	# SliTaz Software Manuals
   21.54 -	for soft in tazpkg tazlito tazusb tazwok
   21.55 -	do
   21.56 -		if [ -f /usr/share/doc/$soft/$soft.$LANGUAGE.html ]; then
   21.57 -			cd /usr/share/doc/$soft && rm -f $soft.html
   21.58 -			ln -s $soft.$LANGUAGE.html $soft.html
   21.59 -		fi
   21.60 -	done
   21.61 -}
   21.62 -
   21.63 -# Locale name displayed.
   21.64 -get_locale_name()
   21.65 -{
   21.66 -	for i in `ls -1 /usr/share/i18n/locales/ | grep ^[a-z][a-z]_[A-Z][A-Z]`
   21.67 -	do
   21.68 -		#name=`locale -a -v | grep -A 2 "locale: $i" | grep "title" | \
   21.69 -		#	cut -d " " -f 7`
   21.70 -		echo "$i Locale"
   21.71 -	done
   21.72 -}
   21.73 -
   21.74 -# We have no locale files in /usr/lib/locale by default. Run localedef in
   21.75 -# background to have a faster boot.
   21.76 -gen_utf8_locale()
   21.77 -{
   21.78 -	localedef -i $locale -c -f UTF-8 /usr/lib/locale/$locale &
   21.79 -}
   21.80 -
   21.81 -# Dialog menu.
   21.82 -dialog_menu()
   21.83 -{
   21.84 -	exec 3>&1
   21.85 -	locale=`$DIALOG  --clear \
   21.86 -	--title " SliTaz language configuration " \
   21.87 -	--menu "" 15 70 5 \
   21.88 -"en" "English" \
   21.89 -$(get_locale_name) \
   21.90 -2>&1 1>&3`
   21.91 -	retval=$?
   21.92 -	exec 3>&-
   21.93 -	case $retval in
   21.94 -		0)
   21.95 -			continue ;;
   21.96 -		1)
   21.97 -			echo "Cancel pressed."
   21.98 -			exit 0 ;;
   21.99 -		255)
  21.100 -			if test -n "$locale"; then
  21.101 -				echo "$locale"
  21.102 -			else
  21.103 -				echo "ESC pressed."
  21.104 -				exit 0
  21.105 -			fi ;;
  21.106 -	esac
  21.107 -	# Default: C = English
  21.108 -	[ "$locale" = "en" ] && locale="en_US"
  21.109 -	[ -s /etc/locale.conf ] && RECONFIG="yes"
  21.110 -	# System configuration
  21.111 -	echo "LANG=$locale" > /etc/locale.conf
  21.112 -	echo "LC_ALL=$locale" >> /etc/locale.conf
  21.113 -	export LANG=$locale LC_ALL=$locale
  21.114 -	gen_utf8_locale
  21.115 -	get_messages
  21.116 -	# If it's a reconfiguration give an info message.
  21.117 -	if [ -n "$RECONFIG" ]; then
  21.118 -		$DIALOG --clear \
  21.119 -			--title " Information " \
  21.120 -			--msgbox "$RECONFIG_MSG" 16 70
  21.121 -	fi
  21.122 -}
  21.123 -
  21.124 -case "$1" in
  21.125 -	*_*)
  21.126 -		# Execute functions (can be called from an other apps).
  21.127 -		$1 ;;
  21.128 -	link-files)
  21.129 -		link_language_files ;;
  21.130 -	list)
  21.131 -		echo ""
  21.132 -		locale -a
  21.133 -		echo "" ;;
  21.134 -	*)
  21.135 -		: ${DIALOG=dialog}
  21.136 -		dialog_menu
  21.137 -		link_language_files ;;
  21.138 -esac
  21.139 -
  21.140 -exit 0
    22.1 --- a/core-xfce/rootfs/usr/bin/slitaz-installer	Wed Feb 22 23:24:45 2012 +0100
    22.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.3 @@ -1,1051 +0,0 @@
    22.4 -#!/bin/sh
    22.5 -# slitaz-installer - SliTaz GNU/Linux installer.
    22.6 -#
    22.7 -# So this is SliTaz installer using dialog boxes. All the comments are in
    22.8 -# English but displayed messages are in French. The script starts with a
    22.9 -# few main variables, then all the functions and then a sequence of functions.
   22.10 -#
   22.11 -# (C) 2007-2009 SliTaz - GNU General Public License v3.
   22.12 -#
   22.13 -# Author : Christophe Lincoln <pankso@slitaz.org>
   22.14 -#
   22.15 -VERSION=2.0
   22.16 -
   22.17 -: ${DIALOG=dialog}
   22.18 -
   22.19 -# We need to know cdrom device and kernel version string to copy files.
   22.20 -DRIVE_NAME=`cat /proc/sys/dev/cdrom/info | grep "drive name" | cut -f 3`
   22.21 -CDROM=/dev/$DRIVE_NAME
   22.22 -KERNEL=vmlinuz-`uname -r`
   22.23 -TARGET_ROOT=/mnt/target
   22.24 -LOG=/var/log/slitaz-installer.log
   22.25 -BACKLIST="SliTaz GNU/Linux installer"
   22.26 -ACTION=$1
   22.27 -
   22.28 -#######################
   22.29 -# Installer functions #
   22.30 -#######################
   22.31 -
   22.32 -# Messages language setting.
   22.33 -set_messages()
   22.34 -{
   22.35 -	case $LANG in
   22.36 -		de*)
   22.37 -			. /usr/share/slitaz/messages/de/installer.msg ;;
   22.38 -		fr*)
   22.39 -			. /usr/share/slitaz/messages/fr/installer.msg ;;
   22.40 -		hu*)
   22.41 -			. /usr/share/slitaz/messages/hu/installer.msg ;;
   22.42 -		pt*)
   22.43 -			. /usr/share/slitaz/messages/pt/installer.msg ;;
   22.44 -		*)
   22.45 -			. /usr/share/slitaz/messages/en/installer.msg ;;
   22.46 -	esac
   22.47 -}
   22.48 -
   22.49 -# Display error message.
   22.50 -error_message()
   22.51 -{
   22.52 -	$DIALOG --title " Error " \
   22.53 -		--colors --backtitle "$BACKLIST" \
   22.54 -		--clear --msgbox "\n$ERROR_MSG" 18 70
   22.55 -}
   22.56 -
   22.57 -# Exit install if user is not root.
   22.58 -check_root()
   22.59 -{
   22.60 -	if test $(id -u) != 0 ; then
   22.61 -	ERROR_MSG="\
   22.62 -[\Z6en\Zn] You must be root administrator to start SliTaz installer, please \
   22.63 -use 'su' to get a root SHell and restart installation.\n\n
   22.64 -[\Z6fr\Zn] Vous devez être root pour installer SLiTaz GNU/Linux. Vous pouvez \
   22.65 -utiliser 'su' suivi du mot de passe administrateur pour devenir root \
   22.66 -et relancer l'installation."
   22.67 -		error_message
   22.68 -		exit 0
   22.69 -	fi
   22.70 -}
   22.71 -
   22.72 -# This function is used after each screen to contine or abort install.
   22.73 -check_retval()
   22.74 -{
   22.75 -	case $retval in
   22.76 -		0)
   22.77 -			continue ;;
   22.78 -		1)
   22.79 -			echo -e "\nVoluntary exit.\n" && exit 0 ;;
   22.80 -		3)
   22.81 -			continue ;;
   22.82 -		255)
   22.83 -			echo -e "ESC pressed.\n" && exit 0 ;;
   22.84 -	esac
   22.85 -}
   22.86 -
   22.87 -# Start install with basic information.
   22.88 -start_installer()
   22.89 -{
   22.90 -	$DIALOG --title " Install or Upgrade " \
   22.91 -		--backtitle "$BACKLIST" \
   22.92 -		--extra-button --extra-label "Upgrade" \
   22.93 -		--ok-label "Install" \
   22.94 -		--clear --colors --yesno "$START_INSTALL_MSG" 18 70
   22.95 -	retval=$?
   22.96 -		case $retval in
   22.97 -		0)
   22.98 -			ACTION=install ;;
   22.99 -		1)
  22.100 -			echo -e "\nVoluntary exit.\n" && exit 0 ;;
  22.101 -		3)
  22.102 -			ACTION=upgrade ;;
  22.103 -		255)
  22.104 -			echo -e "ESC pressed.\n" && exit 0 ;;
  22.105 -	esac
  22.106 -	echo "start_installer: `date`" > $LOG
  22.107 -}
  22.108 -
  22.109 -# Mount cdrom and verify if it's really SliTaz CD.
  22.110 -mount_cdrom()
  22.111 -{
  22.112 -	ERROR_MSG=""
  22.113 -	(
  22.114 -	echo "XXX" && echo 30
  22.115 -	echo -e "\nCreating mount point (/media/cdrom)..."
  22.116 -	echo "XXX"
  22.117 -	mkdir -p /media/cdrom
  22.118 -	sleep 1
  22.119 -	# First try to mount a cdrom
  22.120 -	if mount -t iso9660 $CDROM /media/cdrom 2>>$LOG; then
  22.121 -		echo "XXX" && echo 60
  22.122 -		echo -e "\nUsing file from cdrom ($CDROM)..."
  22.123 -		echo "XXX"
  22.124 -		sleep 2
  22.125 -	else
  22.126 -		# We may be in LiveUSB mode
  22.127 -		if [ -d /home/boot ]; then
  22.128 -			echo "XXX" && echo 60
  22.129 -			echo -e "\nUsing file from USB device..."
  22.130 -			echo "XXX"
  22.131 -			rm /media/cdrom/boot 2>/dev/null
  22.132 -			ln -s /home/boot /media/cdrom/boot
  22.133 -			sleep 2
  22.134 -		fi
  22.135 -	fi
  22.136 -
  22.137 -	echo "XXX" && echo 90
  22.138 -	echo -e "\nChecking installation media..."
  22.139 -	echo "XXX"
  22.140 -	sleep 2
  22.141 -	) |
  22.142 -	$DIALOG --title " Mounting cdrom " \
  22.143 -		--backtitle "$BACKLIST" \
  22.144 -		--gauge "Preparing the installation media..." 18 70 0
  22.145 -	# Exit with error msg if no rootfs.gz found.
  22.146 -	if [ ! -f /media/cdrom/boot/rootfs.gz ]; then
  22.147 -		ERROR_MSG="$MOUNT_CDROM_ERROR_MSG"
  22.148 -		error_message
  22.149 -		echo "missing: /media/cdrom/boot/rootfs.gz" >>$LOG
  22.150 -		exit 1
  22.151 -	fi
  22.152 -}
  22.153 -
  22.154 -# Display a list of available partitions.
  22.155 -fdisk_list()
  22.156 -{
  22.157 -	LIST_PARTITIONS=`fdisk -l | grep ^/dev | sed s/'e Win95'/'e'/g`
  22.158 -	$DIALOG --title " Partition tables " \
  22.159 -		--backtitle "$BACKLIST" \
  22.160 -		--clear --msgbox "\n
  22.161 -Available partitions :\n\n
  22.162 -$LIST_PARTITIONS" 18 70
  22.163 -}
  22.164 -
  22.165 -# We need a partition to install to (inputbox).
  22.166 -ask_for_target_dev()
  22.167 -{
  22.168 -	exec 3>&1
  22.169 -	TARGET_DEV=`$DIALOG --title " Root Partition " \
  22.170 -		--backtitle "$BACKLIST" --clear \
  22.171 -		--extra-label "List" --extra-button \
  22.172 -		--colors --inputbox "$ASK_FOR_TARGET_DEV_MSG" 18 70 2>&1 1>&3`
  22.173 -	retval=$?
  22.174 -	exec 3>&-
  22.175 -	check_retval
  22.176 -	# Display list and come back.
  22.177 -	if [ "$retval" = "3" ]; then
  22.178 -		fdisk_list
  22.179 -		ask_for_target_dev
  22.180 -	fi
  22.181 -	# Empty value.
  22.182 -	if [ -z $TARGET_DEV ]; then
  22.183 -		ask_for_target_dev
  22.184 -	fi
  22.185 -	set_messages
  22.186 -	# Check if specified device exists in /proc/partitions.
  22.187 -	DEV_NAME=${TARGET_DEV#/dev/}
  22.188 -	if cat /proc/partitions | grep -q $DEV_NAME; then
  22.189 -		if [ "$DEV_NAME" = "$TARGET_DEV" ]; then
  22.190 -			TARGET_DEV="/dev/$DEV_NAME"
  22.191 -		fi
  22.192 -		echo "ask_for_target_dev: $TARGET_DEV" >>$LOG
  22.193 -	else
  22.194 -		ERROR_MSG="Partition \Z2$TARGET_DEV\Zn doesn't exist."
  22.195 -		error_message
  22.196 -		ask_for_target_dev
  22.197 -	fi
  22.198 -}
  22.199 -
  22.200 -# Mkfs if needed/wanted on /.
  22.201 -ask_for_mkfs_target_dev()
  22.202 -{
  22.203 -	$DIALOG --title " Format " \
  22.204 -		--backtitle "$BACKLIST" \
  22.205 -		--clear --colors --yesno "$ASK_FOR_MKFS_TARGET_DEV_MSG" 18 70
  22.206 -	retval=$?
  22.207 -	case $retval in
  22.208 -		0)
  22.209 -			MKFS_TARGET_DEV="ext3"
  22.210 -			echo "mkfs_target_dev: ext3" >>$LOG ;;
  22.211 -		1)
  22.212 -			CLEAN="clean"
  22.213 -			echo "mkfs_target_dev: clean" >>$LOG ;;
  22.214 -		255)
  22.215 -			echo -e "ESC pressed.\n" && exit 0 ;;
  22.216 -	esac
  22.217 -
  22.218 -}
  22.219 -
  22.220 -# We can have a separate partition for /home.
  22.221 -ask_for_home()
  22.222 -{
  22.223 -	exec 3>&1
  22.224 -	HOME_DEV=`$DIALOG --title " Home Partition " \
  22.225 -		--backtitle "$BACKLIST" --clear \
  22.226 -		--extra-label "List" --extra-button \
  22.227 -		--colors --inputbox "
  22.228 -On most GNU/Linux systems users personal files are stored in the directory \
  22.229 -/home. Home can be on a separate partition or another hard disk.
  22.230 -
  22.231 -\Z2Home partition to use (Optional):\Zn" 18 70 2>&1 1>&3`
  22.232 -	retval=$?
  22.233 -	exec 3>&-
  22.234 -	check_retval
  22.235 -	# Display list and come back.
  22.236 -	if [ "$retval" = "3" ]; then
  22.237 -		fdisk_list
  22.238 -		ask_for_home
  22.239 -	fi
  22.240 -	if [ -n "$HOME_DEV" ]; then
  22.241 -		# Check if specified device exists in /proc/partitions.
  22.242 -		DEV_NAME=${HOME_DEV#/dev/}
  22.243 -		if cat /proc/partitions | grep -q $DEV_NAME; then
  22.244 -			if [ "$DEV_NAME" = "$HOME_DEV" ]; then
  22.245 -				HOME_DEV="/dev/$DEV_NAME"
  22.246 -			fi
  22.247 -			echo "ask_for_home: $HOME_DEV" >>$LOG
  22.248 -		else
  22.249 -			ERROR_MSG="Partition \Z2$HOME_DEV\Zn doesn't exist."
  22.250 -			error_message
  22.251 -			ask_for_home
  22.252 -		fi
  22.253 -	fi
  22.254 -}
  22.255 -
  22.256 -# Mkfs if needed/wanted on /.
  22.257 -ask_for_mkfs_home()
  22.258 -{
  22.259 -	$DIALOG --title " Format " \
  22.260 -		--backtitle "$BACKLIST" \
  22.261 -		--clear --colors --yesno "
  22.262 -Here you can format the /home partition: $HOME_DEV
  22.263 -
  22.264 -SliTaz uses ext3 by default but another filesystem can be used if wanted, \
  22.265 -for this please adjust /etc/fstab after installation.
  22.266 -
  22.267 -\Z2Do you want to format (Option): $HOME_DEV\Zn" 18 70
  22.268 -	retval=$?
  22.269 -	case $retval in
  22.270 -		0)
  22.271 -			MKFS_HOME="ext3"
  22.272 -			echo "mkfs_home: ext3" >>$LOG ;;
  22.273 -		1)
  22.274 -			MKFS_HOME=""
  22.275 -			echo "mkfs_home: no" >>$LOG ;;
  22.276 -		255)
  22.277 -			echo -e "ESC pressed.\n" && exit 0 ;;
  22.278 -	esac
  22.279 -
  22.280 -}
  22.281 -
  22.282 -# Ask for hostname before installing files.
  22.283 -ask_for_hostname()
  22.284 -{
  22.285 -	exec 3>&1
  22.286 -	HOSTNAME=`$DIALOG --title " Hostname " \
  22.287 -		--backtitle "$BACKLIST" --clear \
  22.288 -		--colors --inputbox "$ASK_FOR_HOSTNAME_MSG" 18 70 "slitaz" 2>&1 1>&3`
  22.289 -	retval=$?
  22.290 -	exec 3>&-
  22.291 -	check_retval
  22.292 -	# Empty value.
  22.293 -	if [ -z $HOSTNAME ]; then
  22.294 -		HOSTNAME="slitaz"
  22.295 -	fi
  22.296 -}
  22.297 -
  22.298 -# Ask for root password and default user settings.
  22.299 -ask_for_users_settings()
  22.300 -{
  22.301 -	# Root passwd
  22.302 -	exec 3>&1
  22.303 -	ROOT_PASSWD=`$DIALOG --title " Root password " \
  22.304 -		--backtitle "$BACKLIST" --clear \
  22.305 -		--colors --nocancel --inputbox "
  22.306 -The root administrator privilege lets you manage and configure the full \
  22.307 -system. A root user can damage your system so you should always setup a \
  22.308 -strong password with special characters and/or numbers.
  22.309 -
  22.310 -\Z2Please specify the Root password for your new system:\Zn" 18 70 "root" 2>&1 1>&3`
  22.311 -	retval=$?
  22.312 -	exec 3>&-
  22.313 -	check_retval
  22.314 -	# Prevent empty value.
  22.315 -	if [ -z $ROOT_PASSWD ]; then
  22.316 -		ROOT_PASSWD="root"
  22.317 -	fi
  22.318 -	# Default user
  22.319 -	exec 3>&1
  22.320 -	USER=`$DIALOG --title " User name " \
  22.321 -		--backtitle "$BACKLIST" --clear \
  22.322 -		--colors --nocancel --inputbox "
  22.323 -The default user for the system will have their personal files stored \
  22.324 -in /home/*user* (and will be automatically added to the audio group).
  22.325 -
  22.326 -\Z2Default user name login:\Zn" 18 70 "tux" 2>&1 1>&3`
  22.327 -	retval=$?
  22.328 -	exec 3>&-
  22.329 -	check_retval
  22.330 -	# Prevent empty value.
  22.331 -	if [ -z $USER ]; then
  22.332 -		USER="tux"
  22.333 -	fi
  22.334 -	# User passwd
  22.335 -	exec 3>&1
  22.336 -	USER_PASSWD=`$DIALOG --title " User password " \
  22.337 -		--backtitle "$BACKLIST" --clear \
  22.338 -		--colors --nocancel --inputbox "
  22.339 -The password for default user $USER. It may be a security risk if too \
  22.340 -weak and should always be strong if you use a SSH connection through the web.
  22.341 -
  22.342 -\Z2Please specify $USER password:\Zn" 18 70 "tux" 2>&1 1>&3`
  22.343 -	retval=$?
  22.344 -	exec 3>&-
  22.345 -	check_retval
  22.346 -	# Prevent empty value.
  22.347 -	if [ -z $USER_PASSWD ]; then
  22.348 -		USER_PASSWD="tux"
  22.349 -	fi
  22.350 -}
  22.351 -
  22.352 -# Tiny summary and last chance to cancel or restart for user.
  22.353 -summary()
  22.354 -{
  22.355 -	$DIALOG --title " Summary " \
  22.356 -		--backtitle "$BACKLIST" \
  22.357 -		--clear --colors --yesno "
  22.358 -Installation settings summary and last chance to cancel or restart all \
  22.359 -installation steps.
  22.360 -
  22.361 -Root partition: $TARGET_DEV
  22.362 -Home partition: $HOME_DEV
  22.363 -Hostname: $HOSTNAME
  22.364 -Default user: $USER
  22.365 -
  22.366 -\Z2Go and install SliTaz or cancel?\Zn" 18 70
  22.367 -	retval=$?
  22.368 -	check_retval
  22.369 -}
  22.370 -
  22.371 -# Mount and mkfs with progress.
  22.372 -prepare_partitions()
  22.373 -{
  22.374 -	(
  22.375 -	echo "XXX" && echo 30
  22.376 -	echo -e "\nPreparing target partition..."
  22.377 -	echo "XXX"
  22.378 -	# Mount point can be already used.
  22.379 -	if mount | grep -q $TARGET_ROOT; then
  22.380 -		umount $TARGET_ROOT 2>$LOG
  22.381 -	fi
  22.382 -	sleep 2
  22.383 -
  22.384 -	if [ "$MKFS_TARGET_DEV" == "ext3" ]; then
  22.385 -		echo "XXX" && echo 50
  22.386 -		echo -e "\nExecuting mkfs.ext3 on $TARGET_DEV"
  22.387 -		echo "XXX"
  22.388 -		mkfs.ext3 $TARGET_DEV >>$LOG 2>>$LOG
  22.389 -	else
  22.390 -		echo "XXX" && echo 50
  22.391 -		echo -e "\nThe partition ($TARGET_DEV) will be cleaned..."
  22.392 -		echo "XXX"
  22.393 -		sleep 2
  22.394 -	fi
  22.395 -
  22.396 -	if [ "$MKFS_HOME" == "ext3" ]; then
  22.397 -		echo "XXX" && echo 70
  22.398 -		echo -e "\nExecuting mkfs.ext3 on $HOME_DEV"
  22.399 -		echo "XXX"
  22.400 -		mkfs.ext3 -L "Home" $HOME_DEV >>$LOG 2>>$LOG
  22.401 -	else
  22.402 -		echo "XXX" && echo 70
  22.403 -		echo -e "\nThe partition ($HOME_DEV) will be kept..."
  22.404 -		echo "XXX"
  22.405 -		sleep 2
  22.406 -	fi
  22.407 -
  22.408 -	echo "XXX" && echo 90
  22.409 -	echo -e "\nCreating mount point: $TARGET_ROOT"
  22.410 -	echo "XXX"
  22.411 -	mkdir -p $TARGET_ROOT
  22.412 -	sleep 2
  22.413 -
  22.414 -	) |
  22.415 -	$DIALOG --title " Prepare the target " \
  22.416 -		--backtitle "$BACKLIST" \
  22.417 -		--gauge "Target in preparation..." 18 70 0
  22.418 -	# Mount target.
  22.419 -	mount $TARGET_DEV $TARGET_ROOT >>$LOG 2>>$LOG
  22.420 -}
  22.421 -
  22.422 -# Get a clean target device (15%).
  22.423 -clean_target()
  22.424 -{
  22.425 -	if [ "$CLEAN" == "clean" ]; then
  22.426 -		echo "XXX" && echo 15
  22.427 -		echo -e "\nCleaning the root partition ($TARGET_DEV)"
  22.428 -		echo "XXX"
  22.429 -		# Keep /home in case of reinstall.
  22.430 -		cd $TARGET_ROOT
  22.431 -		for dir in *
  22.432 -		do
  22.433 -			case "$dir" in
  22.434 -				home)
  22.435 -					mv $TARGET_ROOT/home $TARGET_ROOT/home.bak
  22.436 -					echo "keeping /home found on: $TARGET_DEV" >>$LOG ;;
  22.437 -				lost+found)
  22.438 -					continue ;;
  22.439 -				*)
  22.440 -					echo "removing target: $dir" >>$LOG
  22.441 -					rm -rf $dir 2>>$LOG ;;
  22.442 -			esac
  22.443 -		done
  22.444 -		if [ -d $TARGET_ROOT/mklost+found ]; then
  22.445 -			mklost+found 2>>$LOG
  22.446 -		fi
  22.447 -	fi
  22.448 -	sleep 2
  22.449 -}
  22.450 -
  22.451 -# Kernel is renamed to standard vmlinuz-$VERSION.
  22.452 -install_kernel()
  22.453 -{
  22.454 -	mkdir -p $TARGET_ROOT/boot
  22.455 -	cp /media/cdrom/boot/bzImage $TARGET_ROOT/boot/$KERNEL
  22.456 -	echo "install_kernel: $KERNEL" >> $LOG
  22.457 -	sleep 2
  22.458 -}
  22.459 -
  22.460 -# Copy isolinux r/w files (not syslinux, some files are read only).
  22.461 -copy_bootloaders()
  22.462 -{
  22.463 -	if [ -d "/media/cdrom/boot/isolinux" ]; then
  22.464 -		mkdir -p $TARGET_ROOT/boot/isolinux
  22.465 -		cp -a /media/cdrom/boot/isolinux/*.cfg $TARGET_ROOT/boot/isolinux
  22.466 -		cp -a /media/cdrom/boot/isolinux/*.kbd $TARGET_ROOT/boot/isolinux
  22.467 -		cp -a /media/cdrom/boot/isolinux/*.txt $TARGET_ROOT/boot/isolinux
  22.468 -		cp -a /media/cdrom/boot/isolinux/*.bin $TARGET_ROOT/boot/isolinux
  22.469 -		cp -a /media/cdrom/boot/isolinux/*.msg $TARGET_ROOT/boot/isolinux
  22.470 -		cp -a /media/cdrom/boot/isolinux/*.lss $TARGET_ROOT/boot/isolinux
  22.471 -		cp -a /media/cdrom/boot/isolinux/*.c32 $TARGET_ROOT/boot/isolinux
  22.472 -	fi
  22.473 -}
  22.474 -
  22.475 -# Extract lzma'ed or gziped rootfs.
  22.476 -extract_rootfs()
  22.477 -{
  22.478 -	cd $TARGET_ROOT
  22.479 -	(zcat rootfs.gz 2>/dev/null || lzma d rootfs.gz -so || \
  22.480 -	 cat rootfs.gz) 2>>$LOG | cpio -id 2>>$LOG > /dev/null
  22.481 -	rm -f rootfs.gz
  22.482 -	# unpack /usr (double check...)
  22.483 -	if ls etc/tazlito | grep -q ".extract"; then
  22.484 -		for i in etc/tazlito/*.extract; do
  22.485 -			[ -f "$i" ] && . $i /media/cdrom
  22.486 -		done
  22.487 -	fi
  22.488 -}
  22.489 -
  22.490 -# Pre configure freshly installed system (60 - 80%).
  22.491 -pre_config_system()
  22.492 -{
  22.493 -	cd $TARGET_ROOT
  22.494 -	# Restore backup of existing /home if exists.
  22.495 -	# (created by prepare_target_dev)
  22.496 -	if [ -d home.bak ]; then
  22.497 -		echo "XXX" && echo 65
  22.498 -		echo -e "\nRestoring directory: /home..."
  22.499 -		echo "XXX"
  22.500 -		rm -rf home
  22.501 -		mv home.bak home
  22.502 -		sleep 1
  22.503 -	fi
  22.504 -	# Add root device to CHECK_FS in rcS.conf to check filesystem
  22.505 -	# on each boot.
  22.506 -	echo "XXX" && echo 70
  22.507 -	echo -e "\nAdding $TARGET_DEV and CHECK_FS to file /etc/rcS.conf..."
  22.508 -	echo "XXX"
  22.509 -	sed -i s#'CHECK_FS=\"\"'#"CHECK_FS=\"$TARGET_DEV\""# etc/rcS.conf
  22.510 -	sleep 2
  22.511 -	# Set hostname.
  22.512 -	echo "XXX" && echo 80
  22.513 -	echo -e "\nConfiguring host name: $HOSTNAME"
  22.514 -	echo "XXX"
  22.515 -	echo $HOSTNAME > etc/hostname
  22.516 -}
  22.517 -
  22.518 -# Set root passwd and create user after rootfs extraction.
  22.519 -users_settings()
  22.520 -{
  22.521 -	cat > $TARGET_ROOT/users.sh << _EOF_
  22.522 -#!/bin/sh
  22.523 -echo "root:$ROOT_PASSWD" | chpasswd
  22.524 -adduser -D -H $USER
  22.525 -addgroup $USER audio
  22.526 -echo "$USER:$USER_PASSWD" | chpasswd
  22.527 -if [ ! -d /home/$USER ]; then
  22.528 -	cp -a /etc/skel /home/$USER
  22.529 -	chown -R $USER.$USER /home/$USER
  22.530 -	# Path for user desktop files.
  22.531 -	for i in /home/$USER/.local/share/applications/*.desktop
  22.532 -	do
  22.533 -		sed -i s/"user_name"/"$USER"/g \$i
  22.534 -	done
  22.535 -fi
  22.536 -# Slim default user.
  22.537 -if [ -f /etc/slim.conf ]; then
  22.538 -	sed -i s/"default_user .*"/"default_user        $USER"/ \
  22.539 -		/etc/slim.conf
  22.540 -fi
  22.541 -_EOF_
  22.542 -	chmod +x $TARGET_ROOT/users.sh
  22.543 -	chroot $TARGET_ROOT ./users.sh
  22.544 -	rm $TARGET_ROOT/users.sh
  22.545 -}
  22.546 -
  22.547 -# /home can be on a separate partition. If default user exist in /home
  22.548 -# we remove default file crated by users_settings().
  22.549 -home_config()
  22.550 -{
  22.551 -	echo "home_config: $HOME_DEV" >> $LOG
  22.552 -	cd $TARGET_ROOT
  22.553 -	mv home/$USER tmp
  22.554 -	mount $HOME_DEV home
  22.555 -	if [ -d $TARGET_ROOT/home/$USER ]; then
  22.556 -		rm -rf tmp/$USER
  22.557 -	else
  22.558 -		mv tmp/$USER home
  22.559 -	fi
  22.560 -	echo "$HOME_DEV       /home        ext3    defaults          0       2" \
  22.561 -		>> etc/fstab
  22.562 -	umount home
  22.563 -}
  22.564 -
  22.565 -# Determine GRUB partition number and GRUB disk number.
  22.566 -grub_config()
  22.567 -{
  22.568 -	DISK_LETTER=${TARGET_DEV#/dev/[h-s]d}
  22.569 -	DISK_LETTER=${DISK_LETTER%[0-9]}
  22.570 -	GRUB_PARTITION=$((${TARGET_DEV#/dev/[h-s]d[a-z]}-1))
  22.571 -	for disk in a b c d e f g h
  22.572 -	do
  22.573 -		nb=$(($nb+1))
  22.574 -		if [ "$disk" = "$DISK_LETTER" ]; then
  22.575 -			GRUB_DISK=$(($nb-1))
  22.576 -			break
  22.577 -		fi
  22.578 -	done
  22.579 -	GRUB_ROOT="(hd${GRUB_DISK},${GRUB_PARTITION})"
  22.580 -	# Create the target GRUB configuration.
  22.581 -	mkdir -p $TARGET_ROOT/boot/grub
  22.582 -	cat > $TARGET_ROOT/boot/grub/menu.lst << _EOF_
  22.583 -# /boot/grub/menu.lst: GRUB boot loader configuration.
  22.584 -#
  22.585 -
  22.586 -# By default, boot the first entry.
  22.587 -default 0
  22.588 -
  22.589 -# Boot automatically after 8 secs.
  22.590 -timeout 8
  22.591 -
  22.592 -# Change the colors.
  22.593 -color yellow/brown light-green/black
  22.594 -
  22.595 -# For booting SliTaz from : $TARGET_DEV
  22.596 -#
  22.597 -title SliTaz GNU/Linux (cooking) (Kernel $KERNEL)
  22.598 -root $GRUB_ROOT
  22.599 -kernel /boot/$KERNEL root=$TARGET_DEV
  22.600 -
  22.601 -_EOF_
  22.602 -	# log
  22.603 -	echo "grub_config: $TARGET_ROOT/boot/grub/menu.lst" >>$LOG
  22.604 -	sleep 2
  22.605 -}
  22.606 -
  22.607 -# Files install with gauge, calling for functions or with cmds.
  22.608 -install_files()
  22.609 -{
  22.610 -	(
  22.611 -
  22.612 -	echo "XXX" && echo 10
  22.613 -	echo -e "\nCleaning the root partition if necessary..."
  22.614 -	echo "XXX"
  22.615 -	clean_target
  22.616 -
  22.617 -	echo "XXX" && echo 20
  22.618 -	echo -e "\nInstalling the kernel ($KERNEL)"
  22.619 -	echo "XXX"
  22.620 -	install_kernel
  22.621 -
  22.622 -	echo "XXX" && echo 30
  22.623 -	echo -e "\nCopying the bootloader syslinux/isolinux..."
  22.624 -	echo "XXX"
  22.625 -	copy_bootloaders
  22.626 -
  22.627 -	echo "XXX" && echo 40
  22.628 -	echo -e "\nCopying the compressed system (rootfs.gz)..."
  22.629 -	echo "XXX"
  22.630 -	cp /media/cdrom/boot/rootfs.gz $TARGET_ROOT
  22.631 -	sleep 2
  22.632 -
  22.633 -	echo "XXX" && echo 50
  22.634 -	echo -e "\nExtracting the root system..."
  22.635 -	echo "XXX"
  22.636 -	extract_rootfs
  22.637 -
  22.638 -	echo "XXX" && echo 60
  22.639 -	echo -e "\nPreconfiguring the system..."
  22.640 -	echo "XXX"
  22.641 -	pre_config_system
  22.642 -
  22.643 -	echo "XXX" && echo 70
  22.644 -	echo -e "\nConfiguring root and default $USER account..."
  22.645 -	echo "XXX"
  22.646 -	users_settings
  22.647 -	sleep 2
  22.648 -
  22.649 -	if [ "$HOME_DEV" != "" ]; then
  22.650 -		echo "XXX" && echo 80
  22.651 -		echo -e "\nConfiguring $HOME_DEV to be used as /home..."
  22.652 -		echo "XXX"
  22.653 -		home_config
  22.654 -		sleep 2
  22.655 -	fi
  22.656 -
  22.657 -	echo "XXX" && echo 90
  22.658 -	echo -e "\nCreating the configuration file for GRUB (menu.lst)..."
  22.659 -	echo "XXX"
  22.660 -	grub_config
  22.661 -
  22.662 -	echo "XXX" && echo 100
  22.663 -	echo -e "\nFinishing the files installation..."
  22.664 -	echo "XXX"
  22.665 -	echo "install_files: OK" >>$LOG
  22.666 -	sleep 2
  22.667 -
  22.668 -	) |
  22.669 -	$DIALOG --title " Install files " \
  22.670 -		--backtitle "$BACKLIST" \
  22.671 -		--gauge "Starting to install files..." 18 70 0
  22.672 -}
  22.673 -
  22.674 -# GRUB info with disk name used for grub-install.
  22.675 -grub_install()
  22.676 -{
  22.677 -	TARGET_DISK=`echo $TARGET_DEV | sed s/"[0-9]"/''/`
  22.678 -	set_messages
  22.679 -	$DIALOG --title " GRUB install " \
  22.680 -		--backtitle "$BACKLIST" \
  22.681 -		--clear --colors --yesno "$GRUB_INSTALL_MSG" 18 70
  22.682 -	retval=$?
  22.683 -	case $retval in
  22.684 -		0)
  22.685 -			(
  22.686 -			echo "XXX" && echo 50
  22.687 -			echo -e "\nRunning grub-install on : $TARGET_DISK"
  22.688 -			echo "XXX"
  22.689 -			grub-install --no-floppy \
  22.690 -				--root-directory=$TARGET_ROOT $TARGET_DISK 2>>$LOG
  22.691 -			echo "XXX" && echo 100
  22.692 -			echo -e "\nFinished installation..."
  22.693 -			echo "XXX"
  22.694 -			sleep 2
  22.695 -			) |
  22.696 -			$DIALOG --title " GRUB install " \
  22.697 -				--backtitle "$BACKLIST" \
  22.698 -				--gauge "Installing GRUB..." 18 70 0 ;;
  22.699 -		1)
  22.700 -			echo "grub_install: NO" >>$LOG ;;
  22.701 -		255)
  22.702 -			echo -e "ESC pressed.\n" && exit 0 ;;
  22.703 -	esac
  22.704 -}
  22.705 -
  22.706 -# Copy log file, umount target and eject cdrom.
  22.707 -umount_devices()
  22.708 -{
  22.709 -	(
  22.710 -	echo "XXX" && echo 25
  22.711 -	echo -e "\nCopying the log files ($LOG)"
  22.712 -	echo "XXX"
  22.713 -	cp -a $LOG $TARGET_ROOT/var/log
  22.714 -	sleep 2
  22.715 -	echo "XXX" && echo 50
  22.716 -	echo -e "\nUnmounting the target ($TARGET_DEV)"
  22.717 -	echo "XXX"
  22.718 -	if mount | grep -q $TARGET_ROOT; then
  22.719 -		umount $TARGET_ROOT 2>/dev/null
  22.720 -	fi
  22.721 -	echo "XXX" && echo 75
  22.722 -	echo -e "\nUnmounting and ejecting the cdrom..."
  22.723 -	echo "XXX"
  22.724 -	if mount | grep -q /media/cdrom; then
  22.725 -		umount /media/cdrom
  22.726 -		grep -q slitaz-loram-cdrom /etc/init.d/rcS || eject
  22.727 -	fi
  22.728 -	sleep 2
  22.729 -	echo "XXX" && echo 100
  22.730 -	echo -e "\n$TITLE..."
  22.731 -	echo "XXX"
  22.732 -	sleep 2
  22.733 -	) |
  22.734 -	$DIALOG --title " $TITLE " \
  22.735 -		--backtitle "$BACKLIST" \
  22.736 -		--gauge "$TITLE starting..." 18 70 0
  22.737 -}
  22.738 -
  22.739 -# End of installation.
  22.740 -end_of_install()
  22.741 -{
  22.742 -	echo "end_of_install: `date`" >>$LOG
  22.743 -	$DIALOG --title " Installation complete " \
  22.744 -		--backtitle "$BACKLIST" \
  22.745 -		--yes-label "Exit" \
  22.746 -		--no-label "Reboot" \
  22.747 -		--clear --colors --yesno "$END_OF_INSTALL_MSG" 18 70
  22.748 -	retval=$?
  22.749 -	case $retval in
  22.750 -	0)
  22.751 -		TITLE="Exiting"
  22.752 -		umount_devices ;;
  22.753 -	1)
  22.754 -		TITLE="Rebooting"
  22.755 -		umount_devices
  22.756 -		reboot || reboot -f ;;
  22.757 -	255)
  22.758 -		echo -e "ESC pressed.\n" && exit 0 ;;
  22.759 -esac
  22.760 -}
  22.761 -
  22.762 -#####################
  22.763 -# Upgrade functions #
  22.764 -#####################
  22.765 -
  22.766 -# We need a partition to upgrade SliTaz.
  22.767 -ask_for_upgrade_dev()
  22.768 -{
  22.769 -	exec 3>&1
  22.770 -	UPGRADE_DEV=`$DIALOG --title " Target to upgrade " \
  22.771 -		--backtitle "$BACKLIST" --clear \
  22.772 -		--extra-label "List" --extra-button \
  22.773 -		--colors --inputbox "\n
  22.774 -The installer will upgrade the target by saving all configuration files and \
  22.775 -the list of installed packages. Then, it will clean the partition and install the \
  22.776 -version of SliTaz contained on the cdrom, restore the configuration files and \
  22.777 -reinstall any packages which are not present on the cdrom. You will need an active \
  22.778 -internet connection before upgrading.\n\n
  22.779 -\Z2Partition containing the system upgrade:\Zn" 18 70 2>&1 1>&3`
  22.780 -	retval=$?
  22.781 -	exec 3>&-
  22.782 -	check_retval
  22.783 -	# Display list and come back.
  22.784 -	if [ "$retval" = "3" ]; then
  22.785 -		fdisk_list
  22.786 -		ask_for_upgrade_dev
  22.787 -	fi
  22.788 -	# Empty value.
  22.789 -	if [ -z $UPGRADE_DEV ]; then
  22.790 -		ask_for_upgrade_dev
  22.791 -	fi
  22.792 -	# Check if specified device exists in /proc/partitions.
  22.793 -	DEV_NAME=${UPGRADE_DEV#/dev/}
  22.794 -	if cat /proc/partitions | grep -q $DEV_NAME; then
  22.795 -		echo "ask_for_target_dev: $TARGET_DEV" >>$LOG
  22.796 -	else
  22.797 -		ERROR_MSG="The partition \Z2$UPGRADE_DEV\Zn doesn't seem to exist."
  22.798 -		error_message
  22.799 -		ask_for_upgrade_dev
  22.800 -	fi
  22.801 -	echo "partition to upgrade: $UPGRADE_DEV" >>$LOG
  22.802 -}
  22.803 -
  22.804 -# Prepare the partition to upgrade, backup, install, restore configs
  22.805 -# and reinstall pkgs.
  22.806 -upgrade_process()
  22.807 -{
  22.808 -	(
  22.809 -	echo "XXX" && echo 5
  22.810 -	echo -e "\nPreparing the target partition..."
  22.811 -	echo "XXX"
  22.812 -	# Mount point can be already used.
  22.813 -	if mount | grep -q $TARGET_ROOT; then
  22.814 -		umount $TARGET_ROOT 2>$LOG
  22.815 -	fi
  22.816 -	mkdir -p $TARGET_ROOT && sleep 2
  22.817 -	# Mount target.
  22.818 -	mount $UPGRADE_DEV $TARGET_ROOT >>$LOG 2>>$LOG
  22.819 -	cd $TARGET_ROOT
  22.820 -	TARGET_DEV=$UPGRADE_DEV
  22.821 -	set_messages
  22.822 -
  22.823 -	echo "XXX" && echo 10
  22.824 -	echo -e "\nSearch for /etc/slitaz-release"
  22.825 -	echo "XXX"
  22.826 -	if [ -f etc/slitaz-release ]; then
  22.827 -		release=`cat etc/slitaz-release`
  22.828 -		echo "XXX" && echo 15
  22.829 -		echo -e "\nSliTaz release: $release"
  22.830 -		echo "XXX"
  22.831 -	else
  22.832 -		ERROR_MSG="The partition \Z2$UPGRADE_DEV\Zn doesn't appear to contain \
  22.833 -a SliTaz system, the file: /etc/slitaz-release doesn't exist."
  22.834 -		error_message
  22.835 -		exit 0
  22.836 -	fi && sleep 2
  22.837 -
  22.838 -	echo "XXX" && echo 20
  22.839 -	echo -e "\nBackup /etc, /home and the packages list..."
  22.840 -	echo "XXX"
  22.841 -	# Backup target packages list.
  22.842 -	ls -1 var/lib/tazpkg/installed > home/packages-selection.list
  22.843 -	for dir in *
  22.844 -	do
  22.845 -		case "$dir" in
  22.846 -			boot)
  22.847 -				# Upgrade doesn't prompt for grub install, so backup and
  22.848 -				# create a new grub menu.lst.
  22.849 -				rm -rf $TARGET_ROOT/boot/vmlinuz-*
  22.850 -				mv $TARGET_ROOT/boot/grub/menu.lst \
  22.851 -					$TARGET_ROOT/boot/grub/menu.lst.bak 2>/dev/null
  22.852 -				grub_config ;;
  22.853 -			home)
  22.854 -				mv $TARGET_ROOT/home $TARGET_ROOT/home.bak
  22.855 -				echo "keeping /home found on: $UPGRADE_DEV" >>$LOG ;;
  22.856 -			etc)
  22.857 -				tar czf $TARGET_ROOT/etc.tar.gz etc
  22.858 -				mv $TARGET_ROOT/etc $TARGET_ROOT/etc.bak
  22.859 -				echo "keeping /etc found on: $UPGRADE_DEV" >>$LOG ;;
  22.860 -			var)
  22.861 -				if [ -d $TARGET_ROOT/var/www ]; then
  22.862 -					mv $TARGET_ROOT/var/www $TARGET_ROOT/www.bak
  22.863 -				fi
  22.864 -				rm -rf $TARGET_ROOT/var ;;
  22.865 -			lost+found)
  22.866 -				continue ;;
  22.867 -			*)
  22.868 -				echo "removing target: $dir" >>$LOG
  22.869 -				rm -rf $TARGET_ROOT/$dir 2>>$LOG ;;
  22.870 -		esac
  22.871 -	done
  22.872 -	if [ -d $TARGET_ROOT/mklost+found ]; then
  22.873 -		mklost+found 2>>$LOG
  22.874 -	fi
  22.875 -	sleep 2
  22.876 -
  22.877 -	echo "XXX" && echo 25
  22.878 -	echo -e "\nInstalling the kernel ($KERNEL)"
  22.879 -	echo "XXX"
  22.880 -	install_kernel
  22.881 -
  22.882 -	echo "XXX" && echo 30
  22.883 -	echo -e "\nCopying the bootloader syslinux/isolinux..."
  22.884 -	echo "XXX"
  22.885 -	copy_bootloaders
  22.886 -
  22.887 -	echo "XXX" && echo 35
  22.888 -	echo -e "\nCopying the compressed system (rootfs.gz)..."
  22.889 -	echo "XXX"
  22.890 -	cp /media/cdrom/boot/rootfs.gz $TARGET_ROOT
  22.891 -	sleep 2
  22.892 -
  22.893 -	echo "XXX" && echo 40
  22.894 -	echo -e "\nExtracting the root system..."
  22.895 -	echo "XXX"
  22.896 -	extract_rootfs
  22.897 -
  22.898 -	# Restore backups.
  22.899 -	echo "XXX" && echo 42
  22.900 -	echo -e "\nRestoring configuration files..."
  22.901 -	echo "XXX"
  22.902 -	rm -rf $TARGET_ROOT/home
  22.903 -	mv $TARGET_ROOT/home.bak $TARGET_ROOT/home
  22.904 -	rm -rf $TARGET_ROOT/etc
  22.905 -	mv $TARGET_ROOT/etc.bak $TARGET_ROOT/etc
  22.906 -	if [ -d $TARGET_ROOT/www.bak ]; then
  22.907 -		rm -rf $TARGET_ROOT/var/www
  22.908 -		mv $TARGET_ROOT/www.bak $TARGET_ROOT/var/www
  22.909 -	fi
  22.910 -	echo "backups restored: `date`" >> $LOG
  22.911 -
  22.912 -	# /var/lib/slitaz-installer
  22.913 -	mkdir $TARGET_ROOT/var/lib/slitaz-installer
  22.914 -	mv $TARGET_ROOT/etc.tar.gz $TARGET_ROOT/var/lib/slitaz-installer
  22.915 -	mv $TARGET_ROOT/home/packages-selection.list $TARGET_ROOT/var/lib/slitaz-installer
  22.916 -	cd $TARGET_ROOT/var/lib/slitaz-installer
  22.917 -
  22.918 -	# LiveCD packages list.
  22.919 -	echo "XXX" && echo 46
  22.920 -	echo -e "\nCreating package lists..."
  22.921 -	echo "XXX"
  22.922 -	ls -1 $TARGET_ROOT/var/lib/tazpkg/installed > packages-cdrom.list || exit 1
  22.923 -	echo "packages-cdrom.list: done" >> $LOG
  22.924 -	# Diff
  22.925 -	diff packages-cdrom.list packages-selection.list | \
  22.926 -		grep ^+[a-z] | sed s/^+// > packages-selection.diff
  22.927 -	echo "packages-selection.diff: done" >> $LOG
  22.928 -	# Get mirror list.
  22.929 -	tazpkg recharge >>$LOG 2>>$LOG
  22.930 -	if [ ! -f /var/lib/tazpkg/packages.list ]; then
  22.931 -		ERROR_MSG="The list of available packages on the mirror could not be \
  22.932 -downloaded. No missing packages will be reinstalled now, but \
  22.933 -you can do so later by looking at the following list: \n\n
  22.934 -
  22.935 -/var/lib/slitaz-installer/packages-selection.diff"
  22.936 -		error_message
  22.937 -	fi
  22.938 -	sleep 2
  22.939 -
  22.940 -	# Check if the pkg is on the mirror.
  22.941 -	echo "XXX" && echo 48
  22.942 -	echo -e "\nChecking the availability of packages..."
  22.943 -	echo "XXX"
  22.944 -	touch packages-to-install.list
  22.945 -	packages=0
  22.946 -	diff=`cat packages-selection.diff | sort`
  22.947 -	for pkg in $diff
  22.948 -	do
  22.949 -		if grep -q ^$pkg-[0-9] /var/lib/tazpkg/packages.list; then
  22.950 -			packages=$(($packages+1))
  22.951 -			echo "$pkg" >> packages-to-install.list
  22.952 -		fi
  22.953 -	done
  22.954 -
  22.955 -	# Calculate the percent for one package and install.
  22.956 -	echo "XXX" && echo 50
  22.957 -	echo -e "\nInstalling any packages..."
  22.958 -	echo "XXX"
  22.959 -	sleep 2
  22.960 -	if [ "$packages" == "0" ]; then
  22.961 -		echo "packages to install: 0" >> $LOG
  22.962 -	else
  22.963 -		onepkg=$((48/$packages))
  22.964 -		pct=50
  22.965 -		# Get-install all missing pkgs.
  22.966 -		for pkg in `cat packages-to-install.list`
  22.967 -		do
  22.968 -			pct=$(($pct+$onepkg))
  22.969 -			echo "XXX" && echo $pct
  22.970 -			echo -e "\nInstallation of: $pkg..."
  22.971 -			echo "XXX"
  22.972 -			# Log please.
  22.973 -			echo "get-install: $pkg" >>$LOG
  22.974 -			# Get install package and answer yes in case of dependencies.
  22.975 -			pkgname=`grep ^$pkg /var/lib/tazpkg/packages.list`
  22.976 -			tazpkg get $pkg >/dev/null 2>/dev/null
  22.977 -			yes "" | tazpkg install $pkgname.tazpkg --root=$TARGET_ROOT >/dev/null 2>/dev/null
  22.978 -			rm -f $pkgname.tazpkg
  22.979 -		done
  22.980 -	fi
  22.981 -	echo "XXX" && echo 100
  22.982 -	echo -e "\nInstallation of packages complete..."
  22.983 -	echo "XXX"
  22.984 -	sleep 2
  22.985 -	) |
  22.986 -	$DIALOG --title " Processing system upgrade " \
  22.987 -		--backtitle "$BACKLIST" \
  22.988 -		--gauge "Target in preparation..." 18 70 0
  22.989 -}
  22.990 -
  22.991 -# End of system upgrade.
  22.992 -end_of_upgrade()
  22.993 -{
  22.994 -	TARGET_DEV=$UPGRADE_DEV
  22.995 -	set_messages
  22.996 -	pkgscd=`cat $TARGET_ROOT/var/lib/slitaz-installer/packages-cdrom.list | wc -l`
  22.997 -	pkginst=`cat $TARGET_ROOT/var/lib/slitaz-installer/packages-to-install.list | wc -l`
  22.998 -	echo "end_of_upgrade: `date`" >>$LOG
  22.999 -	$DIALOG --title " Upgrade completed " \
 22.1000 -		--backtitle "$BACKLIST" \
 22.1001 -		--yes-label "Exit" \
 22.1002 -		--no-label "Reboot" \
 22.1003 -		--clear --colors --yesno "\n
 22.1004 -Upgrade finished. You can now restart (reboot) \
 22.1005 -from your SliTaz GNU/Linux system.\n\n
 22.1006 -Packages on the cdrom      : $pkgscd\n
 22.1007 -Packages installed from the mirror : $pkginst\n" 18 70
 22.1008 -	retval=$?
 22.1009 -	case $retval in
 22.1010 -	0)
 22.1011 -		TITLE="Exiting"
 22.1012 -		umount_devices ;;
 22.1013 -	1)
 22.1014 -		TITLE="Rebooting"
 22.1015 -		umount_devices
 22.1016 -		reboot || reboot -f ;;
 22.1017 -	255)
 22.1018 -		echo -e "ESC pressed.\n" && exit 0 ;;
 22.1019 -esac
 22.1020 -}
 22.1021 -
 22.1022 -######################
 22.1023 -# Installer sequence #
 22.1024 -######################
 22.1025 -
 22.1026 -set_messages
 22.1027 -check_root
 22.1028 -start_installer
 22.1029 -
 22.1030 -case $ACTION in
 22.1031 -	upgrade)
 22.1032 -		BACKLIST="$BACKLIST (Upgrade)"
 22.1033 -		mount_cdrom
 22.1034 -		ask_for_upgrade_dev
 22.1035 -		upgrade_process
 22.1036 -		end_of_upgrade ;;
 22.1037 -	install|*)
 22.1038 -		mount_cdrom
 22.1039 -		ask_for_target_dev
 22.1040 -		ask_for_mkfs_target_dev
 22.1041 -		ask_for_home
 22.1042 -		if [ -n "$HOME_DEV" ]; then
 22.1043 -			ask_for_mkfs_home
 22.1044 -		fi
 22.1045 -		ask_for_hostname
 22.1046 -		ask_for_users_settings
 22.1047 -		summary
 22.1048 -		prepare_partitions
 22.1049 -		install_files
 22.1050 -		grub_install
 22.1051 -		end_of_install ;;
 22.1052 -esac
 22.1053 -
 22.1054 -exit 0
    23.1 --- a/core-xfce/rootfs/usr/bin/tazlito	Wed Feb 22 23:24:45 2012 +0100
    23.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.3 @@ -1,1825 +0,0 @@
    23.4 -#!/bin/sh
    23.5 -# TazLito - SliTaz Live Tool.
    23.6 -#
    23.7 -# Tazlito is a tool to help generate and configure SliTaz LiveCD
    23.8 -# ISO images. You can create a custom distro in one command from a list of
    23.9 -# packages, extract an existing ISO image to hack it, create a new initramfs
   23.10 -# and/or a new ISO. Most commands must be run by root, except the stats
   23.11 -# and the configuration file manipulation.
   23.12 -#
   23.13 -# (C) 2007-2010 SliTaz - GNU General Public License.
   23.14 -#
   23.15 -# Authors : Christophe Lincoln <pankso@slitaz.org>
   23.16 -#           Pascal Bellard <pascal.bellard@slitaz.org>
   23.17 -#
   23.18 -VERSION=2.0
   23.19 -
   23.20 -# Tazlito configuration variables to be shorter
   23.21 -# and to use words rather than numbers.
   23.22 -COMMAND=$1
   23.23 -LIST_NAME=$2
   23.24 -TMP_DIR=/tmp/tazlito-$$-$RANDOM
   23.25 -TMP_MNT=/media/tazlito-$$-$RANDOM
   23.26 -TOP_DIR=`pwd`
   23.27 -INITRAMFS=rootfs.gz
   23.28 -LOCALSTATE=/var/lib/tazpkg
   23.29 -INSTALLED=$LOCALSTATE/installed
   23.30 -CACHE_DIR=/var/cache/tazpkg
   23.31 -MIRROR=$LOCALSTATE/mirror
   23.32 -DEFAULT_MIRROR="http://mirror.slitaz.org/packages/`cat /etc/slitaz-release`/"
   23.33 -
   23.34 -# Try to include config file, continue if command is gen-config or exit.
   23.35 -# The main config used by default is in /etc/tazlito.
   23.36 -if [ -f "/etc/tazlito/tazlito.conf" ] ; then
   23.37 -	CONFIG_FILE="/etc/tazlito/tazlito.conf"
   23.38 -fi
   23.39 -# Specific distro config file can be put in a distro tree.
   23.40 -if [ -f "$TOP_DIR/tazlito.conf" ] ; then
   23.41 -	CONFIG_FILE="$TOP_DIR/tazlito.conf"
   23.42 -fi
   23.43 -if [ ! "$CONFIG_FILE" = "" ] ; then
   23.44 -	. $CONFIG_FILE
   23.45 -else
   23.46 -	if [ "$COMMAND" = "gen-config" ] ; then
   23.47 -		continue
   23.48 -	else
   23.49 -		echo "Unable to find any configuration file. Please read the docs"
   23.50 -		echo "or run '`basename $0` gen-config' to get an empty config file."
   23.51 -		exit 0
   23.52 -	fi
   23.53 -fi
   23.54 -
   23.55 -# While Tazpkg is not used the default mirror url file does not exist
   23.56 -# and user can't recharge the list of flavors.
   23.57 -if test $(id -u) = 0 ; then
   23.58 -	if [ ! -f "$MIRROR" ]; then
   23.59 -		echo "$DEFAULT_MIRROR" > $MIRROR
   23.60 -	fi
   23.61 -fi
   23.62 -
   23.63 -# Set the rootfs and rootcd path with $DISTRO
   23.64 -# configuration variable.
   23.65 -ROOTFS=$DISTRO/rootfs
   23.66 -ROOTCD=$DISTRO/rootcd
   23.67 -FLAVORS_REPOSITORY=/home/slitaz/flavors
   23.68 -
   23.69 -#####################
   23.70 -# Tazlito functions #
   23.71 -#####################
   23.72 -
   23.73 -# Print the usage.
   23.74 -usage ()
   23.75 -{
   23.76 -	echo -e "\nSliTaz Live Tool - Version: $VERSION\n
   23.77 -\033[1mUsage: \033[0m `basename $0` [command] [list|iso|flavor|compression] [dir|iso]
   23.78 -\033[1mCommands: \033[0m\n
   23.79 -  usage           Print this short usage.
   23.80 -  stats           View Tazlito and distro configuration statistics.
   23.81 -  gen-config      Generate a new configuration file for a distro.
   23.82 -  configure       Configure the main config file or a specific tazlito.conf.
   23.83 -  gen-iso         Generate a new ISO from a distro tree.
   23.84 -  gen-initiso     Generate a new initramfs and ISO from the distro tree.
   23.85 -  list-flavors    List all available package lists on the mirror.
   23.86 -  gen-flavor      Generate a new live-CD description.
   23.87 -  gen-liveflavor  Generate a live-CD description from current system.
   23.88 -  show-flavor     Show live-CD description.
   23.89 -  get-flavor      Get a flavor's list of packages.
   23.90 -  upgrade-flavor  Update package list to the latest available versions.
   23.91 -  extract-flavor  Extract a (*.flavor) flavor into $FLAVORS_REPOSITORY.
   23.92 -  pack-flavor     Pack (and update) a flavor from $FLAVORS_REPOSITORY.
   23.93 -  check-list      Check a distro-packages.list for updates.
   23.94 -  extract-distro  Extract an ISO to a directory and rebuild LiveCD tree.
   23.95 -  gen-distro      Generate a Live distro and ISO from a list of packages.
   23.96 -  clean-distro    Remove all files generated by gen-distro.
   23.97 -  check-distro    Help to check if distro is ready to release.
   23.98 -  writeiso        Use running system to generate a bootable ISO (with /home).
   23.99 -  merge           Merge multiple rootfs into one iso.
  23.100 -  repack          Recompress rootfs into iso with maximum ratio.
  23.101 -  frugal-install  Frugal install in /boot/frugal from a distro or ISO
  23.102 -  emu-iso         Emulate an ISO image with Qemu.
  23.103 -  burn-iso        Burn ISO image to a cdrom using Wodim.\n"
  23.104 -}
  23.105 -
  23.106 -# Status function.
  23.107 -status()
  23.108 -{
  23.109 -	local CHECK=$?
  23.110 -	echo -en "\\033[70G[ "
  23.111 -	if [ $CHECK = 0 ]; then
  23.112 -		echo -en "\\033[1;33mOK"
  23.113 -	else
  23.114 -		echo -en "\\033[1;31mFailed"
  23.115 -	fi
  23.116 -	echo -e "\\033[0;39m ]"
  23.117 -	return $CHECK
  23.118 -}
  23.119 -
  23.120 -yesorno()
  23.121 -{
  23.122 -	echo -n "$1"
  23.123 -	case "$DEFAULT_ANSWER" in
  23.124 -	Y|y) answer="y";;
  23.125 -	N|n) answer="n";;
  23.126 -	*) read answer;;
  23.127 -	esac
  23.128 -}
  23.129 -
  23.130 -field()
  23.131 -{
  23.132 -	grep "^$1" "$2" | sed 's/.*: \([0-9KMG\.]*\).*/\1/'
  23.133 -}
  23.134 -
  23.135 -todomsg()
  23.136 -{
  23.137 -	echo -e "\\033[70G[ \\033[1;31mTODO\\033[0;39m ]"
  23.138 -}
  23.139 -
  23.140 -# Download a file from this mirror
  23.141 -download_from()
  23.142 -{
  23.143 -	local i
  23.144 -	local mirrors
  23.145 -	mirrors="$1"
  23.146 -	shift
  23.147 -	for i in $mirrors; do
  23.148 -		case "$i" in
  23.149 -		http://*|ftp://*) wget -c $i$@ && break;;
  23.150 -		*) cp $i/$1 . && break;;
  23.151 -		esac
  23.152 -	done
  23.153 -}
  23.154 -
  23.155 -# Download a file trying all mirrors
  23.156 -download()
  23.157 -{
  23.158 -	local i
  23.159 -	for i in $(cat $MIRROR $LOCALSTATE/undigest/*/mirror 2> /dev/null); do
  23.160 -		download_from "$i" "$@" && break
  23.161 -	done
  23.162 -}
  23.163 -
  23.164 -# Execute hooks provided by some packages
  23.165 -genisohooks()
  23.166 -{
  23.167 -	local here=`pwd`
  23.168 -	for i in $(ls $ROOTFS/etc/tazlito/*.$1 2> /dev/null); do
  23.169 -		cd $ROOTFS
  23.170 -		. $i $ROOTCD
  23.171 -	done
  23.172 -	cd $here
  23.173 -}
  23.174 -
  23.175 -cleanup()
  23.176 -{
  23.177 -	if [ -d $TMP_MNT ]; then
  23.178 -		umount $TMP_MNT
  23.179 -		rmdir $TMP_MNT
  23.180 -		rm -f /boot
  23.181 -	fi
  23.182 -}
  23.183 -
  23.184 -# Echo the package name if the tazpkg is already installed
  23.185 -installed_package_name()
  23.186 -{
  23.187 -	local tazpkg
  23.188 -	local package
  23.189 -	local VERSION
  23.190 -	local EXTRAVERSION
  23.191 -	tazpkg=$1
  23.192 -	# Try to find package name and version to be able
  23.193 -	# to repack it from installation
  23.194 -	# A dash (-) can exist in name *and* in version
  23.195 -	package=${tazpkg%-*}
  23.196 -	i=$package
  23.197 -	while true; do
  23.198 -		VERSION=""
  23.199 -		eval $(grep -s ^VERSION= $INSTALLED/$i/receipt)
  23.200 -		EXTRAVERSION=""
  23.201 -		eval $(grep -s ^EXTRAVERSION= $INSTALLED/$i/receipt)
  23.202 -		if [ "$i-$VERSION$EXTRAVERSION" = "$tazpkg" ]; then
  23.203 -			echo $i
  23.204 -			break
  23.205 -		fi
  23.206 -		case "$i" in
  23.207 -		*-*);;
  23.208 -		*) break;;
  23.209 -		esac
  23.210 -		i=${i%-*}
  23.211 -	done
  23.212 -}
  23.213 -
  23.214 -# Check if user is root.
  23.215 -check_root()
  23.216 -{
  23.217 -	if test $(id -u) != 0 ; then
  23.218 -	   echo -e "\nYou must be root to run `basename $0` with this option."
  23.219 -	   echo -e "Please type 'su' and root password to become super-user.\n"
  23.220 -	   exit 0
  23.221 -	fi
  23.222 -}
  23.223 -
  23.224 -# Check for the rootfs tree.
  23.225 -check_rootfs()
  23.226 -{
  23.227 -	if [ ! -d "$ROOTFS/etc" ] ; then
  23.228 -		echo -e "\nUnable to find a distro rootfs...\n"
  23.229 -		exit 0
  23.230 -	fi
  23.231 -}
  23.232 -
  23.233 -# Check for the boot dir into the root CD tree.
  23.234 -verify_rootcd()
  23.235 -{
  23.236 -	if [ ! -d "$ROOTCD/boot" ] ; then
  23.237 -		echo -e "\nUnable to find the rootcd boot directory...\n"
  23.238 -		exit 0
  23.239 -	fi
  23.240 -}
  23.241 -
  23.242 -create_iso()
  23.243 -{
  23.244 -	genisoimage -R -o $1 -b boot/isolinux/isolinux.bin \
  23.245 - 		-c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
  23.246 -		-V "$VOLUM_NAME" -p "$PREPARED" -input-charset iso8859-1 \
  23.247 -		-boot-info-table $2
  23.248 -	if [ -x /usr/bin/isohybrid ]; then
  23.249 -		echo -n "Creating hybrid ISO..."
  23.250 -		/usr/bin/isohybrid $1 2> /dev/null
  23.251 -		status
  23.252 -	fi
  23.253 -}
  23.254 -
  23.255 -# Generate a new ISO image using isolinux.
  23.256 -gen_livecd_isolinux()
  23.257 -{
  23.258 -	# Some packages may want to alter iso
  23.259 -	genisohooks iso
  23.260 -	if [ ! -f "$ROOTCD/boot/isolinux/isolinux.bin" ]; then
  23.261 -		echo -e "\nUnable to find isolinux binary.\n"
  23.262 -		cleanup
  23.263 -		exit 0
  23.264 -	fi
  23.265 -	# Set date for boot msg.
  23.266 -	if grep -q 'XXXXXXXX' $ROOTCD/boot/isolinux/isolinux.msg; then
  23.267 -		DATE=`date +%Y%m%d`
  23.268 -		echo -n "Setting build date to: $DATE..."
  23.269 -		sed -i s/'XXXXXXXX'/"$DATE"/ $ROOTCD/boot/isolinux/isolinux.msg
  23.270 -		status
  23.271 -	fi
  23.272 -	cd $ROOTCD
  23.273 -	echo -n "Computing md5..."
  23.274 -	find * -type f ! -name md5sum -exec md5sum {} \; > md5sum
  23.275 -	status
  23.276 -	cd $DISTRO
  23.277 -	echo ""
  23.278 -	echo -e "\033[1mGenerating ISO image\033[0m"
  23.279 -	echo "================================================================================"
  23.280 -	create_iso $ISO_NAME.iso $ROOTCD
  23.281 -	echo -n "Creating the ISO md5sum..."
  23.282 -	md5sum $ISO_NAME.iso > $ISO_NAME.md5
  23.283 -	status
  23.284 -	echo "================================================================================"
  23.285 -	# Some packages may want to alter final iso
  23.286 -	genisohooks final
  23.287 -}
  23.288 -
  23.289 -lzma_history_bits()
  23.290 -{
  23.291 -	#
  23.292 -	# This genertae ISO who boot with Qemu but give
  23.293 -	# rootfs errors in frugal or liveUSB mode.
  23.294 -	#
  23.295 -	#local n
  23.296 -	#local sz
  23.297 -	#n=20	# 1Mb
  23.298 -	#sz=$(du -sk $1 | cut -f1)
  23.299 -	#while [ $sz -gt 1024 -a $n -lt 28 ]; do
  23.300 -		#n=$(( $n + 1 ))
  23.301 -		#sz=$(( $sz / 2 ))
  23.302 -	#done
  23.303 -	#echo $n
  23.304 -	echo 24
  23.305 -}
  23.306 -
  23.307 -lzma_switches()
  23.308 -{
  23.309 -	echo "-d$(lzma_history_bits $1) -mt$(grep ^processor < /proc/cpuinfo | wc -l)"
  23.310 -}
  23.311 -
  23.312 -# Pack rootfs
  23.313 -pack_rootfs()
  23.314 -{
  23.315 -	( cd $1 ; find . -print | cpio -o -H newc ) | \
  23.316 -	if [ "$COMPRESSION" = "none" ]; then
  23.317 -		echo "Generating uncompressed initramfs... "
  23.318 -		cat > $2
  23.319 -	elif [ -x /usr/bin/lzma -a "$COMPRESSION" != "gzip" ]; then
  23.320 -		echo -n "Generating lzma'ed initramfs... "
  23.321 -		lzma e -si -so $(lzma_switches $1) > $2
  23.322 -	else
  23.323 -		echo "Generating gziped initramfs... "
  23.324 -		gzip -9 > $2
  23.325 -	fi
  23.326 -	echo 1 > /tmp/rootfs
  23.327 -}
  23.328 -
  23.329 -# Compression functions for writeiso.
  23.330 -write_initramfs()
  23.331 -{
  23.332 -	if [ "$COMPRESSION" = "lzma" ]; then
  23.333 -		echo -n "Creating rootfs.gz with lzma compression... "
  23.334 -		cat /tmp/list | cpio -o -H newc | lzma e -si -so > /rootfs.gz
  23.335 -	elif [ "$COMPRESSION" = "gzip" ]; then
  23.336 -		echo "Creating rootfs.gz with gzip compression... "
  23.337 -		cat /tmp/list | cpio -o -H newc | gzip -9 > /rootfs.gz
  23.338 -	else
  23.339 -		echo "Creating rootfs.gz without compression... "
  23.340 -		cat /tmp/list | cpio -o -H newc > /rootfs.gz
  23.341 -	fi
  23.342 -	echo 1 > /tmp/rootfs
  23.343 -}
  23.344 -
  23.345 -# Generate a new initramfs from the root filesystem.
  23.346 -gen_initramfs()
  23.347 -{
  23.348 -	# Just in case CTRL+c
  23.349 -	rm -f $DISTRO/gen
  23.350 -	# Some packages may want to alter rootfs
  23.351 -	genisohooks rootfs
  23.352 -	cd $1
  23.353 -	echo ""
  23.354 -
  23.355 -        # Link duplicate files
  23.356 -        find . -type f -size +0c -exec stat -c '%s-%a-%u-%g %i %h %n' {} \; | \
  23.357 -           sort | ( save=0; old_attr=""; old_inode=""; old_link=""; old_file=""
  23.358 -           while read attr inode link file; do
  23.359 -               if [ "$attr" = "$old_attr" -a "$inode" != "$old_inode" ]; then
  23.360 -                   if cmp "$file" "$old_file" >/dev/null; then
  23.361 -                       rm -f "$file"
  23.362 -                       ln "$old_file" "$file"
  23.363 -                       inode="$old_inode"
  23.364 -                       [ "$link" = "1" ] && save="$(expr $save + ${attr%%-*})"
  23.365 -                   fi
  23.366 -               fi
  23.367 -               old_attr="$attr" ; old_inode="$inode" ; old_file="$file"
  23.368 -           done
  23.369 -           echo "$save bytes saved in duplicate files."
  23.370 -        )
  23.371 -
  23.372 -	# Use lzma if installed. Display rootfs size in realtime.
  23.373 -	rm -f /tmp/rootfs
  23.374 -	pack_rootfs . $DISTRO/$(basename $1).gz &
  23.375 -	sleep 2
  23.376 -	echo -en "\nFilesystem size:"
  23.377 -	while [ ! -f /tmp/rootfs ]
  23.378 -	do
  23.379 -		sleep 1
  23.380 -		echo -en "\\033[18G`du -sh $DISTRO/rootfs.gz | awk '{print $1}'`    "
  23.381 -	done
  23.382 -	echo -e "\n"
  23.383 -	cd $DISTRO
  23.384 -	mv $(basename $1).gz $ROOTCD/boot
  23.385 -}
  23.386 -
  23.387 -distro_sizes()
  23.388 -{
  23.389 -	echo "Build date      : `date +%Y%m%d\ \at\ \%H:%M:%S`"
  23.390 -	echo "Packages        : `ls -1 $ROOTFS*$INSTALLED/*/receipt | wc -l`"
  23.391 -	echo "Rootfs size     : `du -csh $ROOTFS*/ | awk '{ s=$1 } END { print s }'`"
  23.392 -	echo "Initramfs size  : `du -csh $ROOTCD/boot/rootfs*.gz | awk '{ s=$1 } END { print s }'`"
  23.393 -	echo "ISO image size  : `du -sh $ISO_NAME.iso | awk '{ print $1 }'`"
  23.394 -	echo "================================================================================"
  23.395 -	echo "Image is ready: $ISO_NAME.iso"
  23.396 -	echo ""
  23.397 -}
  23.398 -
  23.399 -# Print ISO and rootfs size.
  23.400 -distro_stats()
  23.401 -{
  23.402 -	echo ""
  23.403 -	echo -e "\033[1mDistro statistics\033[0m ($DISTRO)"
  23.404 -	echo "================================================================================"
  23.405 -	distro_sizes
  23.406 -}
  23.407 -
  23.408 -# Create an empty configuration file.
  23.409 -empty_config_file()
  23.410 -{
  23.411 -	cat >> tazlito.conf << "EOF"
  23.412 -# tazlito.conf: Tazlito (SliTaz Live Tool)
  23.413 -# configuration file.
  23.414 -#
  23.415 -
  23.416 -# Name of the ISO image to generate.
  23.417 -ISO_NAME=""
  23.418 -
  23.419 -# ISO image volume name.
  23.420 -VOLUM_NAME="SliTaz"
  23.421 -
  23.422 -# Name of the preparer.
  23.423 -PREPARED="$USER"
  23.424 -
  23.425 -# Path to the packages repository and the packages.list.
  23.426 -PACKAGES_REPOSITORY=""
  23.427 -
  23.428 -# Path to the distro tree to gen-distro from a
  23.429 -# list of packages.
  23.430 -DISTRO=""
  23.431 -
  23.432 -# Path to the directory containing additional files
  23.433 -# to copy into the rootfs and rootcd of the LiveCD.
  23.434 -ADDFILES="$DISTRO/addfiles"
  23.435 -
  23.436 -# Default answer for binary question (Y or N)
  23.437 -DEFAULT_ANSWER="ASK"
  23.438 -
  23.439 -# Compression utility (lzma, gzip or none)
  23.440 -COMPRESSION="lzma"
  23.441 -EOF
  23.442 -}
  23.443 -
  23.444 -# extract rootfs.gz somewhere
  23.445 -extract_rootfs()
  23.446 -{
  23.447 -	(zcat $1 || unlzma -c $1 || cat $1) 2>/dev/null | \
  23.448 -		(cd $2; cpio -idm > /dev/null)
  23.449 -}
  23.450 -
  23.451 -# Remove duplicate files
  23.452 -mergefs()
  23.453 -{
  23.454 -	echo -n "Merge $(basename $1) ($(du -hs $1 | awk '{ print $1}')) into "
  23.455 -	echo -n       "$(basename $2) ($(du -hs $2 | awk '{ print $1}'))"
  23.456 -	# merge symlinks files and devices
  23.457 -	( cd $1; find ) | while read file; do
  23.458 -		if [ -L $1/$file ]; then
  23.459 -			[ -L $2/$file ] &&
  23.460 -			[ "$(readlink $1/$file)" == "$(readlink $2/$file)" ] &&
  23.461 -			rm -f $2/$file
  23.462 -		elif [ -f $1/$file ]; then
  23.463 -			[ -f $2/$file ] &&
  23.464 -			cmp $1/$file $2/$file > /dev/null 2>&1 && rm -f $2/$file
  23.465 -			[ -f $2/$file ] && 
  23.466 -			[ "$(basename $file)" == "volatile.cpio.gz" ] &&
  23.467 -			[ "$(dirname $(dirname $file))" == \
  23.468 -			  "./var/lib/tazpkg/installed" ] && rm -f $2/$file
  23.469 -		elif [ -b $1/$file ]; then
  23.470 -			[ -b $2/$file ] && rm -f $2/$file
  23.471 -		elif [ -c $1/$file ]; then
  23.472 -			[ -c $2/$file ] && rm -f $2/$file
  23.473 -		fi
  23.474 -	done
  23.475 -	
  23.476 -	# cleanup directories
  23.477 -	( cd $1; find ) | while read file; do
  23.478 -		if [ -d $1/$file ]; then
  23.479 -			[ -d $2/$file ] && rmdir $2/$file 2> /dev/null
  23.480 -		fi
  23.481 -	done
  23.482 -	true
  23.483 -	status
  23.484 -}
  23.485 -
  23.486 -cleanup_merge()
  23.487 -{
  23.488 -	rm -rf $TMP_DIR
  23.489 -	exit 1
  23.490 -}
  23.491 -
  23.492 -human2cent()
  23.493 -{
  23.494 -case "$1" in
  23.495 -*k) echo $1 | sed 's/\(.*\).\(.\)k/\1\2/';;
  23.496 -*M) echo $(( $(echo $1 | sed 's/\(.*\).\(.\)M/\1\2/') * 1024));;
  23.497 -*G) echo $(( $(echo $1 | sed 's/\(.*\).\(.\)G/\1\2/') * 1024 * 1024));;
  23.498 -esac
  23.499 -}
  23.500 -
  23.501 -cent2human()
  23.502 -{
  23.503 -if [ $1 -lt 10000 ]; then
  23.504 -  echo "$(($1 / 10)).$(($1 % 10))k"
  23.505 -elif [ $1 -lt 10000000 ]; then
  23.506 -  echo "$(($1 / 10240)).$(( ($1/1024) % 10))M"
  23.507 -else
  23.508 -  echo "$(($1 / 10485760)).$(( ($1/1048576) % 10))G"
  23.509 -fi
  23.510 -}
  23.511 -
  23.512 -get_size()
  23.513 -{
  23.514 -cat /var/lib/tazpkg/packages.list $TMP_DIR/packages.list 2>/dev/null | awk "{ \
  23.515 -if (/^$(echo $1 | sed 's/[$+.\]/\\&/g')$/) get=1; \
  23.516 -if (/installed/ && get == 1) { print ; get++ } \
  23.517 -}
  23.518 -END { if (get < 2) print \" 0.0k  (0.0k installed)\" }" | \
  23.519 -sed 's/ *\(.*\) .\(.*\) installed./\1 \2/' | while read packed unpacked; do
  23.520 -  echo "$(human2cent $packed) $(human2cent $unpacked)"
  23.521 -done
  23.522 -}
  23.523 -
  23.524 -# Display package list with version, set packed_size and unpacked_size
  23.525 -get_pkglist()
  23.526 -{
  23.527 -packed_size=0; unpacked_size=0
  23.528 -grep -v ^#  $FLAVORS_REPOSITORY/$1/packages.list > $TMP_DIR/flavor.pkg
  23.529 -while read pkg; do
  23.530 -	set -- $(get_size $pkg)
  23.531 -	packed_size=$(( $packed_size + $1 ))
  23.532 -	unpacked_size=$(( $unpacked_size + $2 ))
  23.533 -	for i in $(grep -hs ^$pkg /var/lib/tazpkg/packages.list \
  23.534 -				  $TMP_DIR/packages.list); do
  23.535 -		echo $i
  23.536 -		break
  23.537 -	done
  23.538 -done < $TMP_DIR/flavor.pkg
  23.539 -rm -f $TMP_DIR/flavor.pkg
  23.540 -}
  23.541 -
  23.542 -# Update isolinux config files for multiple rootfs
  23.543 -update_bootconfig()	
  23.544 -{
  23.545 -	echo -n "Updating boot config files..."
  23.546 -	grep -l 'include common' $1/*.cfg | \
  23.547 -	while read file ; do
  23.548 -			awk -v n=$(echo $2 | awk '{ print NF/2 }') '{
  23.549 -if (/label/) label=$0;
  23.550 -else if (/kernel/) kernel=$0;
  23.551 -else if (/append/) {
  23.552 -	i=index($0,"rootfs.gz");
  23.553 -	append=substr($0,i+9);
  23.554 -}
  23.555 -else if (/include/) {
  23.556 -	for (i = 1; i <= n; i++) {
  23.557 -		print label i
  23.558 -		print kernel;
  23.559 -		initrd="initrd=/boot/rootfs" n ".gz"
  23.560 -		for (j = n - 1; j >= i; j--) {
  23.561 -			initrd=initrd ",/boot/rootfs" j ".gz";
  23.562 -		}
  23.563 -		printf "\tappend %s%s\n",initrd,append;
  23.564 -		print "";
  23.565 -	}
  23.566 -	print;
  23.567 -}
  23.568 -else print;
  23.569 -}' < $file > $file.$$
  23.570 -			mv -f $file.$$ $file
  23.571 -	done
  23.572 -	cat >> $1/common.cfg <<EOT
  23.573 -
  23.574 -label slitaz
  23.575 -	kernel /boot/isolinux/ifmem.c32
  23.576 -	append$(echo $2 | awk '{
  23.577 -  for (i=1; i<=NF; i++)
  23.578 -     if (i % 2 == 0) printf " slitaz%d",i/2
  23.579 -     else printf " %s",$i
  23.580 -}') noram
  23.581 -
  23.582 -label noram
  23.583 -	config noram.cfg
  23.584 -
  23.585 -EOT
  23.586 -	cat > $1/noram.cfg <<EOT
  23.587 -display isolinux.msg
  23.588 -say Not enough RAM to boot slitaz.
  23.589 -default reboot
  23.590 -label reboot
  23.591 -	com32 reboot.c32
  23.592 -
  23.593 -implicit 0
  23.594 -prompt 1
  23.595 -timeout 80
  23.596 -F1 help.txt
  23.597 -F2 options.txt
  23.598 -F3 isolinux.msg
  23.599 -F4 display.txt
  23.600 -F5 enhelp.txt
  23.601 -F6 enopts.txt
  23.602 -EOT
  23.603 -	status
  23.604 -}
  23.605 -
  23.606 -####################
  23.607 -# Tazlito commands #
  23.608 -####################
  23.609 -
  23.610 -case "$COMMAND" in
  23.611 -	stats)
  23.612 -		# Tazlito general statistics from the config file.
  23.613 -		#
  23.614 -		echo ""
  23.615 -		echo -e "\033[1mTazlito statistics\033[0m
  23.616 -===============================================================================
  23.617 -Config file         : $CONFIG_FILE
  23.618 -ISO name            : $ISO_NAME.iso
  23.619 -Volume name         : $VOLUM_NAME
  23.620 -Prepared            : $PREPARED
  23.621 -Packages repository : $PACKAGES_REPOSITORY
  23.622 -Distro directory    : $DISTRO"
  23.623 -		if [ ! "$ADDFILES" = "" ] ; then
  23.624 -			echo -e "Additional files    : $ADDFILES"
  23.625 -		fi
  23.626 -		echo "================================================================================"
  23.627 -		echo ""
  23.628 -	    ;;
  23.629 -	list-addfiles)
  23.630 -		# Simple list of additonal files in the rootfs
  23.631 -		echo ""
  23.632 -		cd $ADDFILES
  23.633 -		find rootfs -type f
  23.634 -		echo "" ;;
  23.635 -	gen-config)
  23.636 -		# Generate a new config file in the current dir or the specified
  23.637 -		# directory by $2.
  23.638 -		#
  23.639 -		if [ -n "$2" ] ; then
  23.640 -			mkdir -p $2 && cd $2
  23.641 -		fi
  23.642 -		echo -n "Generating empty tazlito.conf..."
  23.643 -		empty_config_file
  23.644 -		status
  23.645 -		echo ""
  23.646 -		if [ -f "tazlito.conf" ] ; then
  23.647 -			echo "Configuration file is ready to edit."
  23.648 -			echo "File location : `pwd`/tazlito.conf"
  23.649 -			echo ""
  23.650 -		fi
  23.651 -		;;
  23.652 -	configure)
  23.653 -		# Configure a tazlito.conf config file. Start by getting
  23.654 -		# a empty config file and sed it.
  23.655 -		#
  23.656 -		if [ -f "tazlito.conf" ] ; then
  23.657 -			rm tazlito.conf
  23.658 -		else
  23.659 -			if test $(id -u) = 0 ; then
  23.660 -				cd /etc
  23.661 -			else
  23.662 -				echo "You must be root to configure the main config file or in"
  23.663 -				echo "the same directory of the file you want to configure."
  23.664 -				exit 0
  23.665 -			fi
  23.666 -		fi
  23.667 -		empty_config_file
  23.668 -		echo""
  23.669 -		echo -e "\033[1mConfiguring :\033[0m `pwd`/tazlito.conf"
  23.670 -		echo "================================================================================"
  23.671 -		# ISO name.
  23.672 -		echo -n "ISO name            : " ; read answer
  23.673 -		sed -i s#'ISO_NAME=\"\"'#"ISO_NAME=\"$answer\""# tazlito.conf
  23.674 -		# Volume name.
  23.675 -		echo -n "Volume name         : " ; read answer
  23.676 -		sed -i s/'VOLUM_NAME=\"SliTaz\"'/"VOLUM_NAME=\"$answer\""/ tazlito.conf
  23.677 -		# Packages repository.
  23.678 -		echo -n "Packages repository : " ; read answer
  23.679 -		sed -i s#'PACKAGES_REPOSITORY=\"\"'#"PACKAGES_REPOSITORY=\"$answer\""# tazlito.conf
  23.680 -		# Distro path.
  23.681 -		echo -n "Distro path         : " ; read answer
  23.682 -		sed -i s#'DISTRO=\"\"'#"DISTRO=\"$answer\""# tazlito.conf
  23.683 -		echo "================================================================================"
  23.684 -		echo "Config file is ready to use."
  23.685 -		echo "You can now extract an ISO or generate a distro."
  23.686 -		echo ""
  23.687 -		;;
  23.688 -	gen-iso)
  23.689 -		# Simply generate a new iso.
  23.690 -		#
  23.691 -		check_root
  23.692 -		verify_rootcd
  23.693 -		gen_livecd_isolinux
  23.694 -		distro_stats
  23.695 -		;;
  23.696 -	gen-initiso)
  23.697 -		# Simply generate a new initramfs with a new iso.
  23.698 -		#
  23.699 -		check_root
  23.700 -		verify_rootcd
  23.701 -		gen_initramfs $ROOTFS
  23.702 -		gen_livecd_isolinux
  23.703 -		distro_stats
  23.704 -		;;
  23.705 -	extract-distro)
  23.706 -		# Extract an ISO image to a directory and rebuild the LiveCD tree.
  23.707 -		#
  23.708 -		check_root
  23.709 -		ISO_IMAGE=$2
  23.710 -		if [ -z "$ISO_IMAGE" ] ; then
  23.711 -			echo -e "\nPlease specify the path to the ISO image."
  23.712 -			echo -e "Example : `basename $0` image.iso /path/target\n"
  23.713 -			exit 0
  23.714 -		fi
  23.715 -		# Set the distro path by checking for $3 on cmdline.
  23.716 -		if [ -n "$3" ] ; then
  23.717 -			TARGET=$3
  23.718 -		else
  23.719 -			TARGET=$DISTRO
  23.720 -		fi
  23.721 -		# Exit if existing distro is found.
  23.722 -		if [ -d "$TARGET/rootfs" ] ; then
  23.723 -			echo -e "\nA rootfs exists in : $TARGET"
  23.724 -			echo -e "Please clean the distro tree or change directory path.\n"
  23.725 -			exit 0
  23.726 -		fi
  23.727 -		echo ""
  23.728 -		echo -e "\033[1mTazlito extracting :\033[0m `basename $ISO_IMAGE`"
  23.729 -		echo "================================================================================"
  23.730 -		# Start to mount the ISO.
  23.731 -		echo ""
  23.732 -		echo "Mounting ISO image..."
  23.733 -		mkdir -p $TMP_DIR
  23.734 -		# Get ISO file size.
  23.735 -		isosize=`du -sh $ISO_IMAGE | cut -f1`
  23.736 -		mount -o loop $ISO_IMAGE $TMP_DIR
  23.737 -		sleep 2
  23.738 -		# Prepare target dir, copy the kernel and the rootfs.
  23.739 -		mkdir -p $TARGET/rootfs
  23.740 -		mkdir -p $TARGET/rootcd/boot
  23.741 -		echo -n "Copying the Linux kernel..."
  23.742 -		if cp $TMP_DIR/boot/vmlinuz* $TARGET/rootcd/boot 2> /dev/null; then
  23.743 -			ln $TARGET/rootcd/boot/vmlinuz* $TARGET/rootcd/boot/bzImage
  23.744 -		else
  23.745 -			cp $TMP_DIR/boot/bzImage $TARGET/rootcd/boot
  23.746 -		fi
  23.747 -		status
  23.748 -		echo -n "Copying isolinux files..."
  23.749 -		cp -a $TMP_DIR/boot/isolinux $TARGET/rootcd/boot
  23.750 -		for i in $(ls $TMP_DIR); do
  23.751 -			[ "$i" = "boot" ] && continue
  23.752 -			cp -a $TMP_DIR/$i $TARGET/rootcd
  23.753 -		done
  23.754 -		status
  23.755 -		if [ -d $TMP_DIR/boot/syslinux ]; then
  23.756 -			echo -n "Copying syslinux files..."
  23.757 -			cp -a $TMP_DIR/boot/syslinux $TARGET/rootcd/boot
  23.758 -			status
  23.759 -		fi
  23.760 -		if [ -d $TMP_DIR/boot/extlinux ]; then
  23.761 -			echo -n "Copying extlinux files..."
  23.762 -			cp -a $TMP_DIR/boot/extlinux $TARGET/rootcd/boot
  23.763 -			status
  23.764 -		fi
  23.765 -		if [ -d $TMP_DIR/boot/grub ]; then
  23.766 -			echo -n "Copying GRUB files..."
  23.767 -			cp -a $TMP_DIR/boot/grub $TARGET/rootcd/boot
  23.768 -			status
  23.769 -		fi
  23.770 -		
  23.771 -		echo -n "Copying the rootfs..."
  23.772 -		cp $TMP_DIR/boot/rootfs.?z $TARGET/rootcd/boot
  23.773 -		status
  23.774 -		# Extract initramfs.
  23.775 -		cd $TARGET/rootfs
  23.776 -		echo -n "Extracting the rootfs... "
  23.777 -		extract_rootfs ../rootcd/boot/rootfs.gz $TARGET/rootfs
  23.778 -		# unpack /usr
  23.779 -		for i in etc/tazlito/*.extract; do
  23.780 -			[ -f "$i" ] && . $i ../rootcd
  23.781 -		done
  23.782 -		# Umount and remove temp directory and cd to $TARGET to get stats.
  23.783 -		umount $TMP_DIR && rm -rf $TMP_DIR
  23.784 -		cd ..
  23.785 -		echo ""
  23.786 -		echo "================================================================================"
  23.787 -		echo "Extracted       : `basename $ISO_IMAGE` ($isosize)"
  23.788 -		echo "Distro tree     : `pwd`"
  23.789 -		echo "Rootfs size     : `du -sh rootfs`"
  23.790 -		echo "Rootcd size     : `du -sh rootcd`"
  23.791 -		echo "================================================================================"
  23.792 -		echo ""
  23.793 -		;;
  23.794 -	list-flavors)
  23.795 -		# Show available flavors.
  23.796 -		if [ ! -s /etc/tazlito/flavors.list -o "$2" == "--recharge" ]; then
  23.797 -			download flavors.list -O - > /etc/tazlito/flavors.list
  23.798 -		fi
  23.799 -		echo ""
  23.800 -		echo -e "\033[1mList of flavors\033[0m"
  23.801 -		echo "================================================================================"
  23.802 -		cat /etc/tazlito/flavors.list
  23.803 -		echo ""
  23.804 -		;;
  23.805 -	show-flavor)
  23.806 -		# Show flavor description.
  23.807 -		FLAVOR=${2%.flavor}
  23.808 -		if [ ! -f "$FLAVOR.flavor" ]; then
  23.809 -			echo "File $FLAVOR.flavor not found."
  23.810 -			exit 1
  23.811 -		fi
  23.812 -		mkdir $TMP_DIR
  23.813 -		zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i 2> /dev/null)
  23.814 -		if [ "$3" = "--brief" ]; then
  23.815 -			if [ "$4" != "--noheader" ]; then
  23.816 -				echo "Name              ISO   Rootfs  Description"
  23.817 -				echo "================================================================================"
  23.818 -			fi
  23.819 -			printf "%-16.16s %6.6s %6.6s %s\n" "$FLAVOR" \
  23.820 -				"$(field ISO $TMP_DIR/$FLAVOR.desc)" \
  23.821 -				"$(field 'Rootfs size' $TMP_DIR/$FLAVOR.desc)" \
  23.822 -				"$(grep ^Description $TMP_DIR/$FLAVOR.desc | cut -d: -f2)"
  23.823 -		else
  23.824 -			echo "================================================================================"
  23.825 -			cat $TMP_DIR/$FLAVOR.desc
  23.826 -		fi
  23.827 -		rm -Rf $TMP_DIR
  23.828 -		;;
  23.829 -	gen-liveflavor)
  23.830 -		# Generate a new flavor form the live system.
  23.831 -		FLAVOR=${2%.flavor}
  23.832 -		DESC=""
  23.833 -		case "$FLAVOR" in
  23.834 -		'')	echo -n "Flavor name : "
  23.835 -			read FLAVOR
  23.836 -			[ -z "$FLAVOR" ] && exit 1;;
  23.837 -		-?|-h*|--help) echo -e "
  23.838 -
  23.839 -SliTaz Live Tool - Version: $VERSION
  23.840 -\033[1mUsage: \033[0m `basename $0` gen-liveflavor flavor-name [flavor-patch-file]
  23.841 -\033[1mflavor-patch-file format: \033[0m
  23.842 -code	data
  23.843 -+	package to add
  23.844 --	package to remove
  23.845 -!	non-free package to add
  23.846 -?	display message
  23.847 -@	flavor description
  23.848 -
  23.849 -\033[1mExample: \033[0m
  23.850 -@	Developer tools for slitaz maintainers
  23.851 -+	slitaz-toolchain
  23.852 -+	mercurial
  23.853 -"
  23.854 -			exit 1;;
  23.855 -		esac
  23.856 -		mv /etc/tazlito/distro-packages.list \
  23.857 -		   /etc/tazlito/distro-packages.list.$$ 2> /dev/null
  23.858 -		rm -f distro-packages.list non-free.list 2> /dev/null
  23.859 -		tazpkg recharge
  23.860 -		[ -n "$3" ] && while read action pkg; do
  23.861 -			case "$action" in
  23.862 -			+)	yes | tazpkg get-install $pkg;;
  23.863 -			-)	yes | tazpkg remove $pkg;;
  23.864 -			!)	echo $pkg >> non-free.list;;
  23.865 -			@)	DESC="$pkg";;
  23.866 -			\?)	echo -en "$pkg"; read action;;
  23.867 -			esac
  23.868 -		done < $3
  23.869 -		yes '' | tazlito gen-distro
  23.870 -		echo "$DESC" | tazlito gen-flavor "$FLAVOR"
  23.871 -		mv /etc/tazlito/distro-packages.list.$$ \
  23.872 -		   /etc/tazlito/distro-packages.list 2> /dev/null
  23.873 -		;;
  23.874 -	gen-flavor)
  23.875 -		# Generate a new flavor from the last iso image generated.
  23.876 -		FLAVOR=${2%.flavor}
  23.877 -		echo ""
  23.878 -		echo -e "\033[1mFlavor generation\033[0m"
  23.879 -		echo "================================================================================"
  23.880 -		if [ -z "$FLAVOR" ]; then
  23.881 -			echo -n "Flavor name : "
  23.882 -			read FLAVOR
  23.883 -			[ -z "$FLAVOR" ] && exit 1
  23.884 -		fi
  23.885 -		check_rootfs
  23.886 -		FILES="$FLAVOR.pkglist"
  23.887 -		echo -n "Creating file $FLAVOR.flavor..."
  23.888 -		for i in rootcd rootfs; do
  23.889 -			if [ -d "$ADDFILES/$i" ] ; then
  23.890 -				FILES="$FILES\n$FLAVOR.$i"
  23.891 -				( cd "$ADDFILES/$i"; find . | \
  23.892 -				  cpio -o -H newc 2> /dev/null | gzip -9 ) > $FLAVOR.$i
  23.893 -			fi
  23.894 -		done
  23.895 -		status
  23.896 -		answer=`grep -s ^Description $FLAVOR.desc`
  23.897 -		answer=${answer#Description     : }
  23.898 -		if [ -z "$answer" ]; then
  23.899 -			echo -n "Description : "
  23.900 -			read answer
  23.901 -		fi
  23.902 -		echo -n "Compressing flavor $FLAVOR..."
  23.903 -		echo "Flavor          : $FLAVOR" > $FLAVOR.desc
  23.904 -		echo "Description     : $answer" >> $FLAVOR.desc
  23.905 -		( cd $DISTRO; distro_sizes) >> $FLAVOR.desc
  23.906 -		\rm -f $FLAVOR.pkglist $FLAVOR.nonfree 2> /dev/null
  23.907 -		for i in $(ls $ROOTFS$INSTALLED); do
  23.908 -			eval $(grep ^VERSION= $ROOTFS$INSTALLED/$i/receipt)
  23.909 -			EXTRAVERSION=""
  23.910 -			eval $(grep ^EXTRAVERSION= $ROOTFS$INSTALLED/$i/receipt)
  23.911 -			eval $(grep ^CATEGORY= $ROOTFS$INSTALLED/$i/receipt)
  23.912 -			if [ "$CATEGORY" = "non-free" -a "${i%%-*}" != "get" ]
  23.913 -			then
  23.914 -				echo "$i" >> $FLAVOR.nonfree
  23.915 -			else
  23.916 -				echo "$i-$VERSION$EXTRAVERSION" >> $FLAVOR.pkglist
  23.917 -			fi
  23.918 -		done
  23.919 -		[ -s $FLAVOR.nonfree ] && $FILES="$FILES\n$FLAVOR.nonfree"
  23.920 -		for i in $LOCALSTATE/undigest/*/mirror ; do
  23.921 -			[ -s $i ] && cat $i >> $FLAVOR.mirrors
  23.922 -		done
  23.923 -		[ -s $FLAVOR.mirrors ] && $FILES="$FILES\n$FLAVOR.mirrors"
  23.924 -		echo -e "$FLAVOR.desc\n$FILES" | cpio -o -H newc 2>/dev/null | \
  23.925 -			gzip -9 > $FLAVOR.flavor
  23.926 -		rm `echo -e $FILES`
  23.927 -		status
  23.928 -		echo "================================================================================"
  23.929 -		echo "Flavor size : `du -sh $FLAVOR.flavor`"
  23.930 -		echo ""
  23.931 -		;;
  23.932 -	upgrade-flavor)
  23.933 -		# Update package list to the lastest versions available.
  23.934 -		FLAVOR=${2%.flavor}
  23.935 -		if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then
  23.936 -			mkdir $TMP_DIR
  23.937 -			zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i >/dev/null )
  23.938 -			echo -n "Updating $FLAVOR package list..."
  23.939 -			[ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge
  23.940 -			packed_size=0; unpacked_size=0
  23.941 -			while read org; do
  23.942 -				i=0
  23.943 -				pkg=$org
  23.944 -				while ! grep -q ^$pkg$ /var/lib/tazpkg/packages.txt; do
  23.945 -					pkg=${pkg%-*}
  23.946 -					i=$(($i + 1))
  23.947 -					[ $i -gt 5 ] && break;
  23.948 -				done
  23.949 -				set -- $(get_size $pkg)
  23.950 -				packed_size=$(( $packed_size + $1 ))
  23.951 -				unpacked_size=$(( $unpacked_size + $2 ))
  23.952 -				for i in $(grep ^$pkg /var/lib/tazpkg/packages.list); do
  23.953 -					echo $i
  23.954 -					break
  23.955 -				done
  23.956 -			done <  $TMP_DIR/$FLAVOR.pkglist \
  23.957 -			     > $TMP_DIR/$FLAVOR.pkglist.$$
  23.958 -			mv -f $TMP_DIR/$FLAVOR.pkglist.$$ $TMP_DIR/$FLAVOR.pkglist
  23.959 -			if [ -s $TMP_DIR/$FLAVOR.rootfs ]; then
  23.960 -				packed_size=$(($packed_size \
  23.961 -					+ $(cat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
  23.962 -				unpacked_size=$(($unpacked_size \
  23.963 -					+ $(zcat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
  23.964 -			fi
  23.965 -			# Estimate lzma
  23.966 -			packed_size=$(($packed_size * 2 / 3))
  23.967 -			iso_size=$(( $packed_size + 26000 ))
  23.968 -			if [ -s $TMP_DIR/$FLAVOR.rootcd ]; then
  23.969 -				iso_size=$(($iso_size \
  23.970 -					+ $(zcat $TMP_DIR/$FLAVOR.rootcd | wc -c ) / 100 ))
  23.971 -			fi
  23.972 -			sed -i -e '/Image is ready/d' \
  23.973 -			       -e "s/Rootfs size\( *:\) \(.*\)/Rootfs size\1 $(cent2human $unpacked_size)  (estimated)/" \
  23.974 -			       -e "s/Initramfs size\( *:\) \(.*\)/Initramfs size\1 $(cent2human $packed_size)  (estimated)/" \
  23.975 -			       -e "s/ISO image size\( *:\) \(.*\)/ISO image size\1 $(cent2human $iso_size)  (estimated)/" \
  23.976 -			       -e "s/date\( *:\) \(.*\)/date\1 $(date +%Y%m%d\ \at\ \%H:%M:%S)/" \
  23.977 -					$TMP_DIR/$FLAVOR.desc
  23.978 -			( cd $TMP_DIR ; ls | cpio -o -H newc ) | gzip -9 > \
  23.979 -				$FLAVOR.flavor
  23.980 -			status
  23.981 -			rm -Rf $TMP_DIR
  23.982 -		fi
  23.983 -		;;
  23.984 -	extract-flavor)
  23.985 -		# Extract a flavor into $FLAVORS_REPOSITORY.
  23.986 -		FLAVOR=${2%.flavor}
  23.987 -		if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then
  23.988 -			mkdir $TMP_DIR
  23.989 -			zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i >/dev/null )
  23.990 -			echo -n "Extracting $FLAVOR..."
  23.991 -			rm -rf $FLAVORS_REPOSITORY/$FLAVOR 2> /dev/null
  23.992 -			mkdir -p $FLAVORS_REPOSITORY/$FLAVOR
  23.993 -			echo "FLAVOR=\"$FLAVOR\"" > $FLAVORS_REPOSITORY/$FLAVOR/receipt
  23.994 -			grep ^Description $TMP_DIR/$FLAVOR.desc | \
  23.995 -				sed 's/.*: \(.*\)$/SHORT_DESC="\1"/' >> \
  23.996 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
  23.997 -			grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc && \
  23.998 -			grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \
  23.999 -				sed 's/.*: \(.*\)$/ROOTFS_SELECTION="\1"/' >> \
 23.1000 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 23.1001 -			grep '^Rootfs size' $TMP_DIR/$FLAVOR.desc | \
 23.1002 -				sed 's/.*: \(.*\)$/ROOTFS_SIZE="\1"/' >> \
 23.1003 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 23.1004 -			grep ^Initramfs $TMP_DIR/$FLAVOR.desc | \
 23.1005 -				sed 's/.*: \(.*\)$/INITRAMFS_SIZE="\1"/' >> \
 23.1006 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 23.1007 -			grep ^ISO $TMP_DIR/$FLAVOR.desc | \
 23.1008 -				sed 's/.*: \(.*\)$/ISO_SIZE="\1"/' >> \
 23.1009 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 23.1010 -			for i in rootcd rootfs; do
 23.1011 -				[ -f $TMP_DIR/$FLAVOR.$i ] || continue
 23.1012 -				mkdir $FLAVORS_REPOSITORY/$FLAVOR/$i
 23.1013 -				zcat $TMP_DIR/$FLAVOR.$i | \
 23.1014 -				  (cd $FLAVORS_REPOSITORY/$FLAVOR/$i; \
 23.1015 -				   cpio -idm > /dev/null)
 23.1016 -			done
 23.1017 -			[ -s $TMP_DIR/$FLAVOR.mirrors ] &&
 23.1018 -				cp $TMP_DIR/$FLAVOR.mirrors \
 23.1019 -					$FLAVORS_REPOSITORY/$FLAVOR/mirrors
 23.1020 -			[ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge
 23.1021 -			while read org; do
 23.1022 -				i=0
 23.1023 -				pkg=$org
 23.1024 -				while ! grep -q ^$pkg$ /var/lib/tazpkg/packages.txt; do
 23.1025 -					pkg=${pkg%-*}
 23.1026 -					i=$(($i + 1))
 23.1027 -					[ $i -gt 5 ] && break;
 23.1028 -				done
 23.1029 -				echo $pkg
 23.1030 -			done <  $TMP_DIR/$FLAVOR.pkglist \
 23.1031 -			     > $FLAVORS_REPOSITORY/$FLAVOR/packages.list
 23.1032 -			status
 23.1033 -			rm -Rf $TMP_DIR
 23.1034 -		fi
 23.1035 -		;;
 23.1036 -	pack-flavor)
 23.1037 -		# Create a flavor from $FLAVORS_REPOSITORY.
 23.1038 -		FLAVOR=${2%.flavor}
 23.1039 -		if [ -s $FLAVORS_REPOSITORY/$FLAVOR/receipt ]; then
 23.1040 -			mkdir $TMP_DIR
 23.1041 -			echo -n "Creating flavor $FLAVOR..."
 23.1042 -			[ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge
 23.1043 -			if [ -s $FLAVORS_REPOSITORY/$FLAVOR/mirrors ]; then
 23.1044 -				cp $FLAVORS_REPOSITORY/$FLAVOR/mirrors \
 23.1045 -					$TMP_DIR/$FLAVOR.mirrors
 23.1046 -				for i in $(cat $TMP_DIR/$FLAVOR.mirrors); do
 23.1047 -					wget -O - $i/packages.list >> $TMP_DIR/packages.list
 23.1048 -				done
 23.1049 -			fi
 23.1050 -			[ -s $FLAVORS_REPOSITORY/$FLAVOR/packages.list ] &&
 23.1051 -			get_pkglist $FLAVOR > $TMP_DIR/$FLAVOR.pkglist
 23.1052 -			if grep -q ^ROOTFS_SELECTION \
 23.1053 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt; then
 23.1054 -				. $FLAVORS_REPOSITORY/$FLAVOR/receipt
 23.1055 -				set -- $ROOTFS_SELECTION
 23.1056 -				[ -n "$FRUGAL_RAM" ] || FRUGAL_RAM=$1
 23.1057 -				[ -f $FLAVORS_REPOSITORY/$2/packages.list ] ||
 23.1058 -					tazlito extract-flavor $2
 23.1059 -				get_pkglist $2 > $TMP_DIR/$FLAVOR.pkglist
 23.1060 -			fi
 23.1061 -			for i in rootcd rootfs; do
 23.1062 -				[ -d $FLAVORS_REPOSITORY/$FLAVOR/$i ] || \
 23.1063 -					continue
 23.1064 -				( cd $FLAVORS_REPOSITORY/$FLAVOR/$i ; find . | \
 23.1065 -				cpio -o -H newc 2> /dev/null ) | \
 23.1066 -				gzip -9 >$TMP_DIR/$FLAVOR.$i
 23.1067 -			done
 23.1068 -			if [ -s $TMP_DIR/$FLAVOR.rootfs ]; then
 23.1069 -				packed_size=$(($packed_size \
 23.1070 -					+ $(cat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
 23.1071 -				unpacked_size=$(($unpacked_size \
 23.1072 -					+ $(zcat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
 23.1073 -			fi
 23.1074 -			# Estimate lzma
 23.1075 -			packed_size=$(($packed_size * 2 / 3))
 23.1076 -			iso_size=$(( $packed_size + 26000 ))
 23.1077 -			if [ -s $TMP_DIR/$FLAVOR.rootcd ]; then
 23.1078 -				iso_size=$(($iso_size \
 23.1079 -					+ $(zcat $TMP_DIR/$FLAVOR.rootcd | wc -c ) / 100 ))
 23.1080 -			fi
 23.1081 -			VERSION=""
 23.1082 -			MAINTAINER=""
 23.1083 -			ROOTFS_SELECTION=""
 23.1084 -			ROOTFS_SIZE="$(cent2human $unpacked_size) (estimated)"
 23.1085 -			INITRAMFS_SIZE="$(cent2human $packed_size) (estimated)"
 23.1086 -			ISO_SIZE="$(cent2human $iso_size) (estimated)"
 23.1087 -			. $FLAVORS_REPOSITORY/$FLAVOR/receipt
 23.1088 -			cat > $TMP_DIR/$FLAVOR.desc <<EOT
 23.1089 -Flavor          : $FLAVOR
 23.1090 -Description     : $SHORT_DESC
 23.1091 -EOT
 23.1092 -			[ -n "$VERSION" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 23.1093 -Version         : $VERSION
 23.1094 -EOT
 23.1095 -			[ -n "$MAINTAINER" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 23.1096 -Maintainer      : $MAINTAINER
 23.1097 -EOT
 23.1098 -			[ -n "$FRUGAL_RAM" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 23.1099 -LiveCD RAM size : $FRUGAL_RAM
 23.1100 -EOT
 23.1101 -			[ -n "$ROOTFS_SELECTION" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 23.1102 -Rootfs list     : $ROOTFS_SELECTION
 23.1103 -EOT
 23.1104 -			cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 23.1105 -Build date      : $(date +%Y%m%d\ \at\ \%H:%M:%S)
 23.1106 -Packages        : $(grep -v ^# $TMP_DIR/$FLAVOR.pkglist | wc -l)
 23.1107 -Rootfs size     : $ROOTFS_SIZE
 23.1108 -Initramfs size  : $INITRAMFS_SIZE
 23.1109 -ISO image size  : $ISO_SIZE
 23.1110 -================================================================================
 23.1111 -
 23.1112 -EOT
 23.1113 -			rm -f $TMP_DIR/packages.list
 23.1114 -			( cd $TMP_DIR ; ls | cpio -o -H newc 2> /dev/null) | \
 23.1115 -				gzip -9 > $FLAVOR.flavor
 23.1116 -			status
 23.1117 -			rm -Rf $TMP_DIR
 23.1118 -		else
 23.1119 -			echo "No $FLAVOR flavor in $FLAVORS_REPOSITORY."
 23.1120 -		fi
 23.1121 -		;;
 23.1122 -	get-flavor)
 23.1123 -		# Get a flavor's files and prepare for gen-distro.
 23.1124 -		FLAVOR=${2%.flavor}
 23.1125 -		echo ""
 23.1126 -		if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then
 23.1127 -			echo -n "Cleaning $DISTRO..."
 23.1128 -			rm -R $DISTRO 2> /dev/null
 23.1129 -			mkdir -p $DISTRO
 23.1130 -			status
 23.1131 -			mkdir $TMP_DIR
 23.1132 -			echo -n "Extracting flavor $FLAVOR.flavor... "
 23.1133 -			zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i 2>/dev/null )
 23.1134 -			echo -n "Creating distro-packages.list..."
 23.1135 -			mv $TMP_DIR/$FLAVOR.nonfree non-free.list 2> /dev/null
 23.1136 -			mv $TMP_DIR/$FLAVOR.pkglist distro-packages.list
 23.1137 -			status
 23.1138 -			for i in rootcd rootfs; do
 23.1139 -				if [ -f $TMP_DIR/$FLAVOR.$i ]; then
 23.1140 -					echo -n "Adding $i... "
 23.1141 -					mkdir -p "$ADDFILES/$i"
 23.1142 -					zcat $TMP_DIR/$FLAVOR.$i | \
 23.1143 -						( cd "$ADDFILES/$i"; cpio -id 2> /dev/null)
 23.1144 -				fi
 23.1145 -			done
 23.1146 -			if [ -s $TMP_DIR/$FLAVOR.mirrors ]; then
 23.1147 -				n=""
 23.1148 -				while read line; do
 23.1149 -					mkdir -p $LOCALSTATE/undigest/$FLAVOR$n
 23.1150 -					echo "$line" > $LOCALSTATE/undigest/$FLAVOR$n/mirror
 23.1151 -					n=$(( $n + 1 ))
 23.1152 -				done < $TMP_DIR/$FLAVOR.mirrors
 23.1153 -				tazpkg recharge
 23.1154 -			fi
 23.1155 -			rm -f /etc/tazlito/rootfs.list
 23.1156 -			grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc &&
 23.1157 -				grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \
 23.1158 -				sed 's/.*: \(.*\)$/\1/' > /etc/tazlito/rootfs.list
 23.1159 -			echo -n "Updating tazlito.conf..."
 23.1160 -			[ -f tazlito.conf ] || cp /etc/tazlito/tazlito.conf .
 23.1161 -			cat tazlito.conf | grep -v "^#VOLUM_NAME" | \
 23.1162 -			sed "s/^VOLUM_NA/VOLUM_NAME=\"SliTaz $FLAVOR\"\\n#VOLUM_NA/" \
 23.1163 -				> tazlito.conf.$$ && mv tazlito.conf.$$ tazlito.conf
 23.1164 -			sed -i "s/ISO_NAME=.*/ISO_NAME=\"slitaz-$FLAVOR\"/" tazlito.conf
 23.1165 -			status
 23.1166 -			rm -Rf $TMP_DIR
 23.1167 -		fi
 23.1168 -		echo ""
 23.1169 -		;;
 23.1170 -	check-list)
 23.1171 -		# Use current packages list in $PWD by default.
 23.1172 -		DISTRO_PKGS_LIST=distro-packages.list
 23.1173 -		[ -d "$2" ] && DISTRO_PKGS_LIST=$2/distro-packages.list
 23.1174 -		[ -f "$2" ] && DISTRO_PKGS_LIST=$2
 23.1175 -		[ ! -f $DISTRO_PKGS_LIST ] && echo "No packages list found." && exit 0
 23.1176 -		echo ""
 23.1177 -		echo -e "\033[1mLiveCD packages list check\033[0m"
 23.1178 -		echo "================================================================================"
 23.1179 -		for pkg in `cat $DISTRO_PKGS_LIST`
 23.1180 -		do
 23.1181 -			if ! grep -q "$pkg" /var/lib/tazpkg/packages.list; then
 23.1182 -				echo "Update: $pkg"
 23.1183 -				up=$(($up + 1))
 23.1184 -			fi
 23.1185 -		done
 23.1186 -		[ -z $up ] && echo -e "List is up-to-date\n" && exit 0
 23.1187 -		echo "================================================================================"
 23.1188 -		echo -e "Updates: $up\n" ;;
 23.1189 -	gen-distro)
 23.1190 -		# Generate a live distro tree with a set of packages.
 23.1191 -		#
 23.1192 -		check_root
 23.1193 -		
 23.1194 -		# Check if a package list was specified on cmdline.
 23.1195 -		LIST_NAME="distro-packages.list"
 23.1196 -		CDROM=""
 23.1197 -		while [ -n "$2" ]; do
 23.1198 -			case "$2" in
 23.1199 -			--iso=*)
 23.1200 -				CDROM="-o loop ${2#--iso=}"
 23.1201 -				;;
 23.1202 -			--cdrom)
 23.1203 -				CDROM="/dev/cdrom"
 23.1204 -				;;
 23.1205 -			--force)
 23.1206 -				DELETE_ROOTFS="true"
 23.1207 -				;;
 23.1208 -			*)	if [ ! -f "$2" ] ; then
 23.1209 -					echo -e "\nUnable to find the specified packages list."
 23.1210 -					echo -e "List name : $2\n"
 23.1211 -					exit 1
 23.1212 -				fi
 23.1213 -				LIST_NAME=$2
 23.1214 -				;;
 23.1215 -			esac
 23.1216 -			shift
 23.1217 -		done
 23.1218 -		 
 23.1219 -		if [ -d $ROOTFS ] ; then
 23.1220 -			# Delete $ROOTFS if --force is set on command line
 23.1221 -			if [ ! -z $DELETE_ROOTFS ]; then
 23.1222 -				rm -rf $ROOTFS
 23.1223 -				unset $DELETE_ROOTFS
 23.1224 -			else
 23.1225 -				echo -e "\nA rootfs exists in : $DISTRO"
 23.1226 -				echo -e "Please clean the distro tree or change directory path.\n"
 23.1227 -				exit 0
 23.1228 -			fi
 23.1229 -		fi
 23.1230 -		if [ ! -f "$LIST_NAME" -a -d $INSTALLED ] ; then
 23.1231 -		# Build list with installed packages
 23.1232 -			for i in $(ls $INSTALLED); do
 23.1233 -				eval $(grep ^VERSION= $INSTALLED/$i/receipt)
 23.1234 -				EXTRAVERSION=""
 23.1235 -				eval $(grep ^EXTRAVERSION= $INSTALLED/$i/receipt)
 23.1236 -				echo "$i-$VERSION$EXTRAVERSION" >> $LIST_NAME
 23.1237 -			done
 23.1238 -		fi
 23.1239 -		# Exit if no list name.
 23.1240 -		if [ ! -f "$LIST_NAME" ]; then
 23.1241 -			echo -e "\nNo packages list found or specified. Please read the docs.\n"
 23.1242 -			exit 0
 23.1243 -		fi
 23.1244 -		# Start generation.
 23.1245 -		echo ""
 23.1246 -		echo -e "\033[1mTazlito generating a distro\033[0m"
 23.1247 -		echo "================================================================================"
 23.1248 -		# Misc checks
 23.1249 -		[ -n "$PACKAGES_REPOSITORY" ] || PACKAGES_REPOSITORY="."
 23.1250 -		[ -d $PACKAGES_REPOSITORY ] || mkdir -p $PACKAGES_REPOSITORY
 23.1251 -		# Get the list of packages using cat for a file list.
 23.1252 -		LIST=`cat $LIST_NAME`
 23.1253 -		# Verify if all packages in list are present in $PACKAGES_REPOSITORY.
 23.1254 -		REPACK=""
 23.1255 -		DOWNLOAD=""
 23.1256 -		for pkg in $LIST
 23.1257 -		do
 23.1258 -			[ "$pkg" = "" ] && continue
 23.1259 -			pkg=${pkg%.tazpkg}
 23.1260 -			[ -f $PACKAGES_REPOSITORY/$pkg.tazpkg ] && continue
 23.1261 -			PACKAGE=$(installed_package_name $pkg)
 23.1262 -			[ -n "$PACKAGE" -a "$REPACK" = "y" ] && continue
 23.1263 -			[ -z "$PACKAGE" -a -n "$DOWNLOAD" ] && continue
 23.1264 -			echo -e "\nUnable to find $pkg in the repository."
 23.1265 -			echo -e "Path : $PACKAGES_REPOSITORY\n"
 23.1266 -			if [ -n "$PACKAGE" -a -z "$REPACK" ]; then
 23.1267 -				yesorno "Repack packages from rootfs (y/N) ? "
 23.1268 -				REPACK="$answer"
 23.1269 -				[ "$answer" = "y" ] || REPACK="n"
 23.1270 -				[ "$DOWNLOAD" = "y" ] && break
 23.1271 -			fi
 23.1272 -			if [ -f $MIRROR -a -z "$DOWNLOAD" ]; then
 23.1273 -				yesorno "Download packages from mirror (Y/n) ? "
 23.1274 -				DOWNLOAD="$answer"
 23.1275 -				if [ "$answer" = "n" ]; then
 23.1276 -					[ -z "$PACKAGE" ] && exit 1
 23.1277 -				else
 23.1278 -					DOWNLOAD="y"
 23.1279 -					[ -n "$REPACK" ] && break
 23.1280 -				fi
 23.1281 -			fi
 23.1282 -			[ "$REPACK" = "n" -a "$DOWNLOAD" = "n" ] && exit 1
 23.1283 -		done
 23.1284 -		
 23.1285 -		# Mount cdrom to be able to repack boot-loader packages
 23.1286 -		if [ ! -e /boot -a -n "$CDROM" ]; then
 23.1287 -			mkdir $TMP_MNT
 23.1288 -			if mount -r $CDROM $TMP_MNT 2> /dev/null; then
 23.1289 -				ln -s $TMP_MNT/boot /
 23.1290 -				if [ ! -d "$ADDFILES/rootcd" ] ; then
 23.1291 -					mkdir -p $ADDFILES/rootcd
 23.1292 -					for i in $(ls $TMP_MNT); do
 23.1293 -						[ "$i" = "boot" ] && continue
 23.1294 -						cp -a $TMP_MNT/$i $ADDFILES/rootcd
 23.1295 -					done
 23.1296 -				fi
 23.1297 -			else
 23.1298 -				rmdir $TMP_MNT
 23.1299 -			fi
 23.1300 -		fi
 23.1301 -
 23.1302 -		# Root fs stuff.
 23.1303 -		echo "Preparing the rootfs directory..."
 23.1304 -		mkdir -p $ROOTFS
 23.1305 -		sleep 2
 23.1306 -		for pkg in $LIST
 23.1307 -		do
 23.1308 -			[ "$pkg" = "" ] && continue
 23.1309 -			# First copy and extract the package in tmp dir.
 23.1310 -			pkg=${pkg%.tazpkg}
 23.1311 -			PACKAGE=$(installed_package_name $pkg)
 23.1312 -			mkdir -p $TMP_DIR
 23.1313 -			if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then
 23.1314 -				# Look for package in cache
 23.1315 -				if [ -f $CACHE_DIR/$pkg.tazpkg ]; then
 23.1316 -					ln -s $CACHE_DIR/$pkg.tazpkg $PACKAGES_REPOSITORY
 23.1317 -				# Look for package in running distribution
 23.1318 -				elif [ -n "$PACKAGE" -a "$REPACK" = "y" ]; then
 23.1319 -					tazpkg repack $PACKAGE && \
 23.1320 -					  mv $pkg.tazpkg $PACKAGES_REPOSITORY 
 23.1321 -				fi
 23.1322 -			fi
 23.1323 -			if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then
 23.1324 -				# Get package from mirror
 23.1325 -				[ "$DOWNLOAD" = "y" ] && \
 23.1326 -				download $pkg.tazpkg && \
 23.1327 -				mv $pkg.tazpkg $PACKAGES_REPOSITORY
 23.1328 -			fi
 23.1329 -			if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then
 23.1330 -				echo "Missing package $pkg."
 23.1331 -				cleanup
 23.1332 -				exit 1
 23.1333 -			fi
 23.1334 -		done
 23.1335 -		if [ -f non-free.list ]; then
 23.1336 -			echo "Preparing non-free packages..."
 23.1337 -			cp non-free.list $ROOTFS/etc/tazlito/non-free.list
 23.1338 -			for pkg in $(cat non-free.list); do
 23.1339 -				if [ ! -d $INSTALLED/$pkg ]; then
 23.1340 -					if [ ! -d $INSTALLED/get-$pkg ]; then
 23.1341 -						tazpkg get-install get-$pkg
 23.1342 -					fi
 23.1343 -					get-$pkg
 23.1344 -				fi
 23.1345 -				tazpkg repack $pkg
 23.1346 -				pkg=$(ls $pkg*.tazpkg)
 23.1347 -				grep -q "^$pkg$" $LIST_NAME || \
 23.1348 -					echo $pkg >>$LIST_NAME
 23.1349 -				mv $pkg $PACKAGES_REPOSITORY 
 23.1350 -			done
 23.1351 -		fi
 23.1352 -		echo ""
 23.1353 -		cp $LIST_NAME $DISTRO/distro-packages.list
 23.1354 -		sed 's/\(.*\)/\1.tazpkg/' < $DISTRO/distro-packages.list > $DISTRO/list-packages
 23.1355 -		cd $PACKAGES_REPOSITORY
 23.1356 -		yes y | tazpkg install-list \
 23.1357 -			$DISTRO/list-packages --root=$ROOTFS
 23.1358 -		cd $DISTRO
 23.1359 -		cp distro-packages.list $ROOTFS/etc/tazlito
 23.1360 -		# Copy all files from $ADDFILES/rootfs to the rootfs.
 23.1361 -		if [ -d "$ADDFILES/rootfs" ] ; then
 23.1362 -			echo -n "Copying addfiles content to the rootfs... "
 23.1363 -			cp -a $ADDFILES/rootfs/* $ROOTFS
 23.1364 -			status
 23.1365 -		fi
 23.1366 -		echo "Root file system is generated..."
 23.1367 -		# Root CD part.
 23.1368 -		echo -n "Preparing the rootcd directory..."
 23.1369 -		mkdir -p $ROOTCD
 23.1370 -		status
 23.1371 -		# Move the boot dir with the Linux kernel from rootfs.
 23.1372 -		# The boot dir goes directly on the CD.
 23.1373 -		if [ -d "$ROOTFS/boot" ] ; then
 23.1374 -			echo -n "Moving the boot directory..."
 23.1375 -			mv $ROOTFS/boot $ROOTCD
 23.1376 -			cd $ROOTCD/boot
 23.1377 -			ln vmlinuz-* bzImage
 23.1378 -			status
 23.1379 -		fi
 23.1380 -		cd $DISTRO
 23.1381 -		# Copy all files from $ADDFILES/rootcd to the rootcd.
 23.1382 -		if [ -d "$ADDFILES/rootcd" ] ; then
 23.1383 -			echo -n "Copying addfiles content to the rootcd... "
 23.1384 -			cp -a $ADDFILES/rootcd/* $ROOTCD
 23.1385 -			status
 23.1386 -		fi
 23.1387 -		# Execute the distro script (used to perform tasks in the rootfs
 23.1388 -		# before compression. Give rootfs path in arg
 23.1389 -		[ -z $DISTRO_SCRIPT ] && DISTRO_SCRIPT=$TOP_DIR/distro.sh
 23.1390 -		if [ -x $DISTRO_SCRIPT ]; then
 23.1391 -			echo "Executing distro script..."
 23.1392 -			sh $DISTRO_SCRIPT $DISTRO
 23.1393 -		fi
 23.1394 -		if [ -s /etc/tazlito/rootfs.list ]; then
 23.1395 -			[ -f $ROOTCD/boot/isolinux/ifmem.c32 ] ||
 23.1396 -			cp /boot/isolinux/ifmem.c32 $ROOTCD/boot/isolinux
 23.1397 -			n=0
 23.1398 -			last=$ROOTFS
 23.1399 -			while read flavor; do
 23.1400 -				n=$(($n+1))
 23.1401 -				echo "Building $flavor rootfs..."
 23.1402 -				download $flavor.flavor
 23.1403 -				zcat $flavor.flavor | cpio -i $flavor.pkglist
 23.1404 -				sed 's/.*/&.tazpkg/' < $flavor.pkglist \
 23.1405 -					> $DISTRO/list-packages0$n
 23.1406 -				mkdir ${ROOTFS}0$n
 23.1407 -				cd $PACKAGES_REPOSITORY
 23.1408 -				yes y | tazpkg install-list \
 23.1409 -					$DISTRO/list-packages0$n --root=${ROOTFS}0$n
 23.1410 -				rm -rf ${ROOTFS}0$n/boot
 23.1411 -				status
 23.1412 -				cd $DISTRO
 23.1413 -				mv $flavor.pkglist ${ROOTFS}0$n/etc/tazlito/distro-packages.list
 23.1414 -				rm -f $flavor.flavor install-list
 23.1415 -				mergefs ${ROOTFS}0$n $last
 23.1416 -				last=${ROOTFS}0$n
 23.1417 -			done <<EOT
 23.1418 -$(awk '{ for (i = 4; i <= NF; i+=2) print $i; }' < /etc/tazlito/rootfs.list)
 23.1419 -EOT
 23.1420 -			i=$(($n+1))
 23.1421 -			while [ $n -gt 0 ]; do
 23.1422 -				mv ${ROOTFS}0$n ${ROOTFS}$i
 23.1423 -				echo "Compression ${ROOTFS}0$n ($(du -hs ${ROOTFS}$i | awk '{ print $1 }')) ..."
 23.1424 -				gen_initramfs ${ROOTFS}$i
 23.1425 -				n=$(($n-1))
 23.1426 -				i=$(($i-1))
 23.1427 -			done
 23.1428 -			mv $ROOTFS ${ROOTFS}$i
 23.1429 -			gen_initramfs ${ROOTFS}$i
 23.1430 -			update_bootconfig $ROOTCD/boot/isolinux \
 23.1431 -				"$(cat /etc/tazlito/rootfs.list)"
 23.1432 -		else
 23.1433 -			# Initramfs and ISO image stuff.
 23.1434 -			gen_initramfs $ROOTFS
 23.1435 -		fi
 23.1436 -		gen_livecd_isolinux
 23.1437 -		distro_stats
 23.1438 -		cleanup
 23.1439 -		;;
 23.1440 -	clean-distro)
 23.1441 -		# Remove old distro tree.
 23.1442 -		#
 23.1443 -		check_root
 23.1444 -		echo ""
 23.1445 -		echo -e "\033[1mCleaning :\033[0m $DISTRO"
 23.1446 -		echo "================================================================================"
 23.1447 -		if [ -d "$DISTRO" ] ; then
 23.1448 -			if [ -d "$ROOTFS" ] ; then
 23.1449 -				echo -n "Removing the rootfs..."
 23.1450 -				rm -f $DISTRO/$INITRAMFS
 23.1451 -				rm -rf $ROOTFS
 23.1452 -				status
 23.1453 -			fi
 23.1454 -			if [ -d "$ROOTCD" ] ; then
 23.1455 -				echo -n "Removing the rootcd..."
 23.1456 -				rm -rf $ROOTCD
 23.1457 -				status
 23.1458 -			fi
 23.1459 -			echo -n "Removing eventual ISO image..."
 23.1460 -			rm -f $DISTRO/$ISO_NAME.iso
 23.1461 -			rm -f $DISTRO/$ISO_NAME.md5
 23.1462 -			status
 23.1463 -		fi
 23.1464 -		echo "================================================================================"
 23.1465 -		echo ""
 23.1466 -		;;
 23.1467 -	check-distro)
 23.1468 -		# Check for a few LiveCD needed files not installed by packages.
 23.1469 -		#
 23.1470 -		check_rootfs
 23.1471 -		echo ""
 23.1472 -		echo -e "\033[1mChecking distro :\033[0m $ROOTFS"
 23.1473 -		echo "================================================================================"
 23.1474 -		# SliTaz release info.
 23.1475 -		if [ ! -f "$ROOTFS/etc/slitaz-release" ]; then
 23.1476 -			echo "Missing release info : /etc/slitaz-release"
 23.1477 -		else
 23.1478 -			release=`cat $ROOTFS/etc/slitaz-release`
 23.1479 -			echo -n "Release      : $release"
 23.1480 -			status
 23.1481 -		fi
 23.1482 -		# Tazpkg mirror.
 23.1483 -		if [ ! -f "$ROOTFS/var/lib/tazpkg/mirror" ]; then
 23.1484 -			echo -n "Mirror URL   : Missing /var/lib/tazpkg/mirror"
 23.1485 -			todomsg
 23.1486 -		else
 23.1487 -			echo -n "Mirror configuration exists..."
 23.1488 -			status
 23.1489 -		fi
 23.1490 -		# Isolinux msg	
 23.1491 -		if grep -q "cooking-XXXXXXXX" /$ROOTCD/boot/isolinux/isolinux.msg; then
 23.1492 -			echo -n "Isolinux msg : Missing cooking date XXXXXXXX (ex `date +%Y%m%d`)"
 23.1493 -			todomsg
 23.1494 -		else
 23.1495 -			echo -n "Isolinux message seems good..."
 23.1496 -			status
 23.1497 -		fi
 23.1498 -		echo "================================================================================"
 23.1499 -		echo ""
 23.1500 -		;;
 23.1501 -	writeiso)
 23.1502 -				# Writefs to ISO image including /home unlike gen-distro we dont use
 23.1503 -		# packages to generate a rootfs, we build a compressed rootfs with all 
 23.1504 -		# the current filesystem similar to 'tazusb writefs'.
 23.1505 -		#
 23.1506 -		DISTRO="/home/slitaz/distro"
 23.1507 -		ROOTCD="$DISTRO/rootcd"
 23.1508 -		if [ -z $2 ]; then
 23.1509 -			COMPRESSION=none
 23.1510 -		else
 23.1511 -			COMPRESSION=$2
 23.1512 -		fi
 23.1513 -		if [ -z $3 ]; then
 23.1514 -			ISO_NAME="slitaz"
 23.1515 -		else
 23.1516 -			ISO_NAME="$3"
 23.1517 -		fi
 23.1518 -		check_root
 23.1519 -		# Start info
 23.1520 -		echo ""
 23.1521 -		echo -e "\033[1mWrite filesystem to ISO\033[0m
 23.1522 -===============================================================================
 23.1523 -The command writeiso will write the current filesystem into a suitable cpio 
 23.1524 -archive (rootfs.gz) and generate a bootable ISO image (slitaz.iso). 
 23.1525 -
 23.1526 -Archive compression: $COMPRESSION"
 23.1527 -		echo ""
 23.1528 -		
 23.1529 -		# Save some space
 23.1530 -		rm /var/cache/tazpkg/* -r -f
 23.1531 -		rm -rf /home/slitaz/distro
 23.1532 -
 23.1533 -		# Optionally remove sound card selection and screen resolution.
 23.1534 -		echo "Do you wish to remove the sound card and screen config ? "
 23.1535 -		echo -n "Press ENTER to keep or anser (No|yes|exit): "
 23.1536 -		read anser
 23.1537 -		case $anser in
 23.1538 -			e|E|"exit"|Exit)
 23.1539 -				exit 0 ;;
 23.1540 -			y|Y|yes|Yes)
 23.1541 -				echo -n "Removing current sound card and screen configuration..."
 23.1542 -				rm -f /var/lib/sound-card-driver
 23.1543 -				rm -f /etc/asound.state
 23.1544 -				rm -f /etc/X11/screen.conf 
 23.1545 -				rm -f /etc/X11/xorg.conf ;;
 23.1546 -			*)
 23.1547 -				echo -n "Keeping current sound card and screen configuration..." ;;
 23.1548 -		esac
 23.1549 -		status
 23.1550 -		
 23.1551 -		# Create list of files including default user files since it is defined in /etc/passwd
 23.1552 -		# and some new users might have been added.
 23.1553 -		find /bin /etc /init /sbin /var /dev /lib /root /usr /home >/tmp/list
 23.1554 -
 23.1555 -		for dir in /proc /sys /tmp /mnt /media /media/cdrom /media/flash /media/usbdisk
 23.1556 -		do
 23.1557 -			echo $dir >>/tmp/list
 23.1558 -		done
 23.1559 -
 23.1560 -		# Generate initramfs with specified compression and display rootf
 23.1561 -		# size in realtime.
 23.1562 -		rm -f /tmp/rootfs
 23.1563 -		write_initramfs &
 23.1564 -		sleep 2
 23.1565 -		echo -en "\nFilesystem size:"
 23.1566 -		while [ ! -f /tmp/rootfs ]
 23.1567 -		do
 23.1568 -			sleep 1
 23.1569 -			echo -en "\\033[18G`du -sh /rootfs.gz | awk '{print $1}'`    "
 23.1570 -		done
 23.1571 -		echo -e "\n"
 23.1572 -
 23.1573 -		# Move freshly generated rootfs to the cdrom.
 23.1574 -		mkdir -p $ROOTCD/boot
 23.1575 -		mv -f /rootfs.gz $ROOTCD/boot
 23.1576 -		
 23.1577 -		# Now we need the kernel and isolinux files.
 23.1578 -		if mount /dev/cdrom /media/cdrom 2>/dev/null; then
 23.1579 -			cp /media/cdrom/boot/bzImage $ROOTCD/boot
 23.1580 -			cp -a /media/cdrom/boot/isolinux $ROOTCD/boot
 23.1581 -			umount /media/cdrom
 23.1582 -		else
 23.1583 -			echo -e "
 23.1584 -Unable to mount the cdrom to copy the Kernel and needed files. When SliTaz
 23.1585 -is running in RAM the kernel and bootloader files are keeped on the cdrom.
 23.1586 -Please insert a LiveCD or unmount curent cdrom to let Tazlito handle the media.\n"
 23.1587 -			echo -en "----\nENTER to continue..."; read i
 23.1588 -			exit 1
 23.1589 -		fi
 23.1590 -		
 23.1591 -		# Generate the iso image.
 23.1592 -		cd $DISTRO
 23.1593 -		echo "Generating ISO image..."
 23.1594 -		genisoimage -R -o $ISO_NAME.iso -b boot/isolinux/isolinux.bin \
 23.1595 -		-c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
 23.1596 -		-V "SliTaz" -input-charset iso8859-1 -boot-info-table $ROOTCD
 23.1597 -		if [ -x /usr/bin/isohybrid ]; then
 23.1598 -			echo -n "Creating hybrid ISO..."
 23.1599 -			/usr/bin/isohybrid $ISO_NAME.iso 2> /dev/null
 23.1600 -			status
 23.1601 -		fi
 23.1602 -		echo -n "Creating the ISO md5sum..."
 23.1603 -		md5sum $ISO_NAME.iso > $ISO_NAME.md5
 23.1604 -		status
 23.1605 -
 23.1606 -		echo "==============================================================================="
 23.1607 -		echo "ISO image: `du -sh /home/slitaz/distro/$ISO_NAME.iso`"
 23.1608 -		echo ""
 23.1609 -		echo -n "Exit or burn ISO to cdrom (Exit|burn)? "; read anser
 23.1610 -		case $anser in
 23.1611 -			burn)
 23.1612 -				eject
 23.1613 -				echo -n "Please insert a blank cdrom and press ENTER..."
 23.1614 -				read i && sleep 2
 23.1615 -				tazlito burn-iso /home/slitaz/distro/$ISO_NAME.iso
 23.1616 -				echo -en "----\nENTER to continue..."; read i ;;
 23.1617 -			*)
 23.1618 -				exit 0 ;;
 23.1619 -		esac ;;
 23.1620 -	burn-iso)
 23.1621 -		# Guess cdrom device, ask user and burn the ISO.
 23.1622 -		#
 23.1623 -		check_root
 23.1624 -		DRIVE_NAME=`cat /proc/sys/dev/cdrom/info | grep "drive name" | cut -f 3`
 23.1625 -		DRIVE_SPEED=`cat /proc/sys/dev/cdrom/info | grep "drive speed" | cut -f 3`
 23.1626 -		# We can specify an alternative ISO from the cmdline.
 23.1627 -		if [ -n "$2" ] ; then
 23.1628 -			iso=$2
 23.1629 -		else
 23.1630 -			iso=$DISTRO/$ISO_NAME.iso
 23.1631 -		fi
 23.1632 -		if [ ! -f "$iso" ]; then
 23.1633 -			echo -e "\nUnable to find ISO : $iso\n"
 23.1634 -			exit 0
 23.1635 -		fi
 23.1636 -		echo ""
 23.1637 -		echo -e "\033[1mTazlito burn ISO\033[0m "
 23.1638 -		echo "================================================================================"
 23.1639 -		echo "Cdrom device  : /dev/$DRIVE_NAME"
 23.1640 -		echo "Drive speed   : $DRIVE_SPEED"
 23.1641 -		echo "ISO image     : $iso"
 23.1642 -		echo "================================================================================"
 23.1643 -		echo ""
 23.1644 -		yesorno "Burn ISO image (y/N) ? "
 23.1645 -		if [ "$answer" == "y" ]; then
 23.1646 -			echo ""
 23.1647 -			echo "Starting Wodim to burn the iso..." && sleep 2
 23.1648 -			echo "================================================================================"
 23.1649 -			wodim speed=$DRIVE_SPEED dev=/dev/$DRIVE_NAME $iso
 23.1650 -			echo "================================================================================"
 23.1651 -			echo "ISO image is burned to cdrom."
 23.1652 -		else
 23.1653 -			echo -e "\nExiting. No ISO burned."
 23.1654 -		fi
 23.1655 -		echo ""
 23.1656 -		;;
 23.1657 -	merge)
 23.1658 -		# Merge multiple rootfs into one iso.
 23.1659 -		#
 23.1660 -		if [ -z "$2" ]; then
 23.1661 -			cat << EOT
 23.1662 -Usage: tazlito merge size1 iso size2 rootfs2 [sizeN rootfsN]...
 23.1663 -
 23.1664 -Merge multiple rootfs into one iso. Rootfs are like russian dolls
 23.1665 -i.e: rootfsN is a subset of rootfsN-1
 23.1666 -rootfs1 is found in iso, sizeN is the RAM size need to launch rootfsN.
 23.1667 -The boot loader will select the rootfs according to the RAM size detected.
 23.1668 -
 23.1669 -Example: 
 23.1670 -$ tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz
 23.1671 -
 23.1672 -Will start slitaz-core with 160M+ RAM, slitaz-justX with 96M-160M RAM,
 23.1673 -slitaz-base with 32M-96M RAM and display an error message if RAM < 32M.
 23.1674 -EOT
 23.1675 -			exit 2
 23.1676 -		fi
 23.1677 -
 23.1678 -		shift	# skip merge
 23.1679 -		append="$1 slitaz1"
 23.1680 -		shift	# skip size1
 23.1681 -		mkdir -p $TMP_DIR/mnt $TMP_DIR/rootfs1
 23.1682 -
 23.1683 -		ISO=$1.merged
 23.1684 -		# Extract filesystems
 23.1685 -		echo -n "Mounting $1"
 23.1686 -		mount -o loop,ro $1 $TMP_DIR/mnt 2> /dev/null
 23.1687 -		status || cleanup_merge
 23.1688 -		cp -a $TMP_DIR/mnt $TMP_DIR/iso
 23.1689 -		rm -f $TMP_DIR/iso/boot/bzImage
 23.1690 -		ln $TMP_DIR/iso/boot/vmlinuz* $TMP_DIR/iso/boot/bzImage
 23.1691 -		umount -d $TMP_DIR/mnt
 23.1692 -		if [ -f $TMP_DIR/iso/boot/rootfs1.gz ]; then
 23.1693 -			echo "$1 is already a merged iso. Aborting."
 23.1694 -			cleanup_merge
 23.1695 -		fi
 23.1696 -		if [ ! -f $TMP_DIR/iso/boot/isolinux/ifmem.c32 ]; then
 23.1697 -			if [ ! -f /boot/isolinux/ifmem.c32 ]; then
 23.1698 -				cat <<EOT
 23.1699 -No file /boot/isolinux/ifmem.c32
 23.1700 -Please install syslinux package !
 23.1701 -EOT
 23.1702 -				rm -rf $TMP_DIR
 23.1703 -				exit 1
 23.1704 -			fi
 23.1705 -			cp /boot/isolinux/ifmem.c32 $TMP_DIR/iso/boot/isolinux
 23.1706 -		fi
 23.1707 -		
 23.1708 -		echo -n "Extracting iso/rootfs.gz"
 23.1709 -		extract_rootfs $TMP_DIR/iso/boot/rootfs.gz $TMP_DIR/rootfs1 &&
 23.1710 -		[ -d $TMP_DIR/rootfs1/etc ]
 23.1711 -		status || cleanup_merge
 23.1712 -		n=1
 23.1713 -		while [ -n "$2" ]; do
 23.1714 -			shift	# skip rootfs N-1
 23.1715 -			p=$n
 23.1716 -			n=$(($n + 1))
 23.1717 -			append="$append $1 slitaz$n"
 23.1718 -			shift	# skip size N
 23.1719 -			mkdir -p $TMP_DIR/rootfs$n
 23.1720 -			echo -n "Extracting $1"
 23.1721 -			extract_rootfs $1 $TMP_DIR/rootfs$n &&
 23.1722 -			[ -d $TMP_DIR/rootfs$n/etc ]
 23.1723 -			status || cleanup_merge
 23.1724 -			mergefs $TMP_DIR/rootfs$n $TMP_DIR/rootfs$p
 23.1725 -			echo "Creating rootfs$p.gz"
 23.1726 -			pack_rootfs $TMP_DIR/rootfs$p $TMP_DIR/iso/boot/rootfs$p.gz
 23.1727 -			status
 23.1728 -		done
 23.1729 -		echo "Creating rootfs$n.gz"
 23.1730 -		pack_rootfs $TMP_DIR/rootfs$n $TMP_DIR/iso/boot/rootfs$n.gz
 23.1731 -		status
 23.1732 -		rm -f $TMP_DIR/iso/boot/rootfs.gz
 23.1733 -		update_bootconfig $TMP_DIR/iso/boot/isolinux "$append"
 23.1734 -		echo "Generating $ISO"
 23.1735 -		create_iso $ISO $TMP_DIR/iso
 23.1736 -		rm -rf $TMP_DIR
 23.1737 -		;;
 23.1738 -
 23.1739 -	repack)
 23.1740 -		# Repack an iso with maximum lzma compression ratio.
 23.1741 -		#
 23.1742 -
 23.1743 -		ISO=$2
 23.1744 -
 23.1745 -		mkdir -p $TMP_DIR/mnt
 23.1746 -		# Extract filesystems
 23.1747 -		echo -n "Mounting $ISO"
 23.1748 -		mount -o loop,ro $ISO $TMP_DIR/mnt 2> /dev/null
 23.1749 -		status || cleanup_merge
 23.1750 -		cp -a $TMP_DIR/mnt $TMP_DIR/iso
 23.1751 -		umount -d $TMP_DIR/mnt
 23.1752 -		
 23.1753 -		for i in $TMP_DIR/iso/boot/rootfs* ; do
 23.1754 -			echo -n "Repacking $(basename $i)"
 23.1755 -			(zcat $i || unlzma -c $i || cat $i) \
 23.1756 -				2>/dev/null > $TMP_DIR/rootfs
 23.1757 -			lzma e $TMP_DIR/rootfs $i \
 23.1758 -				 $(lzma_switches $TMP_DIR/rootfs)
 23.1759 -			status
 23.1760 -		done
 23.1761 -		
 23.1762 -		echo "Generating $ISO"
 23.1763 -		create_iso $ISO $TMP_DIR/iso
 23.1764 -		rm -rf $TMP_DIR ;;
 23.1765 -	
 23.1766 -	frugal-install|-fi)
 23.1767 -		ISO_IMAGE="$2"
 23.1768 -		echo ""
 23.1769 -		mkdir -p /boot/frugal
 23.1770 -		if [ -f "$ISO_IMAGE" ]; then
 23.1771 -			echo -n "Using ISO image: $ISO_IMAGE"
 23.1772 -			mkdir -p /tmp/iso && mount -o loop $ISO_IMAGE /tmp/iso
 23.1773 -			status
 23.1774 -			echo -n "Installing the Kernel and rootfs..."
 23.1775 -			cp -a /tmp/iso/boot/bzImage /boot/frugal
 23.1776 -			cp -a /tmp/iso/boot/rootfs.gz /boot/frugal
 23.1777 -			umount /tmp/iso
 23.1778 -			status
 23.1779 -		else
 23.1780 -			echo -n "Using distro: $DISTRO"
 23.1781 -			cd $DISTRO && status
 23.1782 -			echo -n "Installing the Kernel and rootfs..."
 23.1783 -			cp -a $DISTRO/rootcd/boot/bzImage /boot/frugal
 23.1784 -			cp -a $DISTRO/rootcd/boot/rootfs.gz /boot/frugal
 23.1785 -			status
 23.1786 -		fi
 23.1787 -		# Grub entry
 23.1788 -		if ! grep -q "^kernel /boot/frugal/bzImage" /boot/grub/menu.lst; then
 23.1789 -			echo -n "Configuring GRUB menu list..."
 23.1790 -			cat >> /boot/grub/menu.lst << EOT
 23.1791 -title SliTaz GNU/Linux (frugal)
 23.1792 -root (hd0,0)
 23.1793 -kernel /boot/frugal/bzImage root=/dev/null
 23.1794 -initrd /boot/frugal/rootfs.gz
 23.1795 -EOT
 23.1796 -		else
 23.1797 -			echo -n "GRUB menu list is up-to-date..."
 23.1798 -		fi
 23.1799 -		status
 23.1800 -		echo "" ;;
 23.1801 -	
 23.1802 -	emu-iso)
 23.1803 -		# Emulate an ISO image with Qemu.
 23.1804 -		if [ -n "$2" ] ; then
 23.1805 -			iso=$2
 23.1806 -		else
 23.1807 -			iso=$DISTRO/$ISO_NAME.iso
 23.1808 -		fi
 23.1809 -		if [ ! -f "$iso" ]; then
 23.1810 -			echo -e "\nUnable to find ISO : $iso\n"
 23.1811 -			exit 0
 23.1812 -		fi
 23.1813 -		if [ ! -x "/usr/bin/qemu" ]; then
 23.1814 -			echo -e "\nUnable to find Qemu binary. Please install: qemu\n"
 23.1815 -			exit 0
 23.1816 -		fi
 23.1817 -		echo -e "\nStarting Qemu emulator:\n"
 23.1818 -		echo -e "qemu $QEMU_OPTS $iso\n"
 23.1819 -		qemu $QEMU_OPTS $iso ;;
 23.1820 -
 23.1821 -	usage|*)
 23.1822 -		# Clear and print usage also for all unknown commands.
 23.1823 -		#
 23.1824 -		clear
 23.1825 -		usage ;;
 23.1826 -esac
 23.1827 -
 23.1828 -exit 0
    24.1 --- a/core-xfce/rootfs/usr/bin/tazlitobox	Wed Feb 22 23:24:45 2012 +0100
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,445 +0,0 @@
    24.4 -#!/bin/sh
    24.5 -# 
    24.6 -# Gtkdialog box for Tazlito - SliTaz Live Tool.
    24.7 -# Tabs are used for ident ans all action should go into functions to
    24.8 -# separate GUI and commands.
    24.9 -#
   24.10 -# (C) GNU gpl v3 - SliTaz GNU/Linux 2010.
   24.11 -#
   24.12 -VERSION=2.2
   24.13 -
   24.14 -export BIN=$0
   24.15 -
   24.16 -# Check if user is root.
   24.17 -check_root()
   24.18 -{
   24.19 -	if test $(id -u) != 0 ; then
   24.20 -		echo -e "
   24.21 -You must be root to run `basename $0`. Please type 'su' and 
   24.22 -root password to become super-user.\n"
   24.23 -		exit 0
   24.24 -	fi
   24.25 -}
   24.26 -
   24.27 -# We need to parse flavors.list for GTK tree.
   24.28 -list_flavors()
   24.29 -{
   24.30 -	tazlito list-flavors | grep ^[a-z] | while read line
   24.31 -	do		
   24.32 -		info=`echo -n $line | awk '{print $1 " " $2 " " $3}'`
   24.33 -		printinfo=`echo -n $line | awk '{print $1 "|" $2 "|" $3}'`
   24.34 -		echo "$printinfo|`echo $line | sed s/\"$info\"//`"
   24.35 -	done
   24.36 -}
   24.37 -
   24.38 -recharge_list()
   24.39 -{
   24.40 -	xterm -geometry 90x14 \
   24.41 -		-title "list-flavors --recharge" \
   24.42 -		-e "tazlito list-flavors --recharge | grep ^[a-z] && sleep 2"
   24.43 -}
   24.44 -
   24.45 -# When using gen-liveflavor, gen-flavor or gen-distro, user can put some
   24.46 -# addfiles copied into the rootfs.
   24.47 -addfiles_action()
   24.48 -{
   24.49 -	cd /home/slitaz
   24.50 -	mkdir -p distro/addfiles/rootfs/usr/share/images
   24.51 -	mkdir -p distro/addfiles/rootcd
   24.52 -	file-manager distro/addfiles &
   24.53 -}
   24.54 -
   24.55 -writeiso_action()
   24.56 -{
   24.57 -	xterm -geometry 80x16 \
   24.58 -		-title "writeiso" \
   24.59 -		-e "tazlito writeiso $COMPRESSION"
   24.60 -}
   24.61 -
   24.62 -gen_liveflavor_action()
   24.63 -{
   24.64 -	cd /home/slitaz
   24.65 -	sed -i "s/ISO_NAME=.*/ISO_NAME=\"slitaz-$GEN_LIVEFLAVOR_NAME\"/" \
   24.66 -		/etc/tazlito/tazlito.conf
   24.67 -	xterm -geometry 80x16 \
   24.68 -		-title "gen-liveflavor" \
   24.69 -		-e "tazlito gen-liveflavor $GEN_LIVEFLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close"
   24.70 -}
   24.71 -
   24.72 -clean_distro_action()
   24.73 -{
   24.74 -	cd /home/slitaz
   24.75 -	xterm -geometry 80x16 \
   24.76 -		-title "clean-distro" \
   24.77 -		-e "tazlito clean-distro && sleep 1"
   24.78 -}
   24.79 -
   24.80 -get_flavor_action()
   24.81 -{
   24.82 -	cd /home/slitaz
   24.83 -	xterm -geometry 80x16 \
   24.84 -		-title "get-flavor $COMMUNITY_FLAVOR" \
   24.85 -		-e "tazlito get-flavor $COMMUNITY_FLAVOR && echo -e \"----\nENTER to continue...\" && read close"
   24.86 -}
   24.87 -
   24.88 -gen_distro_action()
   24.89 -{
   24.90 -	cd /home/slitaz
   24.91 -	xterm -geometry 80x16 \
   24.92 -		-title "gen-distro" \
   24.93 -		-e "tazlito gen-distro && echo -e \"----\nENTER to continue...\" && read close"
   24.94 -}
   24.95 -
   24.96 -gen_flavor_action()
   24.97 -{
   24.98 -	cd /home/slitaz
   24.99 -	xterm -geometry 80x16 \
  24.100 -		-title "gen-flavor $GEN_FLAVOR_NAME" \
  24.101 -		-e "tazlito gen-flavor $GEN_FLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close"
  24.102 -}
  24.103 -
  24.104 -edit_distro_script()
  24.105 -{
  24.106 -	[ ! -f $DISTRO_SCRIPT ] && echo "#!/bin/sh" > $DISTRO_SCRIPT
  24.107 -	chmod +x $DISTRO_SCRIPT
  24.108 -	editor $DISTRO_SCRIPT
  24.109 -}
  24.110 -
  24.111 -# Boxes
  24.112 -
  24.113 -export HELP='
  24.114 -<window title="Tazlito Box - Help" icon-name="media-cdrom">
  24.115 -<vbox>
  24.116 -	<text use-markup="true">
  24.117 -		<label>"
  24.118 -<b>Tazlito Box - Help</b>"
  24.119 -		</label>
  24.120 -	</text>
  24.121 -	
  24.122 -	<frame Overview>
  24.123 -		<text wrap="true" width-chars="52" use-markup="true">
  24.124 -			<label>
  24.125 -"
  24.126 -Tazlito Box is a tiny interface to the SliTaz Live Tool aka Tazlito.
  24.127 -You can simply generate a LiveCD in a few minutes, using your
  24.128 -own flavor or one from the SliTaz community. Tazlito can also 
  24.129 -generate a LiveCD flavor using all of the currently installed 
  24.130 -packages. Tazlito commands are executed in a XTerm, you can 
  24.131 -press ENTER or the mouse to close the window.
  24.132 -"
  24.133 -			</label>
  24.134 -		</text>
  24.135 -	</frame>
  24.136 -	
  24.137 -	<frame Default paths>
  24.138 -		<text wrap="true" width-chars="50" use-markup="true">
  24.139 -			<label>
  24.140 -"
  24.141 -Distro      : /home/slitaz/distro
  24.142 -Flavors    : /home/slitaz/flavors
  24.143 -Packages : /home/slitaz/packages
  24.144 -"
  24.145 -			</label>
  24.146 -		</text>
  24.147 -	</frame>
  24.148 -	
  24.149 -	<hbox>
  24.150 -		<button>
  24.151 -			<input file icon="exit"></input>
  24.152 -			<action type="closewindow">HELP</action>
  24.153 -		</button>
  24.154 -	</hbox>
  24.155 -
  24.156 -</vbox>
  24.157 -</window>
  24.158 -'
  24.159 -
  24.160 -# List all flavors on the mirror.
  24.161 -export LIST_FLAVORS_BOX='
  24.162 -<window title="Community flavors list" icon-name="tazlito">
  24.163 -<vbox>
  24.164 -	<tree>
  24.165 -		<width>500</width><height>200</height>
  24.166 -		<variable>COMMUNITY_FLAVOR</variable>
  24.167 -		<label>Name|ISO|Rootfs|Description</label>
  24.168 -		<input exported_column="0">$BIN list_flavors</input>
  24.169 -	</tree>
  24.170 -	<hbox>
  24.171 -		<button>
  24.172 -			<label>Recharge list</label>
  24.173 -			<input file icon="reload"></input>
  24.174 -			<action>$BIN recharge_list</action>
  24.175 -			<action>refresh:COMMUNITY_FLAVOR</action>
  24.176 -		</button>
  24.177 -		<button>
  24.178 -			<label>Exit</label>
  24.179 -			<input file icon="exit"></input>
  24.180 -			<action type="closewindow">LIST_FLAVORS_BOX</action>
  24.181 -		</button>
  24.182 -	</hbox>
  24.183 -</vbox>
  24.184 -</window>'
  24.185 -
  24.186 -# Execute tazlito commands in a XTerm. Notebook: tab-pos="GTK_POS_LEFT"
  24.187 -export TAZLITO_BOX='
  24.188 -<window title="Tazlito Box" icon-name="media-cdrom">
  24.189 -<vbox>
  24.190 -
  24.191 -	<hbox>
  24.192 -	<text use-markup="true">
  24.193 -		<label>"<b>SliTaz Live Tool</b>"</label>
  24.194 -	</text>
  24.195 -	<pixmap>
  24.196 -		<input file>/usr/share/pixmaps/tazlito.png</input>
  24.197 -	</pixmap>
  24.198 -	</hbox>
  24.199 -
  24.200 -	<notebook labels="Writeiso|Live flavor|Flavors list|Gen flavor|Configuration">
  24.201 -
  24.202 -	<frame Filesystem to ISO>
  24.203 -
  24.204 -	<text wrap="true" width-chars="60" use-markup="true">
  24.205 -		<label>
  24.206 -"
  24.207 -Writeiso will generate an ISO image of the current filesystem as
  24.208 -is, including the /home directory. It is an easy way to remaster a
  24.209 -SliTaz Live system, you just have to: boot, modify, writeiso.
  24.210 -"
  24.211 -		</label>
  24.212 -	</text>
  24.213 -
  24.214 -	<hbox>
  24.215 -		<text use-markup="true">
  24.216 -			<label>"<b>Compression (gzip,lzma,none):</b>"</label>
  24.217 -		</text>
  24.218 -		<entry>
  24.219 -			<default>gzip</default>
  24.220 -			<variable>COMPRESSION</variable>
  24.221 -		</entry>
  24.222 -	</hbox>
  24.223 -
  24.224 -	<hbox>
  24.225 -		<button>
  24.226 -			<label>Writeiso</label>
  24.227 -			<input file icon="forward"></input>
  24.228 -			<action>$BIN writeiso_action</action>
  24.229 -		</button>
  24.230 -	</hbox>
  24.231 -	
  24.232 -	</frame>
  24.233 -	
  24.234 -	<frame Current packages selection>
  24.235 -	
  24.236 -	<text wrap="true" width-chars="60" use-markup="true">
  24.237 -		<label>
  24.238 -"
  24.239 -Gen Live flavor will create a LiveCD based on all the currently
  24.240 -installed packages. To build the rootfs and ISO image it will use
  24.241 -original SliTaz packages. Some addfiles can be copied before
  24.242 -gen distro.
  24.243 -"
  24.244 -		</label>
  24.245 -	</text>
  24.246 -
  24.247 -	<hbox>
  24.248 -		<text use-markup="true">
  24.249 -			<label>"<b>Flavor name :</b>"</label>
  24.250 -		</text>
  24.251 -		<entry>
  24.252 -			<default>slitaz</default>
  24.253 -			<variable>GEN_LIVEFLAVOR_NAME</variable>
  24.254 -		</entry>
  24.255 -	</hbox>
  24.256 -
  24.257 -	<hbox>
  24.258 -		<button>
  24.259 -			<label>Addfiles</label>
  24.260 -			<input file icon="gtk-open"></input>
  24.261 -			<action>$BIN addfiles_action</action>
  24.262 -		</button>
  24.263 -		<button>
  24.264 -			<label>Gen distro</label>
  24.265 -			<input file icon="forward"></input>
  24.266 -			<action>$BIN gen_liveflavor_action</action>
  24.267 -		</button>
  24.268 -		<button>
  24.269 -			<label>Clean distro</label>
  24.270 -			<input file icon="edit-clear"></input>
  24.271 -			<action>$BIN clean_distro_action</action>
  24.272 -		</button>
  24.273 -	</hbox>
  24.274 -
  24.275 -	</frame>
  24.276 -	
  24.277 -	<frame Community and personal flavors>
  24.278 -	
  24.279 -	<text wrap="true" width-chars="60" use-markup="true">
  24.280 -		<label>
  24.281 -"
  24.282 -Get and build preconfigured flavors from the community. Flavors
  24.283 -llist can be recharged from SliTaz mirror. Some addfiles can be
  24.284 -copied before generating the distro.
  24.285 -"
  24.286 -		</label>
  24.287 -	</text>
  24.288 -
  24.289 -	<hbox>
  24.290 -		<text use-markup="true">
  24.291 -			<label>"<b>Flavor :</b>"</label>
  24.292 -		</text>
  24.293 -		<entry>
  24.294 -			<default>core</default>
  24.295 -			<variable>COMMUNITY_FLAVOR</variable>
  24.296 -		</entry>
  24.297 -		<button>
  24.298 -			<label>List flavors</label>
  24.299 -			<input file icon="media-cdrom"></input>
  24.300 -			<action type="launch">LIST_FLAVORS_BOX</action>
  24.301 -		</button>
  24.302 -	</hbox>
  24.303 -
  24.304 -	<hbox>
  24.305 -		<button>
  24.306 -			<label>Get flavor</label>
  24.307 -			<input file icon="forward"></input>
  24.308 -			<action>$BIN get_flavor_action</action>
  24.309 -		</button>
  24.310 -		<button>
  24.311 -			<label>Addfiles</label>
  24.312 -			<input file icon="gtk-open"></input>
  24.313 -			<action>$BIN addfiles_action</action>
  24.314 -		</button>
  24.315 -		<button>
  24.316 -			<label>Gen distro</label>
  24.317 -			<input file icon="forward"></input>
  24.318 -			<action>$BIN gen_distro_action</action>
  24.319 -		</button>
  24.320 -		<button>
  24.321 -			<label>Clean distro</label>
  24.322 -			<input file icon="edit-clear"></input>
  24.323 -			<action>$BIN clean_distro_action</action>
  24.324 -		</button>
  24.325 -	</hbox>
  24.326 -
  24.327 -	</frame>
  24.328 -	<frame Generate a flavor>
  24.329 -
  24.330 -	<text wrap="true" width-chars="60" use-markup="true">
  24.331 -		<label>
  24.332 -"
  24.333 -Gen Flavor will generate a new flavor file based on rootfs in 
  24.334 -/home/slitaz/distro. All addfiles will be included in the flavor file.
  24.335 -"
  24.336 -		</label>
  24.337 -	</text>
  24.338 -
  24.339 -	<hbox>
  24.340 -		<text use-markup="true">
  24.341 -			<label>"<b>New flavor :</b>"</label>
  24.342 -		</text>
  24.343 -		<entry>
  24.344 -			<default>slitaz</default>
  24.345 -			<variable>GEN_FLAVOR_NAME</variable>
  24.346 -		</entry>
  24.347 -	</hbox>
  24.348 -	
  24.349 -	<hbox>
  24.350 -		<button>
  24.351 -			<label>Addfiles</label>
  24.352 -			<input file icon="gtk-open"></input>
  24.353 -			<action>$BIN addfiles_action</action>
  24.354 -		</button>
  24.355 -		<button>
  24.356 -			<label>Gen new flavor</label>
  24.357 -			<input file icon="forward"></input>
  24.358 -			<action>$BIN gen_flavor_action</action>
  24.359 -		</button>
  24.360 -	</hbox>
  24.361 -
  24.362 -	</frame>
  24.363 -	
  24.364 -	<frame Flavor config and packages list>
  24.365 -
  24.366 -	<text wrap="true" width-chars="60" use-markup="true">
  24.367 -		<label>
  24.368 -"
  24.369 -Before editing files you must have a flavor description. Distro
  24.370 -script can be used to perform actions into the rootfs before
  24.371 -compression.
  24.372 -"
  24.373 -		</label>
  24.374 -	</text>
  24.375 -
  24.376 -	<hbox>
  24.377 -		<text use-markup="true">
  24.378 -			<label>"<b>Flavor config :</b>"</label>
  24.379 -		</text>
  24.380 -		<entry>
  24.381 -			<default>/home/slitaz/tazlito.conf</default>
  24.382 -			<variable>CONFIG_FILE</variable>
  24.383 -		</entry>
  24.384 -		<button>
  24.385 -			<input file icon="accessories-text-editor"></input>
  24.386 -			<action>editor $CONFIG_FILE</action>
  24.387 -		</button>
  24.388 -	</hbox>
  24.389 -
  24.390 -	<hbox>
  24.391 -		<text use-markup="true">
  24.392 -			<label>"<b>Packages list :</b>"</label>
  24.393 -		</text>
  24.394 -		<entry>
  24.395 -			<default>/home/slitaz/distro-packages.list</default>
  24.396 -			<variable>PKGS_LIST</variable>
  24.397 -		</entry>
  24.398 -		<button>
  24.399 -			<input file icon="accessories-text-editor"></input>
  24.400 -			<action>editor $PKGS_LIST</action>
  24.401 -		</button>
  24.402 -	</hbox>
  24.403 -
  24.404 -	<hbox>
  24.405 -		<text use-markup="true">
  24.406 -			<label>"<b>Distro script :</b> "</label>
  24.407 -		</text>
  24.408 -		<entry>
  24.409 -			<default>/home/slitaz/distro.sh</default>
  24.410 -			<variable>DISTRO_SCRIPT</variable>
  24.411 -		</entry>
  24.412 -		<button>
  24.413 -			<input file icon="accessories-text-editor"></input>
  24.414 -			<action>$BIN edit_distro_script</action>
  24.415 -		</button>
  24.416 -	</hbox>
  24.417 -
  24.418 -	</frame>
  24.419 -
  24.420 -	</notebook>
  24.421 -
  24.422 -	<hbox>
  24.423 -		<button help>
  24.424 -			<input file icon="help-browser"></input>
  24.425 -			<action type="launch">HELP</action>
  24.426 -		</button>
  24.427 -		<button>
  24.428 -			<label>Exit</label>
  24.429 -			<input file icon="exit"></input>
  24.430 -			<action type="exit">Exit</action>
  24.431 -		</button>
  24.432 -	</hbox>
  24.433 -
  24.434 -</vbox>
  24.435 -</window>
  24.436 -'
  24.437 -
  24.438 -case $1 in
  24.439 -	*_*)
  24.440 -		# Exec all function called by args (must have an underscore).
  24.441 -		$1 ;;
  24.442 -	*)
  24.443 -		# Tazlitobox action.
  24.444 -		check_root
  24.445 -		gtkdialog --center --program=TAZLITO_BOX ;;
  24.446 -esac
  24.447 -
  24.448 -exit 0
    25.1 --- a/core-xfce/rootfs/usr/bin/wifibox	Wed Feb 22 23:24:45 2012 +0100
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,634 +0,0 @@
    25.4 -#!/bin/sh
    25.5 -#
    25.6 -# GTKdialog interface to manage wireless connections in a simple way.
    25.7 -# Use tabs to indent, split commands from the GUI and use functions.
    25.8 -# Favorite networks are also supported
    25.9 -#
   25.10 -# (c) 2010 SliTaz GNU/Linux - GNU gpl v3
   25.11 -#
   25.12 -VERSION=20100118
   25.13 -
   25.14 -# Export script path and others if needed so we can use them in 'quote'.
   25.15 -export BIN=$0
   25.16 -export FAVORITES_WIFI=/etc/wireless
   25.17 -. /etc/network.conf
   25.18 -
   25.19 -# Wifibox is only for root.
   25.20 -if test $(id -u) != 0 ; then
   25.21 -	exec subox wifibox
   25.22 -	exit 0
   25.23 -fi
   25.24 -
   25.25 -# Sanity check
   25.26 -[ -x /usr/sbin/iwconfig ] || tazpkg get-install wireless_tools
   25.27 -[ -d $FAVORITES_WIFI ] || mkdir -p $FAVORITES_WIFI
   25.28 -rm -f $FAVORITES_WIFI/any.conf
   25.29 -
   25.30 -# Catch ESSIDs and format output for GTK tree. We get the list of
   25.31 -# networks by Cell and without spaces.
   25.32 -detect_wifi_networks()
   25.33 -{
   25.34 -	desktopbox notify "Scanning Wireless interface: $WIFI_INTERFACE" &
   25.35 -	if [ -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then
   25.36 -		ifconfig $WIFI_INTERFACE up
   25.37 -		for i in `iwlist $WIFI_INTERFACE scan | sed s/"Cell "/Cell-/ | grep "Cell-" | awk '{print $1}'`
   25.38 -		do
   25.39 -			SCAN=`iwlist $WIFI_INTERFACE scan last | \
   25.40 -				awk '/(Cell|ESS|Qual|Encry|IE: WPA)/ {print}' | \
   25.41 -				sed s/"Cell "/Cell-/ | grep -A 5 "$i"`
   25.42 -			ESSID=`echo $SCAN | cut -d '"' -f 2`
   25.43 -			if echo "$SCAN" | grep -q Quality; then
   25.44 -				QUALITY=`echo $SCAN | sed 's/.*Quality=\([^ ]*\).*/\1/' | sed 's/.*Quality:\([^ ]*\).*/\1/'`
   25.45 -			else
   25.46 -				QUALITY="-"
   25.47 -			fi
   25.48 -			ENCRYPTION=`echo $SCAN | sed 's/.*key:\([^ ]*\).*/\1/'`
   25.49 -			# Check encryption type
   25.50 -			if echo "$SCAN" | grep -q WPA; then
   25.51 -				ENCRYPTION="${ENCRYPTION} (WPA)"
   25.52 -			fi
   25.53 -			# Connected or not connected...
   25.54 -			if ifconfig | grep -A 1 $WIFI_INTERFACE | \
   25.55 -				grep -q inet && iwconfig $WIFI_INTERFACE | \
   25.56 -				grep ESSID | grep -q -w "$ESSID"; then
   25.57 -				STATUS=connected
   25.58 -			else
   25.59 -				STATUS="-"
   25.60 -			fi
   25.61 -			echo -n ""
   25.62 -			echo "$ESSID | $QUALITY | $ENCRYPTION | $STATUS"
   25.63 -		done
   25.64 -	fi
   25.65 -}
   25.66 -
   25.67 -# cmdline functions
   25.68 -
   25.69 -# Toggle Software RF Switch on some laptops
   25.70 -set_rfswitch()
   25.71 -{
   25.72 -	for i in /proc/driver/acerhk/wirelessled /proc/acpi/asus/wled ; do
   25.73 -		[ -e $i ] && echo $1 > $i
   25.74 -	done
   25.75 -}
   25.76 -
   25.77 -# Configure /etc/network.conf and restart connection with init script.
   25.78 -start_wifi_connection()
   25.79 -{
   25.80 -	# Get tmp config created by connect_to_essid() if exists and set 
   25.81 -	# empty value to clean config file.
   25.82 -	if [ -f /tmp/wifi.conf ]; then
   25.83 -		. /tmp/wifi.conf
   25.84 -		WIFI_MODE=""
   25.85 -		WIFI_IWCONFIG_ARGS=""
   25.86 -		WIFI_CHANNEL=""
   25.87 -	fi
   25.88 -	sed -i "s/`grep ^WIFI= /etc/network.conf`/WIFI=\"yes\"/" \
   25.89 -		/etc/network.conf
   25.90 -	sed -i "s/`grep ^WIFI_INTERFACE= /etc/network.conf`/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" \
   25.91 -		/etc/network.conf
   25.92 -	sed -i "s/`grep ^WIFI_ESSID= /etc/network.conf`/WIFI_ESSID=\"$WIFI_ESSID\"/" \
   25.93 -		/etc/network.conf
   25.94 -	sed -i "s/`grep ^WIFI_KEY= /etc/network.conf`/WIFI_KEY=\"$WIFI_KEY\"/" \
   25.95 -		/etc/network.conf
   25.96 -	sed -i "s/`grep ^WIFI_MODE= /etc/network.conf`/WIFI_MODE=\"$WIFI_MODE\"/" \
   25.97 -		/etc/network.conf
   25.98 -	sed -i "s/`grep ^WIFI_IWCONFIG_ARGS= /etc/network.conf`/WIFI_IWCONFIG_ARGS=\"$WIFI_IWCONFIG_ARGS\"/" \
   25.99 -		/etc/network.conf
  25.100 -	sed -i "s/`grep ^WIFI_KEY_TYPE= /etc/network.conf`/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/" \
  25.101 -		/etc/network.conf
  25.102 -	sed -i "s/`grep ^WIFI_CHANNEL= /etc/network.conf`/WIFI_CHANNEL=\"$WIFI_CHANNEL\"/" \
  25.103 -		/etc/network.conf	
  25.104 -	[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`
  25.105 -	ifconfig $WIFI_INTERFACE down
  25.106 -	set_rfswitch 1 
  25.107 -	iwconfig $WIFI_INTERFACE txpower auto
  25.108 -	/etc/init.d/network.sh restart
  25.109 -	# Remove tmp file (could be used to have wireless profiles)
  25.110 -	rm -f /tmp/wifi.conf
  25.111 -	sleep 2
  25.112 -}
  25.113 -
  25.114 -# We must sleep 4 sec to refresh networks list.
  25.115 -stop_wifi_connexion()
  25.116 -{
  25.117 -	sed -i s/`grep ^WIFI= /etc/network.conf`/WIFI=\"no\"/ \
  25.118 -		/etc/network.conf
  25.119 -	[ -x /etc/init.d/wpa_supplicant ] && /etc/init.d/wpa_supplicant stop
  25.120 -	ifconfig $WIFI_INTERFACE down
  25.121 -	iwconfig $WIFI_INTERFACE txpower off
  25.122 -	set_rfswitch 0 
  25.123 -	[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`
  25.124 -	sleep 2
  25.125 -}
  25.126 -
  25.127 -# Favorite wireless networks use only 3 values: essid. key and type of
  25.128 -# key
  25.129 -favorites_wifi_list()
  25.130 -{
  25.131 -	for i in $FAVORITES_WIFI/*.conf
  25.132 -	do
  25.133 -		WIFI_ESSID=""
  25.134 -		WIFI_KEY=""
  25.135 -		WIFI_KEY_TYPE=""
  25.136 -		. "$i"
  25.137 -		[ -z "$WIFI_ESSID" ] && WIFI_ESSID="Bad config file: $i"
  25.138 -		[ -z "$WIFI_KEY_TYPE" ] && WIFI_KEY_TYPE="-"
  25.139 -		if [ -n "$WIFI_KEY" ]; then
  25.140 -			WIFI_KEY="********"
  25.141 -		else
  25.142 -			WIFI_KEY="-"
  25.143 -		fi
  25.144 -		echo "$WIFI_ESSID | $WIFI_KEY_TYPE | $WIFI_KEY"
  25.145 -	done
  25.146 -}
  25.147 -
  25.148 -favorite_wifi_actions()
  25.149 -{
  25.150 -	cp -a $FAVORITES_WIFI/"$FAVORITE".conf /tmp/wifi.conf
  25.151 -	. /tmp/wifi.conf
  25.152 -	export CONNECT_FAVORITE="
  25.153 -<window title=\"Connect to: $WIFI_ESSID\" icon-name=\"network-wireless\">
  25.154 -<vbox>
  25.155 -	
  25.156 -	<text width-chars=\"54\">
  25.157 -		<label>
  25.158 -\"
  25.159 -ESSID name: $WIFI_ESSID
  25.160 -\"
  25.161 -		</label>
  25.162 -	</text>
  25.163 -	
  25.164 -	<hbox>
  25.165 -		<button>
  25.166 -			<label>Connect</label>
  25.167 -			<input file icon=\"forward\"></input>	
  25.168 -			<action>$0 start_wifi_connection</action>
  25.169 -			<action type=\"exit\">exit</action>
  25.170 -		</button>
  25.171 -		<button>
  25.172 -			<label>Edit settings</label>
  25.173 -			<input file icon=\"accessories-text-editor\"></input>	
  25.174 -			<action>leafpad $FAVORITES_WIFI/\"$FAVORITE\".conf</action>
  25.175 -			<action>rm -f /tmp/wifi.conf</action>
  25.176 -			<action type=\"exit\">exit</action>
  25.177 -		</button>
  25.178 -		<button>
  25.179 -			<label>Delete</label>
  25.180 -			<input file icon=\"gtk-delete\"></input>	
  25.181 -			<action>rm -f $FAVORITES_WIFI/\"$FAVORITE\".conf</action>
  25.182 -			<action type=\"exit\">exit</action>
  25.183 -		</button>
  25.184 -		<button cancel></button>
  25.185 -	</hbox>
  25.186 -	
  25.187 -</vbox>
  25.188 -</window>"
  25.189 -	gtkdialog --center --program=CONNECT_FAVORITE >/dev/null
  25.190 -}
  25.191 -
  25.192 -add_favorite_network_box()
  25.193 -{
  25.194 -	ADD_FAVORITE='
  25.195 -<window title="Add new favorite Wireless" icon-name="network-wireless">
  25.196 -<vbox>
  25.197 -	<text width-chars="54">
  25.198 -		<label>
  25.199 -"
  25.200 -Please configure your new favorite Wireless network
  25.201 -"
  25.202 -		</label>
  25.203 -	</text>
  25.204 -	<hbox>
  25.205 -		<text use-markup="true">
  25.206 -			<label>"<b>ESSID:</b>"</label>
  25.207 -		</text>
  25.208 -		<entry>
  25.209 -			<variable>WIFI_ESSID</variable>
  25.210 -		</entry>
  25.211 -	</hbox>
  25.212 -	<hbox>
  25.213 -		<text use-markup="true">
  25.214 -			<label>"<b>Key:   </b>"</label>
  25.215 -		</text>
  25.216 -		<entry>
  25.217 -			<variable>WIFI_KEY</variable>
  25.218 -		</entry>
  25.219 -	</hbox>
  25.220 -	<hbox>
  25.221 -		<text use-markup="true">
  25.222 -			<label>"<b>Key type:</b>"</label>
  25.223 -		</text>
  25.224 -		<combobox>'
  25.225 -	tmp="${ADD_FAVORITE}<item>$WIFI_KEY_TYPE</item>"
  25.226 -	for i in none WEP WPA any; do
  25.227 -		tmp=${tmp}"<item>$i</item>"
  25.228 -	done
  25.229 -	export ADD_FAVORITE=${tmp}'
  25.230 -			<variable>WIFI_KEY_TYPE</variable>
  25.231 -		</combobox>
  25.232 -	</hbox>
  25.233 -	<hbox>
  25.234 -		<button>
  25.235 -			<label>Add to list</label>
  25.236 -			<input file icon="forward"></input>
  25.237 -			<action>echo "# Wireless connection configuration." > $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  25.238 -			<action>echo "#" >> /etc/wireless/"$WIFI_ESSID".conf</action>
  25.239 -			<action>echo "WIFI_ESSID=\"$WIFI_ESSID\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  25.240 -			<action>echo "WIFI_KEY=\"$WIFI_KEY\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  25.241 -			<action>echo "WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  25.242 -			<action type="exit">exit</action>
  25.243 -		</button>
  25.244 -		<button cancel></button>
  25.245 -	</hbox>
  25.246 -</vbox>
  25.247 -</window>'
  25.248 -	gtkdialog --center --program=ADD_FAVORITE #>/dev/null
  25.249 -}
  25.250 -
  25.251 -# GUI functions
  25.252 -
  25.253 -helpbutton()
  25.254 -{
  25.255 -	local label;
  25.256 -        label="<label>$3</label>"
  25.257 -	[ -n "$3" ] || label=""
  25.258 -	cat << EOT
  25.259 -<button>
  25.260 -	<input file icon="help"></input>$label
  25.261 -	<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry $2 -title "$1 help" -e "$(which $1) --help ; echo -e \\"----\\nENTER to continue...\\" && read close"</action>
  25.262 -</button>
  25.263 -EOT
  25.264 -}
  25.265 -
  25.266 -manbutton()
  25.267 -{
  25.268 -	cat << EOT
  25.269 -<button>
  25.270 -	<input file icon="browser"></input>
  25.271 -	<label>man</label>
  25.272 -	<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x24 -title "$2 man (q to quit)" -e ". /etc/profile; man $1 $2"</action>
  25.273 -</button>
  25.274 -EOT
  25.275 -}
  25.276 -
  25.277 -# Independant dialog to connect on a wireless network. If encryption
  25.278 -# is on we ask for the security key.
  25.279 -connect_to_essid()
  25.280 -{
  25.281 -	SCAN=`iwlist $WIFI_INTERFACE scan | \
  25.282 -		awk '/(Cell|ESS|Qual|Encry|IE: WPA)/ {print}' | \
  25.283 -		grep -B 1 -A 1 "$ESSID_LIST"`
  25.284 -	WIFI_ESSID="$ESSID_LIST"
  25.285 -	ENCRYPTION=`echo $SCAN | sed 's/.*key:\([^ ]*\).*/\1/'`
  25.286 -	# Create tmp file used by active_wifi_connexion()
  25.287 -	cat > /tmp/wifi.conf << _EOF_
  25.288 -# Wireless connexion configuration file.
  25.289 -WIFI_ESSID="$ESSID_LIST"
  25.290 -_EOF_
  25.291 -	CONNECT_ESSID="
  25.292 -<window title=\"Connect to: $WIFI_ESSID\" icon-name=\"network-wireless\">
  25.293 -<vbox>
  25.294 -	<text width-chars=\"54\">
  25.295 -		<label>
  25.296 -\"
  25.297 -Connect $WIFI_INTERFACE to: $WIFI_ESSID
  25.298 -\"
  25.299 -		</label>
  25.300 -	</text>"
  25.301 -	# We maybe need a key to connect
  25.302 -	if [ "$ENCRYPTION" = "on" ] && [ "$ESSID_LIST" != "any" ]; then
  25.303 -		# WPA
  25.304 -		if echo "$SCAN" | grep -q WPA; then
  25.305 -			echo 'WIFI_KEY_TYPE="WPA"' >> /tmp/wifi.conf
  25.306 -			CONNECT_ESSID=${CONNECT_ESSID}'
  25.307 -			<hbox>
  25.308 -				<text use-markup="true">
  25.309 -					<label>"<b>WPA Key:</b>"</label>
  25.310 -				</text>
  25.311 -				<entry>
  25.312 -					<input>. /etc/network.conf; echo "$WIFI_KEY"</input>
  25.313 -					<variable>WIFI_KEY</variable>
  25.314 -				</entry>
  25.315 -			</hbox>'
  25.316 -		else
  25.317 -			# WEP
  25.318 -			echo 'WIFI_KEY_TYPE="WEP"' >> /tmp/wifi.conf
  25.319 -			CONNECT_ESSID=${CONNECT_ESSID}'
  25.320 -			<hbox>
  25.321 -				<text use-markup="true">
  25.322 -					<label>"<b>WEP Key:</b>"</label>
  25.323 -				</text>
  25.324 -				<entry>
  25.325 -					<input>. /etc/network.conf; echo "$WIFI_KEY"</input>
  25.326 -					<variable>WIFI_KEY</variable>
  25.327 -				</entry>
  25.328 -			</hbox>'
  25.329 -		fi
  25.330 -	else
  25.331 -		# No encryption
  25.332 -		echo 'WIFI_KEY=""' >> /tmp/wifi.conf
  25.333 -		echo 'WIFI_KEY_TYPE=""' >> /tmp/wifi.conf
  25.334 -		start_wifi_connection
  25.335 -		exit 0
  25.336 -	fi
  25.337 -	# Add key to config file so active_wifi_connexion() can use it.
  25.338 -	# WIFI_KEY is not exported if we quote with --> "
  25.339 -	export CONNECT_ESSID=${CONNECT_ESSID}'
  25.340 -	<hbox>
  25.341 -		<button>
  25.342 -			<label>Connect</label>
  25.343 -			<input file icon="forward"></input>	
  25.344 -			<action>echo "WIFI_KEY=\"$WIFI_KEY\"" >> /tmp/wifi.conf</action>
  25.345 -			<action>$BIN start_wifi_connection</action>
  25.346 -			<action type="exit">exit</action>
  25.347 -		</button>
  25.348 -		<button cancel></button>
  25.349 -	</hbox>
  25.350 -</vbox>
  25.351 -</window>'
  25.352 -	gtkdialog --center --program=CONNECT_ESSID #>/dev/null
  25.353 -}
  25.354 -
  25.355 -# Wifibox start with Networks tab.
  25.356 -box()
  25.357 -{
  25.358 -	WIFI_DIALOG="
  25.359 -<window title=\"Wireless manager\" icon-name=\"network-wireless\">
  25.360 -<vbox>
  25.361 -	
  25.362 -	<notebook labels=\"Networks|Favorites|Configuration|Drivers\">
  25.363 -	
  25.364 -	<vbox>
  25.365 -		<tree icon=\"network-wireless\">
  25.366 -			<width>520</width><height>160</height>
  25.367 -			<variable>ESSID_LIST</variable>
  25.368 -			<label>ESSID|Quality|Encryption|Status</label>
  25.369 -			<input>$0 detect_wifi_networks</input>
  25.370 -			<item icon=\"network-wireless\">any | * | off | (auto-connect)</item>
  25.371 -			<action>$0 connect_to_essid</action>
  25.372 -			<action>refresh:ESSID_LIST</action>
  25.373 -			<action>refresh:WIFI_ESSID</action>
  25.374 -			<action>refresh:WIFI_KEY</action>
  25.375 -			<action>refresh:WIFI_KEY_TYPE</action>
  25.376 -		</tree>
  25.377 -		<hbox>
  25.378 -			<text width-chars=\"54\">
  25.379 -				<label>
  25.380 -\"Please double click on a network to connect or enter security key\"
  25.381 -				</label>
  25.382 -			</text>
  25.383 -			<button>
  25.384 -				<label>Refresh list</label>
  25.385 -				<input file icon=\"reload\"></input>
  25.386 -				<action>refresh:ESSID_LIST</action>
  25.387 -			</button>
  25.388 -		</hbox>
  25.389 -	</vbox>"
  25.390 -	
  25.391 -	# Favorite networks
  25.392 -	WIFI_DIALOG=${WIFI_DIALOG}"	
  25.393 -	<vbox>
  25.394 -		<tree icon=\"network-wireless\">
  25.395 -			<width>500</width><height>160</height>
  25.396 -			<variable>FAVORITE</variable>
  25.397 -			<label>ESSID|Key Type|Key status</label>
  25.398 -			<input>$0 favorites_wifi_list</input>
  25.399 -			<item icon=\"network-wireless\">any | - | -</item>
  25.400 -			<action>$0 favorite_wifi_actions</action>
  25.401 -			<action>refresh:FAVORITE</action>
  25.402 -			<action>refresh:ESSID_LIST</action>
  25.403 -			<action>refresh:WIFI_ESSID</action>
  25.404 -			<action>refresh:WIFI_KEY</action>
  25.405 -			<action>refresh:WIFI_KEY_TYPE</action>
  25.406 -		</tree>
  25.407 -		<hbox>
  25.408 -			<text width-chars=\"50\">
  25.409 -				<label>
  25.410 -\"Please double click on a network to modify or remove it\"
  25.411 -				</label>
  25.412 -			</text>
  25.413 -			<button>
  25.414 -				<label>Add Network</label>
  25.415 -				<input file icon=\"gtk-add\"></input>
  25.416 -				<action>$0 add_favorite_network_box</action>
  25.417 -				<action>refresh:FAVORITE</action>
  25.418 -			</button>
  25.419 -		</hbox>
  25.420 -	</vbox>"
  25.421 -
  25.422 -	# Configuration tab
  25.423 -	WIFI_DIALOG=${WIFI_DIALOG}'
  25.424 -	<vbox>
  25.425 -		<frame Basic>
  25.426 -			<hbox>
  25.427 -				<text use-markup="true">
  25.428 -					<label>"<b>Interface:</b>"</label>
  25.429 -				</text>
  25.430 -				<entry>
  25.431 -					<input>. /etc/network.conf; echo "$WIFI_INTERFACE"</input>
  25.432 -					<variable>WIFI_INTERFACE</variable>
  25.433 -				</entry>
  25.434 -			</hbox>
  25.435 -			<hbox>
  25.436 -				<text use-markup="true">
  25.437 -					<label>"<b>ESSID:        </b>"</label>
  25.438 -				</text>
  25.439 -				<entry>
  25.440 -					<input>. /etc/network.conf; echo "$WIFI_ESSID"</input>
  25.441 -					<variable>WIFI_ESSID</variable>
  25.442 -				</entry>
  25.443 -			</hbox>
  25.444 -			<hbox>
  25.445 -				<text use-markup="true">
  25.446 -					<label>"<b>Key:           </b>"</label>
  25.447 -				</text>
  25.448 -				<entry>
  25.449 -					<input>. /etc/network.conf; echo "$WIFI_KEY"</input>
  25.450 -					<variable>WIFI_KEY</variable>
  25.451 -				</entry>
  25.452 -				<combobox>'
  25.453 -	tmp2="${WIFI_DIALOG}<item>$WIFI_KEY_TYPE</item>"
  25.454 -	for i in none WEP WPA any; do
  25.455 -		[ "$i" = "$WIFI_KEY_TYPE" ] || tmp2="$tmp2<item>$i</item>"
  25.456 -	done
  25.457 -	tmp3='		<variable>WIFI_KEY_TYPE</variable>
  25.458 -				</combobox>
  25.459 -			</hbox>
  25.460 -		</frame>
  25.461 -		<frame Advanced>
  25.462 -			<hbox>
  25.463 -				<text use-markup="true">
  25.464 -					<label>"<b>Channel/Mode:</b>"</label>
  25.465 -				</text>
  25.466 -				<entry>
  25.467 -					<input>. /etc/network.conf; echo "$WIFI_CHANNEL"</input>
  25.468 -					<variable>WIFI_CHANNEL</variable>
  25.469 -				</entry>
  25.470 -				
  25.471 -				<combobox>
  25.472 -					<variable>WIFI_MODE</variable>'
  25.473 -	tmp2="$tmp2$tmp3<item>$WIFI_MODE</item>"
  25.474 -	for i in managed ad-hoc master repeater secondary monitor; do
  25.475 -		[ "$i" = "$WIFI_MODE" ] || tmp2="$tmp2<item>$i</item>"
  25.476 -	done
  25.477 -	tmp3='		</combobox>
  25.478 -			</hbox>
  25.479 -			<hbox>
  25.480 -				<text use-markup="true">
  25.481 -					<label>"<b>Iwconfig args:</b> "</label>
  25.482 -				</text>
  25.483 -				<entry>
  25.484 -					<input>. /etc/network.conf; echo "$WIFI_IWCONFIG_ARGS"</input>
  25.485 -					<variable>WIFI_IWCONFIG_ARGS</variable>
  25.486 -				</entry>'
  25.487 -	WIFI_DIALOG="$tmp$tmp2$tmp3
  25.488 -	$(helpbutton iwconfig 80x24)
  25.489 -	$(manbutton 8 iwconfig)
  25.490 -			</hbox>
  25.491 -		</frame>"
  25.492 -		
  25.493 -	# Start Button for manual configuration.
  25.494 -	WIFI_DIALOG=${WIFI_DIALOG}'
  25.495 -		<hbox>
  25.496 -			<button>
  25.497 -				<label>Start connection</label>
  25.498 -				<input file icon="forward"></input>
  25.499 -				<action>[ "$WIFI_KEY_TYPE" = "WPA" -a ! -x /usr/bin/wpa_supplicant ] && xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x17 -title "wpa_supplicant install" -e "tazpkg get-install wpa_supplicant ; echo -e \"----\n\nENTER to continue...\" && read close"</action>
  25.500 -				<action>sed -i s/`grep ^WIFI= /etc/network.conf`/WIFI=\"yes\"/ /etc/network.conf</action>
  25.501 -				<action>sed -i s/`grep ^WIFI_INTERFACE= /etc/network.conf`/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/ /etc/network.conf</action>
  25.502 -				<action>sed -i s/`grep ^WIFI_ESSID= /etc/network.conf`/WIFI_ESSID=\"$WIFI_ESSID\"/ /etc/network.conf</action>
  25.503 -				<action>sed -i s/`grep ^WIFI_KEY= /etc/network.conf`/WIFI_KEY=\"$WIFI_KEY\"/ /etc/network.conf</action>
  25.504 -				<action>sed -i s/`grep ^WIFI_MODE= /etc/network.conf`/WIFI_MODE=\"$WIFI_MODE\"/ /etc/network.conf</action>
  25.505 -				<action>sed -i "s/`grep ^WIFI_IWCONFIG_ARGS= /etc/network.conf`/WIFI_IWCONFIG_ARGS=\"$WIFI_IWCONFIG_ARGS\"/" /etc/network.conf</action>
  25.506 -				<action>sed -i s/`grep ^WIFI_KEY_TYPE= /etc/network.conf`/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/ /etc/network.conf</action>
  25.507 -				<action>sed -i s/`grep ^WIFI_CHANNEL= /etc/network.conf`/WIFI_CHANNEL=\"$WIFI_CHANNEL\"/ /etc/network.conf</action>
  25.508 -				<action>[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`</action>
  25.509 -				<action>ifconfig $WIFI_INTERFACE down</action>
  25.510 -				<action>iwconfig $WIFI_INTERFACE txpower auto</action>
  25.511 -				<action>/etc/init.d/network.sh restart</action>
  25.512 -				<action>refresh:ESSID_LIST</action>
  25.513 -				<action>refresh:WIFI_ESSID</action>
  25.514 -				<action>refresh:WIFI_KEY</action>
  25.515 -				<action>refresh:WIFI_KEY_TYPE</action>
  25.516 -			</button>
  25.517 -		</hbox>
  25.518 -	</vbox>'
  25.519 -
  25.520 -	# Kernel Modules, firmware and tazndisbox note + button.
  25.521 -	WIFI_DIALOG=${WIFI_DIALOG}"
  25.522 -	<vbox>
  25.523 -		<hbox>
  25.524 -			<text width-chars=\"64\">
  25.525 -				<label>
  25.526 -\"
  25.527 -Some Wireless Adapters need non-free firmware. Please install the
  25.528 -firmware before loading the corresponding module. Note: you can use 
  25.529 -Tazhw to automatically detect your PCI, PCMCIA or USB Wireless adapter.
  25.530 -\"
  25.531 -				</label>
  25.532 -			</text>
  25.533 -		</hbox>
  25.534 -		<hbox>
  25.535 -			<text use-markup=\"true\">
  25.536 -				<label>\"<b>Tools:</b>\"</label>
  25.537 -			</text>
  25.538 -			<button>
  25.539 -				<input file icon=\"computer\"></input>
  25.540 -				<label>Auto detect devices</label>
  25.541 -				<action>tazhw box</action>
  25.542 -				<action>refresh:ESSID_LIST</action>
  25.543 -			</button>"
  25.544 -			# Display firmware stuff, tazndisbox button if installed and close 
  25.545 -			# tab + notebook
  25.546 -			if [ -x /usr/bin/tazndisbox ]; then
  25.547 -				WIFI_DIALOG=${WIFI_DIALOG}"
  25.548 -			<button>
  25.549 -				<input file icon=\"system-installer\"></input>
  25.550 -				<label>Install Windows driver</label>
  25.551 -				<action>tazndisbox</action>
  25.552 -				<action>refresh:ESSID_LIST</action>
  25.553 -			</button>"
  25.554 -			fi
  25.555 -		WIFI_DIALOG=${WIFI_DIALOG}"
  25.556 -		</hbox>
  25.557 -		<hbox>
  25.558 -			<text use-markup=\"true\">
  25.559 -				<label>\"<b>Module:</b>\"</label>
  25.560 -			</text>
  25.561 -			<combobox>
  25.562 -				<variable>MODULE</variable>"
  25.563 -	WIFI_DIALOG="${WIFI_DIALOG}$(find /lib/modules/$(uname -r)/kernel/drivers/net/wireless -type f 2> /dev/null |  sed 's,/.*/\(.*\).ko.*,<item>\1</item>,')"
  25.564 -	WIFI_DIALOG=${WIFI_DIALOG}'
  25.565 -			</combobox>
  25.566 -			<button>
  25.567 -				<label>Load</label>
  25.568 -				<input file icon="forward"></input>
  25.569 -				<action>modprobe $MODULE</action>
  25.570 -			</button>
  25.571 -			<button>
  25.572 -				<label>Unload</label>
  25.573 -				<input file icon="undo"></input>
  25.574 -				<action>modprobe -r $MODULE</action>
  25.575 -			</button>
  25.576 -			<button>
  25.577 -				<label>Lsmod</label>
  25.578 -				<input file icon="computer"></input>
  25.579 -				<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x25 -title "Modules (q to quit)" -e "lsmod | less"</action>
  25.580 -			</button>
  25.581 -		</hbox>'
  25.582 -	# Firmware stuff.
  25.583 -	tmp=$(for i in /usr/bin/get*firmware; do
  25.584 -		[ -x $i ] || continue
  25.585 -		[ "$i" = "/usr/bin/get-wifi-firmware" ] && continue
  25.586 -		[ -d /var/lib/tazpkg/installed/${i#/usr/bin/get-} ] && continue
  25.587 -		echo "<item>${i#/usr/bin/get-}</item>"; done)
  25.588 -		[ -n "$tmp" ] && tmp="
  25.589 -		<hbox>
  25.590 -			<text use-markup=\"true\">
  25.591 -				<label>\"<b>Firmware:</b>\"</label>
  25.592 -			</text>
  25.593 -			<combobox><variable>FIRMWARE</variable>$tmp</combobox>
  25.594 -			<button>
  25.595 -				<label>Install</label>
  25.596 -				<input file icon=\"go-jump\"></input>
  25.597 -				<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x25 -title \"Install \$FIRMWARE\" -e \"get-\$FIRMWARE\"</action>
  25.598 -				<action>refresh:ESSID_LIST</action>
  25.599 -			</button>
  25.600 -			<button>
  25.601 -				<input file icon=\"system-file-manager\"></input>
  25.602 -				<label>List files</label>
  25.603 -				<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 100x25 -title \"Firmware files (q to quit)\" -e \"find /lib/firmware -exec ls -ld {} \; | less\"</action>
  25.604 -				<action>refresh:ESSID_LIST</action>
  25.605 -			</button>
  25.606 -		</hbox>"
  25.607 -
  25.608 -# Bottom buttons
  25.609 -export WIFI_DIALOG=${WIFI_DIALOG}${tmp}"
  25.610 -		</vbox>
  25.611 -	</notebook>
  25.612 -	<hbox>
  25.613 -		<button>
  25.614 -			<label>Stop connection</label>
  25.615 -			<input file icon=\"stop\"></input>
  25.616 -			<action>$0 stop_wifi_connexion</action>
  25.617 -			<action>refresh:ESSID_LIST</action>
  25.618 -		</button>
  25.619 -		<button>
  25.620 -			<label>Exit</label>
  25.621 -			<input file icon=\"exit\"></input>
  25.622 -			<action type=\"exit\">Exit</action>
  25.623 -		</button>
  25.624 -	</hbox>
  25.625 -	
  25.626 -</vbox>
  25.627 -</window>"
  25.628 -	gtkdialog --center --program=WIFI_DIALOG #>/dev/null 2>&1
  25.629 -}
  25.630 -
  25.631 -if [ -n "$1" ]; then
  25.632 -	$1
  25.633 -else
  25.634 -	box
  25.635 -fi
  25.636 -
  25.637 -exit 0
    26.1 --- a/core-xfce/rootfs/usr/share/applications/burnbox-doc.desktop	Wed Feb 22 23:24:45 2012 +0100
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,8 +0,0 @@
    26.4 -[Desktop Entry]
    26.5 -Encoding=UTF-8
    26.6 -Name=Burnbox manual
    26.7 -Name[pt]=Manual do Burnbox
    26.8 -Exec=browser file:///usr/share/doc/slitaz-tools/burnbox.html
    26.9 -Icon=text-html
   26.10 -Type=Application
   26.11 -Categories=Documentation;
    27.1 --- a/core-xfce/rootfs/usr/share/applications/gpl-license.desktop	Wed Feb 22 23:24:45 2012 +0100
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,8 +0,0 @@
    27.4 -[Desktop Entry]
    27.5 -Encoding=UTF-8
    27.6 -Name=GNU General Public License
    27.7 -Name[pt]=Licença PuÌblica Geral GNU
    27.8 -Exec=browser file:///usr/share/licenses/gpl.txt
    27.9 -Icon=text-x-generic
   27.10 -Type=Application
   27.11 -Categories=Documentation;
    28.1 --- a/core-xfce/rootfs/usr/share/applications/system-doc.desktop	Wed Feb 22 23:24:45 2012 +0100
    28.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.3 @@ -1,8 +0,0 @@
    28.4 -[Desktop Entry]
    28.5 -Name=System Doc
    28.6 -Name[fr]=Doc du système
    28.7 -Name[pt]=Documentação do Sistema
    28.8 -Exec=browser file:///usr/share/doc/slitaz/index.html
    28.9 -Icon=slitaz-doc.png
   28.10 -Type=Application
   28.11 -Categories=Documentation;
    29.1 --- a/core-xfce/rootfs/usr/share/applications/tazlito-doc.desktop	Wed Feb 22 23:24:45 2012 +0100
    29.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.3 @@ -1,9 +0,0 @@
    29.4 -[Desktop Entry]
    29.5 -Name=Tazlito manual
    29.6 -Name[fr]=Manuel de Tazlito
    29.7 -Comment=SliTaz LiveCD generator and editor
    29.8 -Comment[fr]=Manuel de l'outil de geÌneÌration et eÌdition de LiveCD
    29.9 -Exec=browser file:///usr/share/doc/tazlito/tazlito.html
   29.10 -Icon=text-html
   29.11 -Type=Application
   29.12 -Categories=Documentation;
    30.1 --- a/core-xfce/rootfs/usr/share/applications/tazlitobox.desktop	Wed Feb 22 23:24:45 2012 +0100
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,8 +0,0 @@
    30.4 -[Desktop Entry]
    30.5 -Encoding=UTF-8
    30.6 -Name=Create a LiveCD
    30.7 -Name[fr]=Créer un LiveCD
    30.8 -Exec=subox tazlitobox
    30.9 -Icon=tazlito
   30.10 -Type=Application
   30.11 -Categories=System;
    31.1 --- a/core-xfce/rootfs/usr/share/applications/tazpkg-doc.desktop	Wed Feb 22 23:24:45 2012 +0100
    31.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.3 @@ -1,9 +0,0 @@
    31.4 -[Desktop Entry]
    31.5 -Name=Tazpkg manual
    31.6 -Name[fr]=Manuel de Tazpkg
    31.7 -Comment=SliTaz packages manager manual
    31.8 -Comment[fr]=Manuel du gestionnaire de paquets SliTaz
    31.9 -Exec=browser file:///usr/share/doc/tazpkg/tazpkg.html
   31.10 -Icon=text-html
   31.11 -Type=Application
   31.12 -Categories=Documentation;
    32.1 --- a/core-xfce/rootfs/usr/share/doc/slitaz/book.css	Wed Feb 22 23:24:45 2012 +0100
    32.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.3 @@ -1,195 +0,0 @@
    32.4 -/* 
    32.5 -	CSS style for SliTaz GNU/Linux *book.
    32.6 -	Pankso 2007 - www.slitaz.org
    32.7 -*/
    32.8 -
    32.9 -html {
   32.10 -	height:  102%;
   32.11 -}
   32.12 -
   32.13 -body {
   32.14 -	font: 13px sans-serif, vernada, arial;
   32.15 -	background: #ffffff;
   32.16 -	color: black;
   32.17 -	margin: 0;
   32.18 -}
   32.19 -
   32.20 -#header {
   32.21 -	background: #f0ba08 url(images/css/header.png) repeat-x top;
   32.22 -	color: black;
   32.23 -	height: 50px;
   32.24 -	border-top: 1px solid black;
   32.25 -	border-bottom: 1px solid black;
   32.26 -}
   32.27 -
   32.28 -#header h1 {
   32.29 -	padding: 10px;
   32.30 -}
   32.31 -
   32.32 -#quicknav {
   32.33 -	text-align: right;
   32.34 -	font-size: 12px;
   32.35 -	color: #666666;
   32.36 -	background-color: #eaeaea;
   32.37 -	padding: 4px 2px;
   32.38 -	font-weight: bold;
   32.39 -}
   32.40 -
   32.41 -#quicknav a {
   32.42 -	color: #0F314E;
   32.43 -	background: inherit;
   32.44 -	text-decoration: none;
   32.45 -	padding: 0px 2px;
   32.46 -}
   32.47 -
   32.48 -#quicknav a:hover {
   32.49 -	color: #DF8F06;
   32.50 -	text-decoration: none;
   32.51 -}
   32.52 -
   32.53 -/*  content. */
   32.54 -
   32.55 -#content {
   32.56 -	padding: 20px;
   32.57 -	margin: 0px 50px 0px 50px;
   32.58 -	width: auto;
   32.59 -	text-align: justify;
   32.60 -}
   32.61 -
   32.62 -#content li {
   32.63 -	line-height: 1.5em;
   32.64 -	text-align: left;
   32.65 -}
   32.66 -
   32.67 -/*  Footer. */
   32.68 -
   32.69 -#footer {
   32.70 -	font-size: 11px;
   32.71 -	color: black;
   32.72 -	height: 20px;
   32.73 -	padding: 0px 0px 0px 10px;
   32.74 -	margin: 0px;
   32.75 -	width: auto;
   32.76 -	text-align: center ;
   32.77 -}
   32.78 -
   32.79 -#footer a {
   32.80 -	background: #ffffff;
   32.81 -	color: #0F314E;
   32.82 -}
   32.83 -
   32.84 -#footer a:hover {
   32.85 -	background: #ffffff;
   32.86 -	color: blue;
   32.87 -}
   32.88 -
   32.89 -/* Legal informations */
   32.90 -
   32.91 -#copy {
   32.92 -	font-size: 11px ;
   32.93 -	text-align: center ;
   32.94 -	background: transparent;
   32.95 -	color: #a8a8a8;
   32.96 -	padding-top: 10px;
   32.97 -}
   32.98 -
   32.99 -#copy a {
  32.100 -	background: inherit;
  32.101 -	color: #a8a8a8;
  32.102 -}
  32.103 -
  32.104 -#copy a:hover {
  32.105 -	background: inherit;
  32.106 -	color: blue;
  32.107 -}
  32.108 -
  32.109 -/* Clouds */
  32.110 -
  32.111 -#cloud {
  32.112 -	padding: 10px 120px 10px 120px;
  32.113 -	line-height: 3em;
  32.114 -	text-align: center;
  32.115 -}
  32.116 -#cloud a { padding: 4px; color: #956411; }
  32.117 -#cloud a.tag1 { font-size: 0.7em; font-weight: 100; }
  32.118 -#cloud a.tag2 { font-size: 0.8em; font-weight: 200; }
  32.119 -#cloud a.tag3 { font-size: 0.9em; font-weight: 300; }
  32.120 -#cloud a.tag4 { font-size: 1.0em; font-weight: 400; }
  32.121 -#cloud a.tag5 { font-size: 1.2em; font-weight: 500; }
  32.122 -#cloud a.tag6 { font-size: 1.4em; font-weight: 600; }
  32.123 -#cloud a.tag7 { font-size: 1.6em; font-weight: 700; }
  32.124 -#cloud a.tag8 { font-size: 1.8em; font-weight: 800; }
  32.125 -#cloud a.tag9 { font-size: 2.2em; font-weight: 900; }
  32.126 -#cloud a.tag10 { font-size: 2.5em; font-weight: 900; }
  32.127 -
  32.128 -/* Div for round corners. */
  32.129 -
  32.130 -.content-right, .footer-right {
  32.131 -	width: 16px;
  32.132 -	color: white;
  32.133 -	background-color: #333333;
  32.134 -}
  32.135 -.content-right {
  32.136 -	background: url(images/css/content-tr.png) no-repeat top right;
  32.137 -	height: 16px;
  32.138 -	right: 50px;
  32.139 -	top: 82px;
  32.140 -	position: absolute;
  32.141 -}
  32.142 -
  32.143 -.footer-right {
  32.144 -	background: url(images/css/footer-br.png) no-repeat bottom right;
  32.145 -	height: 20px;
  32.146 -	float: right;
  32.147 -}
  32.148 -
  32.149 -/* General HTML entities for  content. */
  32.150 -
  32.151 -h1 {
  32.152 -	margin: 0px 0px 0px 16px;
  32.153 -}
  32.154 -
  32.155 -h2 {
  32.156 -	margin: 12px 0;
  32.157 -	color: #484B7C;
  32.158 -	background: white;
  32.159 -}
  32.160 -
  32.161 -h3 {
  32.162 -	font-weight: bold;
  32.163 -	color: #6c0023;
  32.164 -	background: white;
  32.165 -}
  32.166 -
  32.167 -a {
  32.168 -	text-decoration: underline;
  32.169 -}
  32.170 -a:hover {
  32.171 -	text-decoration: none;
  32.172 -}
  32.173 -
  32.174 -pre {
  32.175 -	padding: 5px;
  32.176 -	color: black;
  32.177 -	background: #e1e0b0;
  32.178 -}
  32.179 -pre.script {
  32.180 -	padding: 10px;
  32.181 -	color: black;
  32.182 -	background: #e8e8e8;
  32.183 -	border: 1px inset #333333;
  32.184 -}
  32.185 -
  32.186 -code {
  32.187 -	font-size: 12px;
  32.188 -	color: #669900;
  32.189 -	background: transparent;
  32.190 -}
  32.191 -
  32.192 -li {
  32.193 -	line-height: 1.4em;
  32.194 -}
  32.195 -
  32.196 -hr {
  32.197 -	border: 0pt none;
  32.198 -}
    33.1 Binary file core-xfce/rootfs/usr/share/doc/slitaz/favicon.ico has changed
    34.1 Binary file core-xfce/rootfs/usr/share/doc/slitaz/images/css/header.png has changed
    35.1 --- a/core-xfce/rootfs/usr/share/doc/slitaz/index.de.html	Wed Feb 22 23:24:45 2012 +0100
    35.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.3 @@ -1,67 +0,0 @@
    35.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    35.5 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    35.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    35.7 -<head>
    35.8 -	<title>SliTaz - System doc (de)</title>
    35.9 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   35.10 -	<meta name="description" content="slitaz doc system releases notes information cooking" />
   35.11 -	<meta name="expires" content="never" />
   35.12 -	<meta name="modified" content="2009-04-16 10:30:00" />
   35.13 -	<meta name="publisher" content="www.slitaz.org" />
   35.14 -	<meta name="author" content="Christophe Lincoln"/>
   35.15 -	<link rel="shortcut icon" href="favicon.ico" />
   35.16 -	<link rel="stylesheet" type="text/css" href="book.css" />
   35.17 -</head>
   35.18 -<body bgcolor="#ffffff">
   35.19 -
   35.20 -<!-- Header and quick navigation -->
   35.21 -<div id="header">
   35.22 -<h1><font color="#3E1220">SliTaz - System doc</font></h1>
   35.23 -</div>
   35.24 -
   35.25 -<div id="quicknav">
   35.26 -	SliTaz:
   35.27 -	<a href="http://www.slitaz.org/">Website</a>
   35.28 -	<a href="http://forum.slitaz.org/">Forum</a>
   35.29 -	<a href="http://wiki.slitaz.org/">Wiki</a>
   35.30 -	<a href="http://labs.slitaz.org/">Labs</a>
   35.31 -</div>
   35.32 -
   35.33 -<!-- Content. -->
   35.34 -<div id="content">
   35.35 -
   35.36 -<h2><font color="#DF8F06">Documentation (de)</font></h2>
   35.37 -
   35.38 -<p>
   35.39 -SliTaz GNU/Linux stable Release wird mit den Dokumentationen für die 
   35.40 -SliTaz-Werkzeuge und den deutschen Release Notes veröffentlicht. Dokumentation
   35.41 -und diese Seite sind über das Openboxenü erreichbar. Bitte konsultieren Sie 
   35.42 -ebenfalls die <a href="http://www.slitaz.org/de/">Deutsche Projektseite</a> 
   35.43 -für allgemeine Informationen über SliTaz. Für die Benutzung des Systems lesen
   35.44 -Sie bitte das deutsche Handbuch. das Teil des 
   35.45 -<a href="http://wiki.slitaz.org/">SliTaz Wiki</a> ist.
   35.46 -</p>
   35.47 -
   35.48 -<!-- End of content -->
   35.49 -</div>
   35.50 -
   35.51 -<!-- Footer. -->
   35.52 -<div id="footer">
   35.53 -	<a href="#top">Top of the page</a> - Languages:
   35.54 -	<a href="index.de.html">de</a> |
   35.55 -	<a href="index.en.html">en</a> |
   35.56 -	<a href="index.fr.html">fr</a> |
   35.57 -	<a href="index.hu.html">hu</a> |
   35.58 -	<a href="index.pt.html">pt</a>
   35.59 -</div>
   35.60 -
   35.61 -<div id="copy">
   35.62 -	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   35.63 -	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   35.64 -	Documentation uder
   35.65 -	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   35.66 -	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   35.67 -</div>
   35.68 -
   35.69 -</body>
   35.70 -</html>
    36.1 --- a/core-xfce/rootfs/usr/share/doc/slitaz/index.en.html	Wed Feb 22 23:24:45 2012 +0100
    36.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.3 @@ -1,176 +0,0 @@
    36.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    36.5 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    36.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    36.7 -<head>
    36.8 -	<title>SliTaz - System doc</title>
    36.9 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   36.10 -	<meta name="description" content="slitaz doc system releases notes information cooking" />
   36.11 -	<meta name="expires" content="never" />
   36.12 -	<meta name="modified" content="2009-12-29 12:10:00" />
   36.13 -	<meta name="publisher" content="www.slitaz.org" />
   36.14 -	<meta name="author" content="Christophe Lincoln"/>
   36.15 -	<link rel="shortcut icon" href="favicon.ico" />
   36.16 -	<link rel="stylesheet" type="text/css" href="book.css" />
   36.17 -</head>
   36.18 -<body bgcolor="#ffffff">
   36.19 -
   36.20 -<!-- Header and quick navigation -->
   36.21 -<div id="header">
   36.22 -	<a name="top"></a>
   36.23 -	<h1><font color="#3E1220">SliTaz - System doc</font></h1>
   36.24 -</div>
   36.25 -
   36.26 -<div id="quicknav">
   36.27 -	SliTaz:
   36.28 -	<a href="http://www.slitaz.org/">Website</a>
   36.29 -	<a href="http://forum.slitaz.org/">Forum</a>
   36.30 -	<a href="http://wiki.slitaz.org/">Wiki</a>
   36.31 -	<a href="http://labs.slitaz.org/">Labs</a>
   36.32 -</div>
   36.33 -
   36.34 -<!-- Content. -->
   36.35 -<div id="content">
   36.36 -
   36.37 -<h2><font color="#DF8F06">Documentation (en)</font></h2>
   36.38 -
   36.39 -<p>
   36.40 -The Cooking version doesn't provide any Release Notes, major changes are announced
   36.41 -on the web site and the <a href="http://labs.slitaz.org/">Labs</a> provide
   36.42 -fresh news about the project's activity. Like the stable version, you will 
   36.43 -find <a href="http://www.slitaz.org/en/doc/">documentation</a> on the web 
   36.44 -site and support on the community <a href="http://forum.slitaz.org/">forum</a>.
   36.45 -</p>
   36.46 -
   36.47 -<!--
   36.48 -<p>
   36.49 -SliTaz GNU/Linux stable release is published with the project tools, 
   36.50 -manuals and Release Notes installed on the system. Manuals and this page
   36.51 -are accessible through the Openbox menu. Please check the 
   36.52 -<a href="http://www.slitaz.org/en/">project page</a> for general 
   36.53 -information on SliTaz. To use and configure the system you can read the 
   36.54 -<a href="http://www.slitaz.org/en/doc/handbook/">Handbook</a>.
   36.55 -Community documentation can be found on the
   36.56 -<a href="http://wiki.slitaz.org/">SliTaz Wiki</a> and support on the SliTaz
   36.57 -community <a href="http://forum.slitaz.org/#idx2">Forum</a>. 
   36.58 -</p>
   36.59 --->
   36.60 -
   36.61 -<h2><font color="#DF8F06">Getting started</font></h2>
   36.62 -
   36.63 -<a name="network"></a>
   36.64 -<h3>Network connections</h3>
   36.65 -<p>
   36.66 -Click on the "Network Status Monitor" at the bottom right of the screen, 
   36.67 -"Configure" and then the network manager (netbox) will come up. You can 
   36.68 -go to the "DHCP" tab and click "Start", and Slitaz will send a DHCP request 
   36.69 -to the local router. You may also setup a static IP, PPPoE, PPP, VPN and 
   36.70 -more using their respective tabs. To configure a wireless connection you 
   36.71 -can use SliTaz wifibox by clicking "Wireless Manager" in the Network Manager 
   36.72 -or by using the "System Tools" menu entry -> "Wireless networks connections".
   36.73 -</p>
   36.74 -<p>
   36.75 -More detailed information can be found in the Handbook: 
   36.76 -<a href="http://www.slitaz.org/en/doc/handbook/network-config.html"
   36.77 -	>Network configuration</a>
   36.78 -</p>
   36.79 -
   36.80 -<a name="apps"></a>
   36.81 -<h3>Applications</h3>
   36.82 -<p>
   36.83 -To have a list of all graphical applications you can use the SliTaz menu button 
   36.84 -at the bottom left of the screen. To have a list of command line tools, you
   36.85 -can open a terminal and double press on the tabulation button. And to have
   36.86 -a list of all installed packages you can use the package manager user interface
   36.87 -using the panel icon or from the "System Tools" menu. To install any new packages
   36.88 -you must have a network connection, the DVD of packages or an USB storage device 
   36.89 -with downloaded packages from another machine. Naturally any package management
   36.90 -can also be done from the command line and <code>tazpkg</code>.
   36.91 -</p>
   36.92 -
   36.93 -<a name="office"></a>
   36.94 -<h3>Office suite</h3>
   36.95 -<p>
   36.96 -The SliTaz packages database provides some lightweight office applications.
   36.97 -All of these packages are easily installable in a few clicks through the packages
   36.98 -manager. SliTaz also provides a simple way to install the famous and powerful
   36.99 -OpenOffice suite: just search OpenOffice in the packages manager, double click
  36.100 -on "get-OpenOffice3" and install the script with the <code>Auto exec</code> option
  36.101 -enabled. 
  36.102 -</p>
  36.103 -<p>
  36.104 -To have a lightweight office suite; use: Abiword as Word processor, Gnumeric as 
  36.105 -Spreadsheet and Homebank for Bank Accounting.
  36.106 -</p>
  36.107 -
  36.108 -<a name="multimedia"></a>
  36.109 -<h3>Multimedia</h3>
  36.110 -<p>
  36.111 -Most SliTaz flavors include a wide range of sound card drivers, a volume
  36.112 -mixer and a light audio player to easily listen to any MP3 or OGG files. The Sound
  36.113 -card is autodetected at boot time and audio support works out-of-the-box
  36.114 -on many systems. If you manually add a new user and can't listen to audio, please
  36.115 -check that the user belongs to the <code>audio</code> group. For any other trouble please
  36.116 -look into the full documentation and use the forum for more help.
  36.117 -</p>
  36.118 -<p>
  36.119 -Videos can be watched by installing one single package or using a dedicated
  36.120 -LiveCD or LiveUSB system. The SliTaz team have packaged some of the best video players 
  36.121 -available under GNU/Linux: <code>mplayer</code>, <code>xine-ui</code> and <code>vlc</code>
  36.122 -</p>
  36.123 -
  36.124 -<a name="info"></a>
  36.125 -<h3>System information</h3>
  36.126 -<p>
  36.127 -You can get information on your system by clicking on "System information"
  36.128 -in the System Tools menu, then "Summary". Clicking on the other 
  36.129 -options on the side brings you more information, and using the benchmarks
  36.130 -gives you an idea on how fast your computer is. To have a list and control
  36.131 -of all your current processes you can use the "Task Manager".
  36.132 -</p>
  36.133 -
  36.134 -<a name="root"></a>
  36.135 -<h3>Becoming Root</h3>
  36.136 -<p>
  36.137 -By default, Slitaz doesn't have its desktop running as root administrator:
  36.138 -it asks for a root password (default <code>root</code>) for any dangerous work.
  36.139 -Therefore, it is safer and more secure. To become root in an xterm, simply 
  36.140 -type <code>su</code>, and enter the root password.
  36.141 -</p>
  36.142 -
  36.143 -<a name="install"></a>
  36.144 -<h3>Installation</h3>
  36.145 -<p>
  36.146 -SliTaz can be installed to a hard disk or on an USB mass storage device using the
  36.147 -"SliTaz Installer" from the "System Tools" menu. The installer makes a full HD install.
  36.148 -SliTaz won't work in memory (RAM) anymore like in Live or Frugal mode and 
  36.149 -everything is persistent.
  36.150 -</p>
  36.151 -<p>
  36.152 -To generate a LiveUSB system you can use "Tazusb LiveUSB Tool" from the "System Tools"
  36.153 -menu or <code>tazusb</code> from the command line. More information can be found in the SliTaz
  36.154 -Handbook: <a href="http://www.slitaz.org/en/doc/handbook/liveusb.html">LiveUSB media</a>
  36.155 -</p>
  36.156 -
  36.157 -<!-- End of content -->
  36.158 -</div>
  36.159 -
  36.160 -<!-- Footer. -->
  36.161 -<div id="footer">
  36.162 -	<a href="#top">Top of the page</a> - Languages:
  36.163 -	<a href="index.de.html">de</a> |
  36.164 -	<a href="index.en.html">en</a> |
  36.165 -	<a href="index.fr.html">fr</a> |
  36.166 -	<a href="index.hu.html">hu</a> |
  36.167 -	<a href="index.pt.html">pt</a>
  36.168 -</div>
  36.169 -
  36.170 -<div id="copy">
  36.171 -	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
  36.172 -	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
  36.173 -	Documentation uder
  36.174 -	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
  36.175 -	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
  36.176 -</div>
  36.177 -
  36.178 -</body>
  36.179 -</html>
    37.1 --- a/core-xfce/rootfs/usr/share/doc/slitaz/index.fr.html	Wed Feb 22 23:24:45 2012 +0100
    37.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.3 @@ -1,78 +0,0 @@
    37.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    37.5 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    37.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    37.7 -<head>
    37.8 -	<title>SliTaz - System doc (fr)</title>
    37.9 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   37.10 -	<meta name="description" content="slitaz doc system releases notes information cooking" />
   37.11 -	<meta name="expires" content="never" />
   37.12 -	<meta name="modified" content="2010-12-30 14:30:00" />
   37.13 -	<meta name="publisher" content="www.slitaz.org" />
   37.14 -	<meta name="author" content="Christophe Lincoln"/>
   37.15 -	<link rel="shortcut icon" href="favicon.ico" />
   37.16 -	<link rel="stylesheet" type="text/css" href="book.css" />
   37.17 -</head>
   37.18 -<body bgcolor="#ffffff">
   37.19 -
   37.20 -<!-- Header and quick navigation -->
   37.21 -<div id="header">
   37.22 -<h1><font color="#3E1220">SliTaz - Doc du système</font></h1>
   37.23 -</div>
   37.24 -
   37.25 -<div id="quicknav">
   37.26 -	SliTaz:
   37.27 -	<a href="http://www.slitaz.org/">Website</a>
   37.28 -	<a href="http://forum.slitaz.org/">Forum</a>
   37.29 -	<a href="http://wiki.slitaz.org/">Wiki</a>
   37.30 -	<a href="http://labs.slitaz.org/">Labs</a>
   37.31 -</div>
   37.32 -
   37.33 -<!-- Content. -->
   37.34 -<div id="content">
   37.35 -
   37.36 -<h2><font color="#DF8F06">Documentation (fr)</font></h2>
   37.37 -
   37.38 -<p>
   37.39 -La version en cuisson ou <em>Cooking</em> ne fourni pas de notes de
   37.40 -publication, les chagements sont annonçés sur le site web et 
   37.41 -<a href="http://labs.slitaz.org/">les laboratoires</a> proposent des
   37.42 -nouvelles fraîches. Comme pour la version stable, vous pouvez vous 
   37.43 -référer à la documentation du site et trouverez de l'aide sur 
   37.44 -<a href="http://forum.slitaz.org/">le forum</a> du projet.
   37.45 -</p>
   37.46 -
   37.47 -<!-- <p>
   37.48 -La version stable de SliTaz GNU/linux est distribuée avec les manuels 
   37.49 -des outils de la distribution et les notes de publication. Tous les manuels
   37.50 -ainsi que cette page sont directement accessibles depuis le menu 
   37.51 -documention du gestionnaire de fenêtres Openbox présent sur le LiveCD.
   37.52 -Sur le Web, vous trouverez une documentation complète via le livre de main ou 
   37.53 -<a href="http://www.slitaz.org/fr/doc/handbook/">Handbook</a> de SliTaz et la
   37.54 -documentation communautaire sur le <a href="http://wiki.slitaz.org/">Wiki</a>.
   37.55 -Pour de l'aide vous trouverez un support technique gratuit via la liste
   37.56 -de discussion ou <a href="http://forum.slitaz.org/">le forum</a> communautaire.
   37.57 -</p> -->
   37.58 -
   37.59 -<!-- End of content -->
   37.60 -</div>
   37.61 -
   37.62 -<!-- Footer. -->
   37.63 -<div id="footer">
   37.64 -	<a href="#top">Top of the page</a> - Languages:
   37.65 -	<a href="index.de.html">de</a> |
   37.66 -	<a href="index.en.html">en</a> |
   37.67 -	<a href="index.fr.html">fr</a> |
   37.68 -	<a href="index.hu.html">hu</a> |
   37.69 -	<a href="index.pt.html">pt</a>
   37.70 -</div>
   37.71 -
   37.72 -<div id="copy">
   37.73 -	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   37.74 -	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   37.75 -	Documentation uder
   37.76 -	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   37.77 -	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   37.78 -</div>
   37.79 -
   37.80 -</body>
   37.81 -</html>
    38.1 --- a/core-xfce/rootfs/usr/share/doc/slitaz/index.hu.html	Wed Feb 22 23:24:45 2012 +0100
    38.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.3 @@ -1,85 +0,0 @@
    38.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    38.5 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    38.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    38.7 -<head>
    38.8 -  <title>SliTaz - System doc (hu)</title>
    38.9 -  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
   38.10 -  <meta name="description" content="slitaz doc system releases notes information cooking">
   38.11 -  <meta name="expires" content="never">
   38.12 -  <meta name="modified" content="2009-04-16 10:30:00">
   38.13 -  <meta name="publisher" content="www.slitaz.org">
   38.14 -  <meta name="author" content="Christophe Lincoln">
   38.15 -  <link rel="shortcut icon" href="favicon.ico">
   38.16 -  <link rel="stylesheet" type="text/css" href="book.css">
   38.17 -</head>
   38.18 -<body bgcolor="#ffffff">
   38.19 -<!-- Header and quick navigation -->
   38.20 -<div id="header">
   38.21 -<h1><font color="#3e1220">SliTaz - System doc</font></h1>
   38.22 -</div>
   38.23 -
   38.24 -<div id="quicknav">
   38.25 -	SliTaz:
   38.26 -	<a href="http://www.slitaz.org/">Website</a>
   38.27 -	<a href="http://forum.slitaz.org/">Forum</a>
   38.28 -	<a href="http://wiki.slitaz.org/">Wiki</a>
   38.29 -	<a href="http://labs.slitaz.org/">Labs</a>
   38.30 -</div>
   38.31 -
   38.32 -<!-- Content. -->
   38.33 -<div id="content">
   38.34 -
   38.35 -<h2><font color="#df8f06">Documentation (hu)</font></h2>
   38.36 -
   38.37 -<h3><font color="#6c0023">Megjegyz&eacute;s a kiad&aacute;shoz<br>
   38.38 -</font></h3>
   38.39 -<p>A SliTaz GNU/Linux stabil kiad&aacute;sa a rendszerre
   38.40 -telep&iacute;tett projekt-eszk&ouml;z&ouml;kkel,
   38.41 -le&iacute;r&aacute;sokkal &eacute;s Kiad&aacute;si
   38.42 -t&aacute;j&eacute;koztat&oacute;val jelent meg. A
   38.43 -le&iacute;r&aacute;sok &eacute;s ez az oldal az Openbox men&uuml;n
   38.44 -kereszt&uuml;l &eacute;rhet&#337;k el. A Slitazzal kapcsolatos
   38.45 -&aacute;ltal&aacute;nos inform&aacute;ci&oacute;k&eacute;rt
   38.46 -k&eacute;rj&uuml;k l&aacute;togassa meg a <a
   38.47 - href="http://www.slitaz.org/">projekt oldalt</a> . A rendszer
   38.48 -be&aacute;ll&iacute;t&aacute;s&aacute;hoz &eacute;s
   38.49 -haszn&aacute;lat&aacute;hoz olvassa el a&nbsp; <a
   38.50 - href="http://www.slitaz.org/hu/doc/handbook/">K&eacute;zik&ouml;nyvet</a>.
   38.51 -A k&ouml;z&ouml;ss&eacute;gr&#337;l a
   38.52 -<a href="http://wiki.slitaz.org/">SliTaz Wiki</a>&nbsp; oldalon
   38.53 -tal&aacute;l dokomentumokat. T&aacute;mogat&aacute;st a Slitaz
   38.54 -k&ouml;z&ouml;ss&eacute;gi <a href="http://forum.slitaz.org/#idx2">F&oacute;rumon</a>
   38.55 -kereszt&uuml;l kaphat. </p>
   38.56 -<p>A Cooking verzi&oacute;hoz nincs t&aacute;j&eacute;koztat&oacute;, a
   38.57 -v&aacute;ltoztat&aacute;sokat k&ouml;zz&eacute;tessz&uuml;k a honlapon,
   38.58 -&eacute;s a <a href="http://labs.slitaz.org/">Labs</a>
   38.59 -szolg&aacute;ltat &uacute;j inform&aacute;ci&oacute;kat a projektbeli
   38.60 -tev&eacute;kenys&eacute;gekr&#337;l. Csak&uacute;gy, mint a stabil
   38.61 -verzi&oacute;hoz, ehhez is tal&aacute;lhat&oacute;
   38.62 -dokument&aacute;ci&oacute; &eacute;s t&aacute;mogat&aacute;s a
   38.63 -k&ouml;z&ouml;ss&eacute;gi f&oacute;rumban.
   38.64 -</p>
   38.65 -
   38.66 -<!-- End of content -->
   38.67 -</div>
   38.68 -
   38.69 -<!-- Footer. -->
   38.70 -<div id="footer">
   38.71 -	<a href="#top">Top of the page</a> - Languages:
   38.72 -	<a href="index.de.html">de</a> |
   38.73 -	<a href="index.en.html">en</a> |
   38.74 -	<a href="index.fr.html">fr</a> |
   38.75 -	<a href="index.hu.html">hu</a> |
   38.76 -	<a href="index.pt.html">pt</a>
   38.77 -</div>
   38.78 -
   38.79 -<div id="copy">
   38.80 -	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   38.81 -	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   38.82 -	Documentation uder
   38.83 -	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   38.84 -	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   38.85 -</div>
   38.86 -
   38.87 -</body>
   38.88 -</html>
    39.1 --- a/core-xfce/rootfs/usr/share/doc/slitaz/index.pt.html	Wed Feb 22 23:24:45 2012 +0100
    39.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.3 @@ -1,66 +0,0 @@
    39.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    39.5 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    39.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
    39.7 -<head>
    39.8 -	<title>SliTaz - Documentação do Sistema</title>
    39.9 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   39.10 -	<meta name="description" content="slitaz doc system releases notes information cooking" />
   39.11 -	<meta name="expires" content="never" />
   39.12 -	<meta name="modified" content="2009-04-16 10:30:00" />
   39.13 -	<meta name="publisher" content="www.slitaz.org" />
   39.14 -	<meta name="author" content="Christophe Lincoln"/>
   39.15 -	<link rel="shortcut icon" href="favicon.ico" />
   39.16 -	<link rel="stylesheet" type="text/css" href="book.css" />
   39.17 -</head>
   39.18 -<body bgcolor="#ffffff">
   39.19 -
   39.20 -<!-- Header and quick navigation -->
   39.21 -<div id="header">
   39.22 -<h1><font color="#3E1220">SliTaz - Documentação do Sistema</font></h1>
   39.23 -</div>
   39.24 -
   39.25 -<div id="quicknav">
   39.26 -	SliTaz:
   39.27 -	<a href="http://www.slitaz.org/">Website</a>
   39.28 -	<a href="http://forum.slitaz.org/">Forum</a>
   39.29 -	<a href="http://wiki.slitaz.org/">Wiki</a>
   39.30 -	<a href="http://labs.slitaz.org/">Labs</a>
   39.31 -</div>
   39.32 -
   39.33 -<!-- Content. -->
   39.34 -<div id="content">
   39.35 -
   39.36 -<h2><font color="#DF8F06">Documentação (pt)</font></h2>
   39.37 -
   39.38 -<p>
   39.39 -A versão de testes (cooking) do SliTaz não fornece notas de lançamento, 
   39.40 -qualquer mudança para esta versão é anunciada no website e o 
   39.41 -<a href="http://labs.slitaz.org/">SliTaz Labs</a> traz as últimas notícias 
   39.42 -e atividades do projeto. Assim como na versão estável, você irá obter 
   39.43 -informações sobre a versão de testes no website e suporte no 
   39.44 -<a href="http://forum.slitaz.org/">fórum</a> do projeto.
   39.45 -</p>
   39.46 -
   39.47 -<!-- End of content -->
   39.48 -</div>
   39.49 -
   39.50 -<!-- Footer. -->
   39.51 -<div id="footer">
   39.52 -	<a href="#top">Top of the page</a> - Languages:
   39.53 -	<a href="index.de.html">de</a> |
   39.54 -	<a href="index.en.html">en</a> |
   39.55 -	<a href="index.fr.html">fr</a> |
   39.56 -	<a href="index.hu.html">hu</a> |
   39.57 -	<a href="index.pt.html">pt</a>
   39.58 -</div>
   39.59 -
   39.60 -<div id="copy">
   39.61 -	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   39.62 -	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   39.63 -	Documentation uder
   39.64 -	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   39.65 -	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   39.66 -</div>
   39.67 -
   39.68 -</body>
   39.69 -</html>
    40.1 --- a/core-xfce/rootfs/usr/share/doc/slitaz/template.html	Wed Feb 22 23:24:45 2012 +0100
    40.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.3 @@ -1,62 +0,0 @@
    40.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    40.5 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    40.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    40.7 -<head>
    40.8 -	<title>SliTaz - System doc</title>
    40.9 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   40.10 -	<meta name="description" content="slitaz doc system releases notes information cooking" />
   40.11 -	<meta name="expires" content="never" />
   40.12 -	<meta name="modified" content="2010-01-04 22:40:00" />
   40.13 -	<meta name="publisher" content="www.slitaz.org" />
   40.14 -	<meta name="author" content="Christophe Lincoln"/>
   40.15 -	<link rel="shortcut icon" href="favicon.ico" />
   40.16 -	<link rel="stylesheet" type="text/css" href="book.css" />
   40.17 -</head>
   40.18 -<body bgcolor="#ffffff">
   40.19 -
   40.20 -<!-- Header and quick navigation -->
   40.21 -<div id="header">
   40.22 -<h1><font color="#3E1220">SliTaz - System doc</font></h1>
   40.23 -</div>
   40.24 -
   40.25 -<div id="quicknav">
   40.26 -	SliTaz:
   40.27 -	<a href="http://www.slitaz.org/">Website</a>
   40.28 -	<a href="http://forum.slitaz.org/">Forum</a>
   40.29 -	<a href="http://wiki.slitaz.org/">Wiki</a>
   40.30 -	<a href="http://labs.slitaz.org/">Labs</a>
   40.31 -</div>
   40.32 -
   40.33 -<!-- Content. -->
   40.34 -<div id="content">
   40.35 -<div class="content-right"></div>
   40.36 -
   40.37 -<h2><font color="#DF8F06">Template</font></h2>
   40.38 -
   40.39 -<p>
   40.40 -CONTENT
   40.41 -</p>
   40.42 -
   40.43 -<!-- End of content -->
   40.44 -</div>
   40.45 -
   40.46 -<!-- Footer. -->
   40.47 -<div id="footer">
   40.48 -	<a href="#top">Top of the page</a> - Languages:
   40.49 -	<a href="index.de.html">de</a> |
   40.50 -	<a href="index.en.html">en</a> |
   40.51 -	<a href="index.fr.html">fr</a> |
   40.52 -	<a href="index.hu.html">hu</a> |
   40.53 -	<a href="index.pt.html">pt</a>
   40.54 -</div>
   40.55 -
   40.56 -<div id="copy">
   40.57 -	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   40.58 -	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   40.59 -	Documentation uder
   40.60 -	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   40.61 -	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   40.62 -</div>
   40.63 -
   40.64 -</body>
   40.65 -</html>
    41.1 Binary file core-xfce/rootfs/usr/share/images/slitaz-background.jpg has changed
    42.1 Binary file core-xfce/rootfs/usr/share/pixmaps/slitaz-menu.png has changed
    43.1 Binary file core-xfce/rootfs/usr/share/slim/themes/slitaz/background.png has changed
    44.1 Binary file core-xfce/rootfs/usr/share/slim/themes/slitaz/panel.png has changed
    45.1 --- a/core-xfce/rootfs/usr/share/slim/themes/slitaz/slim.theme	Wed Feb 22 23:24:45 2012 +0100
    45.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.3 @@ -1,37 +0,0 @@
    45.4 -# SliTaz theme for SLiM
    45.5 -# 
    45.6 -
    45.7 -# Messages
    45.8 -msg_color               #000000
    45.9 -msg_font                Vera:size=18:bold:dpi=75
   45.10 -msg_x                   50%
   45.11 -msg_y                   35%
   45.12 -msg_shadow_color #FFFFFF
   45.13 -msg_shadow_xoffset 1
   45.14 -msg_shadow_yoffset 1
   45.15 -
   45.16 -# valid values: stretch, tile
   45.17 -background_style        tile
   45.18 -background_color        #1e0a0c
   45.19 -
   45.20 -# Input controls
   45.21 -input_panel_x           50%
   45.22 -input_panel_y           50%
   45.23 -input_name_x            64
   45.24 -input_name_y            179
   45.25 -input_font          	Vera:size=11:dpi=75
   45.26 -input_fgcolor           #000000
   45.27 -
   45.28 -# Username / password request
   45.29 -username_font          	Vera:size=18:bold:dpi=75
   45.30 -username_color        	#eeede9
   45.31 -username_x              50%
   45.32 -username_y              140
   45.33 -password_x              50%
   45.34 -password_y              140
   45.35 -username_shadow_color   #000000
   45.36 -username_shadow_xoffset 1
   45.37 -username_shadow_yoffset 1
   45.38 -
   45.39 -username_msg            Username:
   45.40 -password_msg            Password:
    46.1 --- a/core-xfce/rootfs/usr/share/webhome/index.html	Wed Feb 22 23:24:45 2012 +0100
    46.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.3 @@ -1,68 +0,0 @@
    46.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    46.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    46.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    46.7 -<head>
    46.8 -    <title>SliTaz - Web Homepage</title>
    46.9 -    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   46.10 -    <meta name="author" content="Christophe Lincoln"/>
   46.11 -    <link rel="shortcut icon" href="favicon.ico" />
   46.12 -    <link rel="stylesheet" type="text/css" href="style.css" />
   46.13 -</head>
   46.14 -<body>
   46.15 -
   46.16 -<!-- Header -->
   46.17 -<div id="header">
   46.18 -	<h1>Browse the Web</h1>
   46.19 -</div>
   46.20 -
   46.21 -<!-- Content -->
   46.22 -<div id="content">
   46.23 -
   46.24 -<div style="text-align: center; margin: 20px;">
   46.25 -<table>
   46.26 -	<!-- Search Wikipedia -->
   46.27 -	<tr>
   46.28 -		<th><strong>Wikipedia :</strong></th>
   46.29 -		<td>
   46.30 -			<form action="http://www.wikipedia.org/search-redirect.php" method="get">
   46.31 -				<input type="hidden" name="language" value="en" />
   46.32 -				<input type="text" name="search" size="30" />
   46.33 -				<input type="submit" name="go" value="Search" />
   46.34 -			</form>
   46.35 -		</td>
   46.36 -	</tr>
   46.37 -	<!-- Search Google -->
   46.38 -	<tr>
   46.39 -		<th><strong>Google :</strong></th>
   46.40 -		<td>
   46.41 -			<form method="get" action="http://www.google.com/search">
   46.42 -				<input type="text" name="q" size="30" maxlength="255" value="" />
   46.43 -				<input type="submit" value="Search" />
   46.44 -			</form>
   46.45 -		</td>
   46.46 -	</tr>
   46.47 -</table>
   46.48 -</div>
   46.49 -
   46.50 -<!-- Shortcuts -->
   46.51 -<div style="text-align: center; margin: 10px;">
   46.52 -	<strong>SliTaz :</strong>
   46.53 -	<a href="http://www.slitaz.org/">Website</a> | 
   46.54 -	<a href="http://doc.slitaz.org/">Documentation</a> |
   46.55 -	<a href="http://forum.slitaz.org/">Forum</a> |
   46.56 -	<a href="http://labs.slitaz.org/">Labs</a> |
   46.57 -	<a href="http://pkgs.slitaz.org/">Packages</a>
   46.58 -</div>
   46.59 -
   46.60 -<div style="text-align: center;">
   46.61 -<img
   46.62 -	src="pics/slitaz-tux.png" 
   46.63 -	title="SliTaz and Tux" alt="slitaz-tux"
   46.64 -	style="width: 90px; height: 98px;" />
   46.65 -</div>
   46.66 -
   46.67 -<!-- End of content -->
   46.68 -</div>
   46.69 -
   46.70 -</body>
   46.71 -</html>
    47.1 --- a/core-xfce/rootfs/usr/share/webhome/netsurf.html	Wed Feb 22 23:24:45 2012 +0100
    47.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.3 @@ -1,66 +0,0 @@
    47.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    47.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    47.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    47.7 -<head>
    47.8 -    <title>SliTaz - Web Homepage</title>
    47.9 -    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   47.10 -    <meta name="author" content="Christophe Lincoln"/>
   47.11 -    <link rel="shortcut icon" href="favicon.ico" />
   47.12 -    <link rel="stylesheet" type="text/css" href="netsurf.css" />
   47.13 -</head>
   47.14 -<body>
   47.15 -
   47.16 -<!-- Header -->
   47.17 -<div id="header">
   47.18 -<h1>Browse the Web</h1>
   47.19 -</div>
   47.20 -
   47.21 -<!-- Content -->
   47.22 -<div id="content">
   47.23 -
   47.24 -<div style="text-align: center; margin-top: 40px;">
   47.25 -<table>
   47.26 -	<!-- Search Wikipedia -->
   47.27 -	<tr>
   47.28 -		<th><strong>[ Wikipedia ]</strong></th>
   47.29 -		<td>
   47.30 -			<form action="http://www.wikipedia.org/search-redirect.php" method="get">
   47.31 -				<input type="hidden" name="language" value="en" />
   47.32 -				<input type="text" name="search" size="30" />
   47.33 -				<input type="submit" name="go" value="Search" />
   47.34 -			</form>
   47.35 -		</td>
   47.36 -	</tr>
   47.37 -	<!-- Search Google -->
   47.38 -	<tr>
   47.39 -		<th><strong>[ Google ]</strong></th>
   47.40 -		<td>
   47.41 -			<form method="get" action="http://www.google.com/search">
   47.42 -				<input type="text" name="q" size="30" maxlength="255" value="" />
   47.43 -				<input type="submit" value="Search" />
   47.44 -			</form>
   47.45 -		</td>
   47.46 -	</tr>
   47.47 -</table>
   47.48 -</div>
   47.49 -
   47.50 -<!-- Shortcuts -->
   47.51 -<div style="text-align: center; margin-top: 30px;">
   47.52 -	SliTaz :
   47.53 -	<a href="http://www.slitaz.org/">Website</a> |
   47.54 -	<a href="http://doc.slitaz.org/">Documentation</a> |
   47.55 -	<a href="http://forum.slitaz.org/">Forum</a> |
   47.56 -	<a href="http://pkgs.slitaz.org/">Packages</a> |
   47.57 -	<a href="http://labs.slitaz.org/">Labs</a>
   47.58 -</div>
   47.59 -<div style="text-align: center; margin-top: 20px;">
   47.60 -	NetSurf :
   47.61 -	<a href="http://www.netsurf-browser.org/">Website</a> |
   47.62 -	<a href="http://www.netsurf-browser.org/documentation/">Documentation</a>
   47.63 -</div>
   47.64 -
   47.65 -<!-- End of content with round corner -->
   47.66 -</div>
   47.67 -
   47.68 -</body>
   47.69 -</html>
    48.1 --- a/core-xfce/rootfs/usr/share/webhome/style.css	Wed Feb 22 23:24:45 2012 +0100
    48.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.3 @@ -1,113 +0,0 @@
    48.4 -/*
    48.5 -	CSS style for SliTaz GNU/Linux local home page
    48.6 -	www.slitaz.org - (c) 2008 SliTaz Community
    48.7 -*/
    48.8 -
    48.9 -body {
   48.10 -	background: white;
   48.11 -	color: black;
   48.12 -	font: 13px sans-serif, vernada, arial;
   48.13 -	margin: 0 0 0 0;
   48.14 -	padding-bottom: 100%;
   48.15 -}
   48.16 -
   48.17 -#header {
   48.18 -	background: #f0ba08 url(pics/header.png) repeat-x top;
   48.19 -	color: black;
   48.20 -	width: 100%;
   48.21 -	height: 50px ;
   48.22 -	border-top: 1px solid black;
   48.23 -	border-bottom: 1px solid black;
   48.24 -	/* margin-bottom: 30px; */
   48.25 -}
   48.26 -
   48.27 -#header h1 {
   48.28 -	padding: 10px;
   48.29 -	text-align: center;
   48.30 -}
   48.31 -
   48.32 -/* Page content */
   48.33 -
   48.34 -
   48.35 -#content {
   48.36 -	height: auto;
   48.37 -	margin: 10px 100px 0px 100px;
   48.38 -	padding: 0px 72px 0px 72px;
   48.39 -}
   48.40 -
   48.41 -#content li {
   48.42 -	line-height: 1.5em;
   48.43 -	text-align: left;
   48.44 -}
   48.45 -
   48.46 -/* Footer */
   48.47 -
   48.48 -#bottom {
   48.49 -	float: none;
   48.50 -	background: inherit;
   48.51 -	color: black;
   48.52 -	width: auto;
   48.53 -	clear: both;
   48.54 -	padding: 0;
   48.55 -	margin: 0;
   48.56 -	text-align: center;
   48.57 -	vertical-align: middle;
   48.58 -}
   48.59 -
   48.60 -/* CSS class. */
   48.61 -
   48.62 -
   48.63 -/* HTML styles */
   48.64 -
   48.65 -h1 {
   48.66 -	margin: 0px 0px 0px 16px;
   48.67 -}
   48.68 -
   48.69 -h2 {
   48.70 -    color: #DF8F06;
   48.71 -    border-left: 10px solid #F3F3F3;
   48.72 -    padding: 4px 0px 4px 4px;
   48.73 -    margin: 0;
   48.74 -}
   48.75 -
   48.76 -h3 {
   48.77 -	font-weight: bold;
   48.78 -	color: #6c0023;
   48.79 -	background: inherit;
   48.80 -}
   48.81 -
   48.82 -a {
   48.83 -	text-decoration: underline;
   48.84 -	color: #0F314E;
   48.85 -	background: inherit;
   48.86 -}
   48.87 -
   48.88 -a:hover {
   48.89 -	text-decoration: none;
   48.90 -	color: blue;
   48.91 -	background: inherit;
   48.92 -}
   48.93 -
   48.94 -img {
   48.95 -	border: 0pt none;
   48.96 -}
   48.97 -
   48.98 -/* Table */
   48.99 -
  48.100 -table {
  48.101 -	width: variable;
  48.102 -	margin-left: auto;
  48.103 -	margin-right: auto;
  48.104 -}
  48.105 -
  48.106 -td {
  48.107 -	width: variable;
  48.108 -	padding: 6px;
  48.109 -}
  48.110 -
  48.111 -th {
  48.112 -	width: variable;
  48.113 -
  48.114 -
  48.115 -	text-align: right;
  48.116 -}
    49.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.2 +++ b/xfce/packages.list	Wed Feb 22 23:26:35 2012 +0100
    49.3 @@ -0,0 +1,251 @@
    49.4 +915resolution
    49.5 +alsa-lib
    49.6 +alsaplayer
    49.7 +alsa-utils
    49.8 +asunder
    49.9 +atk
   49.10 +attr
   49.11 +beaver
   49.12 +busybox
   49.13 +busybox-pam
   49.14 +bzlib
   49.15 +cairo
   49.16 +cairomm
   49.17 +cdparanoia-III
   49.18 +cdrkit
   49.19 +clearlooks
   49.20 +conspy
   49.21 +curl
   49.22 +dbus
   49.23 +dbus-glib
   49.24 +depmod
   49.25 +desktop-file-utils
   49.26 +dialog
   49.27 +dropbear
   49.28 +e2fsprogs
   49.29 +enchant
   49.30 +epdfview
   49.31 +expat
   49.32 +firefox
   49.33 +fontconfig
   49.34 +freetype
   49.35 +fuse
   49.36 +galculator
   49.37 +gamin
   49.38 +garcon
   49.39 +gcc-lib-base
   49.40 +gcolor2
   49.41 +GConf
   49.42 +gdbm
   49.43 +get-flash-plugin
   49.44 +gettext-base
   49.45 +get-wifi-firmware
   49.46 +glib
   49.47 +glibc-base
   49.48 +glibmm
   49.49 +gparted
   49.50 +gpxe
   49.51 +grub
   49.52 +gtk+
   49.53 +gtkdialog
   49.54 +gtkmm
   49.55 +gtk-xfce-engine
   49.56 +hal
   49.57 +hardinfo
   49.58 +hicolor-icon-theme
   49.59 +isapnptools
   49.60 +isomaster
   49.61 +jpeg
   49.62 +kbd-busybox
   49.63 +lcms
   49.64 +leafpad
   49.65 +libcap
   49.66 +libcddb
   49.67 +libcdio
   49.68 +libcomerr
   49.69 +libcrypto
   49.70 +libcurl
   49.71 +libdb
   49.72 +libdrm
   49.73 +libexif
   49.74 +libexo
   49.75 +libfirefox
   49.76 +libgcrypt
   49.77 +libgio
   49.78 +libgiomm
   49.79 +libglade
   49.80 +libgnutls
   49.81 +libgpg-error
   49.82 +libical
   49.83 +libIDL
   49.84 +libidn
   49.85 +libmad
   49.86 +libnotify
   49.87 +libogg
   49.88 +libpng
   49.89 +libsexy
   49.90 +libsigc++
   49.91 +libsoup
   49.92 +libssl
   49.93 +libtasn1
   49.94 +libtool
   49.95 +libunique
   49.96 +libusb
   49.97 +libusb-compat
   49.98 +libvorbis
   49.99 +libwebkit
  49.100 +libwnck
  49.101 +libxcb
  49.102 +libxfce4ui
  49.103 +libxfce4util
  49.104 +libxfcegui4
  49.105 +libxml2
  49.106 +libxslt
  49.107 +linux
  49.108 +linux-crypto
  49.109 +linux-sound
  49.110 +linux-wireless
  49.111 +locale-de
  49.112 +locale-es
  49.113 +locale-fr
  49.114 +locale-pt_BR
  49.115 +lostirc
  49.116 +lua
  49.117 +lxappearance
  49.118 +lxpanel
  49.119 +lxtask
  49.120 +lzlib
  49.121 +lzma
  49.122 +menu-cache
  49.123 +mercurial
  49.124 +mesa
  49.125 +mhwaveedit
  49.126 +midori
  49.127 +mtpaint
  49.128 +nano
  49.129 +ncurses
  49.130 +ncurses-common
  49.131 +ncursesw
  49.132 +ntfs-3g
  49.133 +ntfsprogs
  49.134 +obconf
  49.135 +openbox
  49.136 +openssl
  49.137 +ORBit2
  49.138 +osmo
  49.139 +pam
  49.140 +pango
  49.141 +pangomm
  49.142 +parted
  49.143 +patch
  49.144 +pciutils
  49.145 +pcmanfm
  49.146 +pcmciautils
  49.147 +pcre
  49.148 +perl
  49.149 +perl-uri
  49.150 +perl-xml-parser
  49.151 +pixman
  49.152 +polkit
  49.153 +poppler
  49.154 +popt
  49.155 +ppp
  49.156 +python
  49.157 +readline
  49.158 +rp-pppoe
  49.159 +shared-mime-info
  49.160 +slim
  49.161 +slitaz-base-files
  49.162 +slitaz-boot-scripts
  49.163 +slitaz-configs
  49.164 +slitaz-doc
  49.165 +slitaz-icon
  49.166 +slitaz-menus
  49.167 +slitaz-polar-cursors
  49.168 +slitaz-tools
  49.169 +slitaz-tools-boxes
  49.170 +sqlite
  49.171 +startup-notification
  49.172 +sudo
  49.173 +sudoku-savant
  49.174 +suggested-applications
  49.175 +sysfsutils
  49.176 +syslinux
  49.177 +syslinux-extra
  49.178 +tazchroot
  49.179 +tazlito
  49.180 +tazpkg
  49.181 +tazusb
  49.182 +tazweb
  49.183 +tazwok
  49.184 +tcl
  49.185 +thunar
  49.186 +thunar-archive-plugin
  49.187 +thunar-volman
  49.188 +tiff
  49.189 +tk
  49.190 +transmission
  49.191 +transset-df
  49.192 +ttf-dejavu
  49.193 +udev
  49.194 +util-linux-ng-blkid
  49.195 +util-linux-ng-getopt
  49.196 +util-linux-ng-uuid
  49.197 +viewnior
  49.198 +web-applications
  49.199 +wireless_tools
  49.200 +wpa_supplicant
  49.201 +xcb-util
  49.202 +xfce4
  49.203 +xfce4-icon-theme
  49.204 +xfce4-panel
  49.205 +xfce4-session
  49.206 +xfce4-settings
  49.207 +xfce4-slitaz-config
  49.208 +xfce-utils
  49.209 +xfconf
  49.210 +xfdesktop
  49.211 +xfdesktop-extras
  49.212 +xfwm4
  49.213 +xfwm4-themes
  49.214 +xorg
  49.215 +xorg-base-fonts
  49.216 +xorg-iceauth
  49.217 +xorg-libfontenc
  49.218 +xorg-libICE
  49.219 +xorg-libpciaccess
  49.220 +xorg-libSM
  49.221 +xorg-libX11
  49.222 +xorg-libXau
  49.223 +xorg-libXaw
  49.224 +xorg-libXcomposite
  49.225 +xorg-libXcursor
  49.226 +xorg-libXdamage
  49.227 +xorg-libXdmcp
  49.228 +xorg-libXext
  49.229 +xorg-libXfixes
  49.230 +xorg-libXfont
  49.231 +xorg-libXft
  49.232 +xorg-libXi
  49.233 +xorg-libXinerama
  49.234 +xorg-libxkbfile
  49.235 +xorg-libXmu
  49.236 +xorg-libXp
  49.237 +xorg-libXpm
  49.238 +xorg-libXrandr
  49.239 +xorg-libXrender
  49.240 +xorg-libXss
  49.241 +xorg-libXt
  49.242 +xorg-libXtst
  49.243 +xorg-libXxf86vm
  49.244 +xorg-rgb
  49.245 +xorg-server
  49.246 +xorg-setxkbmap
  49.247 +xorg-xauth
  49.248 +xorg-xcompmgr
  49.249 +xorg-xf86-input-evdev
  49.250 +xorg-xf86-video-vesa
  49.251 +xorg-xkbcomp
  49.252 +xorg-xkeyboard-config
  49.253 +xterm
  49.254 +zlib
    50.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    50.2 +++ b/xfce/receipt	Wed Feb 22 23:26:35 2012 +0100
    50.3 @@ -0,0 +1,11 @@
    50.4 +# SliTaz flavor receipt.
    50.5 +
    50.6 +FLAVOR="xfce"
    50.7 +SHORT_DESC="SliTaz Core with XFCE Desktop, Firefox and Mercurial"
    50.8 +VERSION="20100512"
    50.9 +MAINTAINER="miltonsj@gmail.com"
   50.10 +
   50.11 +FRUGAL_RAM="320M"
   50.12 +ROOTFS_SIZE="252.8M"
   50.13 +INITRAMFS_SIZE="54.3M"
   50.14 +ISO_SIZE="57.1M"
    51.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.2 +++ b/xfce/rootcd/README	Wed Feb 22 23:26:35 2012 +0100
    51.3 @@ -0,0 +1,26 @@
    51.4 +README SliTaz GNU/Linux CD
    51.5 +===============================================================================
    51.6 +
    51.7 +
    51.8 +Check the index.html page for more information
    51.9 +
   51.10 +
   51.11 +LICENSE
   51.12 +-------
   51.13 +
   51.14 +Copyright (c)  2006-2012  SliTaz GNU/Linux
   51.15 +
   51.16 +SliTaz is free software; you can redistribute it and/or modify
   51.17 +it under the terms of the GNU General Public License as published by
   51.18 +the Free Software Foundation; either version 3 of the License, or
   51.19 +(at your option) any later version.
   51.20 +
   51.21 +SliTaz is distributed in the hope that it will be useful,
   51.22 +but WITHOUT ANY WARRANTY; without even the implied warranty of
   51.23 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   51.24 +GNU General Public License for more details.
   51.25 +
   51.26 +You should have received a copy of the GNU General Public License
   51.27 +along with SliTaz; if not, write to the Free Software
   51.28 +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 
   51.29 +USA
    52.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    52.2 +++ b/xfce/rootcd/index.html	Wed Feb 22 23:26:35 2012 +0100
    52.3 @@ -0,0 +1,84 @@
    52.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    52.5 +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    52.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    52.7 +<head>
    52.8 +	<title>SliTaz GNU/Linux - CD</title>
    52.9 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   52.10 +	<meta name="author" content="Christophe Lincoln"/>
   52.11 +	<link rel="stylesheet" type="text/css" href="style.css" />
   52.12 +</head>
   52.13 +<body>
   52.14 +
   52.15 +<!-- Header -->
   52.16 +<div id="header">
   52.17 +	<div id="logo"></div>
   52.18 +	<div id="network">
   52.19 +		<a href="http://www.slitaz.org/">Website</a>
   52.20 +		<a href="http://scn.slitaz.org/">Community</a>
   52.21 +		<a href="http://doc.slitaz.org/">Doc</a>
   52.22 +		<a href="http://forum.slitaz.org/">Forum</a>
   52.23 +		<a href="http://labs.slitaz.org/issues">Bugs</a>
   52.24 +		<a href="http://hg.slitaz.org/">Hg</a>
   52.25 +	</div>
   52.26 +	<h1>SliTaz Live</h1>
   52.27 +</div>
   52.28 +
   52.29 +<!-- Block -->
   52.30 +<div id="block"></div>
   52.31 +
   52.32 +<!-- Content -->
   52.33 +<div id="content">
   52.34 +<h2>LiveCD information</h2>
   52.35 +
   52.36 +<h3>English</h3>
   52.37 +<p>
   52.38 +	Welcome to the SliTaz GNU/Linux cdrom. To boot SliTaz from a cdrom
   52.39 +	just burn the ISO image onto a blank disc. Then reboot your computer
   52.40 +	with the disc in your cdrom drive.
   52.41 +</p>
   52.42 +<p>
   52.43 +	SliTaz is a micro GNU/Linux distro using BusyBox, a Linux kernel,
   52.44 +	and GNU free software. SliTaz also uses goodies from the Debian
   52.45 +	project. The goal of SliTaz is to have a GNU/Linux distro working
   52.46 +	entirely in memory (RAM) and fully installable to a HD for desktop or
   52.47 +	server usage.
   52.48 +</p>
   52.49 +<p>
   52.50 +	On the system you will find documentation in /usr/share/doc and the
   52.51 +	full <a href="README">GPL license</a> in /usr/share/licenses.
   52.52 +</p>
   52.53 +
   52.54 +<h3>Français</h3>
   52.55 +<p>
   52.56 +	Bienvenue sur la page d'index d'un cdrom de SliTaz GNU/Linux. 
   52.57 +	Vous devez démarrez votre ordinateur avec le cdrom dans le lecteur
   52.58 +	CD ou DVD, pour lancer SliTaz en RAM et sans risques pour la
   52.59 +	machine hôte.
   52.60 +</p>
   52.61 +<p>
   52.62 +	SliTaz peut fonctionner des mois entiers sans redémarrer, le système
   52.63 +	peut fonctionner dans 144 Mb de mémoire vive et sur des machines 
   52.64 +	sans disque dur. Mais SliTaz est aussi pleinement installable sur
   52.65 +	un disque dur et largement extensible via le gestionnaire de 
   52.66 +	paquets et la compilation de nouvelles applications depuis les
   52.67 +	sources.
   52.68 +</p>
   52.69 +
   52.70 +<!-- End content -->
   52.71 +</div>
   52.72 +
   52.73 +<!-- Footer -->
   52.74 +<div id="footer">
   52.75 +    Copyright &copy; 2012 <a href="http://www.slitaz.org/">SliTaz</a>
   52.76 +    <p>
   52.77 +    SliTaz @
   52.78 +		<a href="http://twitter.com/slitaz">Twitter</a>
   52.79 +		<a href="http://www.facebook.com/slitaz">Facebook</a>
   52.80 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
   52.81 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
   52.82 +		<a href="http://flattr.com/profile/slitaz">Flattr</a>
   52.83 +	    </p>
   52.84 +</div>
   52.85 +
   52.86 +</body>
   52.87 +</html>
    53.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    53.2 +++ b/xfce/rootcd/style.css	Wed Feb 22 23:26:35 2012 +0100
    53.3 @@ -0,0 +1,77 @@
    53.4 +/* CSS style for SliTaz GNU/Linux generic xHTML files. */
    53.5 +
    53.6 +html { min-height: 102%; }
    53.7 +
    53.8 +body {
    53.9 +	background: #ffffff;
   53.10 +	color: black;
   53.11 +	font: 13px sans-serif, vernada, arial;
   53.12 +	margin: 0;
   53.13 +	min-width: 640px;
   53.14 +}
   53.15 +
   53.16 +a { text-decoration: underline; color: #215090; }
   53.17 +a:hover { text-decoration: none; color: blue; }
   53.18 +img { border: 0pt none; vertical-align: middle; }
   53.19 +h2 { color: #444; }
   53.20 +h3 { color: #666; font-size: 140%; }
   53.21 +
   53.22 +#header { 
   53.23 +	height: 40px; 
   53.24 +	background: #351a0a;
   53.25 +}
   53.26 +
   53.27 +#header h1 {
   53.28 +	margin: 0;
   53.29 +	padding: 8px 0 0 8px;
   53.30 +	width: 250px;
   53.31 +	color: white;
   53.32 +	font-size: 20px;
   53.33 +	font-style: italic;
   53.34 +}
   53.35 +
   53.36 +#header h1 a { 
   53.37 +	color: white; 
   53.38 +	text-decoration: none;
   53.39 +	font-size: 20px;
   53.40 +	font-style: italic;
   53.41 +}
   53.42 +
   53.43 +#header h1 a:hover, #network a:hover { 
   53.44 +	color: #d66018;
   53.45 +}
   53.46 +
   53.47 +#network { 
   53.48 +	float: right; 
   53.49 +	padding: 12px 5px 0; 
   53.50 +	font-size: 12px;
   53.51 +}
   53.52 +
   53.53 +#network a { padding: 0 6px; }
   53.54 +
   53.55 +#network a { 
   53.56 +	color: #fff; 
   53.57 +	font-weight: bold;
   53.58 +	text-decoration: none;
   53.59 +}
   53.60 +
   53.61 +#block { 
   53.62 +	min-height: 8px; 
   53.63 +	background: #d66018; 
   53.64 +	padding: 0;
   53.65 +	border-bottom: 1px solid #f5f5f5;
   53.66 +}
   53.67 +
   53.68 +#content {
   53.69 +	padding: 30px 80px;
   53.70 +	text-align: justify;
   53.71 +}
   53.72 +
   53.73 +#footer {
   53.74 +	text-align: center;
   53.75 +	border-top: 1px solid #ddd;
   53.76 +	padding: 40px;
   53.77 +	color: #666;
   53.78 +}
   53.79 +
   53.80 +#footer a { color: #666; padding: 0 2px; }
    54.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    54.2 +++ b/xfce/rootfs/etc/init.d/bootopts.sh	Wed Feb 22 23:26:35 2012 +0100
    54.3 @@ -0,0 +1,212 @@
    54.4 +#!/bin/sh
    54.5 +# /etc/init.d/bootopts.sh - SliTaz boot options from the cmdline.
    54.6 +#
    54.7 +# Earlier boot options are in rcS, ex: config= and modprobe=
    54.8 +#
    54.9 +. /etc/init.d/rc.functions
   54.10 +
   54.11 +# Update fstab for swapon/swapoff 
   54.12 +add_swap_in_fstab()
   54.13 +{
   54.14 +	grep -q "$1	" /etc/fstab || cat >> /etc/fstab <<EOT
   54.15 +$1	swap	swap	default	0 0
   54.16 +EOT
   54.17 +}
   54.18 +
   54.19 +# Default user account without password (uid=1000). In live mode the option
   54.20 +# user=name can be used, but user must be added before home= to have home dir.
   54.21 +# This option is not handled by a loop and case like others and has no
   54.22 +# effect on an installed system.
   54.23 +if ! grep -q "100[0-9]:100[0-9]" /etc/passwd; then
   54.24 +	if grep -q "user=" /proc/cmdline; then
   54.25 +		USER=`cat /proc/cmdline | sed 's/.*user=\([^ ]*\).*/\1/'`
   54.26 +		# Avoid usage of an existing system user or root.
   54.27 +		if grep -q ^$USER /etc/passwd; then
   54.28 +			USER=tux
   54.29 +		fi
   54.30 +	else
   54.31 +		USER=tux
   54.32 +	fi
   54.33 +	echo -n "Configuring user and group: $USER..."
   54.34 +	echo "$USER:x:1000:1000:SliTaz User,,,:/home/$USER:/bin/sh" >> /etc/passwd
   54.35 +	echo "$USER::14035:0:99999:7:::" >> /etc/shadow
   54.36 +	echo "$USER:x:1000:" >> /etc/group
   54.37 +	echo "$USER:!::" >> /etc/gshadow
   54.38 +	status
   54.39 +	# Audio and cdrom group.
   54.40 +	addgroup $USER audio
   54.41 +	addgroup $USER cdrom
   54.42 +	# /home/$USER files from /etc/skel.
   54.43 +	if [ -d /etc/skel ]; then
   54.44 +		cp -a /etc/skel /home/$USER
   54.45 +		# Path for user desktop files.
   54.46 +		for i in /home/$USER/.local/share/applications/*.desktop
   54.47 +		do
   54.48 +			sed -i s/"user_name"/"$USER"/g $i
   54.49 +		done
   54.50 +	else
   54.51 +		mkdir -p /home/$USER
   54.52 +	fi
   54.53 +	# Set permissions.
   54.54 +	chown -R $USER.$USER /home/$USER
   54.55 +	# Slim default user.
   54.56 +	if [ -f /etc/slim.conf ]; then
   54.57 +		sed -i s/"default_user .*"/"default_user        $USER"/\
   54.58 +			/etc/slim.conf
   54.59 +	fi
   54.60 +fi
   54.61 +
   54.62 +# Parse /proc/cmdline for boot options.
   54.63 +echo "Parsing kernel cmdline for SliTaz live options... "
   54.64 +
   54.65 +for opt in `cat /proc/cmdline`
   54.66 +do
   54.67 +	case $opt in
   54.68 +		eject)
   54.69 +			# Eject cdrom.
   54.70 +			eject /dev/cdrom ;;
   54.71 +		autologin)
   54.72 +			# Autologin option to skip first graphic login prompt.
   54.73 +			echo "auto_login        yes" >> /etc/slim.conf ;;
   54.74 +		lang=*)
   54.75 +			# Check for a specified locale (lang=*).
   54.76 +			LANG=${opt#lang=}
   54.77 +			echo -n "Setting system locale to: $LANG... "
   54.78 +			echo "LANG=$LANG" > /etc/locale.conf
   54.79 +			echo "LC_ALL=$LANG" >> /etc/locale.conf
   54.80 +			[ ! -d /usr/lib/locale/$LANG ] && localedef \
   54.81 +				-i $LANG -c -f UTF-8 /usr/lib/locale/$LANG &
   54.82 +			status ;;
   54.83 +		kmap=*)
   54.84 +			# Check for a specified keymap (kmap=*).
   54.85 +			KEYMAP=${opt#kmap=}
   54.86 +			echo -n "Setting system keymap to: $KEYMAP..."
   54.87 +			echo "$KEYMAP" > /etc/keymap.conf
   54.88 +			status ;;
   54.89 +		home=*)
   54.90 +			# Check for a specified home partition (home=*) and check for 
   54.91 +			# user home dir. Note: home=usb is a shorter and easier way to
   54.92 +			# have home=/dev/sda1.
   54.93 +			DEVICE=${opt#home=}
   54.94 +			[ "$DEVICE" = "usb" ] && DEVICE=sda1
   54.95 +			echo "Home has been specified to $DEVICE..."
   54.96 +			USBDELAY=`cat /sys/module/usb_storage/parameters/delay_use`
   54.97 +			USBDELAY=$((1+$USBDELAY))
   54.98 +			echo "Sleeping $USBDELAY s to let the kernel detect the device... "
   54.99 +			sleep $USBDELAY
  54.100 +			USER=`cat /etc/passwd | grep 1000 | cut -d ":" -f 1`
  54.101 +			DEVID=$DEVICE
  54.102 +			if [ -x /sbin/blkid ]; then
  54.103 +				# Can be a label, uuid or devname. DEVID gives us first: /dev/name.
  54.104 +				DEVID=`/sbin/blkid | grep $DEVICE | cut -d: -f1`
  54.105 +				DEVID=${DEVID##*/}
  54.106 +			fi
  54.107 +			if [ -n "$DEVID" ] && grep -q "$DEVID" /proc/partitions ; then
  54.108 +				echo "Mounting /home on /dev/$DEVID... "
  54.109 +				[ -d /home/$USER ] && mv /home/$USER /tmp/$USER-files
  54.110 +				mount /dev/$DEVID /home -o uid=1000,gid=1000 2>/dev/null \
  54.111 +					|| mount /dev/$DEVID /home
  54.112 +				# Check if swap file must be generated in /home: swap=size (Mb).
  54.113 +				# This option is only used within home=device.
  54.114 +				if grep -q "swap=[1-9]*" /proc/cmdline; then
  54.115 +					SWAP_SIZE=`cat /proc/cmdline | sed 's/.*swap=\([^ ]*\).*/\1/'`
  54.116 +					# DD to gen a virtual disk.
  54.117 +					echo "Generating swap file: /home/swap ($SWAP_SIZE)..."
  54.118 +					dd if=/dev/zero of=/home/swap bs=1M count=$SWAP_SIZE
  54.119 +					# Make the Linux swap filesystem.
  54.120 +					mkswap /home/swap
  54.121 +					add_swap_in_fstab /home/swap
  54.122 +				fi
  54.123 +			else
  54.124 +				echo "Unable to find $DEVICE... "
  54.125 +			fi
  54.126 +			# Move all user dir if needed.
  54.127 +			if [ ! -d "/home/$USER" ] ; then
  54.128 +				mv /tmp/$USER-files /home/$USER
  54.129 +				chown -R $USER.$USER /home/$USER
  54.130 +			else
  54.131 +				rm -rf /tmp/$USER-files
  54.132 +			fi
  54.133 +			# Install all packages in /home/boot/packages. In live CD and 
  54.134 +			# USB mode the option home= mounts the device on /home, so we 
  54.135 +			# already have a boot directory with the Kernel and rootfs.
  54.136 +			if [ -d "/home/boot/packages" ]; then
  54.137 +				for pkg in /home/boot/packages/*.tazpkg
  54.138 +				do
  54.139 +					tazpkg install $pkg
  54.140 +				done
  54.141 +			fi ;;
  54.142 +		laptop)
  54.143 +			# Laptop option to load related Kernel modules.
  54.144 +			echo "Loading laptop modules: ac, battery, fan, yenta_socket..."
  54.145 +			for mod in ac battery fan yenta_socket
  54.146 +			do
  54.147 +				modprobe $mod
  54.148 +			done
  54.149 +			grep -qs batt /etc/lxpanel/default/panels/panel || 
  54.150 +			sed -i 's/= cpu/= batt\n}\n\nPlugin {\n    type = cpu/' \
  54.151 +				/etc/lxpanel/default/panels/panel 2> /dev/null
  54.152 +			# Enable Kernel Laptop mode.
  54.153 +			echo "5" > /proc/sys/vm/laptop_mode ;;
  54.154 +		mount)
  54.155 +			# Mount all ext3 partitions found (opt: mount).
  54.156 +			# Get the list of partitions.
  54.157 +			DEVICES_LIST=`fdisk -l | grep 83 | cut -d " " -f 1`
  54.158 +			# Mount filesystems rw.
  54.159 +			for device in $DEVICES_LIST
  54.160 +			do
  54.161 +				name=${device#/dev/}
  54.162 +				# Device can be already used by home=usb.
  54.163 +				if ! mount | grep ^$device >/dev/null; then
  54.164 +					echo "Mounting partition: $name on /mnt/$name"
  54.165 +					mkdir /mnt/$name
  54.166 +					mount $device /mnt/$name
  54.167 +				fi
  54.168 +			done ;;
  54.169 +		mount-packages)
  54.170 +			# Mount and install packages-XXX.iso (useful without Internet 
  54.171 +			# connection).
  54.172 +			PKGSIGN="LABEL=\"packages-$(cat /etc/slitaz-release)\" TYPE=\"iso9660\""
  54.173 +			PKGDEV=$(blkid | grep "$PKGSIGN" | cut -d: -f1)
  54.174 +			[ -z "$PKGDEV" -a -L /dev/cdrom ] && \
  54.175 +				PKGDEV=$(blkid /dev/cdrom | grep "$PKGSIGN" | cut -d: -f1)
  54.176 +			if [ -n "$PKGDEV" ]; then
  54.177 +				echo -n "Mounting packages archive from $PKGDEV..."
  54.178 +				mkdir /packages && mount -t iso9660 -o ro $PKGDEV /packages
  54.179 +				status
  54.180 +				/packages/install.sh
  54.181 +			fi ;;
  54.182 +		wm=*)
  54.183 +			# Check for a Window Manager (for a flavor, default WM can be changed
  54.184 +			# with boot options or with an addfile in /etc/X11/wm.default.
  54.185 +			WM=${opt#wm=}
  54.186 +			mkdir -p /etc/X11
  54.187 +			case $WM in
  54.188 +				jwm)
  54.189 +					echo "jwm" > /etc/X11/wm.default ;;
  54.190 +				ob|openbox|openbox-session)
  54.191 +					echo "openbox" > /etc/X11/wm.default ;;
  54.192 +				e17|enlightenment|enlightenment_start)
  54.193 +					echo "enlightenment" > /etc/X11/wm.default ;;
  54.194 +			esac ;;
  54.195 +		*)
  54.196 +			continue ;;
  54.197 +	esac
  54.198 +done
  54.199 +
  54.200 +# If no default WM fallback to Openbox (we never know).
  54.201 +if [ ! -f /etc/X11/wm.default ]; then
  54.202 +	echo "openbox" > /etc/X11/wm.default
  54.203 +fi
  54.204 +
  54.205 +# Activate an eventual swap file or partition.
  54.206 +if [ "`fdisk -l | grep swap`" ]; then
  54.207 +	for SWAP_DEV in `fdisk -l | grep swap | awk '{ print $1 }'`; do
  54.208 +		echo "Swap memory detected on: $SWAP_DEV"
  54.209 +		add_swap_in_fstab $SWAP_DEV
  54.210 +	done
  54.211 +fi
  54.212 +if grep -q swap /etc/fstab; then
  54.213 +	echo "Activating swap memory..."
  54.214 +	swapon -a
  54.215 +fi
    55.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    55.2 +++ b/xfce/rootfs/etc/init.d/network.sh	Wed Feb 22 23:26:35 2012 +0100
    55.3 @@ -0,0 +1,216 @@
    55.4 +#!/bin/sh
    55.5 +# /etc/init.d/network.sh - Network initialization boot script.
    55.6 +# Config file is: /etc/network.conf
    55.7 +#
    55.8 +. /etc/init.d/rc.functions
    55.9 +
   55.10 +if [ -z "$2" ]; then
   55.11 +	. /etc/network.conf 
   55.12 +else
   55.13 +	. $2 
   55.14 +fi
   55.15 +
   55.16 +
   55.17 +Boot() {
   55.18 +	# Set hostname.
   55.19 +	echo -n "Setting hostname..."
   55.20 +	/bin/hostname -F /etc/hostname
   55.21 +	status
   55.22 +
   55.23 +	# Configure loopback interface.
   55.24 +	echo -n "Configuring loopback..."
   55.25 +	/sbin/ifconfig lo 127.0.0.1 up
   55.26 +	/sbin/route add 127.0.0.1 lo
   55.27 +	status	
   55.28 +}
   55.29 +
   55.30 +
   55.31 +eth() {
   55.32 +#  Use ethernet
   55.33 +	   	ifconfig $INTERFACE up	
   55.34 +}
   55.35 +
   55.36 +wifi() {
   55.37 +	# For wifi. Users just have to enable it through yes and usually
   55.38 +	# essid any will work and the interface is autodetected.
   55.39 +	if [ "$WIFI" = "yes" ] || grep -q "wifi" /proc/cmdline; then
   55.40 +	    ifconfig $INTERFACE down
   55.41 +		
   55.42 +		# Confirm if $WIFI_INTERFACE is the wifi interface
   55.43 +		if [ ! -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then
   55.44 +			echo "$WIFI_INTERFACE is not a wifi interface, changing it."
   55.45 +			WIFI_INTERFACE=$(grep : /proc/net/dev | cut -d: -f1 | \
   55.46 +				while read dev; do iwconfig $dev 2>&1 | \
   55.47 +					grep -iq "essid" && { echo $dev ; break; }; \
   55.48 +				done)
   55.49 +			[ -n "$WIFI_INTERFACE" ] && sed -i "s/^WIFI_INTERFACE=.*/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" /etc/network.conf
   55.50 +		fi
   55.51 +		
   55.52 +		echo -n "Configuring $WIFI_INTERFACE..."
   55.53 +		ifconfig $WIFI_INTERFACE up
   55.54 +		if iwconfig $WIFI_INTERFACE | grep -q "Tx-Power"; then
   55.55 +			iwconfig $WIFI_INTERFACE txpower on
   55.56 +		fi
   55.57 +		status
   55.58 +		
   55.59 +		[ -n "$WPA_DRIVER" ] || WPA_DRIVER="wext"
   55.60 +		
   55.61 +		
   55.62 +		IWCONFIG_ARGS=""
   55.63 +		[ -n "$WIFI_MODE" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS mode $WIFI_MODE"
   55.64 +		[ -n "$WIFI_CHANNEL" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS channel $WIFI_CHANNEL"
   55.65 +		
   55.66 +		if [ "$WIFI_KEY_TYPE" == "" ]; then
   55.67 +			iwconfig $WIFI_INTERFACE essid "$WIFI_ESSID" $IWCONFIG_ARGS
   55.68 +		fi
   55.69 +		
   55.70 +		[ -n "$WIFI_KEY" ] && case "$WIFI_KEY_TYPE" in
   55.71 +			wep|WEP) 
   55.72 +			     IWCONFIG_ARGS="$IWCONFIG_ARGS key $WIFI_KEY"
   55.73 +				 iwconfig $WIFI_INTERFACE essid "$WIFI_ESSID" $IWCONFIG_ARGS
   55.74 +# wpa_supplicant can also deal with wep encryption but iwconfig is preferred
   55.75 +# Tip: Use unquoted strings for hexadecimal key in wep_key0
   55.76 +#			cat /etc/wpa_supplicant.conf > /tmp/wpa.conf 
   55.77 +#			cat >> /tmp/wpa.conf <<EOF
   55.78 +#ctrl_interface=/var/run/wpa_supplicant
   55.79 +#ctrl_interface_group=0
   55.80 +#ap_scan=1
   55.81 +#network={
   55.82 +#	ssid="$WIFI_ESSID"
   55.83 +#	scan_ssid=1
   55.84 +#	key_mgmt=NONE
   55.85 +#	wep_key0="$WIFI_KEY"
   55.86 +#	wep_tx_keyidx=0
   55.87 +#	priority=5
   55.88 +#}
   55.89 +#EOF
   55.90 +				    ;;
   55.91 +			wpa|WPA) cat /etc/wpa_supplicant.conf > /tmp/wpa.conf # load pre-configured multiple profiles 
   55.92 +			cat >> /tmp/wpa.conf <<EOF
   55.93 +ctrl_interface=/var/run/wpa_supplicant
   55.94 +ctrl_interface_group=0
   55.95 +ap_scan=1
   55.96 +network={
   55.97 +	ssid="$WIFI_ESSID"
   55.98 +	scan_ssid=1
   55.99 +	proto=WPA RSN
  55.100 +	key_mgmt=WPA-PSK
  55.101 +	psk="$WIFI_KEY"
  55.102 +	priority=5
  55.103 +}
  55.104 +EOF
  55.105 +				echo "Starting wpa_supplicant for WPA-PSK..."
  55.106 +				wpa_supplicant -B -W -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 
  55.107 +				;;
  55.108 +			any|ANY) cat /etc/wpa_supplicant.conf > /tmp/wpa.conf 
  55.109 +			cat >> /tmp/wpa.conf <<EOF
  55.110 +ctrl_interface=/var/run/wpa_supplicant
  55.111 +ctrl_interface_group=0
  55.112 +ap_scan=1
  55.113 +network={
  55.114 +	ssid="$WIFI_ESSID"
  55.115 +	scan_ssid=1
  55.116 +	key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
  55.117 +	group=CCMP TKIP WEP104 WEP40
  55.118 +	pairwise=CCMP TKIP
  55.119 +	psk="$WIFI_KEY"
  55.120 +	priority=5
  55.121 +}
  55.122 +EOF
  55.123 +				echo "Starting wpa_supplicant for any key type..."
  55.124 +				wpa_supplicant -B -W -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 
  55.125 +				;;
  55.126 +		esac
  55.127 +		
  55.128 +		rm -f /tmp/wpa.conf
  55.129 +		
  55.130 +		INTERFACE=$WIFI_INTERFACE			
  55.131 +	fi
  55.132 +
  55.133 +}
  55.134 +
  55.135 +wpa()
  55.136 +{
  55.137 +	DHCP_SCRIPT="/etc/init.d/wpa_action.sh"
  55.138 +	wpa_cli -a$DHCP_SCRIPT -B 
  55.139 +}
  55.140 +
  55.141 +dhcp() {
  55.142 +
  55.143 +# For a dynamic IP with DHCP. 
  55.144 +	if [ "$DHCP" = "yes" ]  ; then
  55.145 +		echo "Starting udhcpc client on: $INTERFACE..."		
  55.146 +		if [ -d /var/run/wpa_supplicant ]; then # wpa wireless && wpa_ctrl_open interface is up
  55.147 +		   wpa		  
  55.148 +		else  # fallback on udhcpc: wep, eth
  55.149 +		   /sbin/udhcpc -b -T 1 -A 12 -i $INTERFACE -p /var/run/udhcpc.$INTERFACE.pid
  55.150 +		fi		
  55.151 +	fi
  55.152 +	
  55.153 +}
  55.154 +
  55.155 +static_ip() {
  55.156 +# For a static IP.
  55.157 +	if [ "$STATIC" = "yes" ] ; then
  55.158 +		echo "Configuring static IP on $INTERFACE: $IP..."
  55.159 +		/sbin/ifconfig $INTERFACE $IP netmask $NETMASK up
  55.160 +		/sbin/route add default gateway $GATEWAY
  55.161 +		# Dirty trick: wpa_supplicant waits for wpa_cli
  55.162 +		wpa_cli -B
  55.163 +		# Multi-DNS server in $DNS_SERVER.
  55.164 +		/bin/mv /etc/resolv.conf /tmp/resolv.conf.$$
  55.165 +		for NS in $DNS_SERVER
  55.166 +		do
  55.167 +			echo "nameserver $NS" >> /etc/resolv.conf
  55.168 +		done
  55.169 +	fi
  55.170 +}
  55.171 +
  55.172 +# Stopping everything
  55.173 +Stop() {
  55.174 +	echo "Stopping all interfaces"
  55.175 +	ifconfig $INTERFACE down
  55.176 +	ifconfig $WIFI_INTERFACE down
  55.177 +
  55.178 +	echo "Killing all daemons"
  55.179 +	killall udhcpc
  55.180 +	killall wpa_supplicant 2>/dev/null
  55.181 +	
  55.182 +	if iwconfig $WIFI_INTERFACE | grep -q "Tx-Power"; then
  55.183 +		echo "Shutting down wifi card"
  55.184 +		iwconfig $WIFI_INTERFACE txpower off
  55.185 +	fi
  55.186 +}
  55.187 +
  55.188 +Start() {
  55.189 +   eth
  55.190 +   wifi
  55.191 +   dhcp 
  55.192 +   static_ip	
  55.193 +}
  55.194 +
  55.195 +
  55.196 +# looking for arguments:
  55.197 +if [ -z "$1" ]; then
  55.198 +	Boot
  55.199 +	Start
  55.200 +else
  55.201 +	case $1 in
  55.202 +		start)
  55.203 +			Start ;;
  55.204 +		stop)
  55.205 +			Stop ;;
  55.206 +		restart)
  55.207 +			Stop
  55.208 +			Start ;;
  55.209 +		*)
  55.210 +			echo ""
  55.211 +			echo -e "\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart]"
  55.212 +			echo ""
  55.213 +			echo -e "	Default configuration file is \033[1m/etc/network.conf\033[0m"
  55.214 +			echo -e "	You can specify another configuration file in the second argument:"
  55.215 +			echo -e "	\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart] file.conf"
  55.216 +			echo ""
  55.217 +
  55.218 +	esac
  55.219 +fi
    56.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    56.2 +++ b/xfce/rootfs/etc/lxpanel/default/panels/panel	Wed Feb 22 23:26:35 2012 +0100
    56.3 @@ -0,0 +1,185 @@
    56.4 +# lxpanel <profile> config file. Manually editing is not recommended.
    56.5 +# Use preference dialog in lxpanel to adjust config when you can.
    56.6 +
    56.7 +Global {
    56.8 +    edge=bottom
    56.9 +    allign=center
   56.10 +    margin=0
   56.11 +    widthtype=percent
   56.12 +    width=100
   56.13 +    height=24
   56.14 +    transparent=1
   56.15 +    tintcolor=#000000
   56.16 +    alpha=0
   56.17 +    autohide=0
   56.18 +    heightwhenhidden=2
   56.19 +    setdocktype=1
   56.20 +    setpartialstrut=1
   56.21 +    usefontcolor=1
   56.22 +    fontcolor=#ffffff
   56.23 +    background=0
   56.24 +    backgroundfile=/usr/share/lxpanel/images/background.png
   56.25 +    iconsize=24
   56.26 +}
   56.27 +
   56.28 +Plugin {
   56.29 +    type = space
   56.30 +    Config {
   56.31 +        Size=4
   56.32 +    }
   56.33 +}
   56.34 +
   56.35 +Plugin {
   56.36 +    type = menu
   56.37 +    Config {
   56.38 +        image=/usr/share/pixmaps/slitaz-menu.png
   56.39 +        system {
   56.40 +        }
   56.41 +        separator {
   56.42 +        }
   56.43 +        item {
   56.44 +            image=/usr/share/icons/SliTaz/16x16/categories/applications-system.png
   56.45 +            command=run
   56.46 +        }
   56.47 +        separator {
   56.48 +        }
   56.49 +        item {
   56.50 +            image=/usr/share/pixmaps/logout.png
   56.51 +            command=logout
   56.52 +        }
   56.53 +    }
   56.54 +}
   56.55 +
   56.56 +Plugin {
   56.57 +    type = space
   56.58 +    Config {
   56.59 +        Size=4
   56.60 +    }
   56.61 +}
   56.62 +
   56.63 +Plugin {
   56.64 +    type = launchbar
   56.65 +    Config {
   56.66 +        Button {
   56.67 +            id=xterm.desktop
   56.68 +        }
   56.69 +        Button {
   56.70 +            id=midori.desktop
   56.71 +        }
   56.72 +    }
   56.73 +}
   56.74 +
   56.75 +Plugin {
   56.76 +    type = pager
   56.77 +}
   56.78 +
   56.79 +Plugin {
   56.80 +    type = wincmd
   56.81 +    Config {
   56.82 +        image=window-manager
   56.83 +        Button1=iconify
   56.84 +        Button2=shade
   56.85 +        Toggle=0
   56.86 +    }
   56.87 +}
   56.88 +
   56.89 +Plugin {
   56.90 +    type = taskbar
   56.91 +    expand=1
   56.92 +    Config {
   56.93 +        tooltips=1
   56.94 +        IconsOnly=0
   56.95 +        ShowAllDesks=0
   56.96 +        UseMouseWheel=1
   56.97 +        UseUrgencyHint=1
   56.98 +        FlatButton=1
   56.99 +        MaxTaskWidth=200
  56.100 +        spacing=1
  56.101 +        GroupedTasks=0
  56.102 +    }
  56.103 +}
  56.104 +
  56.105 +Plugin {
  56.106 +    type = space
  56.107 +    Config {
  56.108 +        Size=4
  56.109 +    }
  56.110 +}
  56.111 +
  56.112 +Plugin {
  56.113 +    type = tray
  56.114 +}
  56.115 +
  56.116 +Plugin {
  56.117 +    type = volumealsa
  56.118 +}
  56.119 +
  56.120 +Plugin {
  56.121 +    type = space
  56.122 +    Config {
  56.123 +        Size=4
  56.124 +    }
  56.125 +}
  56.126 +
  56.127 +Plugin {
  56.128 +    type = netstatus
  56.129 +    Config {
  56.130 +        iface=eth0
  56.131 +        configtool=subox netbox %i
  56.132 +    }
  56.133 +}
  56.134 +
  56.135 +Plugin {
  56.136 +    type = space
  56.137 +    Config {
  56.138 +        Size=4
  56.139 +    }
  56.140 +}
  56.141 +
  56.142 +Plugin {
  56.143 +    type = batt
  56.144 +    Config {
  56.145 +        HideIfNoBattery=0
  56.146 +        AlarmCommand=xmessage Battery low
  56.147 +        AlarmTime=5
  56.148 +        BackgroundColor=black
  56.149 +        BorderWidth=1
  56.150 +        ChargingColor1=#28f200
  56.151 +        ChargingColor2=#22cc00
  56.152 +        DischargingColor1=#ffee00
  56.153 +        DischargingColor2=#d9ca00
  56.154 +        Size=8
  56.155 +    }
  56.156 +}
  56.157 +
  56.158 +Plugin {
  56.159 +    type = cpu
  56.160 +}
  56.161 +
  56.162 +Plugin {
  56.163 +    type = space
  56.164 +    Config {
  56.165 +        Size=2
  56.166 +    }
  56.167 +}
  56.168 +
  56.169 +Plugin {
  56.170 +    type = launchbar
  56.171 +    Config {
  56.172 +        Button {
  56.173 +            id=tazpkgbox.desktop
  56.174 +        }
  56.175 +    }
  56.176 +}
  56.177 +
  56.178 +Plugin {
  56.179 +    type = dclock
  56.180 +    Config {
  56.181 +        ClockFmt=%R
  56.182 +        TooltipFmt=%A %x
  56.183 +        Action=desktopbox calendar
  56.184 +        BoldFont=0
  56.185 +        IconOnly=0
  56.186 +    }
  56.187 +}
  56.188 +
    57.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    57.2 +++ b/xfce/rootfs/etc/skel/.Xdefaults	Wed Feb 22 23:26:35 2012 +0100
    57.3 @@ -0,0 +1,20 @@
    57.4 +!~/.Xdefault: Control the behavior of x-clients.
    57.5 +!
    57.6 +
    57.7 +! Xcursor theme (~/.icons).
    57.8 +!
    57.9 +Xcursor.theme:		slitaz-polar
   57.10 +
   57.11 +! XTerm settings.
   57.12 +!
   57.13 +xterm*background:	black
   57.14 +xterm*foreground:	white
   57.15 +xterm*cursorColor:	#6AA2D8
   57.16 +xterm*scrollBar:	off
   57.17 +xterm*faceName:		DejaVu Sans Mono
   57.18 +xterm*faceSize:		9
   57.19 +
   57.20 +! Xload settings.
   57.21 +!
   57.22 +!xload*background:	black
   57.23 +!xload*foreground:	lightblue
    58.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    58.2 +++ b/xfce/rootfs/etc/skel/.config/pcmanfm/main	Wed Feb 22 23:26:35 2012 +0100
    58.3 @@ -0,0 +1,15 @@
    58.4 +[General]
    58.5 +big_icon_size=32
    58.6 +terminal=xterm
    58.7 +
    58.8 +[Window]
    58.9 +width=640
   58.10 +height=480
   58.11 +splitter_pos=160
   58.12 +maximized=0
   58.13 +
   58.14 +[Desktop]
   58.15 +show_desktop=1
   58.16 +show_wallpaper=1
   58.17 +wallpaper=/usr/share/images/slitaz-background.jpg
   58.18 +show_wm_menu=1
    59.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    59.2 +++ b/xfce/rootfs/etc/skel/.gtkrc-2.0	Wed Feb 22 23:26:35 2012 +0100
    59.3 @@ -0,0 +1,13 @@
    59.4 +# ~/.gtkrc-2.0 - GTK+ theme, icon and font configuration.
    59.5 +#
    59.6 +# System files   : /usr/share/{themes,icons,fonts}
    59.7 +# Personal files : ~/.icons and ~/.fonts
    59.8 +#
    59.9 +
   59.10 +gtk-theme-name = "SliTaz"
   59.11 +#gtk-theme-name = "Clearlooks-DeepSky"
   59.12 +#gtk-theme-name = "Clearlooks-Olive"
   59.13 +
   59.14 +gtk-icon-theme-name = "SliTaz"
   59.15 +
   59.16 +gtk-font-name = "DejaVu Sans 9"
    60.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    60.2 +++ b/xfce/rootfs/etc/skel/.netsurf/Choices	Wed Feb 22 23:26:35 2012 +0100
    60.3 @@ -0,0 +1,64 @@
    60.4 +http_proxy:0
    60.5 +http_proxy_host:
    60.6 +http_proxy_port:8080
    60.7 +http_proxy_auth:0
    60.8 +http_proxy_auth_user:
    60.9 +http_proxy_auth_pass:
   60.10 +font_size:128
   60.11 +font_min_size:85
   60.12 +font_sans:Sans
   60.13 +font_serif:Serif
   60.14 +font_mono:Monospace
   60.15 +font_cursive:Serif
   60.16 +font_fantasy:Serif
   60.17 +accept_language:
   60.18 +accept_charset:
   60.19 +memory_cache_size:2097152
   60.20 +disc_cache_age:28
   60.21 +block_advertisements:0
   60.22 +minimum_gif_delay:10
   60.23 +send_referer:1
   60.24 +animate_images:1
   60.25 +expire_url:28
   60.26 +font_default:1
   60.27 +ca_bundle:
   60.28 +ca_path:/etc/ssl/certs
   60.29 +homepage_url:file:///usr/share/webhome/netsurf.html
   60.30 +url_suggestion:1
   60.31 +window_x:40
   60.32 +window_y:40
   60.33 +window_width:800
   60.34 +window_height:600
   60.35 +window_screen_width:0
   60.36 +window_screen_height:0
   60.37 +toolbar_status_size:0
   60.38 +scale:100
   60.39 +incremental_reflow:1
   60.40 +min_reflow_period:25
   60.41 +max_fetchers:24
   60.42 +max_fetchers_per_host:5
   60.43 +max_cached_fetch_handles:6
   60.44 +suppress_curl_debug:1
   60.45 +target_blank:1
   60.46 +button_2_tab:1
   60.47 +margin_top:10
   60.48 +margin_bottom:10
   60.49 +margin_left:10
   60.50 +margin_right:10
   60.51 +export_scale:70
   60.52 +suppress_images:0
   60.53 +remove_backgrounds:0
   60.54 +enable_loosening:1
   60.55 +enable_PDF_compression:1
   60.56 +enable_PDF_password:0
   60.57 +render_resample:0
   60.58 +downloads_clear:0
   60.59 +request_overwrite:1
   60.60 +show_single_tab:0
   60.61 +button_type:1
   60.62 +disable_popups:0
   60.63 +disable_plugins:0
   60.64 +history_age:0
   60.65 +hover_urls:0
   60.66 +focus_new:0
   60.67 +new_blank:0
    61.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    61.2 +++ b/xfce/rootfs/etc/skel/Desktop/slitaz-doc.desktop	Wed Feb 22 23:26:35 2012 +0100
    61.3 @@ -0,0 +1,5 @@
    61.4 +[Desktop Entry]
    61.5 +Name=Documentation
    61.6 +Exec=GtkLauncher file:///usr/share/doc/slitaz/index.html
    61.7 +Icon=slitaz-doc.png
    61.8 +Type=Application
    62.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    62.2 +++ b/xfce/rootfs/etc/slitaz/applications.conf	Wed Feb 22 23:26:35 2012 +0100
    62.3 @@ -0,0 +1,18 @@
    62.4 +# SliTaz default applications configuration file. Thes apps can be
    62.5 +# started throught wrappers: browser, editor and terminal.
    62.6 +#
    62.7 +
    62.8 +# File manager.
    62.9 +FILE_MANAGER="pcmanfm"
   62.10 +
   62.11 +# Web browser.
   62.12 +BROWSER="midori"
   62.13 +
   62.14 +# Text editor.
   62.15 +EDITOR="leafpad"
   62.16 +
   62.17 +# X terminal.
   62.18 +TERMINAL="xterm"
   62.19 +
   62.20 +# Window manager.
   62.21 +WINDOW_MANAGER="openbox"
    63.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    63.2 +++ b/xfce/rootfs/etc/xdg/openbox/menu.en.xml	Wed Feb 22 23:26:35 2012 +0100
    63.3 @@ -0,0 +1,134 @@
    63.4 +<?xml version="1.0" encoding="UTF-8"?>
    63.5 +
    63.6 +<openbox_menu xmlns="http://openbox.org/3.4/menu">
    63.7 +
    63.8 +<!-- Favorite applications -->
    63.9 +<menu id="favorites-menu" label="Favorite Applications">
   63.10 +  <item label="File Manager">
   63.11 +    <action name="Execute"><command>file-manager</command></action>
   63.12 +  </item>
   63.13 +  <item label="Terminal">
   63.14 +    <action name="Execute"><command>terminal</command></action>
   63.15 +  </item>
   63.16 +  <item label="Web Browser">
   63.17 +    <action name="Execute"><command>browser</command></action>
   63.18 +  </item>
   63.19 +  <item label="Text Editor">
   63.20 +    <action name="Execute"><command>editor</command></action>
   63.21 +  </item>
   63.22 +  <separator />
   63.23 +  <item label="Configure favorite">
   63.24 +    <action name="Execute"><command>desktopbox tazapps</command></action>
   63.25 +  </item>
   63.26 +</menu>
   63.27 +
   63.28 +<!-- Desktop files -->
   63.29 +<menu id="desktop-menu" label="Desktop Files &amp; Icons">
   63.30 +  <item label="Create new directory">
   63.31 +    <action name="Execute"><command>desktopbox new-folder</command></action>
   63.32 +  </item>
   63.33 +  <item label="Create new file">
   63.34 +    <action name="Execute"><command>desktopbox new-file</command></action>
   63.35 +  </item>
   63.36 +  <separator />
   63.37 +  <item label="Add new icon">
   63.38 +    <action name="Execute"><command>desktopbox add-icons</command></action>
   63.39 +  </item>
   63.40 +</menu>
   63.41 +
   63.42 +<!-- Desktop effects -->
   63.43 +<menu id="desktop-effects" label="Desktop Effects">
   63.44 +  <item label="Activate composite">
   63.45 +    <action name="Execute"><command>xcompmgr</command></action>
   63.46 +  </item>
   63.47 +  <item label="Activate shadows">
   63.48 +    <action name="Execute"><command>xcompmgr -c -r 10</command></action>
   63.49 +  </item>
   63.50 +  <item label="Activate shadows/fade">
   63.51 +    <action name="Execute"><command>xcompmgr -c -f -r 10</command></action>
   63.52 +  </item>
   63.53 +  <separator />
   63.54 +  <item label="Set opacity (actual)">
   63.55 +    <action name="Execute">
   63.56 +      <command>transset-df --actual --max 60</command>
   63.57 +    </action>
   63.58 +  </item>
   63.59 +  <item label="Set opacity (click)">
   63.60 +    <action name="Execute">
   63.61 +      <command>transset-df --click --max 60</command>
   63.62 +    </action>
   63.63 +  </item>
   63.64 +  <separator />
   63.65 +  <item label="Stop effects">
   63.66 +    <action name="Execute"><command>killall xcompmgr</command></action>
   63.67 +  </item>
   63.68 +</menu>
   63.69 +
   63.70 +<!-- SliTaz Live (Tazlito and Tazusb) -->
   63.71 +<menu id="slitaz-live-menu" label="SliTaz Live">
   63.72 +  <item label="Tazlito LiveCD Tool">
   63.73 +    <action name="Execute"><command>subox tazlitobox</command></action>
   63.74 +  </item>
   63.75 +  <item label="TazUSB LiveUSB Tool">
   63.76 +    <action name="Execute"><command>subox tazusbbox</command></action>
   63.77 +  </item>
   63.78 +  <separator />
   63.79 +  <item label="TazUSB Writefs (gzip)">
   63.80 +    <action name="Execute">
   63.81 +      <command>subox "xterm -e tazusb writefs gzip"</command>
   63.82 +    </action>
   63.83 +  </item>
   63.84 +  <item label="TazUSB Writefs (lzma)">
   63.85 +    <action name="Execute">
   63.86 +      <command>subox "xterm -e tazusb writefs lzma"</command>
   63.87 +    </action>
   63.88 +  </item>
   63.89 +  <item label="TazUSB Writefs (none)">
   63.90 +    <action name="Execute">
   63.91 +      <command>subox "xterm -e tazusb writefs none"</command>
   63.92 +    </action>
   63.93 +  </item>
   63.94 +</menu>
   63.95 +
   63.96 +<!-- Openbox configuration -->
   63.97 +<menu id="openbox-menu" label="Openbox">
   63.98 +  <item label="ObConf">
   63.99 +    <action name="Execute"><command>obconf</command></action>
  63.100 +  </item>
  63.101 +  <item label="Autostart Script">
  63.102 +    <action name="Execute">
  63.103 +      <command>desktopbox autostart</command>
  63.104 +    </action>
  63.105 +  </item>
  63.106 +  <item label="Openbox Menu">
  63.107 +    <action name="Execute">
  63.108 +      <command>editor ~/.config/openbox/menu.xml</command>
  63.109 +    </action>
  63.110 +  </item>
  63.111 +  <separator />
  63.112 +  <item label="Reconfigure">
  63.113 +    <action name="Reconfigure" />
  63.114 +  </item>
  63.115 +  <item label="Restart">
  63.116 +    <action name="Restart" />
  63.117 +  </item>
  63.118 +</menu>
  63.119 +
  63.120 +<menu id="root-menu" label="Openbox 3">
  63.121 +  <!-- <separator label="SliTaz Openbox" /> -->
  63.122 +  <menu id="favorites-menu" />
  63.123 +  <menu id="desktop-menu" />
  63.124 +  <!-- Pipe menu to open folder using GTK bookmarks -->
  63.125 +  <menu id="open-folder-menu" label="Open Folder"
  63.126 +        execute="/usr/lib/openbox/open-folder-menu.sh" />
  63.127 +  <menu id="desktop-effects" />
  63.128 +  <menu id="slitaz-live-menu" />
  63.129 +  <menu id="openbox-menu" />
  63.130 +  <menu id="client-list-menu" />
  63.131 +  <separator />
  63.132 +  <item label="Logout">
  63.133 +    <action name="Execute"><command>desktopbox logout</command></action>
  63.134 +  </item>
  63.135 +</menu>
  63.136 +
  63.137 +</openbox_menu>
    64.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    64.2 +++ b/xfce/rootfs/etc/xdg/openbox/menu.fr.xml	Wed Feb 22 23:26:35 2012 +0100
    64.3 @@ -0,0 +1,137 @@
    64.4 +<?xml version="1.0" encoding="UTF-8"?>
    64.5 +
    64.6 +<openbox_menu xmlns="http://openbox.org/3.4/menu">
    64.7 +
    64.8 +<!-- Favorites applications -->
    64.9 +<menu id="favorites-menu" label="Applications favorites">
   64.10 +  <item label="Gestionnaire de fichiers">
   64.11 +    <action name="Execute"><command>file-manager</command></action>
   64.12 +  </item>
   64.13 +  <item label="Emulateur de Terminal">
   64.14 +    <action name="Execute"><command>terminal</command></action>
   64.15 +  </item>
   64.16 +  <item label="Navigateur Web">
   64.17 +    <action name="Execute"><command>browser</command></action>
   64.18 +  </item>
   64.19 +  <item label="Editeur de texte">
   64.20 +    <action name="Execute"><command>editor</command></action>
   64.21 +  </item>
   64.22 +  <separator />
   64.23 +  <item label="Configuration des favoris">
   64.24 +    <action name="Execute"><command>desktopbox tazapps</command></action>
   64.25 +  </item>
   64.26 +</menu>
   64.27 +
   64.28 +<!-- Desktop files -->
   64.29 +<menu id="desktop-menu" label="Fichiers &amp; Icônes du bureau">
   64.30 +  <item label="Créer un nouveau dossier">
   64.31 +    <action name="Execute"><command>desktopbox new-folder</command></action>
   64.32 +  </item>
   64.33 +  <item label="Créer un nouveau fichier">
   64.34 +    <action name="Execute"><command>desktopbox new-file</command></action>
   64.35 +  </item>
   64.36 +  <separator />
   64.37 +  <item label="Ajouter un icône">
   64.38 +    <action name="Execute"><command>desktopbox add-icons</command></action>
   64.39 +  </item>
   64.40 +</menu>
   64.41 +
   64.42 +<!-- Desktop effects -->
   64.43 +<menu id="desktop-effects" label="Effets visuels">
   64.44 +  <item label="Activer le composite">
   64.45 +    <action name="Execute"><command>xcompmgr</command></action>
   64.46 +  </item>
   64.47 +  <item label="Active les ombres">
   64.48 +    <action name="Execute"><command>xcompmgr -c -r 10</command></action>
   64.49 +  </item>
   64.50 +  <item label="Activer les ombres fade">
   64.51 +    <action name="Execute"><command>xcompmgr -c -f -r 10</command></action>
   64.52 +  </item>
   64.53 +  <separator />
   64.54 +  <item label="Régler l'opacité (actuel)">
   64.55 +    <action name="Execute">
   64.56 +      <command>transset-df --actual --max 60</command>
   64.57 +    </action>
   64.58 +  </item>
   64.59 +  <item label="Régler l'opacité (clicque)">
   64.60 +    <action name="Execute">
   64.61 +      <command>transset-df --click --max 60</command>
   64.62 +    </action>
   64.63 +  </item>
   64.64 +  <separator />
   64.65 +  <item label="Stoper les effets">
   64.66 +    <action name="Execute"><command>killall xcompmgr</command></action>
   64.67 +  </item>
   64.68 +</menu>
   64.69 +
   64.70 +<!-- SliTaz Live (Tazlito and Tazusb) -->
   64.71 +<menu id="slitaz-live-menu" label="SliTaz Live CD/USB">
   64.72 +  <item label="Tazlito LiveCD Tool">
   64.73 +    <action name="Execute"><command>subox tazlitobox</command></action>
   64.74 +  </item>
   64.75 +  <item label="TazUSB LiveUSB Tool">
   64.76 +    <action name="Execute"><command>subox tazusbbox</command></action>
   64.77 +  </item>
   64.78 +  <separator />
   64.79 +  <item label="TazUSB Writefs (gzip)">
   64.80 +    <action name="Execute">
   64.81 +      <command>subox "xterm -e tazusb writefs gzip"</command>
   64.82 +    </action>
   64.83 +  </item>
   64.84 +  <item label="TazUSB Writefs (lzma)">
   64.85 +    <action name="Execute">
   64.86 +      <command>subox "xterm -e tazusb writefs lzma"</command>
   64.87 +    </action>
   64.88 +  </item>
   64.89 +  <item label="TazUSB Writefs (none)">
   64.90 +    <action name="Execute">
   64.91 +      <command>subox "xterm -e tazusb writefs none"</command>
   64.92 +    </action>
   64.93 +  </item>
   64.94 +</menu>
   64.95 +
   64.96 +<!-- Openbox configuration -->
   64.97 +<menu id="openbox-menu" label="Openbox">
   64.98 +  <item label="Configuration via OBconf">
   64.99 +    <action name="Execute"><command>obconf</command></action>
  64.100 +  </item>
  64.101 +  <item label="Script de démarrage">
  64.102 +    <action name="Execute">
  64.103 +      <command>desktopbox autostart</command>
  64.104 +    </action>
  64.105 +  </item>
  64.106 +  <item label="Menu d'Openbox">
  64.107 +    <action name="Execute">
  64.108 +      <command>editor ~/.config/openbox/menu.xml</command>
  64.109 +    </action>
  64.110 +  </item>
  64.111 +  <separator />
  64.112 +  <item label="Reconfigurer">
  64.113 +    <action name="Reconfigure" />
  64.114 +  </item>
  64.115 +  <item label="Redémarrer">
  64.116 +    <action name="Restart" />
  64.117 +  </item>
  64.118 +</menu>
  64.119 +
  64.120 +<menu id="root-menu" label="Openbox 3">
  64.121 +  <!-- <separator label="SliTaz Openbox" /> -->
  64.122 +  <menu id="favorites-menu" />
  64.123 +  <menu id="desktop-menu" />
  64.124 +  <!-- Pipe menu to open folder using GTK bookmarks -->
  64.125 +  <menu id="open-folder-menu" label="Dossiers favoris"
  64.126 +        execute="/usr/lib/openbox/open-folder-menu.sh" />
  64.127 +  <menu id="desktop-effects" />
  64.128 +  <menu id="slitaz-live-menu" />
  64.129 +  <menu id="openbox-menu" />
  64.130 +  <menu id="client-list-menu" />
  64.131 +  <separator />
  64.132 +  <!-- <item label="Exécuter">
  64.133 +    <action name="Execute"><command>gmrun</command></action>
  64.134 +  </item> -->
  64.135 +  <item label="Déconnexion">
  64.136 +    <action name="Execute"><command>desktopbox logout</command></action>
  64.137 +  </item>
  64.138 +</menu>
  64.139 +
  64.140 +</openbox_menu>
    65.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    65.2 +++ b/xfce/rootfs/etc/xdg/openbox/menu.pt.xml	Wed Feb 22 23:26:35 2012 +0100
    65.3 @@ -0,0 +1,134 @@
    65.4 +<?xml version="1.0" encoding="UTF-8"?>
    65.5 +
    65.6 +<openbox_menu xmlns="http://openbox.org/3.4/menu">
    65.7 +
    65.8 +<!-- Aplicações Favoritas -->
    65.9 +<menu id="favorites-menu" label="Aplicativos Favoritos">
   65.10 +  <item label="Gerenciador de Arquivos">
   65.11 +    <action name="Execute"><command>pcmanfm</command></action>
   65.12 +  </item>
   65.13 +  <item label="Terminal">
   65.14 +    <action name="Execute"><command>terminal</command></action>
   65.15 +  </item>
   65.16 +  <item label="Navegador Web">
   65.17 +    <action name="Execute"><command>browser</command></action>
   65.18 +  </item>
   65.19 +  <item label="Editor de Texto">
   65.20 +    <action name="Execute"><command>editor</command></action>
   65.21 +  </item>
   65.22 +  <separator />
   65.23 +  <item label="Configure favorite">
   65.24 +    <action name="Execute"><command>desktopbox tazapps</command></action>
   65.25 +  </item>
   65.26 +</menu>
   65.27 +
   65.28 +<!-- Desktop files -->
   65.29 +<menu id="desktop-menu" label="Arquivos &amp; Ãcones do Desktop">
   65.30 +  <item label="Criar nova pasta">
   65.31 +    <action name="Execute"><command>desktopbox new-folder</command></action>
   65.32 +  </item>
   65.33 +  <item label="Criar novo arquivo">
   65.34 +    <action name="Execute"><command>desktopbox new-file</command></action>
   65.35 +  </item>
   65.36 +  <separator />
   65.37 +  <item label="Adicionar novo ícone">
   65.38 +    <action name="Execute"><command>desktopbox add-icons</command></action>
   65.39 +  </item>
   65.40 +</menu>
   65.41 +
   65.42 +<!-- Efeitos do Desktop -->
   65.43 +<menu id="desktop-effects" label="Efeitos Visuais">
   65.44 +  <item label="Ativar composite">
   65.45 +    <action name="Execute"><command>xcompmgr</command></action>
   65.46 +  </item>
   65.47 +  <item label="Ativar sombreamento">
   65.48 +    <action name="Execute"><command>xcompmgr -c -r 10</command></action>
   65.49 +  </item>
   65.50 +  <item label="Ativar sombreamento/fade">
   65.51 +    <action name="Execute"><command>xcompmgr -c -f -r 10</command></action>
   65.52 +  </item>
   65.53 +  <separator />
   65.54 +  <item label="Definir opacidade (atual)">
   65.55 +    <action name="Execute">
   65.56 +      <command>transset-df --actual --max 60</command>
   65.57 +    </action>
   65.58 +  </item>
   65.59 +  <item label="Definir opacidade (click)">
   65.60 +    <action name="Execute">
   65.61 +      <command>transset-df --click --max 60</command>
   65.62 +    </action>
   65.63 +  </item>
   65.64 +  <separator />
   65.65 +  <item label="Parar efeitos">
   65.66 +    <action name="Execute"><command>killall xcompmgr</command></action>
   65.67 +  </item>
   65.68 +</menu>
   65.69 +
   65.70 +<!-- SliTaz Live (Tazlito e Tazusb) -->
   65.71 +<menu id="slitaz-live-menu" label="SliTaz Live CD/USB">
   65.72 +  <item label="Tazlito Ferramenta LiveCD">
   65.73 +    <action name="Execute"><command>subox tazlitobox</command></action>
   65.74 +  </item>
   65.75 +  <item label="TazUSB LiveUSB Tool">
   65.76 +    <action name="Execute"><command>subox tazusbbox</command></action>
   65.77 +  </item>
   65.78 +  <separator />
   65.79 +  <item label="TazUSB Writefs (gzip)">
   65.80 +    <action name="Execute">
   65.81 +      <command>subox "xterm -e tazusb writefs gzip"</command>
   65.82 +    </action>
   65.83 +  </item>
   65.84 +  <item label="TazUSB Writefs (lzma)">
   65.85 +    <action name="Execute">
   65.86 +      <command>subox "xterm -e tazusb writefs lzma"</command>
   65.87 +    </action>
   65.88 +  </item>
   65.89 +  <item label="TazUSB Writefs (none)">
   65.90 +    <action name="Execute">
   65.91 +      <command>subox "xterm -e tazusb writefs none"</command>
   65.92 +    </action>
   65.93 +  </item>
   65.94 +</menu>
   65.95 +
   65.96 +<!-- Configuração do Openbox -->
   65.97 +<menu id="openbox-menu" label="Openbox">
   65.98 +  <item label="Configuração do Openbox (GUI)">
   65.99 +    <action name="Execute"><command>obconf</command></action>
  65.100 +  </item>
  65.101 +  <item label="Aplicações autoiniciadas">
  65.102 +    <action name="Execute">
  65.103 +      <command>desktopbox autostart</command>
  65.104 +    </action>
  65.105 +  </item>
  65.106 +  <item label="Menu do Openbox">
  65.107 +    <action name="Execute">
  65.108 +      <command>editor ~/.config/openbox/menu.xml</command>
  65.109 +    </action>
  65.110 +  </item>
  65.111 +  <separator />
  65.112 +  <item label="Reconfigurar">
  65.113 +    <action name="Reconfigure" />
  65.114 +  </item>
  65.115 +  <item label="Reiniciar">
  65.116 +    <action name="Restart" />
  65.117 +  </item>
  65.118 +</menu>
  65.119 +
  65.120 +<menu id="root-menu" label="Openbox 3">
  65.121 +  <!-- <separator label="SliTaz Openbox" /> -->
  65.122 +  <menu id="favorites-menu" />
  65.123 +  <menu id="desktop-menu" />
  65.124 +  <!-- Pipe menu to open folder using GTK bookmarks -->
  65.125 +  <menu id="open-folder-menu" label="Locais Favoritos"
  65.126 +        execute="/usr/lib/openbox/open-folder-menu.sh" />
  65.127 +  <menu id="desktop-effects" />
  65.128 +  <menu id="slitaz-live-menu" />
  65.129 +  <menu id="openbox-menu" />
  65.130 +  <menu id="client-list-menu" />
  65.131 +  <separator />
  65.132 +  <item label="Sair">
  65.133 +    <action name="Execute"><command>desktopbox logout</command></action>
  65.134 +  </item>
  65.135 +</menu>
  65.136 +
  65.137 +</openbox_menu>
    66.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    66.2 +++ b/xfce/rootfs/etc/xdg/openbox/rc.xml	Wed Feb 22 23:26:35 2012 +0100
    66.3 @@ -0,0 +1,699 @@
    66.4 +<?xml version="1.0" encoding="UTF-8"?>
    66.5 +<!-- Do not edit this file, it will be overwritten on install.
    66.6 +        Copy the file to $HOME/.config/openbox/ instead. -->
    66.7 +<openbox_config xmlns="http://openbox.org/3.4/rc">
    66.8 +  <resistance>
    66.9 +    <strength>10</strength>
   66.10 +    <screen_edge_strength>20</screen_edge_strength>
   66.11 +  </resistance>
   66.12 +  <focus>
   66.13 +    <focusNew>yes</focusNew>
   66.14 +    <!-- always try to focus new windows when they appear. other rules do
   66.15 +       apply -->
   66.16 +    <followMouse>no</followMouse>
   66.17 +    <!-- move focus to a window when you move the mouse into it -->
   66.18 +    <focusLast>yes</focusLast>
   66.19 +    <!-- focus the last used window when changing desktops, instead of the one
   66.20 +       under the mouse pointer. when followMouse is enabled -->
   66.21 +    <underMouse>no</underMouse>
   66.22 +    <!-- move focus under the mouse, even when the mouse is not moving -->
   66.23 +    <focusDelay>200</focusDelay>
   66.24 +    <!-- when followMouse is enabled, the mouse must be inside the window for
   66.25 +       this many milliseconds (1000 = 1 sec) before moving focus to it -->
   66.26 +    <raiseOnFocus>no</raiseOnFocus>
   66.27 +    <!-- when followMouse is enabled, and a window is given focus by moving the
   66.28 +       mouse into it, also raise the window -->
   66.29 +  </focus>
   66.30 +  <placement>
   66.31 +    <policy>Smart</policy>
   66.32 +    <!-- 'Smart' or 'UnderMouse' -->
   66.33 +    <center>yes</center>
   66.34 +    <!-- whether to place windows in the center of the free area found or
   66.35 +       the top left corner -->
   66.36 +    <monitor>Any</monitor>
   66.37 +    <!-- with Smart placement on a multi-monitor system, try to place new windows
   66.38 +       on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
   66.39 +       the active window is -->
   66.40 +  </placement>
   66.41 +  <theme>
   66.42 +    <name>SliTaz</name>
   66.43 +    <titleLayout>NLIMC</titleLayout>
   66.44 +    <!--
   66.45 +      available characters are NDSLIMC, each can occur at most once.
   66.46 +      N: window icon
   66.47 +      L: window label (AKA title).
   66.48 +      I: iconify
   66.49 +      M: maximize
   66.50 +      C: close
   66.51 +      S: shade (roll up/down)
   66.52 +      D: omnipresent (on all desktops).
   66.53 +  -->
   66.54 +    <keepBorder>yes</keepBorder>
   66.55 +    <animateIconify>yes</animateIconify>
   66.56 +    <font place="ActiveWindow">
   66.57 +      <name>Sans</name>
   66.58 +      <size>8</size>
   66.59 +      <!-- font size in points -->
   66.60 +      <weight>Bold</weight>
   66.61 +      <!-- 'bold' or 'normal' -->
   66.62 +      <slant>Normal</slant>
   66.63 +      <!-- 'italic' or 'normal' -->
   66.64 +    </font>
   66.65 +    <font place="InactiveWindow">
   66.66 +      <name>Sans</name>
   66.67 +      <size>8</size>
   66.68 +      <!-- font size in points -->
   66.69 +      <weight>Bold</weight>
   66.70 +      <!-- 'bold' or 'normal' -->
   66.71 +      <slant>Normal</slant>
   66.72 +      <!-- 'italic' or 'normal' -->
   66.73 +    </font>
   66.74 +    <font place="MenuHeader">
   66.75 +      <name>Sans</name>
   66.76 +      <size>10</size>
   66.77 +      <!-- font size in points -->
   66.78 +      <weight>Normal</weight>
   66.79 +      <!-- 'bold' or 'normal' -->
   66.80 +      <slant>Normal</slant>
   66.81 +      <!-- 'italic' or 'normal' -->
   66.82 +    </font>
   66.83 +    <font place="MenuItem">
   66.84 +      <name>Sans</name>
   66.85 +      <size>9</size>
   66.86 +      <!-- font size in points -->
   66.87 +      <weight>Normal</weight>
   66.88 +      <!-- 'bold' or 'normal' -->
   66.89 +      <slant>Normal</slant>
   66.90 +      <!-- 'italic' or 'normal' -->
   66.91 +    </font>
   66.92 +    <font place="OnScreenDisplay">
   66.93 +      <name>sans</name>
   66.94 +      <size>9</size>
   66.95 +      <!-- font size in points -->
   66.96 +      <weight>bold</weight>
   66.97 +      <!-- 'bold' or 'normal' -->
   66.98 +      <slant>normal</slant>
   66.99 +      <!-- 'italic' or 'normal' -->
  66.100 +    </font>
  66.101 +  </theme>
  66.102 +  <desktops>
  66.103 +    <!-- this stuff is only used at startup, pagers allow you to change them
  66.104 +       during a session
  66.105 +
  66.106 +       these are default values to use when other ones are not already set
  66.107 +       by other applications, or saved in your session
  66.108 +
  66.109 +       use obconf if you want to change these without having to log out
  66.110 +       and back in -->
  66.111 +    <number>2</number>
  66.112 +    <firstdesk>1</firstdesk>
  66.113 +    <names>
  66.114 +      <!-- set names up here if you want to, like this:
  66.115 +    <name>desktop 1</name>
  66.116 +    <name>desktop 2</name>
  66.117 +    -->
  66.118 +    </names>
  66.119 +    <popupTime>875</popupTime>
  66.120 +    <!-- The number of milliseconds to show the popup for when switching
  66.121 +       desktops.  Set this to 0 to disable the popup. -->
  66.122 +  </desktops>
  66.123 +  <resize>
  66.124 +    <drawContents>yes</drawContents>
  66.125 +    <popupShow>Nonpixel</popupShow>
  66.126 +    <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
  66.127 +    <popupPosition>Center</popupPosition>
  66.128 +    <!-- 'Center', 'Top', or 'Fixed' -->
  66.129 +    <popupFixedPosition>
  66.130 +      <!-- these are used if popupPosition is set to 'Fixed' -->
  66.131 +      <x>10</x>
  66.132 +      <!-- positive number for distance from left edge, negative number for
  66.133 +         distance from right edge, or 'Center' -->
  66.134 +      <y>10</y>
  66.135 +      <!-- positive number for distance from top edge, negative number for
  66.136 +         distance from bottom edge, or 'Center' -->
  66.137 +    </popupFixedPosition>
  66.138 +  </resize>
  66.139 +  <!-- You can reserve a portion of your screen where windows will not cover when
  66.140 +     they are maximized, or when they are initially placed.
  66.141 +     Many programs reserve space automatically, but you can use this in other
  66.142 +     cases. -->
  66.143 +  <margins>
  66.144 +    <top>0</top>
  66.145 +    <bottom>0</bottom>
  66.146 +    <left>0</left>
  66.147 +    <right>0</right>
  66.148 +  </margins>
  66.149 +  <dock>
  66.150 +    <position>TopLeft</position>
  66.151 +    <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
  66.152 +    <floatingX>0</floatingX>
  66.153 +    <floatingY>0</floatingY>
  66.154 +    <noStrut>no</noStrut>
  66.155 +    <stacking>Above</stacking>
  66.156 +    <!-- 'Above', 'Normal', or 'Below' -->
  66.157 +    <direction>Vertical</direction>
  66.158 +    <!-- 'Vertical' or 'Horizontal' -->
  66.159 +    <autoHide>no</autoHide>
  66.160 +    <hideDelay>300</hideDelay>
  66.161 +    <!-- in milliseconds (1000 = 1 second) -->
  66.162 +    <showDelay>300</showDelay>
  66.163 +    <!-- in milliseconds (1000 = 1 second) -->
  66.164 +    <moveButton>Middle</moveButton>
  66.165 +    <!-- 'Left', 'Middle', 'Right' -->
  66.166 +  </dock>
  66.167 +  <keyboard>
  66.168 +    <chainQuitKey>C-g</chainQuitKey>
  66.169 +    <!-- Keybindings for desktop switching -->
  66.170 +    <keybind key="C-A-Left">
  66.171 +      <action name="DesktopLeft">
  66.172 +        <dialog>no</dialog>
  66.173 +        <wrap>no</wrap>
  66.174 +      </action>
  66.175 +    </keybind>
  66.176 +    <keybind key="C-A-Right">
  66.177 +      <action name="DesktopRight">
  66.178 +        <dialog>no</dialog>
  66.179 +        <wrap>no</wrap>
  66.180 +      </action>
  66.181 +    </keybind>
  66.182 +    <keybind key="C-A-Up">
  66.183 +      <action name="DesktopUp">
  66.184 +        <dialog>no</dialog>
  66.185 +        <wrap>no</wrap>
  66.186 +      </action>
  66.187 +    </keybind>
  66.188 +    <keybind key="C-A-Down">
  66.189 +      <action name="DesktopDown">
  66.190 +        <dialog>no</dialog>
  66.191 +        <wrap>no</wrap>
  66.192 +      </action>
  66.193 +    </keybind>
  66.194 +    <keybind key="S-A-Left">
  66.195 +      <action name="SendToDesktopLeft">
  66.196 +        <dialog>no</dialog>
  66.197 +        <wrap>no</wrap>
  66.198 +      </action>
  66.199 +    </keybind>
  66.200 +    <keybind key="S-A-Right">
  66.201 +      <action name="SendToDesktopRight">
  66.202 +        <dialog>no</dialog>
  66.203 +        <wrap>no</wrap>
  66.204 +      </action>
  66.205 +    </keybind>
  66.206 +    <keybind key="S-A-Up">
  66.207 +      <action name="SendToDesktopUp">
  66.208 +        <dialog>no</dialog>
  66.209 +        <wrap>no</wrap>
  66.210 +      </action>
  66.211 +    </keybind>
  66.212 +    <keybind key="S-A-Down">
  66.213 +      <action name="SendToDesktopDown">
  66.214 +        <dialog>no</dialog>
  66.215 +        <wrap>no</wrap>
  66.216 +      </action>
  66.217 +    </keybind>
  66.218 +    <keybind key="W-F1">
  66.219 +      <action name="Desktop">
  66.220 +        <desktop>1</desktop>
  66.221 +      </action>
  66.222 +    </keybind>
  66.223 +    <keybind key="W-F2">
  66.224 +      <action name="Desktop">
  66.225 +        <desktop>2</desktop>
  66.226 +      </action>
  66.227 +    </keybind>
  66.228 +    <keybind key="W-F3">
  66.229 +      <action name="Desktop">
  66.230 +        <desktop>3</desktop>
  66.231 +      </action>
  66.232 +    </keybind>
  66.233 +    <keybind key="W-F4">
  66.234 +      <action name="Desktop">
  66.235 +        <desktop>4</desktop>
  66.236 +      </action>
  66.237 +    </keybind>
  66.238 +    <keybind key="W-d">
  66.239 +      <action name="ToggleShowDesktop"/>
  66.240 +    </keybind>
  66.241 +    <!-- Keybindings for windows -->
  66.242 +    <keybind key="A-F4">
  66.243 +      <action name="Close"/>
  66.244 +    </keybind>
  66.245 +    <keybind key="A-Escape">
  66.246 +      <action name="Lower"/>
  66.247 +      <action name="FocusToBottom"/>
  66.248 +      <action name="Unfocus"/>
  66.249 +    </keybind>
  66.250 +    <keybind key="A-space">
  66.251 +      <action name="ShowMenu">
  66.252 +        <menu>client-menu</menu>
  66.253 +      </action>
  66.254 +    </keybind>
  66.255 +    <!-- Keybindings for window switching -->
  66.256 +    <keybind key="A-Tab">
  66.257 +      <action name="NextWindow"/>
  66.258 +    </keybind>
  66.259 +    <keybind key="A-S-Tab">
  66.260 +      <action name="PreviousWindow"/>
  66.261 +    </keybind>
  66.262 +    <keybind key="C-A-Tab">
  66.263 +      <action name="NextWindow">
  66.264 +        <panels>yes</panels>
  66.265 +        <desktop>yes</desktop>
  66.266 +      </action>
  66.267 +    </keybind>
  66.268 +    <!-- Keybindings for running applications -->
  66.269 +    <keybind key="W-e">
  66.270 +      <action name="Execute">
  66.271 +        <startupnotify>
  66.272 +          <enabled>true</enabled>
  66.273 +          <name>App Launcher</name>
  66.274 +        </startupnotify>
  66.275 +        <command>lxpanelctl run</command>
  66.276 +      </action>
  66.277 +    </keybind>
  66.278 +  </keyboard>
  66.279 +  <mouse>
  66.280 +    <dragThreshold>8</dragThreshold>
  66.281 +    <!-- number of pixels the mouse must move before a drag begins -->
  66.282 +    <doubleClickTime>200</doubleClickTime>
  66.283 +    <!-- in milliseconds (1000 = 1 second) -->
  66.284 +    <screenEdgeWarpTime>400</screenEdgeWarpTime>
  66.285 +    <!-- Time before changing desktops when the pointer touches the edge of the
  66.286 +       screen while moving a window, in milliseconds (1000 = 1 second).
  66.287 +       Set this to 0 to disable warping -->
  66.288 +    <context name="Frame">
  66.289 +      <mousebind button="A-Left" action="Press">
  66.290 +        <action name="Focus"/>
  66.291 +        <action name="Raise"/>
  66.292 +      </mousebind>
  66.293 +      <mousebind button="A-Left" action="Click">
  66.294 +        <action name="Unshade"/>
  66.295 +      </mousebind>
  66.296 +      <mousebind button="A-Left" action="Drag">
  66.297 +        <action name="Move"/>
  66.298 +      </mousebind>
  66.299 +      <mousebind button="A-Right" action="Press">
  66.300 +        <action name="Focus"/>
  66.301 +        <action name="Raise"/>
  66.302 +        <action name="Unshade"/>
  66.303 +      </mousebind>
  66.304 +      <mousebind button="A-Right" action="Drag">
  66.305 +        <action name="Resize"/>
  66.306 +      </mousebind>
  66.307 +      <mousebind button="A-Middle" action="Press">
  66.308 +        <action name="Lower"/>
  66.309 +        <action name="FocusToBottom"/>
  66.310 +        <action name="Unfocus"/>
  66.311 +      </mousebind>
  66.312 +      <mousebind button="A-Up" action="Click">
  66.313 +        <action name="DesktopPrevious"/>
  66.314 +      </mousebind>
  66.315 +      <mousebind button="A-Down" action="Click">
  66.316 +        <action name="DesktopNext"/>
  66.317 +      </mousebind>
  66.318 +      <mousebind button="C-A-Up" action="Click">
  66.319 +        <action name="DesktopPrevious"/>
  66.320 +      </mousebind>
  66.321 +      <mousebind button="C-A-Down" action="Click">
  66.322 +        <action name="DesktopNext"/>
  66.323 +      </mousebind>
  66.324 +      <mousebind button="A-S-Up" action="Click">
  66.325 +        <action name="SendToDesktopPrevious"/>
  66.326 +      </mousebind>
  66.327 +      <mousebind button="A-S-Down" action="Click">
  66.328 +        <action name="SendToDesktopNext"/>
  66.329 +      </mousebind>
  66.330 +    </context>
  66.331 +    <context name="Titlebar">
  66.332 +      <mousebind button="Left" action="Press">
  66.333 +        <action name="Focus"/>
  66.334 +        <action name="Raise"/>
  66.335 +      </mousebind>
  66.336 +      <mousebind button="Left" action="Drag">
  66.337 +        <action name="Move"/>
  66.338 +      </mousebind>
  66.339 +      <mousebind button="Left" action="DoubleClick">
  66.340 +        <action name="ToggleMaximizeFull"/>
  66.341 +      </mousebind>
  66.342 +      <mousebind button="Middle" action="Press">
  66.343 +        <action name="Lower"/>
  66.344 +        <action name="FocusToBottom"/>
  66.345 +        <action name="Unfocus"/>
  66.346 +      </mousebind>
  66.347 +      <mousebind button="Up" action="Click">
  66.348 +        <action name="Shade"/>
  66.349 +        <action name="FocusToBottom"/>
  66.350 +        <action name="Unfocus"/>
  66.351 +        <action name="Lower"/>
  66.352 +      </mousebind>
  66.353 +      <mousebind button="Down" action="Click">
  66.354 +        <action name="Unshade"/>
  66.355 +        <action name="Raise"/>
  66.356 +      </mousebind>
  66.357 +      <mousebind button="Right" action="Press">
  66.358 +        <action name="Focus"/>
  66.359 +        <action name="Raise"/>
  66.360 +        <action name="ShowMenu">
  66.361 +          <menu>client-menu</menu>
  66.362 +        </action>
  66.363 +      </mousebind>
  66.364 +    </context>
  66.365 +    <context name="Top">
  66.366 +      <mousebind button="Left" action="Press">
  66.367 +        <action name="Focus"/>
  66.368 +        <action name="Raise"/>
  66.369 +        <action name="Unshade"/>
  66.370 +      </mousebind>
  66.371 +      <mousebind button="Left" action="Drag">
  66.372 +        <action name="Resize">
  66.373 +          <edge>top</edge>
  66.374 +        </action>
  66.375 +      </mousebind>
  66.376 +    </context>
  66.377 +    <context name="Left">
  66.378 +      <mousebind button="Left" action="Press">
  66.379 +        <action name="Focus"/>
  66.380 +        <action name="Raise"/>
  66.381 +      </mousebind>
  66.382 +      <mousebind button="Left" action="Drag">
  66.383 +        <action name="Resize">
  66.384 +          <edge>left</edge>
  66.385 +        </action>
  66.386 +      </mousebind>
  66.387 +    </context>
  66.388 +    <context name="Right">
  66.389 +      <mousebind button="Left" action="Press">
  66.390 +        <action name="Focus"/>
  66.391 +        <action name="Raise"/>
  66.392 +      </mousebind>
  66.393 +      <mousebind button="Left" action="Drag">
  66.394 +        <action name="Resize">
  66.395 +          <edge>right</edge>
  66.396 +        </action>
  66.397 +      </mousebind>
  66.398 +    </context>
  66.399 +    <context name="Bottom">
  66.400 +      <mousebind button="Left" action="Press">
  66.401 +        <action name="Focus"/>
  66.402 +        <action name="Raise"/>
  66.403 +      </mousebind>
  66.404 +      <mousebind button="Left" action="Drag">
  66.405 +        <action name="Resize">
  66.406 +          <edge>bottom</edge>
  66.407 +        </action>
  66.408 +      </mousebind>
  66.409 +      <mousebind button="Middle" action="Press">
  66.410 +        <action name="Lower"/>
  66.411 +        <action name="FocusToBottom"/>
  66.412 +        <action name="Unfocus"/>
  66.413 +      </mousebind>
  66.414 +      <mousebind button="Right" action="Press">
  66.415 +        <action name="Focus"/>
  66.416 +        <action name="Raise"/>
  66.417 +        <action name="ShowMenu">
  66.418 +          <menu>client-menu</menu>
  66.419 +        </action>
  66.420 +      </mousebind>
  66.421 +    </context>
  66.422 +    <context name="BLCorner">
  66.423 +      <mousebind button="Left" action="Press">
  66.424 +        <action name="Focus"/>
  66.425 +        <action name="Raise"/>
  66.426 +      </mousebind>
  66.427 +      <mousebind button="Left" action="Drag">
  66.428 +        <action name="Resize"/>
  66.429 +      </mousebind>
  66.430 +    </context>
  66.431 +    <context name="BRCorner">
  66.432 +      <mousebind button="Left" action="Press">
  66.433 +        <action name="Focus"/>
  66.434 +        <action name="Raise"/>
  66.435 +      </mousebind>
  66.436 +      <mousebind button="Left" action="Drag">
  66.437 +        <action name="Resize"/>
  66.438 +      </mousebind>
  66.439 +    </context>
  66.440 +    <context name="TLCorner">
  66.441 +      <mousebind button="Left" action="Press">
  66.442 +        <action name="Focus"/>
  66.443 +        <action name="Raise"/>
  66.444 +        <action name="Unshade"/>
  66.445 +      </mousebind>
  66.446 +      <mousebind button="Left" action="Drag">
  66.447 +        <action name="Resize"/>
  66.448 +      </mousebind>
  66.449 +    </context>
  66.450 +    <context name="TRCorner">
  66.451 +      <mousebind button="Left" action="Press">
  66.452 +        <action name="Focus"/>
  66.453 +        <action name="Raise"/>
  66.454 +        <action name="Unshade"/>
  66.455 +      </mousebind>
  66.456 +      <mousebind button="Left" action="Drag">
  66.457 +        <action name="Resize"/>
  66.458 +      </mousebind>
  66.459 +    </context>
  66.460 +    <context name="Client">
  66.461 +      <mousebind button="Left" action="Press">
  66.462 +        <action name="Focus"/>
  66.463 +        <action name="Raise"/>
  66.464 +      </mousebind>
  66.465 +      <mousebind button="Middle" action="Press">
  66.466 +        <action name="Focus"/>
  66.467 +        <action name="Raise"/>
  66.468 +      </mousebind>
  66.469 +      <mousebind button="Right" action="Press">
  66.470 +        <action name="Focus"/>
  66.471 +        <action name="Raise"/>
  66.472 +      </mousebind>
  66.473 +    </context>
  66.474 +    <context name="Icon">
  66.475 +      <mousebind button="Left" action="Press">
  66.476 +        <action name="Focus"/>
  66.477 +        <action name="Raise"/>
  66.478 +        <action name="Unshade"/>
  66.479 +        <action name="ShowMenu">
  66.480 +          <menu>client-menu</menu>
  66.481 +        </action>
  66.482 +      </mousebind>
  66.483 +      <mousebind button="Right" action="Press">
  66.484 +        <action name="Focus"/>
  66.485 +        <action name="Raise"/>
  66.486 +        <action name="ShowMenu">
  66.487 +          <menu>client-menu</menu>
  66.488 +        </action>
  66.489 +      </mousebind>
  66.490 +    </context>
  66.491 +    <context name="AllDesktops">
  66.492 +      <mousebind button="Left" action="Press">
  66.493 +        <action name="Focus"/>
  66.494 +        <action name="Raise"/>
  66.495 +        <action name="Unshade"/>
  66.496 +      </mousebind>
  66.497 +      <mousebind button="Left" action="Click">
  66.498 +        <action name="ToggleOmnipresent"/>
  66.499 +      </mousebind>
  66.500 +    </context>
  66.501 +    <context name="Shade">
  66.502 +      <mousebind button="Left" action="Press">
  66.503 +        <action name="Focus"/>
  66.504 +        <action name="Raise"/>
  66.505 +      </mousebind>
  66.506 +      <mousebind button="Left" action="Click">
  66.507 +        <action name="ToggleShade"/>
  66.508 +      </mousebind>
  66.509 +    </context>
  66.510 +    <context name="Iconify">
  66.511 +      <mousebind button="Left" action="Press">
  66.512 +        <action name="Focus"/>
  66.513 +        <action name="Raise"/>
  66.514 +      </mousebind>
  66.515 +      <mousebind button="Left" action="Click">
  66.516 +        <action name="Iconify"/>
  66.517 +      </mousebind>
  66.518 +    </context>
  66.519 +    <context name="Maximize">
  66.520 +      <mousebind button="Left" action="Press">
  66.521 +        <action name="Focus"/>
  66.522 +        <action name="Raise"/>
  66.523 +        <action name="Unshade"/>
  66.524 +      </mousebind>
  66.525 +      <mousebind button="Middle" action="Press">
  66.526 +        <action name="Focus"/>
  66.527 +        <action name="Raise"/>
  66.528 +        <action name="Unshade"/>
  66.529 +      </mousebind>
  66.530 +      <mousebind button="Right" action="Press">
  66.531 +        <action name="Focus"/>
  66.532 +        <action name="Raise"/>
  66.533 +        <action name="Unshade"/>
  66.534 +      </mousebind>
  66.535 +      <mousebind button="Left" action="Click">
  66.536 +        <action name="ToggleMaximizeFull"/>
  66.537 +      </mousebind>
  66.538 +      <mousebind button="Middle" action="Click">
  66.539 +        <action name="ToggleMaximizeVert"/>
  66.540 +      </mousebind>
  66.541 +      <mousebind button="Right" action="Click">
  66.542 +        <action name="ToggleMaximizeHorz"/>
  66.543 +      </mousebind>
  66.544 +    </context>
  66.545 +    <context name="Close">
  66.546 +      <mousebind button="Left" action="Press">
  66.547 +        <action name="Focus"/>
  66.548 +        <action name="Raise"/>
  66.549 +        <action name="Unshade"/>
  66.550 +      </mousebind>
  66.551 +      <mousebind button="Left" action="Click">
  66.552 +        <action name="Close"/>
  66.553 +      </mousebind>
  66.554 +    </context>
  66.555 +    <context name="Desktop">
  66.556 +      <mousebind button="Up" action="Click">
  66.557 +        <action name="DesktopPrevious"/>
  66.558 +      </mousebind>
  66.559 +      <mousebind button="Down" action="Click">
  66.560 +        <action name="DesktopNext"/>
  66.561 +      </mousebind>
  66.562 +      <mousebind button="A-Up" action="Click">
  66.563 +        <action name="DesktopPrevious"/>
  66.564 +      </mousebind>
  66.565 +      <mousebind button="A-Down" action="Click">
  66.566 +        <action name="DesktopNext"/>
  66.567 +      </mousebind>
  66.568 +      <mousebind button="C-A-Up" action="Click">
  66.569 +        <action name="DesktopPrevious"/>
  66.570 +      </mousebind>
  66.571 +      <mousebind button="C-A-Down" action="Click">
  66.572 +        <action name="DesktopNext"/>
  66.573 +      </mousebind>
  66.574 +      <mousebind button="Left" action="Press">
  66.575 +        <action name="Focus"/>
  66.576 +        <action name="Raise"/>
  66.577 +      </mousebind>
  66.578 +      <mousebind button="Right" action="Press">
  66.579 +        <action name="Focus"/>
  66.580 +        <action name="Raise"/>
  66.581 +      </mousebind>
  66.582 +    </context>
  66.583 +    <context name="Root">
  66.584 +      <!-- Menus -->
  66.585 +      <mousebind button="Middle" action="Press">
  66.586 +        <action name="ShowMenu">
  66.587 +          <menu>client-list-combined-menu</menu>
  66.588 +        </action>
  66.589 +      </mousebind>
  66.590 +      <mousebind button="Right" action="Press">
  66.591 +        <action name="ShowMenu">
  66.592 +          <menu>root-menu</menu>
  66.593 +        </action>
  66.594 +      </mousebind>
  66.595 +    </context>
  66.596 +    <context name="MoveResize">
  66.597 +      <mousebind button="Up" action="Click">
  66.598 +        <action name="DesktopPrevious"/>
  66.599 +      </mousebind>
  66.600 +      <mousebind button="Down" action="Click">
  66.601 +        <action name="DesktopNext"/>
  66.602 +      </mousebind>
  66.603 +      <mousebind button="A-Up" action="Click">
  66.604 +        <action name="DesktopPrevious"/>
  66.605 +      </mousebind>
  66.606 +      <mousebind button="A-Down" action="Click">
  66.607 +        <action name="DesktopNext"/>
  66.608 +      </mousebind>
  66.609 +    </context>
  66.610 +  </mouse>
  66.611 +  <menu>
  66.612 +    <!-- You can specify more than one menu file in here and they are all loaded,
  66.613 +       just don't make menu ids clash or, well, it'll be kind of pointless -->
  66.614 +    <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
  66.615 +    <file>menu.xml</file>
  66.616 +    <hideDelay>200</hideDelay>
  66.617 +    <!-- if a press-release lasts longer than this setting (in milliseconds), the
  66.618 +       menu is hidden again -->
  66.619 +    <middle>no</middle>
  66.620 +    <!-- center submenus vertically about the parent entry -->
  66.621 +    <submenuShowDelay>100</submenuShowDelay>
  66.622 +    <!-- this one is easy, time to delay before showing a submenu after hovering
  66.623 +       over the parent entry -->
  66.624 +    <applicationIcons>yes</applicationIcons>
  66.625 +    <!-- controls if icons appear in the client-list-(combined-)menu -->
  66.626 +    <manageDesktops>yes</manageDesktops>
  66.627 +    <!-- show the manage desktops section in the client-list-(combined-)menu -->
  66.628 +  </menu>
  66.629 +  <applications>
  66.630 +    <!--
  66.631 +  # this is an example with comments through out. use these to make your
  66.632 +  # own rules, but without the comments of course.
  66.633 +
  66.634 +  <application name="first element of window's WM_CLASS property (see xprop)"
  66.635 +              class="second element of window's WM_CLASS property (see xprop)"
  66.636 +               role="the window's WM_WINDOW_ROLE property (see xprop)">
  66.637 +  # the name or the class can be set, or both. this is used to match
  66.638 +  # windows when they appear. role can optionally be set as well, to
  66.639 +  # further restrict your matches.
  66.640 +
  66.641 +  # the name, class, and role use simple wildcard matching such as those
  66.642 +  # used by a shell. you can use * to match any characters and ? to match
  66.643 +  # any single character.
  66.644 +
  66.645 +  # when multiple rules match a window, they will all be applied, in the
  66.646 +  # order that they appear in this list
  66.647 +
  66.648 +
  66.649 +    # each element can be left out or set to 'default' to specify to not 
  66.650 +    # change that attribute of the window
  66.651 +
  66.652 +    <decor>yes</decor>
  66.653 +    # enable or disable window decorations
  66.654 +
  66.655 +    <shade>no</shade>
  66.656 +    # make the window shaded when it appears, or not
  66.657 +
  66.658 +    <position>
  66.659 +      # the position is only used if both an x and y coordinate are provided
  66.660 +      # (and not set to 'default')
  66.661 +      <x>center</x>
  66.662 +      # a number like 50, or 'center' to center on screen. use a negative number
  66.663 +      # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
  66.664 +      # right edge (or bottom).
  66.665 +      <y>200</y>
  66.666 +      <monitor>1</monitor>
  66.667 +      # specifies the monitor in a xinerama setup.
  66.668 +      # 1 is the first head, or 'mouse' for wherever the mouse is
  66.669 +    </position>
  66.670 +
  66.671 +    <focus>yes</focus>
  66.672 +    # if the window should try be given focus when it appears. if this is set
  66.673 +    # to yes it doesn't guarantee the window will be given focus. some
  66.674 +    # restrictions may apply, but Openbox will try to
  66.675 +
  66.676 +    <desktop>1</desktop>
  66.677 +    # 1 is the first desktop, 'all' for all desktops
  66.678 +
  66.679 +    <layer>normal</layer>
  66.680 +    # 'above', 'normal', or 'below'
  66.681 +
  66.682 +    <iconic>no</iconic>
  66.683 +    # make the window iconified when it appears, or not
  66.684 +
  66.685 +    <skip_pager>no</skip_pager>
  66.686 +    # asks to not be shown in pagers
  66.687 +
  66.688 +    <skip_taskbar>no</skip_taskbar>
  66.689 +    # asks to not be shown in taskbars. window cycling actions will also
  66.690 +    # skip past such windows
  66.691 +
  66.692 +    <fullscreen>yes</fullscreen>
  66.693 +    # make the window in fullscreen mode when it appears
  66.694 +
  66.695 +    <maximized>true</maximized>
  66.696 +    # 'Horizontal', 'Vertical' or boolean (yes/no)
  66.697 +  </application>
  66.698 +
  66.699 +  # end of the example
  66.700 +-->
  66.701 +  </applications>
  66.702 +</openbox_config>
    67.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    67.2 +++ b/xfce/rootfs/root/.Xdefaults	Wed Feb 22 23:26:35 2012 +0100
    67.3 @@ -0,0 +1,20 @@
    67.4 +!~/.Xdefault: Control the behavior of x-clients.
    67.5 +!
    67.6 +
    67.7 +! Xcursor theme (~/.icons).
    67.8 +!
    67.9 +Xcursor.theme:		slitaz-polar
   67.10 +
   67.11 +! XTerm settings.
   67.12 +!
   67.13 +xterm*background:	black
   67.14 +xterm*foreground:	white
   67.15 +xterm*cursorColor:	#6AA2D8
   67.16 +xterm*scrollBar:	off
   67.17 +xterm*faceName:		DejaVu Sans Mono
   67.18 +xterm*faceSize:		9
   67.19 +
   67.20 +! Xload settings.
   67.21 +!
   67.22 +!xload*background:	black
   67.23 +!xload*foreground:	lightblue
    68.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    68.2 +++ b/xfce/rootfs/root/.gtkrc-2.0	Wed Feb 22 23:26:35 2012 +0100
    68.3 @@ -0,0 +1,13 @@
    68.4 +# ~/.gtkrc-2.0 - GTK+ theme, icon and font configuration.
    68.5 +#
    68.6 +# System files   : /usr/share/{themes,icons,fonts}
    68.7 +# Personal files : ~/.icons and ~/.fonts
    68.8 +#
    68.9 +
   68.10 +gtk-theme-name = "SliTaz"
   68.11 +#gtk-theme-name = "Clearlooks-DeepSky"
   68.12 +#gtk-theme-name = "Clearlooks-Olive"
   68.13 +
   68.14 +gtk-icon-theme-name = "SliTaz"
   68.15 +
   68.16 +gtk-font-name = "DejaVu Sans 9"
    69.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    69.2 +++ b/xfce/rootfs/sbin/tazlocale	Wed Feb 22 23:26:35 2012 +0100
    69.3 @@ -0,0 +1,137 @@
    69.4 +#!/bin/sh
    69.5 +#
    69.6 +# Tazlocale: SliTaz GNU/Linux locale setting using dialog boxes.
    69.7 +# Configuration file is : /etc/locale.conf
    69.8 +#
    69.9 +# 20100201 <pankso@slitaz.org> - GNU gpl.
   69.10 +#
   69.11 +
   69.12 +# Check if user is root.
   69.13 +if test $(id -u) != 0; then
   69.14 +	echo -e "\nYou must be root to run `basename $0`!"
   69.15 +	echo -e "Type su and root password to become super-user.\n"
   69.16 +	exit 1
   69.17 +fi
   69.18 +
   69.19 +get_messages()
   69.20 +{
   69.21 +	[ -f "/etc/locale.conf" ] && . /etc/locale.conf
   69.22 +	LANGUAGE=${LANG%_*}
   69.23 +	[ "$LANG" = "C" ] && LANGUAGE="en_US"
   69.24 +	case $LANGUAGE in
   69.25 +		fr*)
   69.26 +			RECONFIG_MSG="
   69.27 +Veuilliez fermer votre session et vous reloguer pour utiliser SliTaz \
   69.28 +avec la locale : $LANG" ;;
   69.29 +		*)
   69.30 +			RECONFIG_MSG="
   69.31 +Please logout of your current session and login again to use SliTaz \
   69.32 +with $LANG locale." ;;
   69.33 +	esac
   69.34 +}
   69.35 +
   69.36 +# Create symlink to translated files provide by SliTaz language pack,
   69.37 +# doc and config files.
   69.38 +link_language_files()
   69.39 +{
   69.40 +	. /etc/locale.conf
   69.41 +	LANGUAGE=${LANG%_*}
   69.42 +	[ "$LANG" = "C" ] && LANGUAGE="en"
   69.43 +	# Openbox menu in /usr/share/doc/slitaz
   69.44 +	if [ -f /etc/xdg/openbox/menu.$LANGUAGE.xml ]; then
   69.45 +		cd /etc/xdg/openbox && rm -f menu.xml
   69.46 +		ln -s menu.$LANGUAGE.xml menu.xml
   69.47 +	fi
   69.48 +	# Documentation in /usr/share/doc/slitaz
   69.49 +	if [ -f /usr/share/doc/slitaz/index.$LANGUAGE.html ]; then
   69.50 +		cd /usr/share/doc/slitaz && rm -f index.html
   69.51 +		ln -s index.$LANGUAGE.html index.html
   69.52 +	fi
   69.53 +	# SliTaz Software Manuals
   69.54 +	for soft in tazpkg tazlito tazusb tazwok
   69.55 +	do
   69.56 +		if [ -f /usr/share/doc/$soft/$soft.$LANGUAGE.html ]; then
   69.57 +			cd /usr/share/doc/$soft && rm -f $soft.html
   69.58 +			ln -s $soft.$LANGUAGE.html $soft.html
   69.59 +		fi
   69.60 +	done
   69.61 +}
   69.62 +
   69.63 +# Locale name displayed.
   69.64 +get_locale_name()
   69.65 +{
   69.66 +	for i in `ls -1 /usr/share/i18n/locales/ | grep ^[a-z][a-z]_[A-Z][A-Z]`
   69.67 +	do
   69.68 +		#name=`locale -a -v | grep -A 2 "locale: $i" | grep "title" | \
   69.69 +		#	cut -d " " -f 7`
   69.70 +		echo "$i Locale"
   69.71 +	done
   69.72 +}
   69.73 +
   69.74 +# We have no locale files in /usr/lib/locale by default. Run localedef in
   69.75 +# background to have a faster boot.
   69.76 +gen_utf8_locale()
   69.77 +{
   69.78 +	localedef -i $locale -c -f UTF-8 /usr/lib/locale/$locale &
   69.79 +}
   69.80 +
   69.81 +# Dialog menu.
   69.82 +dialog_menu()
   69.83 +{
   69.84 +	exec 3>&1
   69.85 +	locale=`$DIALOG  --clear \
   69.86 +	--title " SliTaz language configuration " \
   69.87 +	--menu "" 15 70 5 \
   69.88 +"en" "English" \
   69.89 +$(get_locale_name) \
   69.90 +2>&1 1>&3`
   69.91 +	retval=$?
   69.92 +	exec 3>&-
   69.93 +	case $retval in
   69.94 +		0)
   69.95 +			continue ;;
   69.96 +		1)
   69.97 +			echo "Cancel pressed."
   69.98 +			exit 0 ;;
   69.99 +		255)
  69.100 +			if test -n "$locale"; then
  69.101 +				echo "$locale"
  69.102 +			else
  69.103 +				echo "ESC pressed."
  69.104 +				exit 0
  69.105 +			fi ;;
  69.106 +	esac
  69.107 +	# Default: C = English
  69.108 +	[ "$locale" = "en" ] && locale="en_US"
  69.109 +	[ -s /etc/locale.conf ] && RECONFIG="yes"
  69.110 +	# System configuration
  69.111 +	echo "LANG=$locale" > /etc/locale.conf
  69.112 +	echo "LC_ALL=$locale" >> /etc/locale.conf
  69.113 +	export LANG=$locale LC_ALL=$locale
  69.114 +	gen_utf8_locale
  69.115 +	get_messages
  69.116 +	# If it's a reconfiguration give an info message.
  69.117 +	if [ -n "$RECONFIG" ]; then
  69.118 +		$DIALOG --clear \
  69.119 +			--title " Information " \
  69.120 +			--msgbox "$RECONFIG_MSG" 16 70
  69.121 +	fi
  69.122 +}
  69.123 +
  69.124 +case "$1" in
  69.125 +	*_*)
  69.126 +		# Execute functions (can be called from an other apps).
  69.127 +		$1 ;;
  69.128 +	link-files)
  69.129 +		link_language_files ;;
  69.130 +	list)
  69.131 +		echo ""
  69.132 +		locale -a
  69.133 +		echo "" ;;
  69.134 +	*)
  69.135 +		: ${DIALOG=dialog}
  69.136 +		dialog_menu
  69.137 +		link_language_files ;;
  69.138 +esac
  69.139 +
  69.140 +exit 0
    70.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    70.2 +++ b/xfce/rootfs/usr/bin/slitaz-installer	Wed Feb 22 23:26:35 2012 +0100
    70.3 @@ -0,0 +1,1051 @@
    70.4 +#!/bin/sh
    70.5 +# slitaz-installer - SliTaz GNU/Linux installer.
    70.6 +#
    70.7 +# So this is SliTaz installer using dialog boxes. All the comments are in
    70.8 +# English but displayed messages are in French. The script starts with a
    70.9 +# few main variables, then all the functions and then a sequence of functions.
   70.10 +#
   70.11 +# (C) 2007-2009 SliTaz - GNU General Public License v3.
   70.12 +#
   70.13 +# Author : Christophe Lincoln <pankso@slitaz.org>
   70.14 +#
   70.15 +VERSION=2.0
   70.16 +
   70.17 +: ${DIALOG=dialog}
   70.18 +
   70.19 +# We need to know cdrom device and kernel version string to copy files.
   70.20 +DRIVE_NAME=`cat /proc/sys/dev/cdrom/info | grep "drive name" | cut -f 3`
   70.21 +CDROM=/dev/$DRIVE_NAME
   70.22 +KERNEL=vmlinuz-`uname -r`
   70.23 +TARGET_ROOT=/mnt/target
   70.24 +LOG=/var/log/slitaz-installer.log
   70.25 +BACKLIST="SliTaz GNU/Linux installer"
   70.26 +ACTION=$1
   70.27 +
   70.28 +#######################
   70.29 +# Installer functions #
   70.30 +#######################
   70.31 +
   70.32 +# Messages language setting.
   70.33 +set_messages()
   70.34 +{
   70.35 +	case $LANG in
   70.36 +		de*)
   70.37 +			. /usr/share/slitaz/messages/de/installer.msg ;;
   70.38 +		fr*)
   70.39 +			. /usr/share/slitaz/messages/fr/installer.msg ;;
   70.40 +		hu*)
   70.41 +			. /usr/share/slitaz/messages/hu/installer.msg ;;
   70.42 +		pt*)
   70.43 +			. /usr/share/slitaz/messages/pt/installer.msg ;;
   70.44 +		*)
   70.45 +			. /usr/share/slitaz/messages/en/installer.msg ;;
   70.46 +	esac
   70.47 +}
   70.48 +
   70.49 +# Display error message.
   70.50 +error_message()
   70.51 +{
   70.52 +	$DIALOG --title " Error " \
   70.53 +		--colors --backtitle "$BACKLIST" \
   70.54 +		--clear --msgbox "\n$ERROR_MSG" 18 70
   70.55 +}
   70.56 +
   70.57 +# Exit install if user is not root.
   70.58 +check_root()
   70.59 +{
   70.60 +	if test $(id -u) != 0 ; then
   70.61 +	ERROR_MSG="\
   70.62 +[\Z6en\Zn] You must be root administrator to start SliTaz installer, please \
   70.63 +use 'su' to get a root SHell and restart installation.\n\n
   70.64 +[\Z6fr\Zn] Vous devez être root pour installer SLiTaz GNU/Linux. Vous pouvez \
   70.65 +utiliser 'su' suivi du mot de passe administrateur pour devenir root \
   70.66 +et relancer l'installation."
   70.67 +		error_message
   70.68 +		exit 0
   70.69 +	fi
   70.70 +}
   70.71 +
   70.72 +# This function is used after each screen to contine or abort install.
   70.73 +check_retval()
   70.74 +{
   70.75 +	case $retval in
   70.76 +		0)
   70.77 +			continue ;;
   70.78 +		1)
   70.79 +			echo -e "\nVoluntary exit.\n" && exit 0 ;;
   70.80 +		3)
   70.81 +			continue ;;
   70.82 +		255)
   70.83 +			echo -e "ESC pressed.\n" && exit 0 ;;
   70.84 +	esac
   70.85 +}
   70.86 +
   70.87 +# Start install with basic information.
   70.88 +start_installer()
   70.89 +{
   70.90 +	$DIALOG --title " Install or Upgrade " \
   70.91 +		--backtitle "$BACKLIST" \
   70.92 +		--extra-button --extra-label "Upgrade" \
   70.93 +		--ok-label "Install" \
   70.94 +		--clear --colors --yesno "$START_INSTALL_MSG" 18 70
   70.95 +	retval=$?
   70.96 +		case $retval in
   70.97 +		0)
   70.98 +			ACTION=install ;;
   70.99 +		1)
  70.100 +			echo -e "\nVoluntary exit.\n" && exit 0 ;;
  70.101 +		3)
  70.102 +			ACTION=upgrade ;;
  70.103 +		255)
  70.104 +			echo -e "ESC pressed.\n" && exit 0 ;;
  70.105 +	esac
  70.106 +	echo "start_installer: `date`" > $LOG
  70.107 +}
  70.108 +
  70.109 +# Mount cdrom and verify if it's really SliTaz CD.
  70.110 +mount_cdrom()
  70.111 +{
  70.112 +	ERROR_MSG=""
  70.113 +	(
  70.114 +	echo "XXX" && echo 30
  70.115 +	echo -e "\nCreating mount point (/media/cdrom)..."
  70.116 +	echo "XXX"
  70.117 +	mkdir -p /media/cdrom
  70.118 +	sleep 1
  70.119 +	# First try to mount a cdrom
  70.120 +	if mount -t iso9660 $CDROM /media/cdrom 2>>$LOG; then
  70.121 +		echo "XXX" && echo 60
  70.122 +		echo -e "\nUsing file from cdrom ($CDROM)..."
  70.123 +		echo "XXX"
  70.124 +		sleep 2
  70.125 +	else
  70.126 +		# We may be in LiveUSB mode
  70.127 +		if [ -d /home/boot ]; then
  70.128 +			echo "XXX" && echo 60
  70.129 +			echo -e "\nUsing file from USB device..."
  70.130 +			echo "XXX"
  70.131 +			rm /media/cdrom/boot 2>/dev/null
  70.132 +			ln -s /home/boot /media/cdrom/boot
  70.133 +			sleep 2
  70.134 +		fi
  70.135 +	fi
  70.136 +
  70.137 +	echo "XXX" && echo 90
  70.138 +	echo -e "\nChecking installation media..."
  70.139 +	echo "XXX"
  70.140 +	sleep 2
  70.141 +	) |
  70.142 +	$DIALOG --title " Mounting cdrom " \
  70.143 +		--backtitle "$BACKLIST" \
  70.144 +		--gauge "Preparing the installation media..." 18 70 0
  70.145 +	# Exit with error msg if no rootfs.gz found.
  70.146 +	if [ ! -f /media/cdrom/boot/rootfs.gz ]; then
  70.147 +		ERROR_MSG="$MOUNT_CDROM_ERROR_MSG"
  70.148 +		error_message
  70.149 +		echo "missing: /media/cdrom/boot/rootfs.gz" >>$LOG
  70.150 +		exit 1
  70.151 +	fi
  70.152 +}
  70.153 +
  70.154 +# Display a list of available partitions.
  70.155 +fdisk_list()
  70.156 +{
  70.157 +	LIST_PARTITIONS=`fdisk -l | grep ^/dev | sed s/'e Win95'/'e'/g`
  70.158 +	$DIALOG --title " Partition tables " \
  70.159 +		--backtitle "$BACKLIST" \
  70.160 +		--clear --msgbox "\n
  70.161 +Available partitions :\n\n
  70.162 +$LIST_PARTITIONS" 18 70
  70.163 +}
  70.164 +
  70.165 +# We need a partition to install to (inputbox).
  70.166 +ask_for_target_dev()
  70.167 +{
  70.168 +	exec 3>&1
  70.169 +	TARGET_DEV=`$DIALOG --title " Root Partition " \
  70.170 +		--backtitle "$BACKLIST" --clear \
  70.171 +		--extra-label "List" --extra-button \
  70.172 +		--colors --inputbox "$ASK_FOR_TARGET_DEV_MSG" 18 70 2>&1 1>&3`
  70.173 +	retval=$?
  70.174 +	exec 3>&-
  70.175 +	check_retval
  70.176 +	# Display list and come back.
  70.177 +	if [ "$retval" = "3" ]; then
  70.178 +		fdisk_list
  70.179 +		ask_for_target_dev
  70.180 +	fi
  70.181 +	# Empty value.
  70.182 +	if [ -z $TARGET_DEV ]; then
  70.183 +		ask_for_target_dev
  70.184 +	fi
  70.185 +	set_messages
  70.186 +	# Check if specified device exists in /proc/partitions.
  70.187 +	DEV_NAME=${TARGET_DEV#/dev/}
  70.188 +	if cat /proc/partitions | grep -q $DEV_NAME; then
  70.189 +		if [ "$DEV_NAME" = "$TARGET_DEV" ]; then
  70.190 +			TARGET_DEV="/dev/$DEV_NAME"
  70.191 +		fi
  70.192 +		echo "ask_for_target_dev: $TARGET_DEV" >>$LOG
  70.193 +	else
  70.194 +		ERROR_MSG="Partition \Z2$TARGET_DEV\Zn doesn't exist."
  70.195 +		error_message
  70.196 +		ask_for_target_dev
  70.197 +	fi
  70.198 +}
  70.199 +
  70.200 +# Mkfs if needed/wanted on /.
  70.201 +ask_for_mkfs_target_dev()
  70.202 +{
  70.203 +	$DIALOG --title " Format " \
  70.204 +		--backtitle "$BACKLIST" \
  70.205 +		--clear --colors --yesno "$ASK_FOR_MKFS_TARGET_DEV_MSG" 18 70
  70.206 +	retval=$?
  70.207 +	case $retval in
  70.208 +		0)
  70.209 +			MKFS_TARGET_DEV="ext3"
  70.210 +			echo "mkfs_target_dev: ext3" >>$LOG ;;
  70.211 +		1)
  70.212 +			CLEAN="clean"
  70.213 +			echo "mkfs_target_dev: clean" >>$LOG ;;
  70.214 +		255)
  70.215 +			echo -e "ESC pressed.\n" && exit 0 ;;
  70.216 +	esac
  70.217 +
  70.218 +}
  70.219 +
  70.220 +# We can have a separate partition for /home.
  70.221 +ask_for_home()
  70.222 +{
  70.223 +	exec 3>&1
  70.224 +	HOME_DEV=`$DIALOG --title " Home Partition " \
  70.225 +		--backtitle "$BACKLIST" --clear \
  70.226 +		--extra-label "List" --extra-button \
  70.227 +		--colors --inputbox "
  70.228 +On most GNU/Linux systems users personal files are stored in the directory \
  70.229 +/home. Home can be on a separate partition or another hard disk.
  70.230 +
  70.231 +\Z2Home partition to use (Optional):\Zn" 18 70 2>&1 1>&3`
  70.232 +	retval=$?
  70.233 +	exec 3>&-
  70.234 +	check_retval
  70.235 +	# Display list and come back.
  70.236 +	if [ "$retval" = "3" ]; then
  70.237 +		fdisk_list
  70.238 +		ask_for_home
  70.239 +	fi
  70.240 +	if [ -n "$HOME_DEV" ]; then
  70.241 +		# Check if specified device exists in /proc/partitions.
  70.242 +		DEV_NAME=${HOME_DEV#/dev/}
  70.243 +		if cat /proc/partitions | grep -q $DEV_NAME; then
  70.244 +			if [ "$DEV_NAME" = "$HOME_DEV" ]; then
  70.245 +				HOME_DEV="/dev/$DEV_NAME"
  70.246 +			fi
  70.247 +			echo "ask_for_home: $HOME_DEV" >>$LOG
  70.248 +		else
  70.249 +			ERROR_MSG="Partition \Z2$HOME_DEV\Zn doesn't exist."
  70.250 +			error_message
  70.251 +			ask_for_home
  70.252 +		fi
  70.253 +	fi
  70.254 +}
  70.255 +
  70.256 +# Mkfs if needed/wanted on /.
  70.257 +ask_for_mkfs_home()
  70.258 +{
  70.259 +	$DIALOG --title " Format " \
  70.260 +		--backtitle "$BACKLIST" \
  70.261 +		--clear --colors --yesno "
  70.262 +Here you can format the /home partition: $HOME_DEV
  70.263 +
  70.264 +SliTaz uses ext3 by default but another filesystem can be used if wanted, \
  70.265 +for this please adjust /etc/fstab after installation.
  70.266 +
  70.267 +\Z2Do you want to format (Option): $HOME_DEV\Zn" 18 70
  70.268 +	retval=$?
  70.269 +	case $retval in
  70.270 +		0)
  70.271 +			MKFS_HOME="ext3"
  70.272 +			echo "mkfs_home: ext3" >>$LOG ;;
  70.273 +		1)
  70.274 +			MKFS_HOME=""
  70.275 +			echo "mkfs_home: no" >>$LOG ;;
  70.276 +		255)
  70.277 +			echo -e "ESC pressed.\n" && exit 0 ;;
  70.278 +	esac
  70.279 +
  70.280 +}
  70.281 +
  70.282 +# Ask for hostname before installing files.
  70.283 +ask_for_hostname()
  70.284 +{
  70.285 +	exec 3>&1
  70.286 +	HOSTNAME=`$DIALOG --title " Hostname " \
  70.287 +		--backtitle "$BACKLIST" --clear \
  70.288 +		--colors --inputbox "$ASK_FOR_HOSTNAME_MSG" 18 70 "slitaz" 2>&1 1>&3`
  70.289 +	retval=$?
  70.290 +	exec 3>&-
  70.291 +	check_retval
  70.292 +	# Empty value.
  70.293 +	if [ -z $HOSTNAME ]; then
  70.294 +		HOSTNAME="slitaz"
  70.295 +	fi
  70.296 +}
  70.297 +
  70.298 +# Ask for root password and default user settings.
  70.299 +ask_for_users_settings()
  70.300 +{
  70.301 +	# Root passwd
  70.302 +	exec 3>&1
  70.303 +	ROOT_PASSWD=`$DIALOG --title " Root password " \
  70.304 +		--backtitle "$BACKLIST" --clear \
  70.305 +		--colors --nocancel --inputbox "
  70.306 +The root administrator privilege lets you manage and configure the full \
  70.307 +system. A root user can damage your system so you should always setup a \
  70.308 +strong password with special characters and/or numbers.
  70.309 +
  70.310 +\Z2Please specify the Root password for your new system:\Zn" 18 70 "root" 2>&1 1>&3`
  70.311 +	retval=$?
  70.312 +	exec 3>&-
  70.313 +	check_retval
  70.314 +	# Prevent empty value.
  70.315 +	if [ -z $ROOT_PASSWD ]; then
  70.316 +		ROOT_PASSWD="root"
  70.317 +	fi
  70.318 +	# Default user
  70.319 +	exec 3>&1
  70.320 +	USER=`$DIALOG --title " User name " \
  70.321 +		--backtitle "$BACKLIST" --clear \
  70.322 +		--colors --nocancel --inputbox "
  70.323 +The default user for the system will have their personal files stored \
  70.324 +in /home/*user* (and will be automatically added to the audio group).
  70.325 +
  70.326 +\Z2Default user name login:\Zn" 18 70 "tux" 2>&1 1>&3`
  70.327 +	retval=$?
  70.328 +	exec 3>&-
  70.329 +	check_retval
  70.330 +	# Prevent empty value.
  70.331 +	if [ -z $USER ]; then
  70.332 +		USER="tux"
  70.333 +	fi
  70.334 +	# User passwd
  70.335 +	exec 3>&1
  70.336 +	USER_PASSWD=`$DIALOG --title " User password " \
  70.337 +		--backtitle "$BACKLIST" --clear \
  70.338 +		--colors --nocancel --inputbox "
  70.339 +The password for default user $USER. It may be a security risk if too \
  70.340 +weak and should always be strong if you use a SSH connection through the web.
  70.341 +
  70.342 +\Z2Please specify $USER password:\Zn" 18 70 "tux" 2>&1 1>&3`
  70.343 +	retval=$?
  70.344 +	exec 3>&-
  70.345 +	check_retval
  70.346 +	# Prevent empty value.
  70.347 +	if [ -z $USER_PASSWD ]; then
  70.348 +		USER_PASSWD="tux"
  70.349 +	fi
  70.350 +}
  70.351 +
  70.352 +# Tiny summary and last chance to cancel or restart for user.
  70.353 +summary()
  70.354 +{
  70.355 +	$DIALOG --title " Summary " \
  70.356 +		--backtitle "$BACKLIST" \
  70.357 +		--clear --colors --yesno "
  70.358 +Installation settings summary and last chance to cancel or restart all \
  70.359 +installation steps.
  70.360 +
  70.361 +Root partition: $TARGET_DEV
  70.362 +Home partition: $HOME_DEV
  70.363 +Hostname: $HOSTNAME
  70.364 +Default user: $USER
  70.365 +
  70.366 +\Z2Go and install SliTaz or cancel?\Zn" 18 70
  70.367 +	retval=$?
  70.368 +	check_retval
  70.369 +}
  70.370 +
  70.371 +# Mount and mkfs with progress.
  70.372 +prepare_partitions()
  70.373 +{
  70.374 +	(
  70.375 +	echo "XXX" && echo 30
  70.376 +	echo -e "\nPreparing target partition..."
  70.377 +	echo "XXX"
  70.378 +	# Mount point can be already used.
  70.379 +	if mount | grep -q $TARGET_ROOT; then
  70.380 +		umount $TARGET_ROOT 2>$LOG
  70.381 +	fi
  70.382 +	sleep 2
  70.383 +
  70.384 +	if [ "$MKFS_TARGET_DEV" == "ext3" ]; then
  70.385 +		echo "XXX" && echo 50
  70.386 +		echo -e "\nExecuting mkfs.ext3 on $TARGET_DEV"
  70.387 +		echo "XXX"
  70.388 +		mkfs.ext3 $TARGET_DEV >>$LOG 2>>$LOG
  70.389 +	else
  70.390 +		echo "XXX" && echo 50
  70.391 +		echo -e "\nThe partition ($TARGET_DEV) will be cleaned..."
  70.392 +		echo "XXX"
  70.393 +		sleep 2
  70.394 +	fi
  70.395 +
  70.396 +	if [ "$MKFS_HOME" == "ext3" ]; then
  70.397 +		echo "XXX" && echo 70
  70.398 +		echo -e "\nExecuting mkfs.ext3 on $HOME_DEV"
  70.399 +		echo "XXX"
  70.400 +		mkfs.ext3 -L "Home" $HOME_DEV >>$LOG 2>>$LOG
  70.401 +	else
  70.402 +		echo "XXX" && echo 70
  70.403 +		echo -e "\nThe partition ($HOME_DEV) will be kept..."
  70.404 +		echo "XXX"
  70.405 +		sleep 2
  70.406 +	fi
  70.407 +
  70.408 +	echo "XXX" && echo 90
  70.409 +	echo -e "\nCreating mount point: $TARGET_ROOT"
  70.410 +	echo "XXX"
  70.411 +	mkdir -p $TARGET_ROOT
  70.412 +	sleep 2
  70.413 +
  70.414 +	) |
  70.415 +	$DIALOG --title " Prepare the target " \
  70.416 +		--backtitle "$BACKLIST" \
  70.417 +		--gauge "Target in preparation..." 18 70 0
  70.418 +	# Mount target.
  70.419 +	mount $TARGET_DEV $TARGET_ROOT >>$LOG 2>>$LOG
  70.420 +}
  70.421 +
  70.422 +# Get a clean target device (15%).
  70.423 +clean_target()
  70.424 +{
  70.425 +	if [ "$CLEAN" == "clean" ]; then
  70.426 +		echo "XXX" && echo 15
  70.427 +		echo -e "\nCleaning the root partition ($TARGET_DEV)"
  70.428 +		echo "XXX"
  70.429 +		# Keep /home in case of reinstall.
  70.430 +		cd $TARGET_ROOT
  70.431 +		for dir in *
  70.432 +		do
  70.433 +			case "$dir" in
  70.434 +				home)
  70.435 +					mv $TARGET_ROOT/home $TARGET_ROOT/home.bak
  70.436 +					echo "keeping /home found on: $TARGET_DEV" >>$LOG ;;
  70.437 +				lost+found)
  70.438 +					continue ;;
  70.439 +				*)
  70.440 +					echo "removing target: $dir" >>$LOG
  70.441 +					rm -rf $dir 2>>$LOG ;;
  70.442 +			esac
  70.443 +		done
  70.444 +		if [ -d $TARGET_ROOT/mklost+found ]; then
  70.445 +			mklost+found 2>>$LOG
  70.446 +		fi
  70.447 +	fi
  70.448 +	sleep 2
  70.449 +}
  70.450 +
  70.451 +# Kernel is renamed to standard vmlinuz-$VERSION.
  70.452 +install_kernel()
  70.453 +{
  70.454 +	mkdir -p $TARGET_ROOT/boot
  70.455 +	cp /media/cdrom/boot/bzImage $TARGET_ROOT/boot/$KERNEL
  70.456 +	echo "install_kernel: $KERNEL" >> $LOG
  70.457 +	sleep 2
  70.458 +}
  70.459 +
  70.460 +# Copy isolinux r/w files (not syslinux, some files are read only).
  70.461 +copy_bootloaders()
  70.462 +{
  70.463 +	if [ -d "/media/cdrom/boot/isolinux" ]; then
  70.464 +		mkdir -p $TARGET_ROOT/boot/isolinux
  70.465 +		cp -a /media/cdrom/boot/isolinux/*.cfg $TARGET_ROOT/boot/isolinux
  70.466 +		cp -a /media/cdrom/boot/isolinux/*.kbd $TARGET_ROOT/boot/isolinux
  70.467 +		cp -a /media/cdrom/boot/isolinux/*.txt $TARGET_ROOT/boot/isolinux
  70.468 +		cp -a /media/cdrom/boot/isolinux/*.bin $TARGET_ROOT/boot/isolinux
  70.469 +		cp -a /media/cdrom/boot/isolinux/*.msg $TARGET_ROOT/boot/isolinux
  70.470 +		cp -a /media/cdrom/boot/isolinux/*.lss $TARGET_ROOT/boot/isolinux
  70.471 +		cp -a /media/cdrom/boot/isolinux/*.c32 $TARGET_ROOT/boot/isolinux
  70.472 +	fi
  70.473 +}
  70.474 +
  70.475 +# Extract lzma'ed or gziped rootfs.
  70.476 +extract_rootfs()
  70.477 +{
  70.478 +	cd $TARGET_ROOT
  70.479 +	(zcat rootfs.gz 2>/dev/null || lzma d rootfs.gz -so || \
  70.480 +	 cat rootfs.gz) 2>>$LOG | cpio -id 2>>$LOG > /dev/null
  70.481 +	rm -f rootfs.gz
  70.482 +	# unpack /usr (double check...)
  70.483 +	if ls etc/tazlito | grep -q ".extract"; then
  70.484 +		for i in etc/tazlito/*.extract; do
  70.485 +			[ -f "$i" ] && . $i /media/cdrom
  70.486 +		done
  70.487 +	fi
  70.488 +}
  70.489 +
  70.490 +# Pre configure freshly installed system (60 - 80%).
  70.491 +pre_config_system()
  70.492 +{
  70.493 +	cd $TARGET_ROOT
  70.494 +	# Restore backup of existing /home if exists.
  70.495 +	# (created by prepare_target_dev)
  70.496 +	if [ -d home.bak ]; then
  70.497 +		echo "XXX" && echo 65
  70.498 +		echo -e "\nRestoring directory: /home..."
  70.499 +		echo "XXX"
  70.500 +		rm -rf home
  70.501 +		mv home.bak home
  70.502 +		sleep 1
  70.503 +	fi
  70.504 +	# Add root device to CHECK_FS in rcS.conf to check filesystem
  70.505 +	# on each boot.
  70.506 +	echo "XXX" && echo 70
  70.507 +	echo -e "\nAdding $TARGET_DEV and CHECK_FS to file /etc/rcS.conf..."
  70.508 +	echo "XXX"
  70.509 +	sed -i s#'CHECK_FS=\"\"'#"CHECK_FS=\"$TARGET_DEV\""# etc/rcS.conf
  70.510 +	sleep 2
  70.511 +	# Set hostname.
  70.512 +	echo "XXX" && echo 80
  70.513 +	echo -e "\nConfiguring host name: $HOSTNAME"
  70.514 +	echo "XXX"
  70.515 +	echo $HOSTNAME > etc/hostname
  70.516 +}
  70.517 +
  70.518 +# Set root passwd and create user after rootfs extraction.
  70.519 +users_settings()
  70.520 +{
  70.521 +	cat > $TARGET_ROOT/users.sh << _EOF_
  70.522 +#!/bin/sh
  70.523 +echo "root:$ROOT_PASSWD" | chpasswd
  70.524 +adduser -D -H $USER
  70.525 +addgroup $USER audio
  70.526 +echo "$USER:$USER_PASSWD" | chpasswd
  70.527 +if [ ! -d /home/$USER ]; then
  70.528 +	cp -a /etc/skel /home/$USER
  70.529 +	chown -R $USER.$USER /home/$USER
  70.530 +	# Path for user desktop files.
  70.531 +	for i in /home/$USER/.local/share/applications/*.desktop
  70.532 +	do
  70.533 +		sed -i s/"user_name"/"$USER"/g \$i
  70.534 +	done
  70.535 +fi
  70.536 +# Slim default user.
  70.537 +if [ -f /etc/slim.conf ]; then
  70.538 +	sed -i s/"default_user .*"/"default_user        $USER"/ \
  70.539 +		/etc/slim.conf
  70.540 +fi
  70.541 +_EOF_
  70.542 +	chmod +x $TARGET_ROOT/users.sh
  70.543 +	chroot $TARGET_ROOT ./users.sh
  70.544 +	rm $TARGET_ROOT/users.sh
  70.545 +}
  70.546 +
  70.547 +# /home can be on a separate partition. If default user exist in /home
  70.548 +# we remove default file crated by users_settings().
  70.549 +home_config()
  70.550 +{
  70.551 +	echo "home_config: $HOME_DEV" >> $LOG
  70.552 +	cd $TARGET_ROOT
  70.553 +	mv home/$USER tmp
  70.554 +	mount $HOME_DEV home
  70.555 +	if [ -d $TARGET_ROOT/home/$USER ]; then
  70.556 +		rm -rf tmp/$USER
  70.557 +	else
  70.558 +		mv tmp/$USER home
  70.559 +	fi
  70.560 +	echo "$HOME_DEV       /home        ext3    defaults          0       2" \
  70.561 +		>> etc/fstab
  70.562 +	umount home
  70.563 +}
  70.564 +
  70.565 +# Determine GRUB partition number and GRUB disk number.
  70.566 +grub_config()
  70.567 +{
  70.568 +	DISK_LETTER=${TARGET_DEV#/dev/[h-s]d}
  70.569 +	DISK_LETTER=${DISK_LETTER%[0-9]}
  70.570 +	GRUB_PARTITION=$((${TARGET_DEV#/dev/[h-s]d[a-z]}-1))
  70.571 +	for disk in a b c d e f g h
  70.572 +	do
  70.573 +		nb=$(($nb+1))
  70.574 +		if [ "$disk" = "$DISK_LETTER" ]; then
  70.575 +			GRUB_DISK=$(($nb-1))
  70.576 +			break
  70.577 +		fi
  70.578 +	done
  70.579 +	GRUB_ROOT="(hd${GRUB_DISK},${GRUB_PARTITION})"
  70.580 +	# Create the target GRUB configuration.
  70.581 +	mkdir -p $TARGET_ROOT/boot/grub
  70.582 +	cat > $TARGET_ROOT/boot/grub/menu.lst << _EOF_
  70.583 +# /boot/grub/menu.lst: GRUB boot loader configuration.
  70.584 +#
  70.585 +
  70.586 +# By default, boot the first entry.
  70.587 +default 0
  70.588 +
  70.589 +# Boot automatically after 8 secs.
  70.590 +timeout 8
  70.591 +
  70.592 +# Change the colors.
  70.593 +color yellow/brown light-green/black
  70.594 +
  70.595 +# For booting SliTaz from : $TARGET_DEV
  70.596 +#
  70.597 +title SliTaz GNU/Linux (cooking) (Kernel $KERNEL)
  70.598 +root $GRUB_ROOT
  70.599 +kernel /boot/$KERNEL root=$TARGET_DEV
  70.600 +
  70.601 +_EOF_
  70.602 +	# log
  70.603 +	echo "grub_config: $TARGET_ROOT/boot/grub/menu.lst" >>$LOG
  70.604 +	sleep 2
  70.605 +}
  70.606 +
  70.607 +# Files install with gauge, calling for functions or with cmds.
  70.608 +install_files()
  70.609 +{
  70.610 +	(
  70.611 +
  70.612 +	echo "XXX" && echo 10
  70.613 +	echo -e "\nCleaning the root partition if necessary..."
  70.614 +	echo "XXX"
  70.615 +	clean_target
  70.616 +
  70.617 +	echo "XXX" && echo 20
  70.618 +	echo -e "\nInstalling the kernel ($KERNEL)"
  70.619 +	echo "XXX"
  70.620 +	install_kernel
  70.621 +
  70.622 +	echo "XXX" && echo 30
  70.623 +	echo -e "\nCopying the bootloader syslinux/isolinux..."
  70.624 +	echo "XXX"
  70.625 +	copy_bootloaders
  70.626 +
  70.627 +	echo "XXX" && echo 40
  70.628 +	echo -e "\nCopying the compressed system (rootfs.gz)..."
  70.629 +	echo "XXX"
  70.630 +	cp /media/cdrom/boot/rootfs.gz $TARGET_ROOT
  70.631 +	sleep 2
  70.632 +
  70.633 +	echo "XXX" && echo 50
  70.634 +	echo -e "\nExtracting the root system..."
  70.635 +	echo "XXX"
  70.636 +	extract_rootfs
  70.637 +
  70.638 +	echo "XXX" && echo 60
  70.639 +	echo -e "\nPreconfiguring the system..."
  70.640 +	echo "XXX"
  70.641 +	pre_config_system
  70.642 +
  70.643 +	echo "XXX" && echo 70
  70.644 +	echo -e "\nConfiguring root and default $USER account..."
  70.645 +	echo "XXX"
  70.646 +	users_settings
  70.647 +	sleep 2
  70.648 +
  70.649 +	if [ "$HOME_DEV" != "" ]; then
  70.650 +		echo "XXX" && echo 80
  70.651 +		echo -e "\nConfiguring $HOME_DEV to be used as /home..."
  70.652 +		echo "XXX"
  70.653 +		home_config
  70.654 +		sleep 2
  70.655 +	fi
  70.656 +
  70.657 +	echo "XXX" && echo 90
  70.658 +	echo -e "\nCreating the configuration file for GRUB (menu.lst)..."
  70.659 +	echo "XXX"
  70.660 +	grub_config
  70.661 +
  70.662 +	echo "XXX" && echo 100
  70.663 +	echo -e "\nFinishing the files installation..."
  70.664 +	echo "XXX"
  70.665 +	echo "install_files: OK" >>$LOG
  70.666 +	sleep 2
  70.667 +
  70.668 +	) |
  70.669 +	$DIALOG --title " Install files " \
  70.670 +		--backtitle "$BACKLIST" \
  70.671 +		--gauge "Starting to install files..." 18 70 0
  70.672 +}
  70.673 +
  70.674 +# GRUB info with disk name used for grub-install.
  70.675 +grub_install()
  70.676 +{
  70.677 +	TARGET_DISK=`echo $TARGET_DEV | sed s/"[0-9]"/''/`
  70.678 +	set_messages
  70.679 +	$DIALOG --title " GRUB install " \
  70.680 +		--backtitle "$BACKLIST" \
  70.681 +		--clear --colors --yesno "$GRUB_INSTALL_MSG" 18 70
  70.682 +	retval=$?
  70.683 +	case $retval in
  70.684 +		0)
  70.685 +			(
  70.686 +			echo "XXX" && echo 50
  70.687 +			echo -e "\nRunning grub-install on : $TARGET_DISK"
  70.688 +			echo "XXX"
  70.689 +			grub-install --no-floppy \
  70.690 +				--root-directory=$TARGET_ROOT $TARGET_DISK 2>>$LOG
  70.691 +			echo "XXX" && echo 100
  70.692 +			echo -e "\nFinished installation..."
  70.693 +			echo "XXX"
  70.694 +			sleep 2
  70.695 +			) |
  70.696 +			$DIALOG --title " GRUB install " \
  70.697 +				--backtitle "$BACKLIST" \
  70.698 +				--gauge "Installing GRUB..." 18 70 0 ;;
  70.699 +		1)
  70.700 +			echo "grub_install: NO" >>$LOG ;;
  70.701 +		255)
  70.702 +			echo -e "ESC pressed.\n" && exit 0 ;;
  70.703 +	esac
  70.704 +}
  70.705 +
  70.706 +# Copy log file, umount target and eject cdrom.
  70.707 +umount_devices()
  70.708 +{
  70.709 +	(
  70.710 +	echo "XXX" && echo 25
  70.711 +	echo -e "\nCopying the log files ($LOG)"
  70.712 +	echo "XXX"
  70.713 +	cp -a $LOG $TARGET_ROOT/var/log
  70.714 +	sleep 2
  70.715 +	echo "XXX" && echo 50
  70.716 +	echo -e "\nUnmounting the target ($TARGET_DEV)"
  70.717 +	echo "XXX"
  70.718 +	if mount | grep -q $TARGET_ROOT; then
  70.719 +		umount $TARGET_ROOT 2>/dev/null
  70.720 +	fi
  70.721 +	echo "XXX" && echo 75
  70.722 +	echo -e "\nUnmounting and ejecting the cdrom..."
  70.723 +	echo "XXX"
  70.724 +	if mount | grep -q /media/cdrom; then
  70.725 +		umount /media/cdrom
  70.726 +		grep -q slitaz-loram-cdrom /etc/init.d/rcS || eject
  70.727 +	fi
  70.728 +	sleep 2
  70.729 +	echo "XXX" && echo 100
  70.730 +	echo -e "\n$TITLE..."
  70.731 +	echo "XXX"
  70.732 +	sleep 2
  70.733 +	) |
  70.734 +	$DIALOG --title " $TITLE " \
  70.735 +		--backtitle "$BACKLIST" \
  70.736 +		--gauge "$TITLE starting..." 18 70 0
  70.737 +}
  70.738 +
  70.739 +# End of installation.
  70.740 +end_of_install()
  70.741 +{
  70.742 +	echo "end_of_install: `date`" >>$LOG
  70.743 +	$DIALOG --title " Installation complete " \
  70.744 +		--backtitle "$BACKLIST" \
  70.745 +		--yes-label "Exit" \
  70.746 +		--no-label "Reboot" \
  70.747 +		--clear --colors --yesno "$END_OF_INSTALL_MSG" 18 70
  70.748 +	retval=$?
  70.749 +	case $retval in
  70.750 +	0)
  70.751 +		TITLE="Exiting"
  70.752 +		umount_devices ;;
  70.753 +	1)
  70.754 +		TITLE="Rebooting"
  70.755 +		umount_devices
  70.756 +		reboot || reboot -f ;;
  70.757 +	255)
  70.758 +		echo -e "ESC pressed.\n" && exit 0 ;;
  70.759 +esac
  70.760 +}
  70.761 +
  70.762 +#####################
  70.763 +# Upgrade functions #
  70.764 +#####################
  70.765 +
  70.766 +# We need a partition to upgrade SliTaz.
  70.767 +ask_for_upgrade_dev()
  70.768 +{
  70.769 +	exec 3>&1
  70.770 +	UPGRADE_DEV=`$DIALOG --title " Target to upgrade " \
  70.771 +		--backtitle "$BACKLIST" --clear \
  70.772 +		--extra-label "List" --extra-button \
  70.773 +		--colors --inputbox "\n
  70.774 +The installer will upgrade the target by saving all configuration files and \
  70.775 +the list of installed packages. Then, it will clean the partition and install the \
  70.776 +version of SliTaz contained on the cdrom, restore the configuration files and \
  70.777 +reinstall any packages which are not present on the cdrom. You will need an active \
  70.778 +internet connection before upgrading.\n\n
  70.779 +\Z2Partition containing the system upgrade:\Zn" 18 70 2>&1 1>&3`
  70.780 +	retval=$?
  70.781 +	exec 3>&-
  70.782 +	check_retval
  70.783 +	# Display list and come back.
  70.784 +	if [ "$retval" = "3" ]; then
  70.785 +		fdisk_list
  70.786 +		ask_for_upgrade_dev
  70.787 +	fi
  70.788 +	# Empty value.
  70.789 +	if [ -z $UPGRADE_DEV ]; then
  70.790 +		ask_for_upgrade_dev
  70.791 +	fi
  70.792 +	# Check if specified device exists in /proc/partitions.
  70.793 +	DEV_NAME=${UPGRADE_DEV#/dev/}
  70.794 +	if cat /proc/partitions | grep -q $DEV_NAME; then
  70.795 +		echo "ask_for_target_dev: $TARGET_DEV" >>$LOG
  70.796 +	else
  70.797 +		ERROR_MSG="The partition \Z2$UPGRADE_DEV\Zn doesn't seem to exist."
  70.798 +		error_message
  70.799 +		ask_for_upgrade_dev
  70.800 +	fi
  70.801 +	echo "partition to upgrade: $UPGRADE_DEV" >>$LOG
  70.802 +}
  70.803 +
  70.804 +# Prepare the partition to upgrade, backup, install, restore configs
  70.805 +# and reinstall pkgs.
  70.806 +upgrade_process()
  70.807 +{
  70.808 +	(
  70.809 +	echo "XXX" && echo 5
  70.810 +	echo -e "\nPreparing the target partition..."
  70.811 +	echo "XXX"
  70.812 +	# Mount point can be already used.
  70.813 +	if mount | grep -q $TARGET_ROOT; then
  70.814 +		umount $TARGET_ROOT 2>$LOG
  70.815 +	fi
  70.816 +	mkdir -p $TARGET_ROOT && sleep 2
  70.817 +	# Mount target.
  70.818 +	mount $UPGRADE_DEV $TARGET_ROOT >>$LOG 2>>$LOG
  70.819 +	cd $TARGET_ROOT
  70.820 +	TARGET_DEV=$UPGRADE_DEV
  70.821 +	set_messages
  70.822 +
  70.823 +	echo "XXX" && echo 10
  70.824 +	echo -e "\nSearch for /etc/slitaz-release"
  70.825 +	echo "XXX"
  70.826 +	if [ -f etc/slitaz-release ]; then
  70.827 +		release=`cat etc/slitaz-release`
  70.828 +		echo "XXX" && echo 15
  70.829 +		echo -e "\nSliTaz release: $release"
  70.830 +		echo "XXX"
  70.831 +	else
  70.832 +		ERROR_MSG="The partition \Z2$UPGRADE_DEV\Zn doesn't appear to contain \
  70.833 +a SliTaz system, the file: /etc/slitaz-release doesn't exist."
  70.834 +		error_message
  70.835 +		exit 0
  70.836 +	fi && sleep 2
  70.837 +
  70.838 +	echo "XXX" && echo 20
  70.839 +	echo -e "\nBackup /etc, /home and the packages list..."
  70.840 +	echo "XXX"
  70.841 +	# Backup target packages list.
  70.842 +	ls -1 var/lib/tazpkg/installed > home/packages-selection.list
  70.843 +	for dir in *
  70.844 +	do
  70.845 +		case "$dir" in
  70.846 +			boot)
  70.847 +				# Upgrade doesn't prompt for grub install, so backup and
  70.848 +				# create a new grub menu.lst.
  70.849 +				rm -rf $TARGET_ROOT/boot/vmlinuz-*
  70.850 +				mv $TARGET_ROOT/boot/grub/menu.lst \
  70.851 +					$TARGET_ROOT/boot/grub/menu.lst.bak 2>/dev/null
  70.852 +				grub_config ;;
  70.853 +			home)
  70.854 +				mv $TARGET_ROOT/home $TARGET_ROOT/home.bak
  70.855 +				echo "keeping /home found on: $UPGRADE_DEV" >>$LOG ;;
  70.856 +			etc)
  70.857 +				tar czf $TARGET_ROOT/etc.tar.gz etc
  70.858 +				mv $TARGET_ROOT/etc $TARGET_ROOT/etc.bak
  70.859 +				echo "keeping /etc found on: $UPGRADE_DEV" >>$LOG ;;
  70.860 +			var)
  70.861 +				if [ -d $TARGET_ROOT/var/www ]; then
  70.862 +					mv $TARGET_ROOT/var/www $TARGET_ROOT/www.bak
  70.863 +				fi
  70.864 +				rm -rf $TARGET_ROOT/var ;;
  70.865 +			lost+found)
  70.866 +				continue ;;
  70.867 +			*)
  70.868 +				echo "removing target: $dir" >>$LOG
  70.869 +				rm -rf $TARGET_ROOT/$dir 2>>$LOG ;;
  70.870 +		esac
  70.871 +	done
  70.872 +	if [ -d $TARGET_ROOT/mklost+found ]; then
  70.873 +		mklost+found 2>>$LOG
  70.874 +	fi
  70.875 +	sleep 2
  70.876 +
  70.877 +	echo "XXX" && echo 25
  70.878 +	echo -e "\nInstalling the kernel ($KERNEL)"
  70.879 +	echo "XXX"
  70.880 +	install_kernel
  70.881 +
  70.882 +	echo "XXX" && echo 30
  70.883 +	echo -e "\nCopying the bootloader syslinux/isolinux..."
  70.884 +	echo "XXX"
  70.885 +	copy_bootloaders
  70.886 +
  70.887 +	echo "XXX" && echo 35
  70.888 +	echo -e "\nCopying the compressed system (rootfs.gz)..."
  70.889 +	echo "XXX"
  70.890 +	cp /media/cdrom/boot/rootfs.gz $TARGET_ROOT
  70.891 +	sleep 2
  70.892 +
  70.893 +	echo "XXX" && echo 40
  70.894 +	echo -e "\nExtracting the root system..."
  70.895 +	echo "XXX"
  70.896 +	extract_rootfs
  70.897 +
  70.898 +	# Restore backups.
  70.899 +	echo "XXX" && echo 42
  70.900 +	echo -e "\nRestoring configuration files..."
  70.901 +	echo "XXX"
  70.902 +	rm -rf $TARGET_ROOT/home
  70.903 +	mv $TARGET_ROOT/home.bak $TARGET_ROOT/home
  70.904 +	rm -rf $TARGET_ROOT/etc
  70.905 +	mv $TARGET_ROOT/etc.bak $TARGET_ROOT/etc
  70.906 +	if [ -d $TARGET_ROOT/www.bak ]; then
  70.907 +		rm -rf $TARGET_ROOT/var/www
  70.908 +		mv $TARGET_ROOT/www.bak $TARGET_ROOT/var/www
  70.909 +	fi
  70.910 +	echo "backups restored: `date`" >> $LOG
  70.911 +
  70.912 +	# /var/lib/slitaz-installer
  70.913 +	mkdir $TARGET_ROOT/var/lib/slitaz-installer
  70.914 +	mv $TARGET_ROOT/etc.tar.gz $TARGET_ROOT/var/lib/slitaz-installer
  70.915 +	mv $TARGET_ROOT/home/packages-selection.list $TARGET_ROOT/var/lib/slitaz-installer
  70.916 +	cd $TARGET_ROOT/var/lib/slitaz-installer
  70.917 +
  70.918 +	# LiveCD packages list.
  70.919 +	echo "XXX" && echo 46
  70.920 +	echo -e "\nCreating package lists..."
  70.921 +	echo "XXX"
  70.922 +	ls -1 $TARGET_ROOT/var/lib/tazpkg/installed > packages-cdrom.list || exit 1
  70.923 +	echo "packages-cdrom.list: done" >> $LOG
  70.924 +	# Diff
  70.925 +	diff packages-cdrom.list packages-selection.list | \
  70.926 +		grep ^+[a-z] | sed s/^+// > packages-selection.diff
  70.927 +	echo "packages-selection.diff: done" >> $LOG
  70.928 +	# Get mirror list.
  70.929 +	tazpkg recharge >>$LOG 2>>$LOG
  70.930 +	if [ ! -f /var/lib/tazpkg/packages.list ]; then
  70.931 +		ERROR_MSG="The list of available packages on the mirror could not be \
  70.932 +downloaded. No missing packages will be reinstalled now, but \
  70.933 +you can do so later by looking at the following list: \n\n
  70.934 +
  70.935 +/var/lib/slitaz-installer/packages-selection.diff"
  70.936 +		error_message
  70.937 +	fi
  70.938 +	sleep 2
  70.939 +
  70.940 +	# Check if the pkg is on the mirror.
  70.941 +	echo "XXX" && echo 48
  70.942 +	echo -e "\nChecking the availability of packages..."
  70.943 +	echo "XXX"
  70.944 +	touch packages-to-install.list
  70.945 +	packages=0
  70.946 +	diff=`cat packages-selection.diff | sort`
  70.947 +	for pkg in $diff
  70.948 +	do
  70.949 +		if grep -q ^$pkg-[0-9] /var/lib/tazpkg/packages.list; then
  70.950 +			packages=$(($packages+1))
  70.951 +			echo "$pkg" >> packages-to-install.list
  70.952 +		fi
  70.953 +	done
  70.954 +
  70.955 +	# Calculate the percent for one package and install.
  70.956 +	echo "XXX" && echo 50
  70.957 +	echo -e "\nInstalling any packages..."
  70.958 +	echo "XXX"
  70.959 +	sleep 2
  70.960 +	if [ "$packages" == "0" ]; then
  70.961 +		echo "packages to install: 0" >> $LOG
  70.962 +	else
  70.963 +		onepkg=$((48/$packages))
  70.964 +		pct=50
  70.965 +		# Get-install all missing pkgs.
  70.966 +		for pkg in `cat packages-to-install.list`
  70.967 +		do
  70.968 +			pct=$(($pct+$onepkg))
  70.969 +			echo "XXX" && echo $pct
  70.970 +			echo -e "\nInstallation of: $pkg..."
  70.971 +			echo "XXX"
  70.972 +			# Log please.
  70.973 +			echo "get-install: $pkg" >>$LOG
  70.974 +			# Get install package and answer yes in case of dependencies.
  70.975 +			pkgname=`grep ^$pkg /var/lib/tazpkg/packages.list`
  70.976 +			tazpkg get $pkg >/dev/null 2>/dev/null
  70.977 +			yes "" | tazpkg install $pkgname.tazpkg --root=$TARGET_ROOT >/dev/null 2>/dev/null
  70.978 +			rm -f $pkgname.tazpkg
  70.979 +		done
  70.980 +	fi
  70.981 +	echo "XXX" && echo 100
  70.982 +	echo -e "\nInstallation of packages complete..."
  70.983 +	echo "XXX"
  70.984 +	sleep 2
  70.985 +	) |
  70.986 +	$DIALOG --title " Processing system upgrade " \
  70.987 +		--backtitle "$BACKLIST" \
  70.988 +		--gauge "Target in preparation..." 18 70 0
  70.989 +}
  70.990 +
  70.991 +# End of system upgrade.
  70.992 +end_of_upgrade()
  70.993 +{
  70.994 +	TARGET_DEV=$UPGRADE_DEV
  70.995 +	set_messages
  70.996 +	pkgscd=`cat $TARGET_ROOT/var/lib/slitaz-installer/packages-cdrom.list | wc -l`
  70.997 +	pkginst=`cat $TARGET_ROOT/var/lib/slitaz-installer/packages-to-install.list | wc -l`
  70.998 +	echo "end_of_upgrade: `date`" >>$LOG
  70.999 +	$DIALOG --title " Upgrade completed " \
 70.1000 +		--backtitle "$BACKLIST" \
 70.1001 +		--yes-label "Exit" \
 70.1002 +		--no-label "Reboot" \
 70.1003 +		--clear --colors --yesno "\n
 70.1004 +Upgrade finished. You can now restart (reboot) \
 70.1005 +from your SliTaz GNU/Linux system.\n\n
 70.1006 +Packages on the cdrom      : $pkgscd\n
 70.1007 +Packages installed from the mirror : $pkginst\n" 18 70
 70.1008 +	retval=$?
 70.1009 +	case $retval in
 70.1010 +	0)
 70.1011 +		TITLE="Exiting"
 70.1012 +		umount_devices ;;
 70.1013 +	1)
 70.1014 +		TITLE="Rebooting"
 70.1015 +		umount_devices
 70.1016 +		reboot || reboot -f ;;
 70.1017 +	255)
 70.1018 +		echo -e "ESC pressed.\n" && exit 0 ;;
 70.1019 +esac
 70.1020 +}
 70.1021 +
 70.1022 +######################
 70.1023 +# Installer sequence #
 70.1024 +######################
 70.1025 +
 70.1026 +set_messages
 70.1027 +check_root
 70.1028 +start_installer
 70.1029 +
 70.1030 +case $ACTION in
 70.1031 +	upgrade)
 70.1032 +		BACKLIST="$BACKLIST (Upgrade)"
 70.1033 +		mount_cdrom
 70.1034 +		ask_for_upgrade_dev
 70.1035 +		upgrade_process
 70.1036 +		end_of_upgrade ;;
 70.1037 +	install|*)
 70.1038 +		mount_cdrom
 70.1039 +		ask_for_target_dev
 70.1040 +		ask_for_mkfs_target_dev
 70.1041 +		ask_for_home
 70.1042 +		if [ -n "$HOME_DEV" ]; then
 70.1043 +			ask_for_mkfs_home
 70.1044 +		fi
 70.1045 +		ask_for_hostname
 70.1046 +		ask_for_users_settings
 70.1047 +		summary
 70.1048 +		prepare_partitions
 70.1049 +		install_files
 70.1050 +		grub_install
 70.1051 +		end_of_install ;;
 70.1052 +esac
 70.1053 +
 70.1054 +exit 0
    71.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    71.2 +++ b/xfce/rootfs/usr/bin/tazlito	Wed Feb 22 23:26:35 2012 +0100
    71.3 @@ -0,0 +1,1825 @@
    71.4 +#!/bin/sh
    71.5 +# TazLito - SliTaz Live Tool.
    71.6 +#
    71.7 +# Tazlito is a tool to help generate and configure SliTaz LiveCD
    71.8 +# ISO images. You can create a custom distro in one command from a list of
    71.9 +# packages, extract an existing ISO image to hack it, create a new initramfs
   71.10 +# and/or a new ISO. Most commands must be run by root, except the stats
   71.11 +# and the configuration file manipulation.
   71.12 +#
   71.13 +# (C) 2007-2010 SliTaz - GNU General Public License.
   71.14 +#
   71.15 +# Authors : Christophe Lincoln <pankso@slitaz.org>
   71.16 +#           Pascal Bellard <pascal.bellard@slitaz.org>
   71.17 +#
   71.18 +VERSION=2.0
   71.19 +
   71.20 +# Tazlito configuration variables to be shorter
   71.21 +# and to use words rather than numbers.
   71.22 +COMMAND=$1
   71.23 +LIST_NAME=$2
   71.24 +TMP_DIR=/tmp/tazlito-$$-$RANDOM
   71.25 +TMP_MNT=/media/tazlito-$$-$RANDOM
   71.26 +TOP_DIR=`pwd`
   71.27 +INITRAMFS=rootfs.gz
   71.28 +LOCALSTATE=/var/lib/tazpkg
   71.29 +INSTALLED=$LOCALSTATE/installed
   71.30 +CACHE_DIR=/var/cache/tazpkg
   71.31 +MIRROR=$LOCALSTATE/mirror
   71.32 +DEFAULT_MIRROR="http://mirror.slitaz.org/packages/`cat /etc/slitaz-release`/"
   71.33 +
   71.34 +# Try to include config file, continue if command is gen-config or exit.
   71.35 +# The main config used by default is in /etc/tazlito.
   71.36 +if [ -f "/etc/tazlito/tazlito.conf" ] ; then
   71.37 +	CONFIG_FILE="/etc/tazlito/tazlito.conf"
   71.38 +fi
   71.39 +# Specific distro config file can be put in a distro tree.
   71.40 +if [ -f "$TOP_DIR/tazlito.conf" ] ; then
   71.41 +	CONFIG_FILE="$TOP_DIR/tazlito.conf"
   71.42 +fi
   71.43 +if [ ! "$CONFIG_FILE" = "" ] ; then
   71.44 +	. $CONFIG_FILE
   71.45 +else
   71.46 +	if [ "$COMMAND" = "gen-config" ] ; then
   71.47 +		continue
   71.48 +	else
   71.49 +		echo "Unable to find any configuration file. Please read the docs"
   71.50 +		echo "or run '`basename $0` gen-config' to get an empty config file."
   71.51 +		exit 0
   71.52 +	fi
   71.53 +fi
   71.54 +
   71.55 +# While Tazpkg is not used the default mirror url file does not exist
   71.56 +# and user can't recharge the list of flavors.
   71.57 +if test $(id -u) = 0 ; then
   71.58 +	if [ ! -f "$MIRROR" ]; then
   71.59 +		echo "$DEFAULT_MIRROR" > $MIRROR
   71.60 +	fi
   71.61 +fi
   71.62 +
   71.63 +# Set the rootfs and rootcd path with $DISTRO
   71.64 +# configuration variable.
   71.65 +ROOTFS=$DISTRO/rootfs
   71.66 +ROOTCD=$DISTRO/rootcd
   71.67 +FLAVORS_REPOSITORY=/home/slitaz/flavors
   71.68 +
   71.69 +#####################
   71.70 +# Tazlito functions #
   71.71 +#####################
   71.72 +
   71.73 +# Print the usage.
   71.74 +usage ()
   71.75 +{
   71.76 +	echo -e "\nSliTaz Live Tool - Version: $VERSION\n
   71.77 +\033[1mUsage: \033[0m `basename $0` [command] [list|iso|flavor|compression] [dir|iso]
   71.78 +\033[1mCommands: \033[0m\n
   71.79 +  usage           Print this short usage.
   71.80 +  stats           View Tazlito and distro configuration statistics.
   71.81 +  gen-config      Generate a new configuration file for a distro.
   71.82 +  configure       Configure the main config file or a specific tazlito.conf.
   71.83 +  gen-iso         Generate a new ISO from a distro tree.
   71.84 +  gen-initiso     Generate a new initramfs and ISO from the distro tree.
   71.85 +  list-flavors    List all available package lists on the mirror.
   71.86 +  gen-flavor      Generate a new live-CD description.
   71.87 +  gen-liveflavor  Generate a live-CD description from current system.
   71.88 +  show-flavor     Show live-CD description.
   71.89 +  get-flavor      Get a flavor's list of packages.
   71.90 +  upgrade-flavor  Update package list to the latest available versions.
   71.91 +  extract-flavor  Extract a (*.flavor) flavor into $FLAVORS_REPOSITORY.
   71.92 +  pack-flavor     Pack (and update) a flavor from $FLAVORS_REPOSITORY.
   71.93 +  check-list      Check a distro-packages.list for updates.
   71.94 +  extract-distro  Extract an ISO to a directory and rebuild LiveCD tree.
   71.95 +  gen-distro      Generate a Live distro and ISO from a list of packages.
   71.96 +  clean-distro    Remove all files generated by gen-distro.
   71.97 +  check-distro    Help to check if distro is ready to release.
   71.98 +  writeiso        Use running system to generate a bootable ISO (with /home).
   71.99 +  merge           Merge multiple rootfs into one iso.
  71.100 +  repack          Recompress rootfs into iso with maximum ratio.
  71.101 +  frugal-install  Frugal install in /boot/frugal from a distro or ISO
  71.102 +  emu-iso         Emulate an ISO image with Qemu.
  71.103 +  burn-iso        Burn ISO image to a cdrom using Wodim.\n"
  71.104 +}
  71.105 +
  71.106 +# Status function.
  71.107 +status()
  71.108 +{
  71.109 +	local CHECK=$?
  71.110 +	echo -en "\\033[70G[ "
  71.111 +	if [ $CHECK = 0 ]; then
  71.112 +		echo -en "\\033[1;33mOK"
  71.113 +	else
  71.114 +		echo -en "\\033[1;31mFailed"
  71.115 +	fi
  71.116 +	echo -e "\\033[0;39m ]"
  71.117 +	return $CHECK
  71.118 +}
  71.119 +
  71.120 +yesorno()
  71.121 +{
  71.122 +	echo -n "$1"
  71.123 +	case "$DEFAULT_ANSWER" in
  71.124 +	Y|y) answer="y";;
  71.125 +	N|n) answer="n";;
  71.126 +	*) read answer;;
  71.127 +	esac
  71.128 +}
  71.129 +
  71.130 +field()
  71.131 +{
  71.132 +	grep "^$1" "$2" | sed 's/.*: \([0-9KMG\.]*\).*/\1/'
  71.133 +}
  71.134 +
  71.135 +todomsg()
  71.136 +{
  71.137 +	echo -e "\\033[70G[ \\033[1;31mTODO\\033[0;39m ]"
  71.138 +}
  71.139 +
  71.140 +# Download a file from this mirror
  71.141 +download_from()
  71.142 +{
  71.143 +	local i
  71.144 +	local mirrors
  71.145 +	mirrors="$1"
  71.146 +	shift
  71.147 +	for i in $mirrors; do
  71.148 +		case "$i" in
  71.149 +		http://*|ftp://*) wget -c $i$@ && break;;
  71.150 +		*) cp $i/$1 . && break;;
  71.151 +		esac
  71.152 +	done
  71.153 +}
  71.154 +
  71.155 +# Download a file trying all mirrors
  71.156 +download()
  71.157 +{
  71.158 +	local i
  71.159 +	for i in $(cat $MIRROR $LOCALSTATE/undigest/*/mirror 2> /dev/null); do
  71.160 +		download_from "$i" "$@" && break
  71.161 +	done
  71.162 +}
  71.163 +
  71.164 +# Execute hooks provided by some packages
  71.165 +genisohooks()
  71.166 +{
  71.167 +	local here=`pwd`
  71.168 +	for i in $(ls $ROOTFS/etc/tazlito/*.$1 2> /dev/null); do
  71.169 +		cd $ROOTFS
  71.170 +		. $i $ROOTCD
  71.171 +	done
  71.172 +	cd $here
  71.173 +}
  71.174 +
  71.175 +cleanup()
  71.176 +{
  71.177 +	if [ -d $TMP_MNT ]; then
  71.178 +		umount $TMP_MNT
  71.179 +		rmdir $TMP_MNT
  71.180 +		rm -f /boot
  71.181 +	fi
  71.182 +}
  71.183 +
  71.184 +# Echo the package name if the tazpkg is already installed
  71.185 +installed_package_name()
  71.186 +{
  71.187 +	local tazpkg
  71.188 +	local package
  71.189 +	local VERSION
  71.190 +	local EXTRAVERSION
  71.191 +	tazpkg=$1
  71.192 +	# Try to find package name and version to be able
  71.193 +	# to repack it from installation
  71.194 +	# A dash (-) can exist in name *and* in version
  71.195 +	package=${tazpkg%-*}
  71.196 +	i=$package
  71.197 +	while true; do
  71.198 +		VERSION=""
  71.199 +		eval $(grep -s ^VERSION= $INSTALLED/$i/receipt)
  71.200 +		EXTRAVERSION=""
  71.201 +		eval $(grep -s ^EXTRAVERSION= $INSTALLED/$i/receipt)
  71.202 +		if [ "$i-$VERSION$EXTRAVERSION" = "$tazpkg" ]; then
  71.203 +			echo $i
  71.204 +			break
  71.205 +		fi
  71.206 +		case "$i" in
  71.207 +		*-*);;
  71.208 +		*) break;;
  71.209 +		esac
  71.210 +		i=${i%-*}
  71.211 +	done
  71.212 +}
  71.213 +
  71.214 +# Check if user is root.
  71.215 +check_root()
  71.216 +{
  71.217 +	if test $(id -u) != 0 ; then
  71.218 +	   echo -e "\nYou must be root to run `basename $0` with this option."
  71.219 +	   echo -e "Please type 'su' and root password to become super-user.\n"
  71.220 +	   exit 0
  71.221 +	fi
  71.222 +}
  71.223 +
  71.224 +# Check for the rootfs tree.
  71.225 +check_rootfs()
  71.226 +{
  71.227 +	if [ ! -d "$ROOTFS/etc" ] ; then
  71.228 +		echo -e "\nUnable to find a distro rootfs...\n"
  71.229 +		exit 0
  71.230 +	fi
  71.231 +}
  71.232 +
  71.233 +# Check for the boot dir into the root CD tree.
  71.234 +verify_rootcd()
  71.235 +{
  71.236 +	if [ ! -d "$ROOTCD/boot" ] ; then
  71.237 +		echo -e "\nUnable to find the rootcd boot directory...\n"
  71.238 +		exit 0
  71.239 +	fi
  71.240 +}
  71.241 +
  71.242 +create_iso()
  71.243 +{
  71.244 +	genisoimage -R -o $1 -b boot/isolinux/isolinux.bin \
  71.245 + 		-c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
  71.246 +		-V "$VOLUM_NAME" -p "$PREPARED" -input-charset iso8859-1 \
  71.247 +		-boot-info-table $2
  71.248 +	if [ -x /usr/bin/isohybrid ]; then
  71.249 +		echo -n "Creating hybrid ISO..."
  71.250 +		/usr/bin/isohybrid $1 2> /dev/null
  71.251 +		status
  71.252 +	fi
  71.253 +}
  71.254 +
  71.255 +# Generate a new ISO image using isolinux.
  71.256 +gen_livecd_isolinux()
  71.257 +{
  71.258 +	# Some packages may want to alter iso
  71.259 +	genisohooks iso
  71.260 +	if [ ! -f "$ROOTCD/boot/isolinux/isolinux.bin" ]; then
  71.261 +		echo -e "\nUnable to find isolinux binary.\n"
  71.262 +		cleanup
  71.263 +		exit 0
  71.264 +	fi
  71.265 +	# Set date for boot msg.
  71.266 +	if grep -q 'XXXXXXXX' $ROOTCD/boot/isolinux/isolinux.msg; then
  71.267 +		DATE=`date +%Y%m%d`
  71.268 +		echo -n "Setting build date to: $DATE..."
  71.269 +		sed -i s/'XXXXXXXX'/"$DATE"/ $ROOTCD/boot/isolinux/isolinux.msg
  71.270 +		status
  71.271 +	fi
  71.272 +	cd $ROOTCD
  71.273 +	echo -n "Computing md5..."
  71.274 +	find * -type f ! -name md5sum -exec md5sum {} \; > md5sum
  71.275 +	status
  71.276 +	cd $DISTRO
  71.277 +	echo ""
  71.278 +	echo -e "\033[1mGenerating ISO image\033[0m"
  71.279 +	echo "================================================================================"
  71.280 +	create_iso $ISO_NAME.iso $ROOTCD
  71.281 +	echo -n "Creating the ISO md5sum..."
  71.282 +	md5sum $ISO_NAME.iso > $ISO_NAME.md5
  71.283 +	status
  71.284 +	echo "================================================================================"
  71.285 +	# Some packages may want to alter final iso
  71.286 +	genisohooks final
  71.287 +}
  71.288 +
  71.289 +lzma_history_bits()
  71.290 +{
  71.291 +	#
  71.292 +	# This genertae ISO who boot with Qemu but give
  71.293 +	# rootfs errors in frugal or liveUSB mode.
  71.294 +	#
  71.295 +	#local n
  71.296 +	#local sz
  71.297 +	#n=20	# 1Mb
  71.298 +	#sz=$(du -sk $1 | cut -f1)
  71.299 +	#while [ $sz -gt 1024 -a $n -lt 28 ]; do
  71.300 +		#n=$(( $n + 1 ))
  71.301 +		#sz=$(( $sz / 2 ))
  71.302 +	#done
  71.303 +	#echo $n
  71.304 +	echo 24
  71.305 +}
  71.306 +
  71.307 +lzma_switches()
  71.308 +{
  71.309 +	echo "-d$(lzma_history_bits $1) -mt$(grep ^processor < /proc/cpuinfo | wc -l)"
  71.310 +}
  71.311 +
  71.312 +# Pack rootfs
  71.313 +pack_rootfs()
  71.314 +{
  71.315 +	( cd $1 ; find . -print | cpio -o -H newc ) | \
  71.316 +	if [ "$COMPRESSION" = "none" ]; then
  71.317 +		echo "Generating uncompressed initramfs... "
  71.318 +		cat > $2
  71.319 +	elif [ -x /usr/bin/lzma -a "$COMPRESSION" != "gzip" ]; then
  71.320 +		echo -n "Generating lzma'ed initramfs... "
  71.321 +		lzma e -si -so $(lzma_switches $1) > $2
  71.322 +	else
  71.323 +		echo "Generating gziped initramfs... "
  71.324 +		gzip -9 > $2
  71.325 +	fi
  71.326 +	echo 1 > /tmp/rootfs
  71.327 +}
  71.328 +
  71.329 +# Compression functions for writeiso.
  71.330 +write_initramfs()
  71.331 +{
  71.332 +	if [ "$COMPRESSION" = "lzma" ]; then
  71.333 +		echo -n "Creating rootfs.gz with lzma compression... "
  71.334 +		cat /tmp/list | cpio -o -H newc | lzma e -si -so > /rootfs.gz
  71.335 +	elif [ "$COMPRESSION" = "gzip" ]; then
  71.336 +		echo "Creating rootfs.gz with gzip compression... "
  71.337 +		cat /tmp/list | cpio -o -H newc | gzip -9 > /rootfs.gz
  71.338 +	else
  71.339 +		echo "Creating rootfs.gz without compression... "
  71.340 +		cat /tmp/list | cpio -o -H newc > /rootfs.gz
  71.341 +	fi
  71.342 +	echo 1 > /tmp/rootfs
  71.343 +}
  71.344 +
  71.345 +# Generate a new initramfs from the root filesystem.
  71.346 +gen_initramfs()
  71.347 +{
  71.348 +	# Just in case CTRL+c
  71.349 +	rm -f $DISTRO/gen
  71.350 +	# Some packages may want to alter rootfs
  71.351 +	genisohooks rootfs
  71.352 +	cd $1
  71.353 +	echo ""
  71.354 +
  71.355 +        # Link duplicate files
  71.356 +        find . -type f -size +0c -exec stat -c '%s-%a-%u-%g %i %h %n' {} \; | \
  71.357 +           sort | ( save=0; old_attr=""; old_inode=""; old_link=""; old_file=""
  71.358 +           while read attr inode link file; do
  71.359 +               if [ "$attr" = "$old_attr" -a "$inode" != "$old_inode" ]; then
  71.360 +                   if cmp "$file" "$old_file" >/dev/null; then
  71.361 +                       rm -f "$file"
  71.362 +                       ln "$old_file" "$file"
  71.363 +                       inode="$old_inode"
  71.364 +                       [ "$link" = "1" ] && save="$(expr $save + ${attr%%-*})"
  71.365 +                   fi
  71.366 +               fi
  71.367 +               old_attr="$attr" ; old_inode="$inode" ; old_file="$file"
  71.368 +           done
  71.369 +           echo "$save bytes saved in duplicate files."
  71.370 +        )
  71.371 +
  71.372 +	# Use lzma if installed. Display rootfs size in realtime.
  71.373 +	rm -f /tmp/rootfs
  71.374 +	pack_rootfs . $DISTRO/$(basename $1).gz &
  71.375 +	sleep 2
  71.376 +	echo -en "\nFilesystem size:"
  71.377 +	while [ ! -f /tmp/rootfs ]
  71.378 +	do
  71.379 +		sleep 1
  71.380 +		echo -en "\\033[18G`du -sh $DISTRO/rootfs.gz | awk '{print $1}'`    "
  71.381 +	done
  71.382 +	echo -e "\n"
  71.383 +	cd $DISTRO
  71.384 +	mv $(basename $1).gz $ROOTCD/boot
  71.385 +}
  71.386 +
  71.387 +distro_sizes()
  71.388 +{
  71.389 +	echo "Build date      : `date +%Y%m%d\ \at\ \%H:%M:%S`"
  71.390 +	echo "Packages        : `ls -1 $ROOTFS*$INSTALLED/*/receipt | wc -l`"
  71.391 +	echo "Rootfs size     : `du -csh $ROOTFS*/ | awk '{ s=$1 } END { print s }'`"
  71.392 +	echo "Initramfs size  : `du -csh $ROOTCD/boot/rootfs*.gz | awk '{ s=$1 } END { print s }'`"
  71.393 +	echo "ISO image size  : `du -sh $ISO_NAME.iso | awk '{ print $1 }'`"
  71.394 +	echo "================================================================================"
  71.395 +	echo "Image is ready: $ISO_NAME.iso"
  71.396 +	echo ""
  71.397 +}
  71.398 +
  71.399 +# Print ISO and rootfs size.
  71.400 +distro_stats()
  71.401 +{
  71.402 +	echo ""
  71.403 +	echo -e "\033[1mDistro statistics\033[0m ($DISTRO)"
  71.404 +	echo "================================================================================"
  71.405 +	distro_sizes
  71.406 +}
  71.407 +
  71.408 +# Create an empty configuration file.
  71.409 +empty_config_file()
  71.410 +{
  71.411 +	cat >> tazlito.conf << "EOF"
  71.412 +# tazlito.conf: Tazlito (SliTaz Live Tool)
  71.413 +# configuration file.
  71.414 +#
  71.415 +
  71.416 +# Name of the ISO image to generate.
  71.417 +ISO_NAME=""
  71.418 +
  71.419 +# ISO image volume name.
  71.420 +VOLUM_NAME="SliTaz"
  71.421 +
  71.422 +# Name of the preparer.
  71.423 +PREPARED="$USER"
  71.424 +
  71.425 +# Path to the packages repository and the packages.list.
  71.426 +PACKAGES_REPOSITORY=""
  71.427 +
  71.428 +# Path to the distro tree to gen-distro from a
  71.429 +# list of packages.
  71.430 +DISTRO=""
  71.431 +
  71.432 +# Path to the directory containing additional files
  71.433 +# to copy into the rootfs and rootcd of the LiveCD.
  71.434 +ADDFILES="$DISTRO/addfiles"
  71.435 +
  71.436 +# Default answer for binary question (Y or N)
  71.437 +DEFAULT_ANSWER="ASK"
  71.438 +
  71.439 +# Compression utility (lzma, gzip or none)
  71.440 +COMPRESSION="lzma"
  71.441 +EOF
  71.442 +}
  71.443 +
  71.444 +# extract rootfs.gz somewhere
  71.445 +extract_rootfs()
  71.446 +{
  71.447 +	(zcat $1 || unlzma -c $1 || cat $1) 2>/dev/null | \
  71.448 +		(cd $2; cpio -idm > /dev/null)
  71.449 +}
  71.450 +
  71.451 +# Remove duplicate files
  71.452 +mergefs()
  71.453 +{
  71.454 +	echo -n "Merge $(basename $1) ($(du -hs $1 | awk '{ print $1}')) into "
  71.455 +	echo -n       "$(basename $2) ($(du -hs $2 | awk '{ print $1}'))"
  71.456 +	# merge symlinks files and devices
  71.457 +	( cd $1; find ) | while read file; do
  71.458 +		if [ -L $1/$file ]; then
  71.459 +			[ -L $2/$file ] &&
  71.460 +			[ "$(readlink $1/$file)" == "$(readlink $2/$file)" ] &&
  71.461 +			rm -f $2/$file
  71.462 +		elif [ -f $1/$file ]; then
  71.463 +			[ -f $2/$file ] &&
  71.464 +			cmp $1/$file $2/$file > /dev/null 2>&1 && rm -f $2/$file
  71.465 +			[ -f $2/$file ] && 
  71.466 +			[ "$(basename $file)" == "volatile.cpio.gz" ] &&
  71.467 +			[ "$(dirname $(dirname $file))" == \
  71.468 +			  "./var/lib/tazpkg/installed" ] && rm -f $2/$file
  71.469 +		elif [ -b $1/$file ]; then
  71.470 +			[ -b $2/$file ] && rm -f $2/$file
  71.471 +		elif [ -c $1/$file ]; then
  71.472 +			[ -c $2/$file ] && rm -f $2/$file
  71.473 +		fi
  71.474 +	done
  71.475 +	
  71.476 +	# cleanup directories
  71.477 +	( cd $1; find ) | while read file; do
  71.478 +		if [ -d $1/$file ]; then
  71.479 +			[ -d $2/$file ] && rmdir $2/$file 2> /dev/null
  71.480 +		fi
  71.481 +	done
  71.482 +	true
  71.483 +	status
  71.484 +}
  71.485 +
  71.486 +cleanup_merge()
  71.487 +{
  71.488 +	rm -rf $TMP_DIR
  71.489 +	exit 1
  71.490 +}
  71.491 +
  71.492 +human2cent()
  71.493 +{
  71.494 +case "$1" in
  71.495 +*k) echo $1 | sed 's/\(.*\).\(.\)k/\1\2/';;
  71.496 +*M) echo $(( $(echo $1 | sed 's/\(.*\).\(.\)M/\1\2/') * 1024));;
  71.497 +*G) echo $(( $(echo $1 | sed 's/\(.*\).\(.\)G/\1\2/') * 1024 * 1024));;
  71.498 +esac
  71.499 +}
  71.500 +
  71.501 +cent2human()
  71.502 +{
  71.503 +if [ $1 -lt 10000 ]; then
  71.504 +  echo "$(($1 / 10)).$(($1 % 10))k"
  71.505 +elif [ $1 -lt 10000000 ]; then
  71.506 +  echo "$(($1 / 10240)).$(( ($1/1024) % 10))M"
  71.507 +else
  71.508 +  echo "$(($1 / 10485760)).$(( ($1/1048576) % 10))G"
  71.509 +fi
  71.510 +}
  71.511 +
  71.512 +get_size()
  71.513 +{
  71.514 +cat /var/lib/tazpkg/packages.list $TMP_DIR/packages.list 2>/dev/null | awk "{ \
  71.515 +if (/^$(echo $1 | sed 's/[$+.\]/\\&/g')$/) get=1; \
  71.516 +if (/installed/ && get == 1) { print ; get++ } \
  71.517 +}
  71.518 +END { if (get < 2) print \" 0.0k  (0.0k installed)\" }" | \
  71.519 +sed 's/ *\(.*\) .\(.*\) installed./\1 \2/' | while read packed unpacked; do
  71.520 +  echo "$(human2cent $packed) $(human2cent $unpacked)"
  71.521 +done
  71.522 +}
  71.523 +
  71.524 +# Display package list with version, set packed_size and unpacked_size
  71.525 +get_pkglist()
  71.526 +{
  71.527 +packed_size=0; unpacked_size=0
  71.528 +grep -v ^#  $FLAVORS_REPOSITORY/$1/packages.list > $TMP_DIR/flavor.pkg
  71.529 +while read pkg; do
  71.530 +	set -- $(get_size $pkg)
  71.531 +	packed_size=$(( $packed_size + $1 ))
  71.532 +	unpacked_size=$(( $unpacked_size + $2 ))
  71.533 +	for i in $(grep -hs ^$pkg /var/lib/tazpkg/packages.list \
  71.534 +				  $TMP_DIR/packages.list); do
  71.535 +		echo $i
  71.536 +		break
  71.537 +	done
  71.538 +done < $TMP_DIR/flavor.pkg
  71.539 +rm -f $TMP_DIR/flavor.pkg
  71.540 +}
  71.541 +
  71.542 +# Update isolinux config files for multiple rootfs
  71.543 +update_bootconfig()	
  71.544 +{
  71.545 +	echo -n "Updating boot config files..."
  71.546 +	grep -l 'include common' $1/*.cfg | \
  71.547 +	while read file ; do
  71.548 +			awk -v n=$(echo $2 | awk '{ print NF/2 }') '{
  71.549 +if (/label/) label=$0;
  71.550 +else if (/kernel/) kernel=$0;
  71.551 +else if (/append/) {
  71.552 +	i=index($0,"rootfs.gz");
  71.553 +	append=substr($0,i+9);
  71.554 +}
  71.555 +else if (/include/) {
  71.556 +	for (i = 1; i <= n; i++) {
  71.557 +		print label i
  71.558 +		print kernel;
  71.559 +		initrd="initrd=/boot/rootfs" n ".gz"
  71.560 +		for (j = n - 1; j >= i; j--) {
  71.561 +			initrd=initrd ",/boot/rootfs" j ".gz";
  71.562 +		}
  71.563 +		printf "\tappend %s%s\n",initrd,append;
  71.564 +		print "";
  71.565 +	}
  71.566 +	print;
  71.567 +}
  71.568 +else print;
  71.569 +}' < $file > $file.$$
  71.570 +			mv -f $file.$$ $file
  71.571 +	done
  71.572 +	cat >> $1/common.cfg <<EOT
  71.573 +
  71.574 +label slitaz
  71.575 +	kernel /boot/isolinux/ifmem.c32
  71.576 +	append$(echo $2 | awk '{
  71.577 +  for (i=1; i<=NF; i++)
  71.578 +     if (i % 2 == 0) printf " slitaz%d",i/2
  71.579 +     else printf " %s",$i
  71.580 +}') noram
  71.581 +
  71.582 +label noram
  71.583 +	config noram.cfg
  71.584 +
  71.585 +EOT
  71.586 +	cat > $1/noram.cfg <<EOT
  71.587 +display isolinux.msg
  71.588 +say Not enough RAM to boot slitaz.
  71.589 +default reboot
  71.590 +label reboot
  71.591 +	com32 reboot.c32
  71.592 +
  71.593 +implicit 0
  71.594 +prompt 1
  71.595 +timeout 80
  71.596 +F1 help.txt
  71.597 +F2 options.txt
  71.598 +F3 isolinux.msg
  71.599 +F4 display.txt
  71.600 +F5 enhelp.txt
  71.601 +F6 enopts.txt
  71.602 +EOT
  71.603 +	status
  71.604 +}
  71.605 +
  71.606 +####################
  71.607 +# Tazlito commands #
  71.608 +####################
  71.609 +
  71.610 +case "$COMMAND" in
  71.611 +	stats)
  71.612 +		# Tazlito general statistics from the config file.
  71.613 +		#
  71.614 +		echo ""
  71.615 +		echo -e "\033[1mTazlito statistics\033[0m
  71.616 +===============================================================================
  71.617 +Config file         : $CONFIG_FILE
  71.618 +ISO name            : $ISO_NAME.iso
  71.619 +Volume name         : $VOLUM_NAME
  71.620 +Prepared            : $PREPARED
  71.621 +Packages repository : $PACKAGES_REPOSITORY
  71.622 +Distro directory    : $DISTRO"
  71.623 +		if [ ! "$ADDFILES" = "" ] ; then
  71.624 +			echo -e "Additional files    : $ADDFILES"
  71.625 +		fi
  71.626 +		echo "================================================================================"
  71.627 +		echo ""
  71.628 +	    ;;
  71.629 +	list-addfiles)
  71.630 +		# Simple list of additonal files in the rootfs
  71.631 +		echo ""
  71.632 +		cd $ADDFILES
  71.633 +		find rootfs -type f
  71.634 +		echo "" ;;
  71.635 +	gen-config)
  71.636 +		# Generate a new config file in the current dir or the specified
  71.637 +		# directory by $2.
  71.638 +		#
  71.639 +		if [ -n "$2" ] ; then
  71.640 +			mkdir -p $2 && cd $2
  71.641 +		fi
  71.642 +		echo -n "Generating empty tazlito.conf..."
  71.643 +		empty_config_file
  71.644 +		status
  71.645 +		echo ""
  71.646 +		if [ -f "tazlito.conf" ] ; then
  71.647 +			echo "Configuration file is ready to edit."
  71.648 +			echo "File location : `pwd`/tazlito.conf"
  71.649 +			echo ""
  71.650 +		fi
  71.651 +		;;
  71.652 +	configure)
  71.653 +		# Configure a tazlito.conf config file. Start by getting
  71.654 +		# a empty config file and sed it.
  71.655 +		#
  71.656 +		if [ -f "tazlito.conf" ] ; then
  71.657 +			rm tazlito.conf
  71.658 +		else
  71.659 +			if test $(id -u) = 0 ; then
  71.660 +				cd /etc
  71.661 +			else
  71.662 +				echo "You must be root to configure the main config file or in"
  71.663 +				echo "the same directory of the file you want to configure."
  71.664 +				exit 0
  71.665 +			fi
  71.666 +		fi
  71.667 +		empty_config_file
  71.668 +		echo""
  71.669 +		echo -e "\033[1mConfiguring :\033[0m `pwd`/tazlito.conf"
  71.670 +		echo "================================================================================"
  71.671 +		# ISO name.
  71.672 +		echo -n "ISO name            : " ; read answer
  71.673 +		sed -i s#'ISO_NAME=\"\"'#"ISO_NAME=\"$answer\""# tazlito.conf
  71.674 +		# Volume name.
  71.675 +		echo -n "Volume name         : " ; read answer
  71.676 +		sed -i s/'VOLUM_NAME=\"SliTaz\"'/"VOLUM_NAME=\"$answer\""/ tazlito.conf
  71.677 +		# Packages repository.
  71.678 +		echo -n "Packages repository : " ; read answer
  71.679 +		sed -i s#'PACKAGES_REPOSITORY=\"\"'#"PACKAGES_REPOSITORY=\"$answer\""# tazlito.conf
  71.680 +		# Distro path.
  71.681 +		echo -n "Distro path         : " ; read answer
  71.682 +		sed -i s#'DISTRO=\"\"'#"DISTRO=\"$answer\""# tazlito.conf
  71.683 +		echo "================================================================================"
  71.684 +		echo "Config file is ready to use."
  71.685 +		echo "You can now extract an ISO or generate a distro."
  71.686 +		echo ""
  71.687 +		;;
  71.688 +	gen-iso)
  71.689 +		# Simply generate a new iso.
  71.690 +		#
  71.691 +		check_root
  71.692 +		verify_rootcd
  71.693 +		gen_livecd_isolinux
  71.694 +		distro_stats
  71.695 +		;;
  71.696 +	gen-initiso)
  71.697 +		# Simply generate a new initramfs with a new iso.
  71.698 +		#
  71.699 +		check_root
  71.700 +		verify_rootcd
  71.701 +		gen_initramfs $ROOTFS
  71.702 +		gen_livecd_isolinux
  71.703 +		distro_stats
  71.704 +		;;
  71.705 +	extract-distro)
  71.706 +		# Extract an ISO image to a directory and rebuild the LiveCD tree.
  71.707 +		#
  71.708 +		check_root
  71.709 +		ISO_IMAGE=$2
  71.710 +		if [ -z "$ISO_IMAGE" ] ; then
  71.711 +			echo -e "\nPlease specify the path to the ISO image."
  71.712 +			echo -e "Example : `basename $0` image.iso /path/target\n"
  71.713 +			exit 0
  71.714 +		fi
  71.715 +		# Set the distro path by checking for $3 on cmdline.
  71.716 +		if [ -n "$3" ] ; then
  71.717 +			TARGET=$3
  71.718 +		else
  71.719 +			TARGET=$DISTRO
  71.720 +		fi
  71.721 +		# Exit if existing distro is found.
  71.722 +		if [ -d "$TARGET/rootfs" ] ; then
  71.723 +			echo -e "\nA rootfs exists in : $TARGET"
  71.724 +			echo -e "Please clean the distro tree or change directory path.\n"
  71.725 +			exit 0
  71.726 +		fi
  71.727 +		echo ""
  71.728 +		echo -e "\033[1mTazlito extracting :\033[0m `basename $ISO_IMAGE`"
  71.729 +		echo "================================================================================"
  71.730 +		# Start to mount the ISO.
  71.731 +		echo ""
  71.732 +		echo "Mounting ISO image..."
  71.733 +		mkdir -p $TMP_DIR
  71.734 +		# Get ISO file size.
  71.735 +		isosize=`du -sh $ISO_IMAGE | cut -f1`
  71.736 +		mount -o loop $ISO_IMAGE $TMP_DIR
  71.737 +		sleep 2
  71.738 +		# Prepare target dir, copy the kernel and the rootfs.
  71.739 +		mkdir -p $TARGET/rootfs
  71.740 +		mkdir -p $TARGET/rootcd/boot
  71.741 +		echo -n "Copying the Linux kernel..."
  71.742 +		if cp $TMP_DIR/boot/vmlinuz* $TARGET/rootcd/boot 2> /dev/null; then
  71.743 +			ln $TARGET/rootcd/boot/vmlinuz* $TARGET/rootcd/boot/bzImage
  71.744 +		else
  71.745 +			cp $TMP_DIR/boot/bzImage $TARGET/rootcd/boot
  71.746 +		fi
  71.747 +		status
  71.748 +		echo -n "Copying isolinux files..."
  71.749 +		cp -a $TMP_DIR/boot/isolinux $TARGET/rootcd/boot
  71.750 +		for i in $(ls $TMP_DIR); do
  71.751 +			[ "$i" = "boot" ] && continue
  71.752 +			cp -a $TMP_DIR/$i $TARGET/rootcd
  71.753 +		done
  71.754 +		status
  71.755 +		if [ -d $TMP_DIR/boot/syslinux ]; then
  71.756 +			echo -n "Copying syslinux files..."
  71.757 +			cp -a $TMP_DIR/boot/syslinux $TARGET/rootcd/boot
  71.758 +			status
  71.759 +		fi
  71.760 +		if [ -d $TMP_DIR/boot/extlinux ]; then
  71.761 +			echo -n "Copying extlinux files..."
  71.762 +			cp -a $TMP_DIR/boot/extlinux $TARGET/rootcd/boot
  71.763 +			status
  71.764 +		fi
  71.765 +		if [ -d $TMP_DIR/boot/grub ]; then
  71.766 +			echo -n "Copying GRUB files..."
  71.767 +			cp -a $TMP_DIR/boot/grub $TARGET/rootcd/boot
  71.768 +			status
  71.769 +		fi
  71.770 +		
  71.771 +		echo -n "Copying the rootfs..."
  71.772 +		cp $TMP_DIR/boot/rootfs.?z $TARGET/rootcd/boot
  71.773 +		status
  71.774 +		# Extract initramfs.
  71.775 +		cd $TARGET/rootfs
  71.776 +		echo -n "Extracting the rootfs... "
  71.777 +		extract_rootfs ../rootcd/boot/rootfs.gz $TARGET/rootfs
  71.778 +		# unpack /usr
  71.779 +		for i in etc/tazlito/*.extract; do
  71.780 +			[ -f "$i" ] && . $i ../rootcd
  71.781 +		done
  71.782 +		# Umount and remove temp directory and cd to $TARGET to get stats.
  71.783 +		umount $TMP_DIR && rm -rf $TMP_DIR
  71.784 +		cd ..
  71.785 +		echo ""
  71.786 +		echo "================================================================================"
  71.787 +		echo "Extracted       : `basename $ISO_IMAGE` ($isosize)"
  71.788 +		echo "Distro tree     : `pwd`"
  71.789 +		echo "Rootfs size     : `du -sh rootfs`"
  71.790 +		echo "Rootcd size     : `du -sh rootcd`"
  71.791 +		echo "================================================================================"
  71.792 +		echo ""
  71.793 +		;;
  71.794 +	list-flavors)
  71.795 +		# Show available flavors.
  71.796 +		if [ ! -s /etc/tazlito/flavors.list -o "$2" == "--recharge" ]; then
  71.797 +			download flavors.list -O - > /etc/tazlito/flavors.list
  71.798 +		fi
  71.799 +		echo ""
  71.800 +		echo -e "\033[1mList of flavors\033[0m"
  71.801 +		echo "================================================================================"
  71.802 +		cat /etc/tazlito/flavors.list
  71.803 +		echo ""
  71.804 +		;;
  71.805 +	show-flavor)
  71.806 +		# Show flavor description.
  71.807 +		FLAVOR=${2%.flavor}
  71.808 +		if [ ! -f "$FLAVOR.flavor" ]; then
  71.809 +			echo "File $FLAVOR.flavor not found."
  71.810 +			exit 1
  71.811 +		fi
  71.812 +		mkdir $TMP_DIR
  71.813 +		zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i 2> /dev/null)
  71.814 +		if [ "$3" = "--brief" ]; then
  71.815 +			if [ "$4" != "--noheader" ]; then
  71.816 +				echo "Name              ISO   Rootfs  Description"
  71.817 +				echo "================================================================================"
  71.818 +			fi
  71.819 +			printf "%-16.16s %6.6s %6.6s %s\n" "$FLAVOR" \
  71.820 +				"$(field ISO $TMP_DIR/$FLAVOR.desc)" \
  71.821 +				"$(field 'Rootfs size' $TMP_DIR/$FLAVOR.desc)" \
  71.822 +				"$(grep ^Description $TMP_DIR/$FLAVOR.desc | cut -d: -f2)"
  71.823 +		else
  71.824 +			echo "================================================================================"
  71.825 +			cat $TMP_DIR/$FLAVOR.desc
  71.826 +		fi
  71.827 +		rm -Rf $TMP_DIR
  71.828 +		;;
  71.829 +	gen-liveflavor)
  71.830 +		# Generate a new flavor form the live system.
  71.831 +		FLAVOR=${2%.flavor}
  71.832 +		DESC=""
  71.833 +		case "$FLAVOR" in
  71.834 +		'')	echo -n "Flavor name : "
  71.835 +			read FLAVOR
  71.836 +			[ -z "$FLAVOR" ] && exit 1;;
  71.837 +		-?|-h*|--help) echo -e "
  71.838 +
  71.839 +SliTaz Live Tool - Version: $VERSION
  71.840 +\033[1mUsage: \033[0m `basename $0` gen-liveflavor flavor-name [flavor-patch-file]
  71.841 +\033[1mflavor-patch-file format: \033[0m
  71.842 +code	data
  71.843 ++	package to add
  71.844 +-	package to remove
  71.845 +!	non-free package to add
  71.846 +?	display message
  71.847 +@	flavor description
  71.848 +
  71.849 +\033[1mExample: \033[0m
  71.850 +@	Developer tools for slitaz maintainers
  71.851 ++	slitaz-toolchain
  71.852 ++	mercurial
  71.853 +"
  71.854 +			exit 1;;
  71.855 +		esac
  71.856 +		mv /etc/tazlito/distro-packages.list \
  71.857 +		   /etc/tazlito/distro-packages.list.$$ 2> /dev/null
  71.858 +		rm -f distro-packages.list non-free.list 2> /dev/null
  71.859 +		tazpkg recharge
  71.860 +		[ -n "$3" ] && while read action pkg; do
  71.861 +			case "$action" in
  71.862 +			+)	yes | tazpkg get-install $pkg;;
  71.863 +			-)	yes | tazpkg remove $pkg;;
  71.864 +			!)	echo $pkg >> non-free.list;;
  71.865 +			@)	DESC="$pkg";;
  71.866 +			\?)	echo -en "$pkg"; read action;;
  71.867 +			esac
  71.868 +		done < $3
  71.869 +		yes '' | tazlito gen-distro
  71.870 +		echo "$DESC" | tazlito gen-flavor "$FLAVOR"
  71.871 +		mv /etc/tazlito/distro-packages.list.$$ \
  71.872 +		   /etc/tazlito/distro-packages.list 2> /dev/null
  71.873 +		;;
  71.874 +	gen-flavor)
  71.875 +		# Generate a new flavor from the last iso image generated.
  71.876 +		FLAVOR=${2%.flavor}
  71.877 +		echo ""
  71.878 +		echo -e "\033[1mFlavor generation\033[0m"
  71.879 +		echo "================================================================================"
  71.880 +		if [ -z "$FLAVOR" ]; then
  71.881 +			echo -n "Flavor name : "
  71.882 +			read FLAVOR
  71.883 +			[ -z "$FLAVOR" ] && exit 1
  71.884 +		fi
  71.885 +		check_rootfs
  71.886 +		FILES="$FLAVOR.pkglist"
  71.887 +		echo -n "Creating file $FLAVOR.flavor..."
  71.888 +		for i in rootcd rootfs; do
  71.889 +			if [ -d "$ADDFILES/$i" ] ; then
  71.890 +				FILES="$FILES\n$FLAVOR.$i"
  71.891 +				( cd "$ADDFILES/$i"; find . | \
  71.892 +				  cpio -o -H newc 2> /dev/null | gzip -9 ) > $FLAVOR.$i
  71.893 +			fi
  71.894 +		done
  71.895 +		status
  71.896 +		answer=`grep -s ^Description $FLAVOR.desc`
  71.897 +		answer=${answer#Description     : }
  71.898 +		if [ -z "$answer" ]; then
  71.899 +			echo -n "Description : "
  71.900 +			read answer
  71.901 +		fi
  71.902 +		echo -n "Compressing flavor $FLAVOR..."
  71.903 +		echo "Flavor          : $FLAVOR" > $FLAVOR.desc
  71.904 +		echo "Description     : $answer" >> $FLAVOR.desc
  71.905 +		( cd $DISTRO; distro_sizes) >> $FLAVOR.desc
  71.906 +		\rm -f $FLAVOR.pkglist $FLAVOR.nonfree 2> /dev/null
  71.907 +		for i in $(ls $ROOTFS$INSTALLED); do
  71.908 +			eval $(grep ^VERSION= $ROOTFS$INSTALLED/$i/receipt)
  71.909 +			EXTRAVERSION=""
  71.910 +			eval $(grep ^EXTRAVERSION= $ROOTFS$INSTALLED/$i/receipt)
  71.911 +			eval $(grep ^CATEGORY= $ROOTFS$INSTALLED/$i/receipt)
  71.912 +			if [ "$CATEGORY" = "non-free" -a "${i%%-*}" != "get" ]
  71.913 +			then
  71.914 +				echo "$i" >> $FLAVOR.nonfree
  71.915 +			else
  71.916 +				echo "$i-$VERSION$EXTRAVERSION" >> $FLAVOR.pkglist
  71.917 +			fi
  71.918 +		done
  71.919 +		[ -s $FLAVOR.nonfree ] && $FILES="$FILES\n$FLAVOR.nonfree"
  71.920 +		for i in $LOCALSTATE/undigest/*/mirror ; do
  71.921 +			[ -s $i ] && cat $i >> $FLAVOR.mirrors
  71.922 +		done
  71.923 +		[ -s $FLAVOR.mirrors ] && $FILES="$FILES\n$FLAVOR.mirrors"
  71.924 +		echo -e "$FLAVOR.desc\n$FILES" | cpio -o -H newc 2>/dev/null | \
  71.925 +			gzip -9 > $FLAVOR.flavor
  71.926 +		rm `echo -e $FILES`
  71.927 +		status
  71.928 +		echo "================================================================================"
  71.929 +		echo "Flavor size : `du -sh $FLAVOR.flavor`"
  71.930 +		echo ""
  71.931 +		;;
  71.932 +	upgrade-flavor)
  71.933 +		# Update package list to the lastest versions available.
  71.934 +		FLAVOR=${2%.flavor}
  71.935 +		if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then
  71.936 +			mkdir $TMP_DIR
  71.937 +			zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i >/dev/null )
  71.938 +			echo -n "Updating $FLAVOR package list..."
  71.939 +			[ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge
  71.940 +			packed_size=0; unpacked_size=0
  71.941 +			while read org; do
  71.942 +				i=0
  71.943 +				pkg=$org
  71.944 +				while ! grep -q ^$pkg$ /var/lib/tazpkg/packages.txt; do
  71.945 +					pkg=${pkg%-*}
  71.946 +					i=$(($i + 1))
  71.947 +					[ $i -gt 5 ] && break;
  71.948 +				done
  71.949 +				set -- $(get_size $pkg)
  71.950 +				packed_size=$(( $packed_size + $1 ))
  71.951 +				unpacked_size=$(( $unpacked_size + $2 ))
  71.952 +				for i in $(grep ^$pkg /var/lib/tazpkg/packages.list); do
  71.953 +					echo $i
  71.954 +					break
  71.955 +				done
  71.956 +			done <  $TMP_DIR/$FLAVOR.pkglist \
  71.957 +			     > $TMP_DIR/$FLAVOR.pkglist.$$
  71.958 +			mv -f $TMP_DIR/$FLAVOR.pkglist.$$ $TMP_DIR/$FLAVOR.pkglist
  71.959 +			if [ -s $TMP_DIR/$FLAVOR.rootfs ]; then
  71.960 +				packed_size=$(($packed_size \
  71.961 +					+ $(cat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
  71.962 +				unpacked_size=$(($unpacked_size \
  71.963 +					+ $(zcat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
  71.964 +			fi
  71.965 +			# Estimate lzma
  71.966 +			packed_size=$(($packed_size * 2 / 3))
  71.967 +			iso_size=$(( $packed_size + 26000 ))
  71.968 +			if [ -s $TMP_DIR/$FLAVOR.rootcd ]; then
  71.969 +				iso_size=$(($iso_size \
  71.970 +					+ $(zcat $TMP_DIR/$FLAVOR.rootcd | wc -c ) / 100 ))
  71.971 +			fi
  71.972 +			sed -i -e '/Image is ready/d' \
  71.973 +			       -e "s/Rootfs size\( *:\) \(.*\)/Rootfs size\1 $(cent2human $unpacked_size)  (estimated)/" \
  71.974 +			       -e "s/Initramfs size\( *:\) \(.*\)/Initramfs size\1 $(cent2human $packed_size)  (estimated)/" \
  71.975 +			       -e "s/ISO image size\( *:\) \(.*\)/ISO image size\1 $(cent2human $iso_size)  (estimated)/" \
  71.976 +			       -e "s/date\( *:\) \(.*\)/date\1 $(date +%Y%m%d\ \at\ \%H:%M:%S)/" \
  71.977 +					$TMP_DIR/$FLAVOR.desc
  71.978 +			( cd $TMP_DIR ; ls | cpio -o -H newc ) | gzip -9 > \
  71.979 +				$FLAVOR.flavor
  71.980 +			status
  71.981 +			rm -Rf $TMP_DIR
  71.982 +		fi
  71.983 +		;;
  71.984 +	extract-flavor)
  71.985 +		# Extract a flavor into $FLAVORS_REPOSITORY.
  71.986 +		FLAVOR=${2%.flavor}
  71.987 +		if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then
  71.988 +			mkdir $TMP_DIR
  71.989 +			zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i >/dev/null )
  71.990 +			echo -n "Extracting $FLAVOR..."
  71.991 +			rm -rf $FLAVORS_REPOSITORY/$FLAVOR 2> /dev/null
  71.992 +			mkdir -p $FLAVORS_REPOSITORY/$FLAVOR
  71.993 +			echo "FLAVOR=\"$FLAVOR\"" > $FLAVORS_REPOSITORY/$FLAVOR/receipt
  71.994 +			grep ^Description $TMP_DIR/$FLAVOR.desc | \
  71.995 +				sed 's/.*: \(.*\)$/SHORT_DESC="\1"/' >> \
  71.996 +				$FLAVORS_REPOSITORY/$FLAVOR/receipt
  71.997 +			grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc && \
  71.998 +			grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \
  71.999 +				sed 's/.*: \(.*\)$/ROOTFS_SELECTION="\1"/' >> \
 71.1000 +				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 71.1001 +			grep '^Rootfs size' $TMP_DIR/$FLAVOR.desc | \
 71.1002 +				sed 's/.*: \(.*\)$/ROOTFS_SIZE="\1"/' >> \
 71.1003 +				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 71.1004 +			grep ^Initramfs $TMP_DIR/$FLAVOR.desc | \
 71.1005 +				sed 's/.*: \(.*\)$/INITRAMFS_SIZE="\1"/' >> \
 71.1006 +				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 71.1007 +			grep ^ISO $TMP_DIR/$FLAVOR.desc | \
 71.1008 +				sed 's/.*: \(.*\)$/ISO_SIZE="\1"/' >> \
 71.1009 +				$FLAVORS_REPOSITORY/$FLAVOR/receipt
 71.1010 +			for i in rootcd rootfs; do
 71.1011 +				[ -f $TMP_DIR/$FLAVOR.$i ] || continue
 71.1012 +				mkdir $FLAVORS_REPOSITORY/$FLAVOR/$i
 71.1013 +				zcat $TMP_DIR/$FLAVOR.$i | \
 71.1014 +				  (cd $FLAVORS_REPOSITORY/$FLAVOR/$i; \
 71.1015 +				   cpio -idm > /dev/null)
 71.1016 +			done
 71.1017 +			[ -s $TMP_DIR/$FLAVOR.mirrors ] &&
 71.1018 +				cp $TMP_DIR/$FLAVOR.mirrors \
 71.1019 +					$FLAVORS_REPOSITORY/$FLAVOR/mirrors
 71.1020 +			[ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge
 71.1021 +			while read org; do
 71.1022 +				i=0
 71.1023 +				pkg=$org
 71.1024 +				while ! grep -q ^$pkg$ /var/lib/tazpkg/packages.txt; do
 71.1025 +					pkg=${pkg%-*}
 71.1026 +					i=$(($i + 1))
 71.1027 +					[ $i -gt 5 ] && break;
 71.1028 +				done
 71.1029 +				echo $pkg
 71.1030 +			done <  $TMP_DIR/$FLAVOR.pkglist \
 71.1031 +			     > $FLAVORS_REPOSITORY/$FLAVOR/packages.list
 71.1032 +			status
 71.1033 +			rm -Rf $TMP_DIR
 71.1034 +		fi
 71.1035 +		;;
 71.1036 +	pack-flavor)
 71.1037 +		# Create a flavor from $FLAVORS_REPOSITORY.
 71.1038 +		FLAVOR=${2%.flavor}
 71.1039 +		if [ -s $FLAVORS_REPOSITORY/$FLAVOR/receipt ]; then
 71.1040 +			mkdir $TMP_DIR
 71.1041 +			echo -n "Creating flavor $FLAVOR..."
 71.1042 +			[ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge
 71.1043 +			if [ -s $FLAVORS_REPOSITORY/$FLAVOR/mirrors ]; then
 71.1044 +				cp $FLAVORS_REPOSITORY/$FLAVOR/mirrors \
 71.1045 +					$TMP_DIR/$FLAVOR.mirrors
 71.1046 +				for i in $(cat $TMP_DIR/$FLAVOR.mirrors); do
 71.1047 +					wget -O - $i/packages.list >> $TMP_DIR/packages.list
 71.1048 +				done
 71.1049 +			fi
 71.1050 +			[ -s $FLAVORS_REPOSITORY/$FLAVOR/packages.list ] &&
 71.1051 +			get_pkglist $FLAVOR > $TMP_DIR/$FLAVOR.pkglist
 71.1052 +			if grep -q ^ROOTFS_SELECTION \
 71.1053 +				$FLAVORS_REPOSITORY/$FLAVOR/receipt; then
 71.1054 +				. $FLAVORS_REPOSITORY/$FLAVOR/receipt
 71.1055 +				set -- $ROOTFS_SELECTION
 71.1056 +				[ -n "$FRUGAL_RAM" ] || FRUGAL_RAM=$1
 71.1057 +				[ -f $FLAVORS_REPOSITORY/$2/packages.list ] ||
 71.1058 +					tazlito extract-flavor $2
 71.1059 +				get_pkglist $2 > $TMP_DIR/$FLAVOR.pkglist
 71.1060 +			fi
 71.1061 +			for i in rootcd rootfs; do
 71.1062 +				[ -d $FLAVORS_REPOSITORY/$FLAVOR/$i ] || \
 71.1063 +					continue
 71.1064 +				( cd $FLAVORS_REPOSITORY/$FLAVOR/$i ; find . | \
 71.1065 +				cpio -o -H newc 2> /dev/null ) | \
 71.1066 +				gzip -9 >$TMP_DIR/$FLAVOR.$i
 71.1067 +			done
 71.1068 +			if [ -s $TMP_DIR/$FLAVOR.rootfs ]; then
 71.1069 +				packed_size=$(($packed_size \
 71.1070 +					+ $(cat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
 71.1071 +				unpacked_size=$(($unpacked_size \
 71.1072 +					+ $(zcat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 ))
 71.1073 +			fi
 71.1074 +			# Estimate lzma
 71.1075 +			packed_size=$(($packed_size * 2 / 3))
 71.1076 +			iso_size=$(( $packed_size + 26000 ))
 71.1077 +			if [ -s $TMP_DIR/$FLAVOR.rootcd ]; then
 71.1078 +				iso_size=$(($iso_size \
 71.1079 +					+ $(zcat $TMP_DIR/$FLAVOR.rootcd | wc -c ) / 100 ))
 71.1080 +			fi
 71.1081 +			VERSION=""
 71.1082 +			MAINTAINER=""
 71.1083 +			ROOTFS_SELECTION=""
 71.1084 +			ROOTFS_SIZE="$(cent2human $unpacked_size) (estimated)"
 71.1085 +			INITRAMFS_SIZE="$(cent2human $packed_size) (estimated)"
 71.1086 +			ISO_SIZE="$(cent2human $iso_size) (estimated)"
 71.1087 +			. $FLAVORS_REPOSITORY/$FLAVOR/receipt
 71.1088 +			cat > $TMP_DIR/$FLAVOR.desc <<EOT
 71.1089 +Flavor          : $FLAVOR
 71.1090 +Description     : $SHORT_DESC
 71.1091 +EOT
 71.1092 +			[ -n "$VERSION" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 71.1093 +Version         : $VERSION
 71.1094 +EOT
 71.1095 +			[ -n "$MAINTAINER" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 71.1096 +Maintainer      : $MAINTAINER
 71.1097 +EOT
 71.1098 +			[ -n "$FRUGAL_RAM" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 71.1099 +LiveCD RAM size : $FRUGAL_RAM
 71.1100 +EOT
 71.1101 +			[ -n "$ROOTFS_SELECTION" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 71.1102 +Rootfs list     : $ROOTFS_SELECTION
 71.1103 +EOT
 71.1104 +			cat >> $TMP_DIR/$FLAVOR.desc <<EOT
 71.1105 +Build date      : $(date +%Y%m%d\ \at\ \%H:%M:%S)
 71.1106 +Packages        : $(grep -v ^# $TMP_DIR/$FLAVOR.pkglist | wc -l)
 71.1107 +Rootfs size     : $ROOTFS_SIZE
 71.1108 +Initramfs size  : $INITRAMFS_SIZE
 71.1109 +ISO image size  : $ISO_SIZE
 71.1110 +================================================================================
 71.1111 +
 71.1112 +EOT
 71.1113 +			rm -f $TMP_DIR/packages.list
 71.1114 +			( cd $TMP_DIR ; ls | cpio -o -H newc 2> /dev/null) | \
 71.1115 +				gzip -9 > $FLAVOR.flavor
 71.1116 +			status
 71.1117 +			rm -Rf $TMP_DIR
 71.1118 +		else
 71.1119 +			echo "No $FLAVOR flavor in $FLAVORS_REPOSITORY."
 71.1120 +		fi
 71.1121 +		;;
 71.1122 +	get-flavor)
 71.1123 +		# Get a flavor's files and prepare for gen-distro.
 71.1124 +		FLAVOR=${2%.flavor}
 71.1125 +		echo ""
 71.1126 +		if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then
 71.1127 +			echo -n "Cleaning $DISTRO..."
 71.1128 +			rm -R $DISTRO 2> /dev/null
 71.1129 +			mkdir -p $DISTRO
 71.1130 +			status
 71.1131 +			mkdir $TMP_DIR
 71.1132 +			echo -n "Extracting flavor $FLAVOR.flavor... "
 71.1133 +			zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i 2>/dev/null )
 71.1134 +			echo -n "Creating distro-packages.list..."
 71.1135 +			mv $TMP_DIR/$FLAVOR.nonfree non-free.list 2> /dev/null
 71.1136 +			mv $TMP_DIR/$FLAVOR.pkglist distro-packages.list
 71.1137 +			status
 71.1138 +			for i in rootcd rootfs; do
 71.1139 +				if [ -f $TMP_DIR/$FLAVOR.$i ]; then
 71.1140 +					echo -n "Adding $i... "
 71.1141 +					mkdir -p "$ADDFILES/$i"
 71.1142 +					zcat $TMP_DIR/$FLAVOR.$i | \
 71.1143 +						( cd "$ADDFILES/$i"; cpio -id 2> /dev/null)
 71.1144 +				fi
 71.1145 +			done
 71.1146 +			if [ -s $TMP_DIR/$FLAVOR.mirrors ]; then
 71.1147 +				n=""
 71.1148 +				while read line; do
 71.1149 +					mkdir -p $LOCALSTATE/undigest/$FLAVOR$n
 71.1150 +					echo "$line" > $LOCALSTATE/undigest/$FLAVOR$n/mirror
 71.1151 +					n=$(( $n + 1 ))
 71.1152 +				done < $TMP_DIR/$FLAVOR.mirrors
 71.1153 +				tazpkg recharge
 71.1154 +			fi
 71.1155 +			rm -f /etc/tazlito/rootfs.list
 71.1156 +			grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc &&
 71.1157 +				grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \
 71.1158 +				sed 's/.*: \(.*\)$/\1/' > /etc/tazlito/rootfs.list
 71.1159 +			echo -n "Updating tazlito.conf..."
 71.1160 +			[ -f tazlito.conf ] || cp /etc/tazlito/tazlito.conf .
 71.1161 +			cat tazlito.conf | grep -v "^#VOLUM_NAME" | \
 71.1162 +			sed "s/^VOLUM_NA/VOLUM_NAME=\"SliTaz $FLAVOR\"\\n#VOLUM_NA/" \
 71.1163 +				> tazlito.conf.$$ && mv tazlito.conf.$$ tazlito.conf
 71.1164 +			sed -i "s/ISO_NAME=.*/ISO_NAME=\"slitaz-$FLAVOR\"/" tazlito.conf
 71.1165 +			status
 71.1166 +			rm -Rf $TMP_DIR
 71.1167 +		fi
 71.1168 +		echo ""
 71.1169 +		;;
 71.1170 +	check-list)
 71.1171 +		# Use current packages list in $PWD by default.
 71.1172 +		DISTRO_PKGS_LIST=distro-packages.list
 71.1173 +		[ -d "$2" ] && DISTRO_PKGS_LIST=$2/distro-packages.list
 71.1174 +		[ -f "$2" ] && DISTRO_PKGS_LIST=$2
 71.1175 +		[ ! -f $DISTRO_PKGS_LIST ] && echo "No packages list found." && exit 0
 71.1176 +		echo ""
 71.1177 +		echo -e "\033[1mLiveCD packages list check\033[0m"
 71.1178 +		echo "================================================================================"
 71.1179 +		for pkg in `cat $DISTRO_PKGS_LIST`
 71.1180 +		do
 71.1181 +			if ! grep -q "$pkg" /var/lib/tazpkg/packages.list; then
 71.1182 +				echo "Update: $pkg"
 71.1183 +				up=$(($up + 1))
 71.1184 +			fi
 71.1185 +		done
 71.1186 +		[ -z $up ] && echo -e "List is up-to-date\n" && exit 0
 71.1187 +		echo "================================================================================"
 71.1188 +		echo -e "Updates: $up\n" ;;
 71.1189 +	gen-distro)
 71.1190 +		# Generate a live distro tree with a set of packages.
 71.1191 +		#
 71.1192 +		check_root
 71.1193 +		
 71.1194 +		# Check if a package list was specified on cmdline.
 71.1195 +		LIST_NAME="distro-packages.list"
 71.1196 +		CDROM=""
 71.1197 +		while [ -n "$2" ]; do
 71.1198 +			case "$2" in
 71.1199 +			--iso=*)
 71.1200 +				CDROM="-o loop ${2#--iso=}"
 71.1201 +				;;
 71.1202 +			--cdrom)
 71.1203 +				CDROM="/dev/cdrom"
 71.1204 +				;;
 71.1205 +			--force)
 71.1206 +				DELETE_ROOTFS="true"
 71.1207 +				;;
 71.1208 +			*)	if [ ! -f "$2" ] ; then
 71.1209 +					echo -e "\nUnable to find the specified packages list."
 71.1210 +					echo -e "List name : $2\n"
 71.1211 +					exit 1
 71.1212 +				fi
 71.1213 +				LIST_NAME=$2
 71.1214 +				;;
 71.1215 +			esac
 71.1216 +			shift
 71.1217 +		done
 71.1218 +		 
 71.1219 +		if [ -d $ROOTFS ] ; then
 71.1220 +			# Delete $ROOTFS if --force is set on command line
 71.1221 +			if [ ! -z $DELETE_ROOTFS ]; then
 71.1222 +				rm -rf $ROOTFS
 71.1223 +				unset $DELETE_ROOTFS
 71.1224 +			else
 71.1225 +				echo -e "\nA rootfs exists in : $DISTRO"
 71.1226 +				echo -e "Please clean the distro tree or change directory path.\n"
 71.1227 +				exit 0
 71.1228 +			fi
 71.1229 +		fi
 71.1230 +		if [ ! -f "$LIST_NAME" -a -d $INSTALLED ] ; then
 71.1231 +		# Build list with installed packages
 71.1232 +			for i in $(ls $INSTALLED); do
 71.1233 +				eval $(grep ^VERSION= $INSTALLED/$i/receipt)
 71.1234 +				EXTRAVERSION=""
 71.1235 +				eval $(grep ^EXTRAVERSION= $INSTALLED/$i/receipt)
 71.1236 +				echo "$i-$VERSION$EXTRAVERSION" >> $LIST_NAME
 71.1237 +			done
 71.1238 +		fi
 71.1239 +		# Exit if no list name.
 71.1240 +		if [ ! -f "$LIST_NAME" ]; then
 71.1241 +			echo -e "\nNo packages list found or specified. Please read the docs.\n"
 71.1242 +			exit 0
 71.1243 +		fi
 71.1244 +		# Start generation.
 71.1245 +		echo ""
 71.1246 +		echo -e "\033[1mTazlito generating a distro\033[0m"
 71.1247 +		echo "================================================================================"
 71.1248 +		# Misc checks
 71.1249 +		[ -n "$PACKAGES_REPOSITORY" ] || PACKAGES_REPOSITORY="."
 71.1250 +		[ -d $PACKAGES_REPOSITORY ] || mkdir -p $PACKAGES_REPOSITORY
 71.1251 +		# Get the list of packages using cat for a file list.
 71.1252 +		LIST=`cat $LIST_NAME`
 71.1253 +		# Verify if all packages in list are present in $PACKAGES_REPOSITORY.
 71.1254 +		REPACK=""
 71.1255 +		DOWNLOAD=""
 71.1256 +		for pkg in $LIST
 71.1257 +		do
 71.1258 +			[ "$pkg" = "" ] && continue
 71.1259 +			pkg=${pkg%.tazpkg}
 71.1260 +			[ -f $PACKAGES_REPOSITORY/$pkg.tazpkg ] && continue
 71.1261 +			PACKAGE=$(installed_package_name $pkg)
 71.1262 +			[ -n "$PACKAGE" -a "$REPACK" = "y" ] && continue
 71.1263 +			[ -z "$PACKAGE" -a -n "$DOWNLOAD" ] && continue
 71.1264 +			echo -e "\nUnable to find $pkg in the repository."
 71.1265 +			echo -e "Path : $PACKAGES_REPOSITORY\n"
 71.1266 +			if [ -n "$PACKAGE" -a -z "$REPACK" ]; then
 71.1267 +				yesorno "Repack packages from rootfs (y/N) ? "
 71.1268 +				REPACK="$answer"
 71.1269 +				[ "$answer" = "y" ] || REPACK="n"
 71.1270 +				[ "$DOWNLOAD" = "y" ] && break
 71.1271 +			fi
 71.1272 +			if [ -f $MIRROR -a -z "$DOWNLOAD" ]; then
 71.1273 +				yesorno "Download packages from mirror (Y/n) ? "
 71.1274 +				DOWNLOAD="$answer"
 71.1275 +				if [ "$answer" = "n" ]; then
 71.1276 +					[ -z "$PACKAGE" ] && exit 1
 71.1277 +				else
 71.1278 +					DOWNLOAD="y"
 71.1279 +					[ -n "$REPACK" ] && break
 71.1280 +				fi
 71.1281 +			fi
 71.1282 +			[ "$REPACK" = "n" -a "$DOWNLOAD" = "n" ] && exit 1
 71.1283 +		done
 71.1284 +		
 71.1285 +		# Mount cdrom to be able to repack boot-loader packages
 71.1286 +		if [ ! -e /boot -a -n "$CDROM" ]; then
 71.1287 +			mkdir $TMP_MNT
 71.1288 +			if mount -r $CDROM $TMP_MNT 2> /dev/null; then
 71.1289 +				ln -s $TMP_MNT/boot /
 71.1290 +				if [ ! -d "$ADDFILES/rootcd" ] ; then
 71.1291 +					mkdir -p $ADDFILES/rootcd
 71.1292 +					for i in $(ls $TMP_MNT); do
 71.1293 +						[ "$i" = "boot" ] && continue
 71.1294 +						cp -a $TMP_MNT/$i $ADDFILES/rootcd
 71.1295 +					done
 71.1296 +				fi
 71.1297 +			else
 71.1298 +				rmdir $TMP_MNT
 71.1299 +			fi
 71.1300 +		fi
 71.1301 +
 71.1302 +		# Root fs stuff.
 71.1303 +		echo "Preparing the rootfs directory..."
 71.1304 +		mkdir -p $ROOTFS
 71.1305 +		sleep 2
 71.1306 +		for pkg in $LIST
 71.1307 +		do
 71.1308 +			[ "$pkg" = "" ] && continue
 71.1309 +			# First copy and extract the package in tmp dir.
 71.1310 +			pkg=${pkg%.tazpkg}
 71.1311 +			PACKAGE=$(installed_package_name $pkg)
 71.1312 +			mkdir -p $TMP_DIR
 71.1313 +			if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then
 71.1314 +				# Look for package in cache
 71.1315 +				if [ -f $CACHE_DIR/$pkg.tazpkg ]; then
 71.1316 +					ln -s $CACHE_DIR/$pkg.tazpkg $PACKAGES_REPOSITORY
 71.1317 +				# Look for package in running distribution
 71.1318 +				elif [ -n "$PACKAGE" -a "$REPACK" = "y" ]; then
 71.1319 +					tazpkg repack $PACKAGE && \
 71.1320 +					  mv $pkg.tazpkg $PACKAGES_REPOSITORY 
 71.1321 +				fi
 71.1322 +			fi
 71.1323 +			if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then
 71.1324 +				# Get package from mirror
 71.1325 +				[ "$DOWNLOAD" = "y" ] && \
 71.1326 +				download $pkg.tazpkg && \
 71.1327 +				mv $pkg.tazpkg $PACKAGES_REPOSITORY
 71.1328 +			fi
 71.1329 +			if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then
 71.1330 +				echo "Missing package $pkg."
 71.1331 +				cleanup
 71.1332 +				exit 1
 71.1333 +			fi
 71.1334 +		done
 71.1335 +		if [ -f non-free.list ]; then
 71.1336 +			echo "Preparing non-free packages..."
 71.1337 +			cp non-free.list $ROOTFS/etc/tazlito/non-free.list
 71.1338 +			for pkg in $(cat non-free.list); do
 71.1339 +				if [ ! -d $INSTALLED/$pkg ]; then
 71.1340 +					if [ ! -d $INSTALLED/get-$pkg ]; then
 71.1341 +						tazpkg get-install get-$pkg
 71.1342 +					fi
 71.1343 +					get-$pkg
 71.1344 +				fi
 71.1345 +				tazpkg repack $pkg
 71.1346 +				pkg=$(ls $pkg*.tazpkg)
 71.1347 +				grep -q "^$pkg$" $LIST_NAME || \
 71.1348 +					echo $pkg >>$LIST_NAME
 71.1349 +				mv $pkg $PACKAGES_REPOSITORY 
 71.1350 +			done
 71.1351 +		fi
 71.1352 +		echo ""
 71.1353 +		cp $LIST_NAME $DISTRO/distro-packages.list
 71.1354 +		sed 's/\(.*\)/\1.tazpkg/' < $DISTRO/distro-packages.list > $DISTRO/list-packages
 71.1355 +		cd $PACKAGES_REPOSITORY
 71.1356 +		yes y | tazpkg install-list \
 71.1357 +			$DISTRO/list-packages --root=$ROOTFS
 71.1358 +		cd $DISTRO
 71.1359 +		cp distro-packages.list $ROOTFS/etc/tazlito
 71.1360 +		# Copy all files from $ADDFILES/rootfs to the rootfs.
 71.1361 +		if [ -d "$ADDFILES/rootfs" ] ; then
 71.1362 +			echo -n "Copying addfiles content to the rootfs... "
 71.1363 +			cp -a $ADDFILES/rootfs/* $ROOTFS
 71.1364 +			status
 71.1365 +		fi
 71.1366 +		echo "Root file system is generated..."
 71.1367 +		# Root CD part.
 71.1368 +		echo -n "Preparing the rootcd directory..."
 71.1369 +		mkdir -p $ROOTCD
 71.1370 +		status
 71.1371 +		# Move the boot dir with the Linux kernel from rootfs.
 71.1372 +		# The boot dir goes directly on the CD.
 71.1373 +		if [ -d "$ROOTFS/boot" ] ; then
 71.1374 +			echo -n "Moving the boot directory..."
 71.1375 +			mv $ROOTFS/boot $ROOTCD
 71.1376 +			cd $ROOTCD/boot
 71.1377 +			ln vmlinuz-* bzImage
 71.1378 +			status
 71.1379 +		fi
 71.1380 +		cd $DISTRO
 71.1381 +		# Copy all files from $ADDFILES/rootcd to the rootcd.
 71.1382 +		if [ -d "$ADDFILES/rootcd" ] ; then
 71.1383 +			echo -n "Copying addfiles content to the rootcd... "
 71.1384 +			cp -a $ADDFILES/rootcd/* $ROOTCD
 71.1385 +			status
 71.1386 +		fi
 71.1387 +		# Execute the distro script (used to perform tasks in the rootfs
 71.1388 +		# before compression. Give rootfs path in arg
 71.1389 +		[ -z $DISTRO_SCRIPT ] && DISTRO_SCRIPT=$TOP_DIR/distro.sh
 71.1390 +		if [ -x $DISTRO_SCRIPT ]; then
 71.1391 +			echo "Executing distro script..."
 71.1392 +			sh $DISTRO_SCRIPT $DISTRO
 71.1393 +		fi
 71.1394 +		if [ -s /etc/tazlito/rootfs.list ]; then
 71.1395 +			[ -f $ROOTCD/boot/isolinux/ifmem.c32 ] ||
 71.1396 +			cp /boot/isolinux/ifmem.c32 $ROOTCD/boot/isolinux
 71.1397 +			n=0
 71.1398 +			last=$ROOTFS
 71.1399 +			while read flavor; do
 71.1400 +				n=$(($n+1))
 71.1401 +				echo "Building $flavor rootfs..."
 71.1402 +				download $flavor.flavor
 71.1403 +				zcat $flavor.flavor | cpio -i $flavor.pkglist
 71.1404 +				sed 's/.*/&.tazpkg/' < $flavor.pkglist \
 71.1405 +					> $DISTRO/list-packages0$n
 71.1406 +				mkdir ${ROOTFS}0$n
 71.1407 +				cd $PACKAGES_REPOSITORY
 71.1408 +				yes y | tazpkg install-list \
 71.1409 +					$DISTRO/list-packages0$n --root=${ROOTFS}0$n
 71.1410 +				rm -rf ${ROOTFS}0$n/boot
 71.1411 +				status
 71.1412 +				cd $DISTRO
 71.1413 +				mv $flavor.pkglist ${ROOTFS}0$n/etc/tazlito/distro-packages.list
 71.1414 +				rm -f $flavor.flavor install-list
 71.1415 +				mergefs ${ROOTFS}0$n $last
 71.1416 +				last=${ROOTFS}0$n
 71.1417 +			done <<EOT
 71.1418 +$(awk '{ for (i = 4; i <= NF; i+=2) print $i; }' < /etc/tazlito/rootfs.list)
 71.1419 +EOT
 71.1420 +			i=$(($n+1))
 71.1421 +			while [ $n -gt 0 ]; do
 71.1422 +				mv ${ROOTFS}0$n ${ROOTFS}$i
 71.1423 +				echo "Compression ${ROOTFS}0$n ($(du -hs ${ROOTFS}$i | awk '{ print $1 }')) ..."
 71.1424 +				gen_initramfs ${ROOTFS}$i
 71.1425 +				n=$(($n-1))
 71.1426 +				i=$(($i-1))
 71.1427 +			done
 71.1428 +			mv $ROOTFS ${ROOTFS}$i
 71.1429 +			gen_initramfs ${ROOTFS}$i
 71.1430 +			update_bootconfig $ROOTCD/boot/isolinux \
 71.1431 +				"$(cat /etc/tazlito/rootfs.list)"
 71.1432 +		else
 71.1433 +			# Initramfs and ISO image stuff.
 71.1434 +			gen_initramfs $ROOTFS
 71.1435 +		fi
 71.1436 +		gen_livecd_isolinux
 71.1437 +		distro_stats
 71.1438 +		cleanup
 71.1439 +		;;
 71.1440 +	clean-distro)
 71.1441 +		# Remove old distro tree.
 71.1442 +		#
 71.1443 +		check_root
 71.1444 +		echo ""
 71.1445 +		echo -e "\033[1mCleaning :\033[0m $DISTRO"
 71.1446 +		echo "================================================================================"
 71.1447 +		if [ -d "$DISTRO" ] ; then
 71.1448 +			if [ -d "$ROOTFS" ] ; then
 71.1449 +				echo -n "Removing the rootfs..."
 71.1450 +				rm -f $DISTRO/$INITRAMFS
 71.1451 +				rm -rf $ROOTFS
 71.1452 +				status
 71.1453 +			fi
 71.1454 +			if [ -d "$ROOTCD" ] ; then
 71.1455 +				echo -n "Removing the rootcd..."
 71.1456 +				rm -rf $ROOTCD
 71.1457 +				status
 71.1458 +			fi
 71.1459 +			echo -n "Removing eventual ISO image..."
 71.1460 +			rm -f $DISTRO/$ISO_NAME.iso
 71.1461 +			rm -f $DISTRO/$ISO_NAME.md5
 71.1462 +			status
 71.1463 +		fi
 71.1464 +		echo "================================================================================"
 71.1465 +		echo ""
 71.1466 +		;;
 71.1467 +	check-distro)
 71.1468 +		# Check for a few LiveCD needed files not installed by packages.
 71.1469 +		#
 71.1470 +		check_rootfs
 71.1471 +		echo ""
 71.1472 +		echo -e "\033[1mChecking distro :\033[0m $ROOTFS"
 71.1473 +		echo "================================================================================"
 71.1474 +		# SliTaz release info.
 71.1475 +		if [ ! -f "$ROOTFS/etc/slitaz-release" ]; then
 71.1476 +			echo "Missing release info : /etc/slitaz-release"
 71.1477 +		else
 71.1478 +			release=`cat $ROOTFS/etc/slitaz-release`
 71.1479 +			echo -n "Release      : $release"
 71.1480 +			status
 71.1481 +		fi
 71.1482 +		# Tazpkg mirror.
 71.1483 +		if [ ! -f "$ROOTFS/var/lib/tazpkg/mirror" ]; then
 71.1484 +			echo -n "Mirror URL   : Missing /var/lib/tazpkg/mirror"
 71.1485 +			todomsg
 71.1486 +		else
 71.1487 +			echo -n "Mirror configuration exists..."
 71.1488 +			status
 71.1489 +		fi
 71.1490 +		# Isolinux msg	
 71.1491 +		if grep -q "cooking-XXXXXXXX" /$ROOTCD/boot/isolinux/isolinux.msg; then
 71.1492 +			echo -n "Isolinux msg : Missing cooking date XXXXXXXX (ex `date +%Y%m%d`)"
 71.1493 +			todomsg
 71.1494 +		else
 71.1495 +			echo -n "Isolinux message seems good..."
 71.1496 +			status
 71.1497 +		fi
 71.1498 +		echo "================================================================================"
 71.1499 +		echo ""
 71.1500 +		;;
 71.1501 +	writeiso)
 71.1502 +				# Writefs to ISO image including /home unlike gen-distro we dont use
 71.1503 +		# packages to generate a rootfs, we build a compressed rootfs with all 
 71.1504 +		# the current filesystem similar to 'tazusb writefs'.
 71.1505 +		#
 71.1506 +		DISTRO="/home/slitaz/distro"
 71.1507 +		ROOTCD="$DISTRO/rootcd"
 71.1508 +		if [ -z $2 ]; then
 71.1509 +			COMPRESSION=none
 71.1510 +		else
 71.1511 +			COMPRESSION=$2
 71.1512 +		fi
 71.1513 +		if [ -z $3 ]; then
 71.1514 +			ISO_NAME="slitaz"
 71.1515 +		else
 71.1516 +			ISO_NAME="$3"
 71.1517 +		fi
 71.1518 +		check_root
 71.1519 +		# Start info
 71.1520 +		echo ""
 71.1521 +		echo -e "\033[1mWrite filesystem to ISO\033[0m
 71.1522 +===============================================================================
 71.1523 +The command writeiso will write the current filesystem into a suitable cpio 
 71.1524 +archive (rootfs.gz) and generate a bootable ISO image (slitaz.iso). 
 71.1525 +
 71.1526 +Archive compression: $COMPRESSION"
 71.1527 +		echo ""
 71.1528 +		
 71.1529 +		# Save some space
 71.1530 +		rm /var/cache/tazpkg/* -r -f
 71.1531 +		rm -rf /home/slitaz/distro
 71.1532 +
 71.1533 +		# Optionally remove sound card selection and screen resolution.
 71.1534 +		echo "Do you wish to remove the sound card and screen config ? "
 71.1535 +		echo -n "Press ENTER to keep or anser (No|yes|exit): "
 71.1536 +		read anser
 71.1537 +		case $anser in
 71.1538 +			e|E|"exit"|Exit)
 71.1539 +				exit 0 ;;
 71.1540 +			y|Y|yes|Yes)
 71.1541 +				echo -n "Removing current sound card and screen configuration..."
 71.1542 +				rm -f /var/lib/sound-card-driver
 71.1543 +				rm -f /etc/asound.state
 71.1544 +				rm -f /etc/X11/screen.conf 
 71.1545 +				rm -f /etc/X11/xorg.conf ;;
 71.1546 +			*)
 71.1547 +				echo -n "Keeping current sound card and screen configuration..." ;;
 71.1548 +		esac
 71.1549 +		status
 71.1550 +		
 71.1551 +		# Create list of files including default user files since it is defined in /etc/passwd
 71.1552 +		# and some new users might have been added.
 71.1553 +		find /bin /etc /init /sbin /var /dev /lib /root /usr /home >/tmp/list
 71.1554 +
 71.1555 +		for dir in /proc /sys /tmp /mnt /media /media/cdrom /media/flash /media/usbdisk
 71.1556 +		do
 71.1557 +			echo $dir >>/tmp/list
 71.1558 +		done
 71.1559 +
 71.1560 +		# Generate initramfs with specified compression and display rootf
 71.1561 +		# size in realtime.
 71.1562 +		rm -f /tmp/rootfs
 71.1563 +		write_initramfs &
 71.1564 +		sleep 2
 71.1565 +		echo -en "\nFilesystem size:"
 71.1566 +		while [ ! -f /tmp/rootfs ]
 71.1567 +		do
 71.1568 +			sleep 1
 71.1569 +			echo -en "\\033[18G`du -sh /rootfs.gz | awk '{print $1}'`    "
 71.1570 +		done
 71.1571 +		echo -e "\n"
 71.1572 +
 71.1573 +		# Move freshly generated rootfs to the cdrom.
 71.1574 +		mkdir -p $ROOTCD/boot
 71.1575 +		mv -f /rootfs.gz $ROOTCD/boot
 71.1576 +		
 71.1577 +		# Now we need the kernel and isolinux files.
 71.1578 +		if mount /dev/cdrom /media/cdrom 2>/dev/null; then
 71.1579 +			cp /media/cdrom/boot/bzImage $ROOTCD/boot
 71.1580 +			cp -a /media/cdrom/boot/isolinux $ROOTCD/boot
 71.1581 +			umount /media/cdrom
 71.1582 +		else
 71.1583 +			echo -e "
 71.1584 +Unable to mount the cdrom to copy the Kernel and needed files. When SliTaz
 71.1585 +is running in RAM the kernel and bootloader files are keeped on the cdrom.
 71.1586 +Please insert a LiveCD or unmount curent cdrom to let Tazlito handle the media.\n"
 71.1587 +			echo -en "----\nENTER to continue..."; read i
 71.1588 +			exit 1
 71.1589 +		fi
 71.1590 +		
 71.1591 +		# Generate the iso image.
 71.1592 +		cd $DISTRO
 71.1593 +		echo "Generating ISO image..."
 71.1594 +		genisoimage -R -o $ISO_NAME.iso -b boot/isolinux/isolinux.bin \
 71.1595 +		-c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
 71.1596 +		-V "SliTaz" -input-charset iso8859-1 -boot-info-table $ROOTCD
 71.1597 +		if [ -x /usr/bin/isohybrid ]; then
 71.1598 +			echo -n "Creating hybrid ISO..."
 71.1599 +			/usr/bin/isohybrid $ISO_NAME.iso 2> /dev/null
 71.1600 +			status
 71.1601 +		fi
 71.1602 +		echo -n "Creating the ISO md5sum..."
 71.1603 +		md5sum $ISO_NAME.iso > $ISO_NAME.md5
 71.1604 +		status
 71.1605 +
 71.1606 +		echo "==============================================================================="
 71.1607 +		echo "ISO image: `du -sh /home/slitaz/distro/$ISO_NAME.iso`"
 71.1608 +		echo ""
 71.1609 +		echo -n "Exit or burn ISO to cdrom (Exit|burn)? "; read anser
 71.1610 +		case $anser in
 71.1611 +			burn)
 71.1612 +				eject
 71.1613 +				echo -n "Please insert a blank cdrom and press ENTER..."
 71.1614 +				read i && sleep 2
 71.1615 +				tazlito burn-iso /home/slitaz/distro/$ISO_NAME.iso
 71.1616 +				echo -en "----\nENTER to continue..."; read i ;;
 71.1617 +			*)
 71.1618 +				exit 0 ;;
 71.1619 +		esac ;;
 71.1620 +	burn-iso)
 71.1621 +		# Guess cdrom device, ask user and burn the ISO.
 71.1622 +		#
 71.1623 +		check_root
 71.1624 +		DRIVE_NAME=`cat /proc/sys/dev/cdrom/info | grep "drive name" | cut -f 3`
 71.1625 +		DRIVE_SPEED=`cat /proc/sys/dev/cdrom/info | grep "drive speed" | cut -f 3`
 71.1626 +		# We can specify an alternative ISO from the cmdline.
 71.1627 +		if [ -n "$2" ] ; then
 71.1628 +			iso=$2
 71.1629 +		else
 71.1630 +			iso=$DISTRO/$ISO_NAME.iso
 71.1631 +		fi
 71.1632 +		if [ ! -f "$iso" ]; then
 71.1633 +			echo -e "\nUnable to find ISO : $iso\n"
 71.1634 +			exit 0
 71.1635 +		fi
 71.1636 +		echo ""
 71.1637 +		echo -e "\033[1mTazlito burn ISO\033[0m "
 71.1638 +		echo "================================================================================"
 71.1639 +		echo "Cdrom device  : /dev/$DRIVE_NAME"
 71.1640 +		echo "Drive speed   : $DRIVE_SPEED"
 71.1641 +		echo "ISO image     : $iso"
 71.1642 +		echo "================================================================================"
 71.1643 +		echo ""
 71.1644 +		yesorno "Burn ISO image (y/N) ? "
 71.1645 +		if [ "$answer" == "y" ]; then
 71.1646 +			echo ""
 71.1647 +			echo "Starting Wodim to burn the iso..." && sleep 2
 71.1648 +			echo "================================================================================"
 71.1649 +			wodim speed=$DRIVE_SPEED dev=/dev/$DRIVE_NAME $iso
 71.1650 +			echo "================================================================================"
 71.1651 +			echo "ISO image is burned to cdrom."
 71.1652 +		else
 71.1653 +			echo -e "\nExiting. No ISO burned."
 71.1654 +		fi
 71.1655 +		echo ""
 71.1656 +		;;
 71.1657 +	merge)
 71.1658 +		# Merge multiple rootfs into one iso.
 71.1659 +		#
 71.1660 +		if [ -z "$2" ]; then
 71.1661 +			cat << EOT
 71.1662 +Usage: tazlito merge size1 iso size2 rootfs2 [sizeN rootfsN]...
 71.1663 +
 71.1664 +Merge multiple rootfs into one iso. Rootfs are like russian dolls
 71.1665 +i.e: rootfsN is a subset of rootfsN-1
 71.1666 +rootfs1 is found in iso, sizeN is the RAM size need to launch rootfsN.
 71.1667 +The boot loader will select the rootfs according to the RAM size detected.
 71.1668 +
 71.1669 +Example: 
 71.1670 +$ tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz
 71.1671 +
 71.1672 +Will start slitaz-core with 160M+ RAM, slitaz-justX with 96M-160M RAM,
 71.1673 +slitaz-base with 32M-96M RAM and display an error message if RAM < 32M.
 71.1674 +EOT
 71.1675 +			exit 2
 71.1676 +		fi
 71.1677 +
 71.1678 +		shift	# skip merge
 71.1679 +		append="$1 slitaz1"
 71.1680 +		shift	# skip size1
 71.1681 +		mkdir -p $TMP_DIR/mnt $TMP_DIR/rootfs1
 71.1682 +
 71.1683 +		ISO=$1.merged
 71.1684 +		# Extract filesystems
 71.1685 +		echo -n "Mounting $1"
 71.1686 +		mount -o loop,ro $1 $TMP_DIR/mnt 2> /dev/null
 71.1687 +		status || cleanup_merge
 71.1688 +		cp -a $TMP_DIR/mnt $TMP_DIR/iso
 71.1689 +		rm -f $TMP_DIR/iso/boot/bzImage
 71.1690 +		ln $TMP_DIR/iso/boot/vmlinuz* $TMP_DIR/iso/boot/bzImage
 71.1691 +		umount -d $TMP_DIR/mnt
 71.1692 +		if [ -f $TMP_DIR/iso/boot/rootfs1.gz ]; then
 71.1693 +			echo "$1 is already a merged iso. Aborting."
 71.1694 +			cleanup_merge
 71.1695 +		fi
 71.1696 +		if [ ! -f $TMP_DIR/iso/boot/isolinux/ifmem.c32 ]; then
 71.1697 +			if [ ! -f /boot/isolinux/ifmem.c32 ]; then
 71.1698 +				cat <<EOT
 71.1699 +No file /boot/isolinux/ifmem.c32
 71.1700 +Please install syslinux package !
 71.1701 +EOT
 71.1702 +				rm -rf $TMP_DIR
 71.1703 +				exit 1
 71.1704 +			fi
 71.1705 +			cp /boot/isolinux/ifmem.c32 $TMP_DIR/iso/boot/isolinux
 71.1706 +		fi
 71.1707 +		
 71.1708 +		echo -n "Extracting iso/rootfs.gz"
 71.1709 +		extract_rootfs $TMP_DIR/iso/boot/rootfs.gz $TMP_DIR/rootfs1 &&
 71.1710 +		[ -d $TMP_DIR/rootfs1/etc ]
 71.1711 +		status || cleanup_merge
 71.1712 +		n=1
 71.1713 +		while [ -n "$2" ]; do
 71.1714 +			shift	# skip rootfs N-1
 71.1715 +			p=$n
 71.1716 +			n=$(($n + 1))
 71.1717 +			append="$append $1 slitaz$n"
 71.1718 +			shift	# skip size N
 71.1719 +			mkdir -p $TMP_DIR/rootfs$n
 71.1720 +			echo -n "Extracting $1"
 71.1721 +			extract_rootfs $1 $TMP_DIR/rootfs$n &&
 71.1722 +			[ -d $TMP_DIR/rootfs$n/etc ]
 71.1723 +			status || cleanup_merge
 71.1724 +			mergefs $TMP_DIR/rootfs$n $TMP_DIR/rootfs$p
 71.1725 +			echo "Creating rootfs$p.gz"
 71.1726 +			pack_rootfs $TMP_DIR/rootfs$p $TMP_DIR/iso/boot/rootfs$p.gz
 71.1727 +			status
 71.1728 +		done
 71.1729 +		echo "Creating rootfs$n.gz"
 71.1730 +		pack_rootfs $TMP_DIR/rootfs$n $TMP_DIR/iso/boot/rootfs$n.gz
 71.1731 +		status
 71.1732 +		rm -f $TMP_DIR/iso/boot/rootfs.gz
 71.1733 +		update_bootconfig $TMP_DIR/iso/boot/isolinux "$append"
 71.1734 +		echo "Generating $ISO"
 71.1735 +		create_iso $ISO $TMP_DIR/iso
 71.1736 +		rm -rf $TMP_DIR
 71.1737 +		;;
 71.1738 +
 71.1739 +	repack)
 71.1740 +		# Repack an iso with maximum lzma compression ratio.
 71.1741 +		#
 71.1742 +
 71.1743 +		ISO=$2
 71.1744 +
 71.1745 +		mkdir -p $TMP_DIR/mnt
 71.1746 +		# Extract filesystems
 71.1747 +		echo -n "Mounting $ISO"
 71.1748 +		mount -o loop,ro $ISO $TMP_DIR/mnt 2> /dev/null
 71.1749 +		status || cleanup_merge
 71.1750 +		cp -a $TMP_DIR/mnt $TMP_DIR/iso
 71.1751 +		umount -d $TMP_DIR/mnt
 71.1752 +		
 71.1753 +		for i in $TMP_DIR/iso/boot/rootfs* ; do
 71.1754 +			echo -n "Repacking $(basename $i)"
 71.1755 +			(zcat $i || unlzma -c $i || cat $i) \
 71.1756 +				2>/dev/null > $TMP_DIR/rootfs
 71.1757 +			lzma e $TMP_DIR/rootfs $i \
 71.1758 +				 $(lzma_switches $TMP_DIR/rootfs)
 71.1759 +			status
 71.1760 +		done
 71.1761 +		
 71.1762 +		echo "Generating $ISO"
 71.1763 +		create_iso $ISO $TMP_DIR/iso
 71.1764 +		rm -rf $TMP_DIR ;;
 71.1765 +	
 71.1766 +	frugal-install|-fi)
 71.1767 +		ISO_IMAGE="$2"
 71.1768 +		echo ""
 71.1769 +		mkdir -p /boot/frugal
 71.1770 +		if [ -f "$ISO_IMAGE" ]; then
 71.1771 +			echo -n "Using ISO image: $ISO_IMAGE"
 71.1772 +			mkdir -p /tmp/iso && mount -o loop $ISO_IMAGE /tmp/iso
 71.1773 +			status
 71.1774 +			echo -n "Installing the Kernel and rootfs..."
 71.1775 +			cp -a /tmp/iso/boot/bzImage /boot/frugal
 71.1776 +			cp -a /tmp/iso/boot/rootfs.gz /boot/frugal
 71.1777 +			umount /tmp/iso
 71.1778 +			status
 71.1779 +		else
 71.1780 +			echo -n "Using distro: $DISTRO"
 71.1781 +			cd $DISTRO && status
 71.1782 +			echo -n "Installing the Kernel and rootfs..."
 71.1783 +			cp -a $DISTRO/rootcd/boot/bzImage /boot/frugal
 71.1784 +			cp -a $DISTRO/rootcd/boot/rootfs.gz /boot/frugal
 71.1785 +			status
 71.1786 +		fi
 71.1787 +		# Grub entry
 71.1788 +		if ! grep -q "^kernel /boot/frugal/bzImage" /boot/grub/menu.lst; then
 71.1789 +			echo -n "Configuring GRUB menu list..."
 71.1790 +			cat >> /boot/grub/menu.lst << EOT
 71.1791 +title SliTaz GNU/Linux (frugal)
 71.1792 +root (hd0,0)
 71.1793 +kernel /boot/frugal/bzImage root=/dev/null
 71.1794 +initrd /boot/frugal/rootfs.gz
 71.1795 +EOT
 71.1796 +		else
 71.1797 +			echo -n "GRUB menu list is up-to-date..."
 71.1798 +		fi
 71.1799 +		status
 71.1800 +		echo "" ;;
 71.1801 +	
 71.1802 +	emu-iso)
 71.1803 +		# Emulate an ISO image with Qemu.
 71.1804 +		if [ -n "$2" ] ; then
 71.1805 +			iso=$2
 71.1806 +		else
 71.1807 +			iso=$DISTRO/$ISO_NAME.iso
 71.1808 +		fi
 71.1809 +		if [ ! -f "$iso" ]; then
 71.1810 +			echo -e "\nUnable to find ISO : $iso\n"
 71.1811 +			exit 0
 71.1812 +		fi
 71.1813 +		if [ ! -x "/usr/bin/qemu" ]; then
 71.1814 +			echo -e "\nUnable to find Qemu binary. Please install: qemu\n"
 71.1815 +			exit 0
 71.1816 +		fi
 71.1817 +		echo -e "\nStarting Qemu emulator:\n"
 71.1818 +		echo -e "qemu $QEMU_OPTS $iso\n"
 71.1819 +		qemu $QEMU_OPTS $iso ;;
 71.1820 +
 71.1821 +	usage|*)
 71.1822 +		# Clear and print usage also for all unknown commands.
 71.1823 +		#
 71.1824 +		clear
 71.1825 +		usage ;;
 71.1826 +esac
 71.1827 +
 71.1828 +exit 0
    72.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    72.2 +++ b/xfce/rootfs/usr/bin/tazlitobox	Wed Feb 22 23:26:35 2012 +0100
    72.3 @@ -0,0 +1,445 @@
    72.4 +#!/bin/sh
    72.5 +# 
    72.6 +# Gtkdialog box for Tazlito - SliTaz Live Tool.
    72.7 +# Tabs are used for ident ans all action should go into functions to
    72.8 +# separate GUI and commands.
    72.9 +#
   72.10 +# (C) GNU gpl v3 - SliTaz GNU/Linux 2010.
   72.11 +#
   72.12 +VERSION=2.2
   72.13 +
   72.14 +export BIN=$0
   72.15 +
   72.16 +# Check if user is root.
   72.17 +check_root()
   72.18 +{
   72.19 +	if test $(id -u) != 0 ; then
   72.20 +		echo -e "
   72.21 +You must be root to run `basename $0`. Please type 'su' and 
   72.22 +root password to become super-user.\n"
   72.23 +		exit 0
   72.24 +	fi
   72.25 +}
   72.26 +
   72.27 +# We need to parse flavors.list for GTK tree.
   72.28 +list_flavors()
   72.29 +{
   72.30 +	tazlito list-flavors | grep ^[a-z] | while read line
   72.31 +	do		
   72.32 +		info=`echo -n $line | awk '{print $1 " " $2 " " $3}'`
   72.33 +		printinfo=`echo -n $line | awk '{print $1 "|" $2 "|" $3}'`
   72.34 +		echo "$printinfo|`echo $line | sed s/\"$info\"//`"
   72.35 +	done
   72.36 +}
   72.37 +
   72.38 +recharge_list()
   72.39 +{
   72.40 +	xterm -geometry 90x14 \
   72.41 +		-title "list-flavors --recharge" \
   72.42 +		-e "tazlito list-flavors --recharge | grep ^[a-z] && sleep 2"
   72.43 +}
   72.44 +
   72.45 +# When using gen-liveflavor, gen-flavor or gen-distro, user can put some
   72.46 +# addfiles copied into the rootfs.
   72.47 +addfiles_action()
   72.48 +{
   72.49 +	cd /home/slitaz
   72.50 +	mkdir -p distro/addfiles/rootfs/usr/share/images
   72.51 +	mkdir -p distro/addfiles/rootcd
   72.52 +	file-manager distro/addfiles &
   72.53 +}
   72.54 +
   72.55 +writeiso_action()
   72.56 +{
   72.57 +	xterm -geometry 80x16 \
   72.58 +		-title "writeiso" \
   72.59 +		-e "tazlito writeiso $COMPRESSION"
   72.60 +}
   72.61 +
   72.62 +gen_liveflavor_action()
   72.63 +{
   72.64 +	cd /home/slitaz
   72.65 +	sed -i "s/ISO_NAME=.*/ISO_NAME=\"slitaz-$GEN_LIVEFLAVOR_NAME\"/" \
   72.66 +		/etc/tazlito/tazlito.conf
   72.67 +	xterm -geometry 80x16 \
   72.68 +		-title "gen-liveflavor" \
   72.69 +		-e "tazlito gen-liveflavor $GEN_LIVEFLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close"
   72.70 +}
   72.71 +
   72.72 +clean_distro_action()
   72.73 +{
   72.74 +	cd /home/slitaz
   72.75 +	xterm -geometry 80x16 \
   72.76 +		-title "clean-distro" \
   72.77 +		-e "tazlito clean-distro && sleep 1"
   72.78 +}
   72.79 +
   72.80 +get_flavor_action()
   72.81 +{
   72.82 +	cd /home/slitaz
   72.83 +	xterm -geometry 80x16 \
   72.84 +		-title "get-flavor $COMMUNITY_FLAVOR" \
   72.85 +		-e "tazlito get-flavor $COMMUNITY_FLAVOR && echo -e \"----\nENTER to continue...\" && read close"
   72.86 +}
   72.87 +
   72.88 +gen_distro_action()
   72.89 +{
   72.90 +	cd /home/slitaz
   72.91 +	xterm -geometry 80x16 \
   72.92 +		-title "gen-distro" \
   72.93 +		-e "tazlito gen-distro && echo -e \"----\nENTER to continue...\" && read close"
   72.94 +}
   72.95 +
   72.96 +gen_flavor_action()
   72.97 +{
   72.98 +	cd /home/slitaz
   72.99 +	xterm -geometry 80x16 \
  72.100 +		-title "gen-flavor $GEN_FLAVOR_NAME" \
  72.101 +		-e "tazlito gen-flavor $GEN_FLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close"
  72.102 +}
  72.103 +
  72.104 +edit_distro_script()
  72.105 +{
  72.106 +	[ ! -f $DISTRO_SCRIPT ] && echo "#!/bin/sh" > $DISTRO_SCRIPT
  72.107 +	chmod +x $DISTRO_SCRIPT
  72.108 +	editor $DISTRO_SCRIPT
  72.109 +}
  72.110 +
  72.111 +# Boxes
  72.112 +
  72.113 +export HELP='
  72.114 +<window title="Tazlito Box - Help" icon-name="media-cdrom">
  72.115 +<vbox>
  72.116 +	<text use-markup="true">
  72.117 +		<label>"
  72.118 +<b>Tazlito Box - Help</b>"
  72.119 +		</label>
  72.120 +	</text>
  72.121 +	
  72.122 +	<frame Overview>
  72.123 +		<text wrap="true" width-chars="52" use-markup="true">
  72.124 +			<label>
  72.125 +"
  72.126 +Tazlito Box is a tiny interface to the SliTaz Live Tool aka Tazlito.
  72.127 +You can simply generate a LiveCD in a few minutes, using your
  72.128 +own flavor or one from the SliTaz community. Tazlito can also 
  72.129 +generate a LiveCD flavor using all of the currently installed 
  72.130 +packages. Tazlito commands are executed in a XTerm, you can 
  72.131 +press ENTER or the mouse to close the window.
  72.132 +"
  72.133 +			</label>
  72.134 +		</text>
  72.135 +	</frame>
  72.136 +	
  72.137 +	<frame Default paths>
  72.138 +		<text wrap="true" width-chars="50" use-markup="true">
  72.139 +			<label>
  72.140 +"
  72.141 +Distro      : /home/slitaz/distro
  72.142 +Flavors    : /home/slitaz/flavors
  72.143 +Packages : /home/slitaz/packages
  72.144 +"
  72.145 +			</label>
  72.146 +		</text>
  72.147 +	</frame>
  72.148 +	
  72.149 +	<hbox>
  72.150 +		<button>
  72.151 +			<input file icon="exit"></input>
  72.152 +			<action type="closewindow">HELP</action>
  72.153 +		</button>
  72.154 +	</hbox>
  72.155 +
  72.156 +</vbox>
  72.157 +</window>
  72.158 +'
  72.159 +
  72.160 +# List all flavors on the mirror.
  72.161 +export LIST_FLAVORS_BOX='
  72.162 +<window title="Community flavors list" icon-name="tazlito">
  72.163 +<vbox>
  72.164 +	<tree>
  72.165 +		<width>500</width><height>200</height>
  72.166 +		<variable>COMMUNITY_FLAVOR</variable>
  72.167 +		<label>Name|ISO|Rootfs|Description</label>
  72.168 +		<input exported_column="0">$BIN list_flavors</input>
  72.169 +	</tree>
  72.170 +	<hbox>
  72.171 +		<button>
  72.172 +			<label>Recharge list</label>
  72.173 +			<input file icon="reload"></input>
  72.174 +			<action>$BIN recharge_list</action>
  72.175 +			<action>refresh:COMMUNITY_FLAVOR</action>
  72.176 +		</button>
  72.177 +		<button>
  72.178 +			<label>Exit</label>
  72.179 +			<input file icon="exit"></input>
  72.180 +			<action type="closewindow">LIST_FLAVORS_BOX</action>
  72.181 +		</button>
  72.182 +	</hbox>
  72.183 +</vbox>
  72.184 +</window>'
  72.185 +
  72.186 +# Execute tazlito commands in a XTerm. Notebook: tab-pos="GTK_POS_LEFT"
  72.187 +export TAZLITO_BOX='
  72.188 +<window title="Tazlito Box" icon-name="media-cdrom">
  72.189 +<vbox>
  72.190 +
  72.191 +	<hbox>
  72.192 +	<text use-markup="true">
  72.193 +		<label>"<b>SliTaz Live Tool</b>"</label>
  72.194 +	</text>
  72.195 +	<pixmap>
  72.196 +		<input file>/usr/share/pixmaps/tazlito.png</input>
  72.197 +	</pixmap>
  72.198 +	</hbox>
  72.199 +
  72.200 +	<notebook labels="Writeiso|Live flavor|Flavors list|Gen flavor|Configuration">
  72.201 +
  72.202 +	<frame Filesystem to ISO>
  72.203 +
  72.204 +	<text wrap="true" width-chars="60" use-markup="true">
  72.205 +		<label>
  72.206 +"
  72.207 +Writeiso will generate an ISO image of the current filesystem as
  72.208 +is, including the /home directory. It is an easy way to remaster a
  72.209 +SliTaz Live system, you just have to: boot, modify, writeiso.
  72.210 +"
  72.211 +		</label>
  72.212 +	</text>
  72.213 +
  72.214 +	<hbox>
  72.215 +		<text use-markup="true">
  72.216 +			<label>"<b>Compression (gzip,lzma,none):</b>"</label>
  72.217 +		</text>
  72.218 +		<entry>
  72.219 +			<default>gzip</default>
  72.220 +			<variable>COMPRESSION</variable>
  72.221 +		</entry>
  72.222 +	</hbox>
  72.223 +
  72.224 +	<hbox>
  72.225 +		<button>
  72.226 +			<label>Writeiso</label>
  72.227 +			<input file icon="forward"></input>
  72.228 +			<action>$BIN writeiso_action</action>
  72.229 +		</button>
  72.230 +	</hbox>
  72.231 +	
  72.232 +	</frame>
  72.233 +	
  72.234 +	<frame Current packages selection>
  72.235 +	
  72.236 +	<text wrap="true" width-chars="60" use-markup="true">
  72.237 +		<label>
  72.238 +"
  72.239 +Gen Live flavor will create a LiveCD based on all the currently
  72.240 +installed packages. To build the rootfs and ISO image it will use
  72.241 +original SliTaz packages. Some addfiles can be copied before
  72.242 +gen distro.
  72.243 +"
  72.244 +		</label>
  72.245 +	</text>
  72.246 +
  72.247 +	<hbox>
  72.248 +		<text use-markup="true">
  72.249 +			<label>"<b>Flavor name :</b>"</label>
  72.250 +		</text>
  72.251 +		<entry>
  72.252 +			<default>slitaz</default>
  72.253 +			<variable>GEN_LIVEFLAVOR_NAME</variable>
  72.254 +		</entry>
  72.255 +	</hbox>
  72.256 +
  72.257 +	<hbox>
  72.258 +		<button>
  72.259 +			<label>Addfiles</label>
  72.260 +			<input file icon="gtk-open"></input>
  72.261 +			<action>$BIN addfiles_action</action>
  72.262 +		</button>
  72.263 +		<button>
  72.264 +			<label>Gen distro</label>
  72.265 +			<input file icon="forward"></input>
  72.266 +			<action>$BIN gen_liveflavor_action</action>
  72.267 +		</button>
  72.268 +		<button>
  72.269 +			<label>Clean distro</label>
  72.270 +			<input file icon="edit-clear"></input>
  72.271 +			<action>$BIN clean_distro_action</action>
  72.272 +		</button>
  72.273 +	</hbox>
  72.274 +
  72.275 +	</frame>
  72.276 +	
  72.277 +	<frame Community and personal flavors>
  72.278 +	
  72.279 +	<text wrap="true" width-chars="60" use-markup="true">
  72.280 +		<label>
  72.281 +"
  72.282 +Get and build preconfigured flavors from the community. Flavors
  72.283 +llist can be recharged from SliTaz mirror. Some addfiles can be
  72.284 +copied before generating the distro.
  72.285 +"
  72.286 +		</label>
  72.287 +	</text>
  72.288 +
  72.289 +	<hbox>
  72.290 +		<text use-markup="true">
  72.291 +			<label>"<b>Flavor :</b>"</label>
  72.292 +		</text>
  72.293 +		<entry>
  72.294 +			<default>core</default>
  72.295 +			<variable>COMMUNITY_FLAVOR</variable>
  72.296 +		</entry>
  72.297 +		<button>
  72.298 +			<label>List flavors</label>
  72.299 +			<input file icon="media-cdrom"></input>
  72.300 +			<action type="launch">LIST_FLAVORS_BOX</action>
  72.301 +		</button>
  72.302 +	</hbox>
  72.303 +
  72.304 +	<hbox>
  72.305 +		<button>
  72.306 +			<label>Get flavor</label>
  72.307 +			<input file icon="forward"></input>
  72.308 +			<action>$BIN get_flavor_action</action>
  72.309 +		</button>
  72.310 +		<button>
  72.311 +			<label>Addfiles</label>
  72.312 +			<input file icon="gtk-open"></input>
  72.313 +			<action>$BIN addfiles_action</action>
  72.314 +		</button>
  72.315 +		<button>
  72.316 +			<label>Gen distro</label>
  72.317 +			<input file icon="forward"></input>
  72.318 +			<action>$BIN gen_distro_action</action>
  72.319 +		</button>
  72.320 +		<button>
  72.321 +			<label>Clean distro</label>
  72.322 +			<input file icon="edit-clear"></input>
  72.323 +			<action>$BIN clean_distro_action</action>
  72.324 +		</button>
  72.325 +	</hbox>
  72.326 +
  72.327 +	</frame>
  72.328 +	<frame Generate a flavor>
  72.329 +
  72.330 +	<text wrap="true" width-chars="60" use-markup="true">
  72.331 +		<label>
  72.332 +"
  72.333 +Gen Flavor will generate a new flavor file based on rootfs in 
  72.334 +/home/slitaz/distro. All addfiles will be included in the flavor file.
  72.335 +"
  72.336 +		</label>
  72.337 +	</text>
  72.338 +
  72.339 +	<hbox>
  72.340 +		<text use-markup="true">
  72.341 +			<label>"<b>New flavor :</b>"</label>
  72.342 +		</text>
  72.343 +		<entry>
  72.344 +			<default>slitaz</default>
  72.345 +			<variable>GEN_FLAVOR_NAME</variable>
  72.346 +		</entry>
  72.347 +	</hbox>
  72.348 +	
  72.349 +	<hbox>
  72.350 +		<button>
  72.351 +			<label>Addfiles</label>
  72.352 +			<input file icon="gtk-open"></input>
  72.353 +			<action>$BIN addfiles_action</action>
  72.354 +		</button>
  72.355 +		<button>
  72.356 +			<label>Gen new flavor</label>
  72.357 +			<input file icon="forward"></input>
  72.358 +			<action>$BIN gen_flavor_action</action>
  72.359 +		</button>
  72.360 +	</hbox>
  72.361 +
  72.362 +	</frame>
  72.363 +	
  72.364 +	<frame Flavor config and packages list>
  72.365 +
  72.366 +	<text wrap="true" width-chars="60" use-markup="true">
  72.367 +		<label>
  72.368 +"
  72.369 +Before editing files you must have a flavor description. Distro
  72.370 +script can be used to perform actions into the rootfs before
  72.371 +compression.
  72.372 +"
  72.373 +		</label>
  72.374 +	</text>
  72.375 +
  72.376 +	<hbox>
  72.377 +		<text use-markup="true">
  72.378 +			<label>"<b>Flavor config :</b>"</label>
  72.379 +		</text>
  72.380 +		<entry>
  72.381 +			<default>/home/slitaz/tazlito.conf</default>
  72.382 +			<variable>CONFIG_FILE</variable>
  72.383 +		</entry>
  72.384 +		<button>
  72.385 +			<input file icon="accessories-text-editor"></input>
  72.386 +			<action>editor $CONFIG_FILE</action>
  72.387 +		</button>
  72.388 +	</hbox>
  72.389 +
  72.390 +	<hbox>
  72.391 +		<text use-markup="true">
  72.392 +			<label>"<b>Packages list :</b>"</label>
  72.393 +		</text>
  72.394 +		<entry>
  72.395 +			<default>/home/slitaz/distro-packages.list</default>
  72.396 +			<variable>PKGS_LIST</variable>
  72.397 +		</entry>
  72.398 +		<button>
  72.399 +			<input file icon="accessories-text-editor"></input>
  72.400 +			<action>editor $PKGS_LIST</action>
  72.401 +		</button>
  72.402 +	</hbox>
  72.403 +
  72.404 +	<hbox>
  72.405 +		<text use-markup="true">
  72.406 +			<label>"<b>Distro script :</b> "</label>
  72.407 +		</text>
  72.408 +		<entry>
  72.409 +			<default>/home/slitaz/distro.sh</default>
  72.410 +			<variable>DISTRO_SCRIPT</variable>
  72.411 +		</entry>
  72.412 +		<button>
  72.413 +			<input file icon="accessories-text-editor"></input>
  72.414 +			<action>$BIN edit_distro_script</action>
  72.415 +		</button>
  72.416 +	</hbox>
  72.417 +
  72.418 +	</frame>
  72.419 +
  72.420 +	</notebook>
  72.421 +
  72.422 +	<hbox>
  72.423 +		<button help>
  72.424 +			<input file icon="help-browser"></input>
  72.425 +			<action type="launch">HELP</action>
  72.426 +		</button>
  72.427 +		<button>
  72.428 +			<label>Exit</label>
  72.429 +			<input file icon="exit"></input>
  72.430 +			<action type="exit">Exit</action>
  72.431 +		</button>
  72.432 +	</hbox>
  72.433 +
  72.434 +</vbox>
  72.435 +</window>
  72.436 +'
  72.437 +
  72.438 +case $1 in
  72.439 +	*_*)
  72.440 +		# Exec all function called by args (must have an underscore).
  72.441 +		$1 ;;
  72.442 +	*)
  72.443 +		# Tazlitobox action.
  72.444 +		check_root
  72.445 +		gtkdialog --center --program=TAZLITO_BOX ;;
  72.446 +esac
  72.447 +
  72.448 +exit 0
    73.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    73.2 +++ b/xfce/rootfs/usr/bin/wifibox	Wed Feb 22 23:26:35 2012 +0100
    73.3 @@ -0,0 +1,634 @@
    73.4 +#!/bin/sh
    73.5 +#
    73.6 +# GTKdialog interface to manage wireless connections in a simple way.
    73.7 +# Use tabs to indent, split commands from the GUI and use functions.
    73.8 +# Favorite networks are also supported
    73.9 +#
   73.10 +# (c) 2010 SliTaz GNU/Linux - GNU gpl v3
   73.11 +#
   73.12 +VERSION=20100118
   73.13 +
   73.14 +# Export script path and others if needed so we can use them in 'quote'.
   73.15 +export BIN=$0
   73.16 +export FAVORITES_WIFI=/etc/wireless
   73.17 +. /etc/network.conf
   73.18 +
   73.19 +# Wifibox is only for root.
   73.20 +if test $(id -u) != 0 ; then
   73.21 +	exec subox wifibox
   73.22 +	exit 0
   73.23 +fi
   73.24 +
   73.25 +# Sanity check
   73.26 +[ -x /usr/sbin/iwconfig ] || tazpkg get-install wireless_tools
   73.27 +[ -d $FAVORITES_WIFI ] || mkdir -p $FAVORITES_WIFI
   73.28 +rm -f $FAVORITES_WIFI/any.conf
   73.29 +
   73.30 +# Catch ESSIDs and format output for GTK tree. We get the list of
   73.31 +# networks by Cell and without spaces.
   73.32 +detect_wifi_networks()
   73.33 +{
   73.34 +	desktopbox notify "Scanning Wireless interface: $WIFI_INTERFACE" &
   73.35 +	if [ -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then
   73.36 +		ifconfig $WIFI_INTERFACE up
   73.37 +		for i in `iwlist $WIFI_INTERFACE scan | sed s/"Cell "/Cell-/ | grep "Cell-" | awk '{print $1}'`
   73.38 +		do
   73.39 +			SCAN=`iwlist $WIFI_INTERFACE scan last | \
   73.40 +				awk '/(Cell|ESS|Qual|Encry|IE: WPA)/ {print}' | \
   73.41 +				sed s/"Cell "/Cell-/ | grep -A 5 "$i"`
   73.42 +			ESSID=`echo $SCAN | cut -d '"' -f 2`
   73.43 +			if echo "$SCAN" | grep -q Quality; then
   73.44 +				QUALITY=`echo $SCAN | sed 's/.*Quality=\([^ ]*\).*/\1/' | sed 's/.*Quality:\([^ ]*\).*/\1/'`
   73.45 +			else
   73.46 +				QUALITY="-"
   73.47 +			fi
   73.48 +			ENCRYPTION=`echo $SCAN | sed 's/.*key:\([^ ]*\).*/\1/'`
   73.49 +			# Check encryption type
   73.50 +			if echo "$SCAN" | grep -q WPA; then
   73.51 +				ENCRYPTION="${ENCRYPTION} (WPA)"
   73.52 +			fi
   73.53 +			# Connected or not connected...
   73.54 +			if ifconfig | grep -A 1 $WIFI_INTERFACE | \
   73.55 +				grep -q inet && iwconfig $WIFI_INTERFACE | \
   73.56 +				grep ESSID | grep -q -w "$ESSID"; then
   73.57 +				STATUS=connected
   73.58 +			else
   73.59 +				STATUS="-"
   73.60 +			fi
   73.61 +			echo -n ""
   73.62 +			echo "$ESSID | $QUALITY | $ENCRYPTION | $STATUS"
   73.63 +		done
   73.64 +	fi
   73.65 +}
   73.66 +
   73.67 +# cmdline functions
   73.68 +
   73.69 +# Toggle Software RF Switch on some laptops
   73.70 +set_rfswitch()
   73.71 +{
   73.72 +	for i in /proc/driver/acerhk/wirelessled /proc/acpi/asus/wled ; do
   73.73 +		[ -e $i ] && echo $1 > $i
   73.74 +	done
   73.75 +}
   73.76 +
   73.77 +# Configure /etc/network.conf and restart connection with init script.
   73.78 +start_wifi_connection()
   73.79 +{
   73.80 +	# Get tmp config created by connect_to_essid() if exists and set 
   73.81 +	# empty value to clean config file.
   73.82 +	if [ -f /tmp/wifi.conf ]; then
   73.83 +		. /tmp/wifi.conf
   73.84 +		WIFI_MODE=""
   73.85 +		WIFI_IWCONFIG_ARGS=""
   73.86 +		WIFI_CHANNEL=""
   73.87 +	fi
   73.88 +	sed -i "s/`grep ^WIFI= /etc/network.conf`/WIFI=\"yes\"/" \
   73.89 +		/etc/network.conf
   73.90 +	sed -i "s/`grep ^WIFI_INTERFACE= /etc/network.conf`/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" \
   73.91 +		/etc/network.conf
   73.92 +	sed -i "s/`grep ^WIFI_ESSID= /etc/network.conf`/WIFI_ESSID=\"$WIFI_ESSID\"/" \
   73.93 +		/etc/network.conf
   73.94 +	sed -i "s/`grep ^WIFI_KEY= /etc/network.conf`/WIFI_KEY=\"$WIFI_KEY\"/" \
   73.95 +		/etc/network.conf
   73.96 +	sed -i "s/`grep ^WIFI_MODE= /etc/network.conf`/WIFI_MODE=\"$WIFI_MODE\"/" \
   73.97 +		/etc/network.conf
   73.98 +	sed -i "s/`grep ^WIFI_IWCONFIG_ARGS= /etc/network.conf`/WIFI_IWCONFIG_ARGS=\"$WIFI_IWCONFIG_ARGS\"/" \
   73.99 +		/etc/network.conf
  73.100 +	sed -i "s/`grep ^WIFI_KEY_TYPE= /etc/network.conf`/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/" \
  73.101 +		/etc/network.conf
  73.102 +	sed -i "s/`grep ^WIFI_CHANNEL= /etc/network.conf`/WIFI_CHANNEL=\"$WIFI_CHANNEL\"/" \
  73.103 +		/etc/network.conf	
  73.104 +	[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`
  73.105 +	ifconfig $WIFI_INTERFACE down
  73.106 +	set_rfswitch 1 
  73.107 +	iwconfig $WIFI_INTERFACE txpower auto
  73.108 +	/etc/init.d/network.sh restart
  73.109 +	# Remove tmp file (could be used to have wireless profiles)
  73.110 +	rm -f /tmp/wifi.conf
  73.111 +	sleep 2
  73.112 +}
  73.113 +
  73.114 +# We must sleep 4 sec to refresh networks list.
  73.115 +stop_wifi_connexion()
  73.116 +{
  73.117 +	sed -i s/`grep ^WIFI= /etc/network.conf`/WIFI=\"no\"/ \
  73.118 +		/etc/network.conf
  73.119 +	[ -x /etc/init.d/wpa_supplicant ] && /etc/init.d/wpa_supplicant stop
  73.120 +	ifconfig $WIFI_INTERFACE down
  73.121 +	iwconfig $WIFI_INTERFACE txpower off
  73.122 +	set_rfswitch 0 
  73.123 +	[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`
  73.124 +	sleep 2
  73.125 +}
  73.126 +
  73.127 +# Favorite wireless networks use only 3 values: essid. key and type of
  73.128 +# key
  73.129 +favorites_wifi_list()
  73.130 +{
  73.131 +	for i in $FAVORITES_WIFI/*.conf
  73.132 +	do
  73.133 +		WIFI_ESSID=""
  73.134 +		WIFI_KEY=""
  73.135 +		WIFI_KEY_TYPE=""
  73.136 +		. "$i"
  73.137 +		[ -z "$WIFI_ESSID" ] && WIFI_ESSID="Bad config file: $i"
  73.138 +		[ -z "$WIFI_KEY_TYPE" ] && WIFI_KEY_TYPE="-"
  73.139 +		if [ -n "$WIFI_KEY" ]; then
  73.140 +			WIFI_KEY="********"
  73.141 +		else
  73.142 +			WIFI_KEY="-"
  73.143 +		fi
  73.144 +		echo "$WIFI_ESSID | $WIFI_KEY_TYPE | $WIFI_KEY"
  73.145 +	done
  73.146 +}
  73.147 +
  73.148 +favorite_wifi_actions()
  73.149 +{
  73.150 +	cp -a $FAVORITES_WIFI/"$FAVORITE".conf /tmp/wifi.conf
  73.151 +	. /tmp/wifi.conf
  73.152 +	export CONNECT_FAVORITE="
  73.153 +<window title=\"Connect to: $WIFI_ESSID\" icon-name=\"network-wireless\">
  73.154 +<vbox>
  73.155 +	
  73.156 +	<text width-chars=\"54\">
  73.157 +		<label>
  73.158 +\"
  73.159 +ESSID name: $WIFI_ESSID
  73.160 +\"
  73.161 +		</label>
  73.162 +	</text>
  73.163 +	
  73.164 +	<hbox>
  73.165 +		<button>
  73.166 +			<label>Connect</label>
  73.167 +			<input file icon=\"forward\"></input>	
  73.168 +			<action>$0 start_wifi_connection</action>
  73.169 +			<action type=\"exit\">exit</action>
  73.170 +		</button>
  73.171 +		<button>
  73.172 +			<label>Edit settings</label>
  73.173 +			<input file icon=\"accessories-text-editor\"></input>	
  73.174 +			<action>leafpad $FAVORITES_WIFI/\"$FAVORITE\".conf</action>
  73.175 +			<action>rm -f /tmp/wifi.conf</action>
  73.176 +			<action type=\"exit\">exit</action>
  73.177 +		</button>
  73.178 +		<button>
  73.179 +			<label>Delete</label>
  73.180 +			<input file icon=\"gtk-delete\"></input>	
  73.181 +			<action>rm -f $FAVORITES_WIFI/\"$FAVORITE\".conf</action>
  73.182 +			<action type=\"exit\">exit</action>
  73.183 +		</button>
  73.184 +		<button cancel></button>
  73.185 +	</hbox>
  73.186 +	
  73.187 +</vbox>
  73.188 +</window>"
  73.189 +	gtkdialog --center --program=CONNECT_FAVORITE >/dev/null
  73.190 +}
  73.191 +
  73.192 +add_favorite_network_box()
  73.193 +{
  73.194 +	ADD_FAVORITE='
  73.195 +<window title="Add new favorite Wireless" icon-name="network-wireless">
  73.196 +<vbox>
  73.197 +	<text width-chars="54">
  73.198 +		<label>
  73.199 +"
  73.200 +Please configure your new favorite Wireless network
  73.201 +"
  73.202 +		</label>
  73.203 +	</text>
  73.204 +	<hbox>
  73.205 +		<text use-markup="true">
  73.206 +			<label>"<b>ESSID:</b>"</label>
  73.207 +		</text>
  73.208 +		<entry>
  73.209 +			<variable>WIFI_ESSID</variable>
  73.210 +		</entry>
  73.211 +	</hbox>
  73.212 +	<hbox>
  73.213 +		<text use-markup="true">
  73.214 +			<label>"<b>Key:   </b>"</label>
  73.215 +		</text>
  73.216 +		<entry>
  73.217 +			<variable>WIFI_KEY</variable>
  73.218 +		</entry>
  73.219 +	</hbox>
  73.220 +	<hbox>
  73.221 +		<text use-markup="true">
  73.222 +			<label>"<b>Key type:</b>"</label>
  73.223 +		</text>
  73.224 +		<combobox>'
  73.225 +	tmp="${ADD_FAVORITE}<item>$WIFI_KEY_TYPE</item>"
  73.226 +	for i in none WEP WPA any; do
  73.227 +		tmp=${tmp}"<item>$i</item>"
  73.228 +	done
  73.229 +	export ADD_FAVORITE=${tmp}'
  73.230 +			<variable>WIFI_KEY_TYPE</variable>
  73.231 +		</combobox>
  73.232 +	</hbox>
  73.233 +	<hbox>
  73.234 +		<button>
  73.235 +			<label>Add to list</label>
  73.236 +			<input file icon="forward"></input>
  73.237 +			<action>echo "# Wireless connection configuration." > $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  73.238 +			<action>echo "#" >> /etc/wireless/"$WIFI_ESSID".conf</action>
  73.239 +			<action>echo "WIFI_ESSID=\"$WIFI_ESSID\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  73.240 +			<action>echo "WIFI_KEY=\"$WIFI_KEY\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  73.241 +			<action>echo "WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action>
  73.242 +			<action type="exit">exit</action>
  73.243 +		</button>
  73.244 +		<button cancel></button>
  73.245 +	</hbox>
  73.246 +</vbox>
  73.247 +</window>'
  73.248 +	gtkdialog --center --program=ADD_FAVORITE #>/dev/null
  73.249 +}
  73.250 +
  73.251 +# GUI functions
  73.252 +
  73.253 +helpbutton()
  73.254 +{
  73.255 +	local label;
  73.256 +        label="<label>$3</label>"
  73.257 +	[ -n "$3" ] || label=""
  73.258 +	cat << EOT
  73.259 +<button>
  73.260 +	<input file icon="help"></input>$label
  73.261 +	<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry $2 -title "$1 help" -e "$(which $1) --help ; echo -e \\"----\\nENTER to continue...\\" && read close"</action>
  73.262 +</button>
  73.263 +EOT
  73.264 +}
  73.265 +
  73.266 +manbutton()
  73.267 +{
  73.268 +	cat << EOT
  73.269 +<button>
  73.270 +	<input file icon="browser"></input>
  73.271 +	<label>man</label>
  73.272 +	<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x24 -title "$2 man (q to quit)" -e ". /etc/profile; man $1 $2"</action>
  73.273 +</button>
  73.274 +EOT
  73.275 +}
  73.276 +
  73.277 +# Independant dialog to connect on a wireless network. If encryption
  73.278 +# is on we ask for the security key.
  73.279 +connect_to_essid()
  73.280 +{
  73.281 +	SCAN=`iwlist $WIFI_INTERFACE scan | \
  73.282 +		awk '/(Cell|ESS|Qual|Encry|IE: WPA)/ {print}' | \
  73.283 +		grep -B 1 -A 1 "$ESSID_LIST"`
  73.284 +	WIFI_ESSID="$ESSID_LIST"
  73.285 +	ENCRYPTION=`echo $SCAN | sed 's/.*key:\([^ ]*\).*/\1/'`
  73.286 +	# Create tmp file used by active_wifi_connexion()
  73.287 +	cat > /tmp/wifi.conf << _EOF_
  73.288 +# Wireless connexion configuration file.
  73.289 +WIFI_ESSID="$ESSID_LIST"
  73.290 +_EOF_
  73.291 +	CONNECT_ESSID="
  73.292 +<window title=\"Connect to: $WIFI_ESSID\" icon-name=\"network-wireless\">
  73.293 +<vbox>
  73.294 +	<text width-chars=\"54\">
  73.295 +		<label>
  73.296 +\"
  73.297 +Connect $WIFI_INTERFACE to: $WIFI_ESSID
  73.298 +\"
  73.299 +		</label>
  73.300 +	</text>"
  73.301 +	# We maybe need a key to connect
  73.302 +	if [ "$ENCRYPTION" = "on" ] && [ "$ESSID_LIST" != "any" ]; then
  73.303 +		# WPA
  73.304 +		if echo "$SCAN" | grep -q WPA; then
  73.305 +			echo 'WIFI_KEY_TYPE="WPA"' >> /tmp/wifi.conf
  73.306 +			CONNECT_ESSID=${CONNECT_ESSID}'
  73.307 +			<hbox>
  73.308 +				<text use-markup="true">
  73.309 +					<label>"<b>WPA Key:</b>"</label>
  73.310 +				</text>
  73.311 +				<entry>
  73.312 +					<input>. /etc/network.conf; echo "$WIFI_KEY"</input>
  73.313 +					<variable>WIFI_KEY</variable>
  73.314 +				</entry>
  73.315 +			</hbox>'
  73.316 +		else
  73.317 +			# WEP
  73.318 +			echo 'WIFI_KEY_TYPE="WEP"' >> /tmp/wifi.conf
  73.319 +			CONNECT_ESSID=${CONNECT_ESSID}'
  73.320 +			<hbox>
  73.321 +				<text use-markup="true">
  73.322 +					<label>"<b>WEP Key:</b>"</label>
  73.323 +				</text>
  73.324 +				<entry>
  73.325 +					<input>. /etc/network.conf; echo "$WIFI_KEY"</input>
  73.326 +					<variable>WIFI_KEY</variable>
  73.327 +				</entry>
  73.328 +			</hbox>'
  73.329 +		fi
  73.330 +	else
  73.331 +		# No encryption
  73.332 +		echo 'WIFI_KEY=""' >> /tmp/wifi.conf
  73.333 +		echo 'WIFI_KEY_TYPE=""' >> /tmp/wifi.conf
  73.334 +		start_wifi_connection
  73.335 +		exit 0
  73.336 +	fi
  73.337 +	# Add key to config file so active_wifi_connexion() can use it.
  73.338 +	# WIFI_KEY is not exported if we quote with --> "
  73.339 +	export CONNECT_ESSID=${CONNECT_ESSID}'
  73.340 +	<hbox>
  73.341 +		<button>
  73.342 +			<label>Connect</label>
  73.343 +			<input file icon="forward"></input>	
  73.344 +			<action>echo "WIFI_KEY=\"$WIFI_KEY\"" >> /tmp/wifi.conf</action>
  73.345 +			<action>$BIN start_wifi_connection</action>
  73.346 +			<action type="exit">exit</action>
  73.347 +		</button>
  73.348 +		<button cancel></button>
  73.349 +	</hbox>
  73.350 +</vbox>
  73.351 +</window>'
  73.352 +	gtkdialog --center --program=CONNECT_ESSID #>/dev/null
  73.353 +}
  73.354 +
  73.355 +# Wifibox start with Networks tab.
  73.356 +box()
  73.357 +{
  73.358 +	WIFI_DIALOG="
  73.359 +<window title=\"Wireless manager\" icon-name=\"network-wireless\">
  73.360 +<vbox>
  73.361 +	
  73.362 +	<notebook labels=\"Networks|Favorites|Configuration|Drivers\">
  73.363 +	
  73.364 +	<vbox>
  73.365 +		<tree icon=\"network-wireless\">
  73.366 +			<width>520</width><height>160</height>
  73.367 +			<variable>ESSID_LIST</variable>
  73.368 +			<label>ESSID|Quality|Encryption|Status</label>
  73.369 +			<input>$0 detect_wifi_networks</input>
  73.370 +			<item icon=\"network-wireless\">any | * | off | (auto-connect)</item>
  73.371 +			<action>$0 connect_to_essid</action>
  73.372 +			<action>refresh:ESSID_LIST</action>
  73.373 +			<action>refresh:WIFI_ESSID</action>
  73.374 +			<action>refresh:WIFI_KEY</action>
  73.375 +			<action>refresh:WIFI_KEY_TYPE</action>
  73.376 +		</tree>
  73.377 +		<hbox>
  73.378 +			<text width-chars=\"54\">
  73.379 +				<label>
  73.380 +\"Please double click on a network to connect or enter security key\"
  73.381 +				</label>
  73.382 +			</text>
  73.383 +			<button>
  73.384 +				<label>Refresh list</label>
  73.385 +				<input file icon=\"reload\"></input>
  73.386 +				<action>refresh:ESSID_LIST</action>
  73.387 +			</button>
  73.388 +		</hbox>
  73.389 +	</vbox>"
  73.390 +	
  73.391 +	# Favorite networks
  73.392 +	WIFI_DIALOG=${WIFI_DIALOG}"	
  73.393 +	<vbox>
  73.394 +		<tree icon=\"network-wireless\">
  73.395 +			<width>500</width><height>160</height>
  73.396 +			<variable>FAVORITE</variable>
  73.397 +			<label>ESSID|Key Type|Key status</label>
  73.398 +			<input>$0 favorites_wifi_list</input>
  73.399 +			<item icon=\"network-wireless\">any | - | -</item>
  73.400 +			<action>$0 favorite_wifi_actions</action>
  73.401 +			<action>refresh:FAVORITE</action>
  73.402 +			<action>refresh:ESSID_LIST</action>
  73.403 +			<action>refresh:WIFI_ESSID</action>
  73.404 +			<action>refresh:WIFI_KEY</action>
  73.405 +			<action>refresh:WIFI_KEY_TYPE</action>
  73.406 +		</tree>
  73.407 +		<hbox>
  73.408 +			<text width-chars=\"50\">
  73.409 +				<label>
  73.410 +\"Please double click on a network to modify or remove it\"
  73.411 +				</label>
  73.412 +			</text>
  73.413 +			<button>
  73.414 +				<label>Add Network</label>
  73.415 +				<input file icon=\"gtk-add\"></input>
  73.416 +				<action>$0 add_favorite_network_box</action>
  73.417 +				<action>refresh:FAVORITE</action>
  73.418 +			</button>
  73.419 +		</hbox>
  73.420 +	</vbox>"
  73.421 +
  73.422 +	# Configuration tab
  73.423 +	WIFI_DIALOG=${WIFI_DIALOG}'
  73.424 +	<vbox>
  73.425 +		<frame Basic>
  73.426 +			<hbox>
  73.427 +				<text use-markup="true">
  73.428 +					<label>"<b>Interface:</b>"</label>
  73.429 +				</text>
  73.430 +				<entry>
  73.431 +					<input>. /etc/network.conf; echo "$WIFI_INTERFACE"</input>
  73.432 +					<variable>WIFI_INTERFACE</variable>
  73.433 +				</entry>
  73.434 +			</hbox>
  73.435 +			<hbox>
  73.436 +				<text use-markup="true">
  73.437 +					<label>"<b>ESSID:        </b>"</label>
  73.438 +				</text>
  73.439 +				<entry>
  73.440 +					<input>. /etc/network.conf; echo "$WIFI_ESSID"</input>
  73.441 +					<variable>WIFI_ESSID</variable>
  73.442 +				</entry>
  73.443 +			</hbox>
  73.444 +			<hbox>
  73.445 +				<text use-markup="true">
  73.446 +					<label>"<b>Key:           </b>"</label>
  73.447 +				</text>
  73.448 +				<entry>
  73.449 +					<input>. /etc/network.conf; echo "$WIFI_KEY"</input>
  73.450 +					<variable>WIFI_KEY</variable>
  73.451 +				</entry>
  73.452 +				<combobox>'
  73.453 +	tmp2="${WIFI_DIALOG}<item>$WIFI_KEY_TYPE</item>"
  73.454 +	for i in none WEP WPA any; do
  73.455 +		[ "$i" = "$WIFI_KEY_TYPE" ] || tmp2="$tmp2<item>$i</item>"
  73.456 +	done
  73.457 +	tmp3='		<variable>WIFI_KEY_TYPE</variable>
  73.458 +				</combobox>
  73.459 +			</hbox>
  73.460 +		</frame>
  73.461 +		<frame Advanced>
  73.462 +			<hbox>
  73.463 +				<text use-markup="true">
  73.464 +					<label>"<b>Channel/Mode:</b>"</label>
  73.465 +				</text>
  73.466 +				<entry>
  73.467 +					<input>. /etc/network.conf; echo "$WIFI_CHANNEL"</input>
  73.468 +					<variable>WIFI_CHANNEL</variable>
  73.469 +				</entry>
  73.470 +				
  73.471 +				<combobox>
  73.472 +					<variable>WIFI_MODE</variable>'
  73.473 +	tmp2="$tmp2$tmp3<item>$WIFI_MODE</item>"
  73.474 +	for i in managed ad-hoc master repeater secondary monitor; do
  73.475 +		[ "$i" = "$WIFI_MODE" ] || tmp2="$tmp2<item>$i</item>"
  73.476 +	done
  73.477 +	tmp3='		</combobox>
  73.478 +			</hbox>
  73.479 +			<hbox>
  73.480 +				<text use-markup="true">
  73.481 +					<label>"<b>Iwconfig args:</b> "</label>
  73.482 +				</text>
  73.483 +				<entry>
  73.484 +					<input>. /etc/network.conf; echo "$WIFI_IWCONFIG_ARGS"</input>
  73.485 +					<variable>WIFI_IWCONFIG_ARGS</variable>
  73.486 +				</entry>'
  73.487 +	WIFI_DIALOG="$tmp$tmp2$tmp3
  73.488 +	$(helpbutton iwconfig 80x24)
  73.489 +	$(manbutton 8 iwconfig)
  73.490 +			</hbox>
  73.491 +		</frame>"
  73.492 +		
  73.493 +	# Start Button for manual configuration.
  73.494 +	WIFI_DIALOG=${WIFI_DIALOG}'
  73.495 +		<hbox>
  73.496 +			<button>
  73.497 +				<label>Start connection</label>
  73.498 +				<input file icon="forward"></input>
  73.499 +				<action>[ "$WIFI_KEY_TYPE" = "WPA" -a ! -x /usr/bin/wpa_supplicant ] && xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x17 -title "wpa_supplicant install" -e "tazpkg get-install wpa_supplicant ; echo -e \"----\n\nENTER to continue...\" && read close"</action>
  73.500 +				<action>sed -i s/`grep ^WIFI= /etc/network.conf`/WIFI=\"yes\"/ /etc/network.conf</action>
  73.501 +				<action>sed -i s/`grep ^WIFI_INTERFACE= /etc/network.conf`/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/ /etc/network.conf</action>
  73.502 +				<action>sed -i s/`grep ^WIFI_ESSID= /etc/network.conf`/WIFI_ESSID=\"$WIFI_ESSID\"/ /etc/network.conf</action>
  73.503 +				<action>sed -i s/`grep ^WIFI_KEY= /etc/network.conf`/WIFI_KEY=\"$WIFI_KEY\"/ /etc/network.conf</action>
  73.504 +				<action>sed -i s/`grep ^WIFI_MODE= /etc/network.conf`/WIFI_MODE=\"$WIFI_MODE\"/ /etc/network.conf</action>
  73.505 +				<action>sed -i "s/`grep ^WIFI_IWCONFIG_ARGS= /etc/network.conf`/WIFI_IWCONFIG_ARGS=\"$WIFI_IWCONFIG_ARGS\"/" /etc/network.conf</action>
  73.506 +				<action>sed -i s/`grep ^WIFI_KEY_TYPE= /etc/network.conf`/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/ /etc/network.conf</action>
  73.507 +				<action>sed -i s/`grep ^WIFI_CHANNEL= /etc/network.conf`/WIFI_CHANNEL=\"$WIFI_CHANNEL\"/ /etc/network.conf</action>
  73.508 +				<action>[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`</action>
  73.509 +				<action>ifconfig $WIFI_INTERFACE down</action>
  73.510 +				<action>iwconfig $WIFI_INTERFACE txpower auto</action>
  73.511 +				<action>/etc/init.d/network.sh restart</action>
  73.512 +				<action>refresh:ESSID_LIST</action>
  73.513 +				<action>refresh:WIFI_ESSID</action>
  73.514 +				<action>refresh:WIFI_KEY</action>
  73.515 +				<action>refresh:WIFI_KEY_TYPE</action>
  73.516 +			</button>
  73.517 +		</hbox>
  73.518 +	</vbox>'
  73.519 +
  73.520 +	# Kernel Modules, firmware and tazndisbox note + button.
  73.521 +	WIFI_DIALOG=${WIFI_DIALOG}"
  73.522 +	<vbox>
  73.523 +		<hbox>
  73.524 +			<text width-chars=\"64\">
  73.525 +				<label>
  73.526 +\"
  73.527 +Some Wireless Adapters need non-free firmware. Please install the
  73.528 +firmware before loading the corresponding module. Note: you can use 
  73.529 +Tazhw to automatically detect your PCI, PCMCIA or USB Wireless adapter.
  73.530 +\"
  73.531 +				</label>
  73.532 +			</text>
  73.533 +		</hbox>
  73.534 +		<hbox>
  73.535 +			<text use-markup=\"true\">
  73.536 +				<label>\"<b>Tools:</b>\"</label>
  73.537 +			</text>
  73.538 +			<button>
  73.539 +				<input file icon=\"computer\"></input>
  73.540 +				<label>Auto detect devices</label>
  73.541 +				<action>tazhw box</action>
  73.542 +				<action>refresh:ESSID_LIST</action>
  73.543 +			</button>"
  73.544 +			# Display firmware stuff, tazndisbox button if installed and close 
  73.545 +			# tab + notebook
  73.546 +			if [ -x /usr/bin/tazndisbox ]; then
  73.547 +				WIFI_DIALOG=${WIFI_DIALOG}"
  73.548 +			<button>
  73.549 +				<input file icon=\"system-installer\"></input>
  73.550 +				<label>Install Windows driver</label>
  73.551 +				<action>tazndisbox</action>
  73.552 +				<action>refresh:ESSID_LIST</action>
  73.553 +			</button>"
  73.554 +			fi
  73.555 +		WIFI_DIALOG=${WIFI_DIALOG}"
  73.556 +		</hbox>
  73.557 +		<hbox>
  73.558 +			<text use-markup=\"true\">
  73.559 +				<label>\"<b>Module:</b>\"</label>
  73.560 +			</text>
  73.561 +			<combobox>
  73.562 +				<variable>MODULE</variable>"
  73.563 +	WIFI_DIALOG="${WIFI_DIALOG}$(find /lib/modules/$(uname -r)/kernel/drivers/net/wireless -type f 2> /dev/null |  sed 's,/.*/\(.*\).ko.*,<item>\1</item>,')"
  73.564 +	WIFI_DIALOG=${WIFI_DIALOG}'
  73.565 +			</combobox>
  73.566 +			<button>
  73.567 +				<label>Load</label>
  73.568 +				<input file icon="forward"></input>
  73.569 +				<action>modprobe $MODULE</action>
  73.570 +			</button>
  73.571 +			<button>
  73.572 +				<label>Unload</label>
  73.573 +				<input file icon="undo"></input>
  73.574 +				<action>modprobe -r $MODULE</action>
  73.575 +			</button>
  73.576 +			<button>
  73.577 +				<label>Lsmod</label>
  73.578 +				<input file icon="computer"></input>
  73.579 +				<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x25 -title "Modules (q to quit)" -e "lsmod | less"</action>
  73.580 +			</button>
  73.581 +		</hbox>'
  73.582 +	# Firmware stuff.
  73.583 +	tmp=$(for i in /usr/bin/get*firmware; do
  73.584 +		[ -x $i ] || continue
  73.585 +		[ "$i" = "/usr/bin/get-wifi-firmware" ] && continue
  73.586 +		[ -d /var/lib/tazpkg/installed/${i#/usr/bin/get-} ] && continue
  73.587 +		echo "<item>${i#/usr/bin/get-}</item>"; done)
  73.588 +		[ -n "$tmp" ] && tmp="
  73.589 +		<hbox>
  73.590 +			<text use-markup=\"true\">
  73.591 +				<label>\"<b>Firmware:</b>\"</label>
  73.592 +			</text>
  73.593 +			<combobox><variable>FIRMWARE</variable>$tmp</combobox>
  73.594 +			<button>
  73.595 +				<label>Install</label>
  73.596 +				<input file icon=\"go-jump\"></input>
  73.597 +				<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x25 -title \"Install \$FIRMWARE\" -e \"get-\$FIRMWARE\"</action>
  73.598 +				<action>refresh:ESSID_LIST</action>
  73.599 +			</button>
  73.600 +			<button>
  73.601 +				<input file icon=\"system-file-manager\"></input>
  73.602 +				<label>List files</label>
  73.603 +				<action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 100x25 -title \"Firmware files (q to quit)\" -e \"find /lib/firmware -exec ls -ld {} \; | less\"</action>
  73.604 +				<action>refresh:ESSID_LIST</action>
  73.605 +			</button>
  73.606 +		</hbox>"
  73.607 +
  73.608 +# Bottom buttons
  73.609 +export WIFI_DIALOG=${WIFI_DIALOG}${tmp}"
  73.610 +		</vbox>
  73.611 +	</notebook>
  73.612 +	<hbox>
  73.613 +		<button>
  73.614 +			<label>Stop connection</label>
  73.615 +			<input file icon=\"stop\"></input>
  73.616 +			<action>$0 stop_wifi_connexion</action>
  73.617 +			<action>refresh:ESSID_LIST</action>
  73.618 +		</button>
  73.619 +		<button>
  73.620 +			<label>Exit</label>
  73.621 +			<input file icon=\"exit\"></input>
  73.622 +			<action type=\"exit\">Exit</action>
  73.623 +		</button>
  73.624 +	</hbox>
  73.625 +	
  73.626 +</vbox>
  73.627 +</window>"
  73.628 +	gtkdialog --center --program=WIFI_DIALOG #>/dev/null 2>&1
  73.629 +}
  73.630 +
  73.631 +if [ -n "$1" ]; then
  73.632 +	$1
  73.633 +else
  73.634 +	box
  73.635 +fi
  73.636 +
  73.637 +exit 0
    74.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    74.2 +++ b/xfce/rootfs/usr/share/applications/burnbox-doc.desktop	Wed Feb 22 23:26:35 2012 +0100
    74.3 @@ -0,0 +1,8 @@
    74.4 +[Desktop Entry]
    74.5 +Encoding=UTF-8
    74.6 +Name=Burnbox manual
    74.7 +Name[pt]=Manual do Burnbox
    74.8 +Exec=browser file:///usr/share/doc/slitaz-tools/burnbox.html
    74.9 +Icon=text-html
   74.10 +Type=Application
   74.11 +Categories=Documentation;
    75.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    75.2 +++ b/xfce/rootfs/usr/share/applications/gpl-license.desktop	Wed Feb 22 23:26:35 2012 +0100
    75.3 @@ -0,0 +1,8 @@
    75.4 +[Desktop Entry]
    75.5 +Encoding=UTF-8
    75.6 +Name=GNU General Public License
    75.7 +Name[pt]=Licença PuÌblica Geral GNU
    75.8 +Exec=browser file:///usr/share/licenses/gpl.txt
    75.9 +Icon=text-x-generic
   75.10 +Type=Application
   75.11 +Categories=Documentation;
    76.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    76.2 +++ b/xfce/rootfs/usr/share/applications/system-doc.desktop	Wed Feb 22 23:26:35 2012 +0100
    76.3 @@ -0,0 +1,8 @@
    76.4 +[Desktop Entry]
    76.5 +Name=System Doc
    76.6 +Name[fr]=Doc du système
    76.7 +Name[pt]=Documentação do Sistema
    76.8 +Exec=browser file:///usr/share/doc/slitaz/index.html
    76.9 +Icon=slitaz-doc.png
   76.10 +Type=Application
   76.11 +Categories=Documentation;
    77.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    77.2 +++ b/xfce/rootfs/usr/share/applications/tazlito-doc.desktop	Wed Feb 22 23:26:35 2012 +0100
    77.3 @@ -0,0 +1,9 @@
    77.4 +[Desktop Entry]
    77.5 +Name=Tazlito manual
    77.6 +Name[fr]=Manuel de Tazlito
    77.7 +Comment=SliTaz LiveCD generator and editor
    77.8 +Comment[fr]=Manuel de l'outil de geÌneÌration et eÌdition de LiveCD
    77.9 +Exec=browser file:///usr/share/doc/tazlito/tazlito.html
   77.10 +Icon=text-html
   77.11 +Type=Application
   77.12 +Categories=Documentation;
    78.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    78.2 +++ b/xfce/rootfs/usr/share/applications/tazlitobox.desktop	Wed Feb 22 23:26:35 2012 +0100
    78.3 @@ -0,0 +1,8 @@
    78.4 +[Desktop Entry]
    78.5 +Encoding=UTF-8
    78.6 +Name=Create a LiveCD
    78.7 +Name[fr]=Créer un LiveCD
    78.8 +Exec=subox tazlitobox
    78.9 +Icon=tazlito
   78.10 +Type=Application
   78.11 +Categories=System;
    79.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    79.2 +++ b/xfce/rootfs/usr/share/applications/tazpkg-doc.desktop	Wed Feb 22 23:26:35 2012 +0100
    79.3 @@ -0,0 +1,9 @@
    79.4 +[Desktop Entry]
    79.5 +Name=Tazpkg manual
    79.6 +Name[fr]=Manuel de Tazpkg
    79.7 +Comment=SliTaz packages manager manual
    79.8 +Comment[fr]=Manuel du gestionnaire de paquets SliTaz
    79.9 +Exec=browser file:///usr/share/doc/tazpkg/tazpkg.html
   79.10 +Icon=text-html
   79.11 +Type=Application
   79.12 +Categories=Documentation;
    80.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    80.2 +++ b/xfce/rootfs/usr/share/doc/slitaz/book.css	Wed Feb 22 23:26:35 2012 +0100
    80.3 @@ -0,0 +1,195 @@
    80.4 +/* 
    80.5 +	CSS style for SliTaz GNU/Linux *book.
    80.6 +	Pankso 2007 - www.slitaz.org
    80.7 +*/
    80.8 +
    80.9 +html {
   80.10 +	height:  102%;
   80.11 +}
   80.12 +
   80.13 +body {
   80.14 +	font: 13px sans-serif, vernada, arial;
   80.15 +	background: #ffffff;
   80.16 +	color: black;
   80.17 +	margin: 0;
   80.18 +}
   80.19 +
   80.20 +#header {
   80.21 +	background: #f0ba08 url(images/css/header.png) repeat-x top;
   80.22 +	color: black;
   80.23 +	height: 50px;
   80.24 +	border-top: 1px solid black;
   80.25 +	border-bottom: 1px solid black;
   80.26 +}
   80.27 +
   80.28 +#header h1 {
   80.29 +	padding: 10px;
   80.30 +}
   80.31 +
   80.32 +#quicknav {
   80.33 +	text-align: right;
   80.34 +	font-size: 12px;
   80.35 +	color: #666666;
   80.36 +	background-color: #eaeaea;
   80.37 +	padding: 4px 2px;
   80.38 +	font-weight: bold;
   80.39 +}
   80.40 +
   80.41 +#quicknav a {
   80.42 +	color: #0F314E;
   80.43 +	background: inherit;
   80.44 +	text-decoration: none;
   80.45 +	padding: 0px 2px;
   80.46 +}
   80.47 +
   80.48 +#quicknav a:hover {
   80.49 +	color: #DF8F06;
   80.50 +	text-decoration: none;
   80.51 +}
   80.52 +
   80.53 +/*  content. */
   80.54 +
   80.55 +#content {
   80.56 +	padding: 20px;
   80.57 +	margin: 0px 50px 0px 50px;
   80.58 +	width: auto;
   80.59 +	text-align: justify;
   80.60 +}
   80.61 +
   80.62 +#content li {
   80.63 +	line-height: 1.5em;
   80.64 +	text-align: left;
   80.65 +}
   80.66 +
   80.67 +/*  Footer. */
   80.68 +
   80.69 +#footer {
   80.70 +	font-size: 11px;
   80.71 +	color: black;
   80.72 +	height: 20px;
   80.73 +	padding: 0px 0px 0px 10px;
   80.74 +	margin: 0px;
   80.75 +	width: auto;
   80.76 +	text-align: center ;
   80.77 +}
   80.78 +
   80.79 +#footer a {
   80.80 +	background: #ffffff;
   80.81 +	color: #0F314E;
   80.82 +}
   80.83 +
   80.84 +#footer a:hover {
   80.85 +	background: #ffffff;
   80.86 +	color: blue;
   80.87 +}
   80.88 +
   80.89 +/* Legal informations */
   80.90 +
   80.91 +#copy {
   80.92 +	font-size: 11px ;
   80.93 +	text-align: center ;
   80.94 +	background: transparent;
   80.95 +	color: #a8a8a8;
   80.96 +	padding-top: 10px;
   80.97 +}
   80.98 +
   80.99 +#copy a {
  80.100 +	background: inherit;
  80.101 +	color: #a8a8a8;
  80.102 +}
  80.103 +
  80.104 +#copy a:hover {
  80.105 +	background: inherit;
  80.106 +	color: blue;
  80.107 +}
  80.108 +
  80.109 +/* Clouds */
  80.110 +
  80.111 +#cloud {
  80.112 +	padding: 10px 120px 10px 120px;
  80.113 +	line-height: 3em;
  80.114 +	text-align: center;
  80.115 +}
  80.116 +#cloud a { padding: 4px; color: #956411; }
  80.117 +#cloud a.tag1 { font-size: 0.7em; font-weight: 100; }
  80.118 +#cloud a.tag2 { font-size: 0.8em; font-weight: 200; }
  80.119 +#cloud a.tag3 { font-size: 0.9em; font-weight: 300; }
  80.120 +#cloud a.tag4 { font-size: 1.0em; font-weight: 400; }
  80.121 +#cloud a.tag5 { font-size: 1.2em; font-weight: 500; }
  80.122 +#cloud a.tag6 { font-size: 1.4em; font-weight: 600; }
  80.123 +#cloud a.tag7 { font-size: 1.6em; font-weight: 700; }
  80.124 +#cloud a.tag8 { font-size: 1.8em; font-weight: 800; }
  80.125 +#cloud a.tag9 { font-size: 2.2em; font-weight: 900; }
  80.126 +#cloud a.tag10 { font-size: 2.5em; font-weight: 900; }
  80.127 +
  80.128 +/* Div for round corners. */
  80.129 +
  80.130 +.content-right, .footer-right {
  80.131 +	width: 16px;
  80.132 +	color: white;
  80.133 +	background-color: #333333;
  80.134 +}
  80.135 +.content-right {
  80.136 +	background: url(images/css/content-tr.png) no-repeat top right;
  80.137 +	height: 16px;
  80.138 +	right: 50px;
  80.139 +	top: 82px;
  80.140 +	position: absolute;
  80.141 +}
  80.142 +
  80.143 +.footer-right {
  80.144 +	background: url(images/css/footer-br.png) no-repeat bottom right;
  80.145 +	height: 20px;
  80.146 +	float: right;
  80.147 +}
  80.148 +
  80.149 +/* General HTML entities for  content. */
  80.150 +
  80.151 +h1 {
  80.152 +	margin: 0px 0px 0px 16px;
  80.153 +}
  80.154 +
  80.155 +h2 {
  80.156 +	margin: 12px 0;
  80.157 +	color: #484B7C;
  80.158 +	background: white;
  80.159 +}
  80.160 +
  80.161 +h3 {
  80.162 +	font-weight: bold;
  80.163 +	color: #6c0023;
  80.164 +	background: white;
  80.165 +}
  80.166 +
  80.167 +a {
  80.168 +	text-decoration: underline;
  80.169 +}
  80.170 +a:hover {
  80.171 +	text-decoration: none;
  80.172 +}
  80.173 +
  80.174 +pre {
  80.175 +	padding: 5px;
  80.176 +	color: black;
  80.177 +	background: #e1e0b0;
  80.178 +}
  80.179 +pre.script {
  80.180 +	padding: 10px;
  80.181 +	color: black;
  80.182 +	background: #e8e8e8;
  80.183 +	border: 1px inset #333333;
  80.184 +}
  80.185 +
  80.186 +code {
  80.187 +	font-size: 12px;
  80.188 +	color: #669900;
  80.189 +	background: transparent;
  80.190 +}
  80.191 +
  80.192 +li {
  80.193 +	line-height: 1.4em;
  80.194 +}
  80.195 +
  80.196 +hr {
  80.197 +	border: 0pt none;
  80.198 +}
    81.1 Binary file xfce/rootfs/usr/share/doc/slitaz/favicon.ico has changed
    82.1 Binary file xfce/rootfs/usr/share/doc/slitaz/images/css/header.png has changed
    83.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    83.2 +++ b/xfce/rootfs/usr/share/doc/slitaz/index.de.html	Wed Feb 22 23:26:35 2012 +0100
    83.3 @@ -0,0 +1,67 @@
    83.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    83.5 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    83.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    83.7 +<head>
    83.8 +	<title>SliTaz - System doc (de)</title>
    83.9 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   83.10 +	<meta name="description" content="slitaz doc system releases notes information cooking" />
   83.11 +	<meta name="expires" content="never" />
   83.12 +	<meta name="modified" content="2009-04-16 10:30:00" />
   83.13 +	<meta name="publisher" content="www.slitaz.org" />
   83.14 +	<meta name="author" content="Christophe Lincoln"/>
   83.15 +	<link rel="shortcut icon" href="favicon.ico" />
   83.16 +	<link rel="stylesheet" type="text/css" href="book.css" />
   83.17 +</head>
   83.18 +<body bgcolor="#ffffff">
   83.19 +
   83.20 +<!-- Header and quick navigation -->
   83.21 +<div id="header">
   83.22 +<h1><font color="#3E1220">SliTaz - System doc</font></h1>
   83.23 +</div>
   83.24 +
   83.25 +<div id="quicknav">
   83.26 +	SliTaz:
   83.27 +	<a href="http://www.slitaz.org/">Website</a>
   83.28 +	<a href="http://forum.slitaz.org/">Forum</a>
   83.29 +	<a href="http://wiki.slitaz.org/">Wiki</a>
   83.30 +	<a href="http://labs.slitaz.org/">Labs</a>
   83.31 +</div>
   83.32 +
   83.33 +<!-- Content. -->
   83.34 +<div id="content">
   83.35 +
   83.36 +<h2><font color="#DF8F06">Documentation (de)</font></h2>
   83.37 +
   83.38 +<p>
   83.39 +SliTaz GNU/Linux stable Release wird mit den Dokumentationen für die 
   83.40 +SliTaz-Werkzeuge und den deutschen Release Notes veröffentlicht. Dokumentation
   83.41 +und diese Seite sind über das Openboxenü erreichbar. Bitte konsultieren Sie 
   83.42 +ebenfalls die <a href="http://www.slitaz.org/de/">Deutsche Projektseite</a> 
   83.43 +für allgemeine Informationen über SliTaz. Für die Benutzung des Systems lesen
   83.44 +Sie bitte das deutsche Handbuch. das Teil des 
   83.45 +<a href="http://wiki.slitaz.org/">SliTaz Wiki</a> ist.
   83.46 +</p>
   83.47 +
   83.48 +<!-- End of content -->
   83.49 +</div>
   83.50 +
   83.51 +<!-- Footer. -->
   83.52 +<div id="footer">
   83.53 +	<a href="#top">Top of the page</a> - Languages:
   83.54 +	<a href="index.de.html">de</a> |
   83.55 +	<a href="index.en.html">en</a> |
   83.56 +	<a href="index.fr.html">fr</a> |
   83.57 +	<a href="index.hu.html">hu</a> |
   83.58 +	<a href="index.pt.html">pt</a>
   83.59 +</div>
   83.60 +
   83.61 +<div id="copy">
   83.62 +	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   83.63 +	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   83.64 +	Documentation uder
   83.65 +	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   83.66 +	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   83.67 +</div>
   83.68 +
   83.69 +</body>
   83.70 +</html>
    84.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    84.2 +++ b/xfce/rootfs/usr/share/doc/slitaz/index.en.html	Wed Feb 22 23:26:35 2012 +0100
    84.3 @@ -0,0 +1,176 @@
    84.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    84.5 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    84.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    84.7 +<head>
    84.8 +	<title>SliTaz - System doc</title>
    84.9 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   84.10 +	<meta name="description" content="slitaz doc system releases notes information cooking" />
   84.11 +	<meta name="expires" content="never" />
   84.12 +	<meta name="modified" content="2009-12-29 12:10:00" />
   84.13 +	<meta name="publisher" content="www.slitaz.org" />
   84.14 +	<meta name="author" content="Christophe Lincoln"/>
   84.15 +	<link rel="shortcut icon" href="favicon.ico" />
   84.16 +	<link rel="stylesheet" type="text/css" href="book.css" />
   84.17 +</head>
   84.18 +<body bgcolor="#ffffff">
   84.19 +
   84.20 +<!-- Header and quick navigation -->
   84.21 +<div id="header">
   84.22 +	<a name="top"></a>
   84.23 +	<h1><font color="#3E1220">SliTaz - System doc</font></h1>
   84.24 +</div>
   84.25 +
   84.26 +<div id="quicknav">
   84.27 +	SliTaz:
   84.28 +	<a href="http://www.slitaz.org/">Website</a>
   84.29 +	<a href="http://forum.slitaz.org/">Forum</a>
   84.30 +	<a href="http://wiki.slitaz.org/">Wiki</a>
   84.31 +	<a href="http://labs.slitaz.org/">Labs</a>
   84.32 +</div>
   84.33 +
   84.34 +<!-- Content. -->
   84.35 +<div id="content">
   84.36 +
   84.37 +<h2><font color="#DF8F06">Documentation (en)</font></h2>
   84.38 +
   84.39 +<p>
   84.40 +The Cooking version doesn't provide any Release Notes, major changes are announced
   84.41 +on the web site and the <a href="http://labs.slitaz.org/">Labs</a> provide
   84.42 +fresh news about the project's activity. Like the stable version, you will 
   84.43 +find <a href="http://www.slitaz.org/en/doc/">documentation</a> on the web 
   84.44 +site and support on the community <a href="http://forum.slitaz.org/">forum</a>.
   84.45 +</p>
   84.46 +
   84.47 +<!--
   84.48 +<p>
   84.49 +SliTaz GNU/Linux stable release is published with the project tools, 
   84.50 +manuals and Release Notes installed on the system. Manuals and this page
   84.51 +are accessible through the Openbox menu. Please check the 
   84.52 +<a href="http://www.slitaz.org/en/">project page</a> for general 
   84.53 +information on SliTaz. To use and configure the system you can read the 
   84.54 +<a href="http://www.slitaz.org/en/doc/handbook/">Handbook</a>.
   84.55 +Community documentation can be found on the
   84.56 +<a href="http://wiki.slitaz.org/">SliTaz Wiki</a> and support on the SliTaz
   84.57 +community <a href="http://forum.slitaz.org/#idx2">Forum</a>. 
   84.58 +</p>
   84.59 +-->
   84.60 +
   84.61 +<h2><font color="#DF8F06">Getting started</font></h2>
   84.62 +
   84.63 +<a name="network"></a>
   84.64 +<h3>Network connections</h3>
   84.65 +<p>
   84.66 +Click on the "Network Status Monitor" at the bottom right of the screen, 
   84.67 +"Configure" and then the network manager (netbox) will come up. You can 
   84.68 +go to the "DHCP" tab and click "Start", and Slitaz will send a DHCP request 
   84.69 +to the local router. You may also setup a static IP, PPPoE, PPP, VPN and 
   84.70 +more using their respective tabs. To configure a wireless connection you 
   84.71 +can use SliTaz wifibox by clicking "Wireless Manager" in the Network Manager 
   84.72 +or by using the "System Tools" menu entry -> "Wireless networks connections".
   84.73 +</p>
   84.74 +<p>
   84.75 +More detailed information can be found in the Handbook: 
   84.76 +<a href="http://www.slitaz.org/en/doc/handbook/network-config.html"
   84.77 +	>Network configuration</a>
   84.78 +</p>
   84.79 +
   84.80 +<a name="apps"></a>
   84.81 +<h3>Applications</h3>
   84.82 +<p>
   84.83 +To have a list of all graphical applications you can use the SliTaz menu button 
   84.84 +at the bottom left of the screen. To have a list of command line tools, you
   84.85 +can open a terminal and double press on the tabulation button. And to have
   84.86 +a list of all installed packages you can use the package manager user interface
   84.87 +using the panel icon or from the "System Tools" menu. To install any new packages
   84.88 +you must have a network connection, the DVD of packages or an USB storage device 
   84.89 +with downloaded packages from another machine. Naturally any package management
   84.90 +can also be done from the command line and <code>tazpkg</code>.
   84.91 +</p>
   84.92 +
   84.93 +<a name="office"></a>
   84.94 +<h3>Office suite</h3>
   84.95 +<p>
   84.96 +The SliTaz packages database provides some lightweight office applications.
   84.97 +All of these packages are easily installable in a few clicks through the packages
   84.98 +manager. SliTaz also provides a simple way to install the famous and powerful
   84.99 +OpenOffice suite: just search OpenOffice in the packages manager, double click
  84.100 +on "get-OpenOffice3" and install the script with the <code>Auto exec</code> option
  84.101 +enabled. 
  84.102 +</p>
  84.103 +<p>
  84.104 +To have a lightweight office suite; use: Abiword as Word processor, Gnumeric as 
  84.105 +Spreadsheet and Homebank for Bank Accounting.
  84.106 +</p>
  84.107 +
  84.108 +<a name="multimedia"></a>
  84.109 +<h3>Multimedia</h3>
  84.110 +<p>
  84.111 +Most SliTaz flavors include a wide range of sound card drivers, a volume
  84.112 +mixer and a light audio player to easily listen to any MP3 or OGG files. The Sound
  84.113 +card is autodetected at boot time and audio support works out-of-the-box
  84.114 +on many systems. If you manually add a new user and can't listen to audio, please
  84.115 +check that the user belongs to the <code>audio</code> group. For any other trouble please
  84.116 +look into the full documentation and use the forum for more help.
  84.117 +</p>
  84.118 +<p>
  84.119 +Videos can be watched by installing one single package or using a dedicated
  84.120 +LiveCD or LiveUSB system. The SliTaz team have packaged some of the best video players 
  84.121 +available under GNU/Linux: <code>mplayer</code>, <code>xine-ui</code> and <code>vlc</code>
  84.122 +</p>
  84.123 +
  84.124 +<a name="info"></a>
  84.125 +<h3>System information</h3>
  84.126 +<p>
  84.127 +You can get information on your system by clicking on "System information"
  84.128 +in the System Tools menu, then "Summary". Clicking on the other 
  84.129 +options on the side brings you more information, and using the benchmarks
  84.130 +gives you an idea on how fast your computer is. To have a list and control
  84.131 +of all your current processes you can use the "Task Manager".
  84.132 +</p>
  84.133 +
  84.134 +<a name="root"></a>
  84.135 +<h3>Becoming Root</h3>
  84.136 +<p>
  84.137 +By default, Slitaz doesn't have its desktop running as root administrator:
  84.138 +it asks for a root password (default <code>root</code>) for any dangerous work.
  84.139 +Therefore, it is safer and more secure. To become root in an xterm, simply 
  84.140 +type <code>su</code>, and enter the root password.
  84.141 +</p>
  84.142 +
  84.143 +<a name="install"></a>
  84.144 +<h3>Installation</h3>
  84.145 +<p>
  84.146 +SliTaz can be installed to a hard disk or on an USB mass storage device using the
  84.147 +"SliTaz Installer" from the "System Tools" menu. The installer makes a full HD install.
  84.148 +SliTaz won't work in memory (RAM) anymore like in Live or Frugal mode and 
  84.149 +everything is persistent.
  84.150 +</p>
  84.151 +<p>
  84.152 +To generate a LiveUSB system you can use "Tazusb LiveUSB Tool" from the "System Tools"
  84.153 +menu or <code>tazusb</code> from the command line. More information can be found in the SliTaz
  84.154 +Handbook: <a href="http://www.slitaz.org/en/doc/handbook/liveusb.html">LiveUSB media</a>
  84.155 +</p>
  84.156 +
  84.157 +<!-- End of content -->
  84.158 +</div>
  84.159 +
  84.160 +<!-- Footer. -->
  84.161 +<div id="footer">
  84.162 +	<a href="#top">Top of the page</a> - Languages:
  84.163 +	<a href="index.de.html">de</a> |
  84.164 +	<a href="index.en.html">en</a> |
  84.165 +	<a href="index.fr.html">fr</a> |
  84.166 +	<a href="index.hu.html">hu</a> |
  84.167 +	<a href="index.pt.html">pt</a>
  84.168 +</div>
  84.169 +
  84.170 +<div id="copy">
  84.171 +	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
  84.172 +	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
  84.173 +	Documentation uder
  84.174 +	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
  84.175 +	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
  84.176 +</div>
  84.177 +
  84.178 +</body>
  84.179 +</html>
    85.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    85.2 +++ b/xfce/rootfs/usr/share/doc/slitaz/index.fr.html	Wed Feb 22 23:26:35 2012 +0100
    85.3 @@ -0,0 +1,78 @@
    85.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    85.5 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    85.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    85.7 +<head>
    85.8 +	<title>SliTaz - System doc (fr)</title>
    85.9 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   85.10 +	<meta name="description" content="slitaz doc system releases notes information cooking" />
   85.11 +	<meta name="expires" content="never" />
   85.12 +	<meta name="modified" content="2010-12-30 14:30:00" />
   85.13 +	<meta name="publisher" content="www.slitaz.org" />
   85.14 +	<meta name="author" content="Christophe Lincoln"/>
   85.15 +	<link rel="shortcut icon" href="favicon.ico" />
   85.16 +	<link rel="stylesheet" type="text/css" href="book.css" />
   85.17 +</head>
   85.18 +<body bgcolor="#ffffff">
   85.19 +
   85.20 +<!-- Header and quick navigation -->
   85.21 +<div id="header">
   85.22 +<h1><font color="#3E1220">SliTaz - Doc du système</font></h1>
   85.23 +</div>
   85.24 +
   85.25 +<div id="quicknav">
   85.26 +	SliTaz:
   85.27 +	<a href="http://www.slitaz.org/">Website</a>
   85.28 +	<a href="http://forum.slitaz.org/">Forum</a>
   85.29 +	<a href="http://wiki.slitaz.org/">Wiki</a>
   85.30 +	<a href="http://labs.slitaz.org/">Labs</a>
   85.31 +</div>
   85.32 +
   85.33 +<!-- Content. -->
   85.34 +<div id="content">
   85.35 +
   85.36 +<h2><font color="#DF8F06">Documentation (fr)</font></h2>
   85.37 +
   85.38 +<p>
   85.39 +La version en cuisson ou <em>Cooking</em> ne fourni pas de notes de
   85.40 +publication, les chagements sont annonçés sur le site web et 
   85.41 +<a href="http://labs.slitaz.org/">les laboratoires</a> proposent des
   85.42 +nouvelles fraîches. Comme pour la version stable, vous pouvez vous 
   85.43 +référer à la documentation du site et trouverez de l'aide sur 
   85.44 +<a href="http://forum.slitaz.org/">le forum</a> du projet.
   85.45 +</p>
   85.46 +
   85.47 +<!-- <p>
   85.48 +La version stable de SliTaz GNU/linux est distribuée avec les manuels 
   85.49 +des outils de la distribution et les notes de publication. Tous les manuels
   85.50 +ainsi que cette page sont directement accessibles depuis le menu 
   85.51 +documention du gestionnaire de fenêtres Openbox présent sur le LiveCD.
   85.52 +Sur le Web, vous trouverez une documentation complète via le livre de main ou 
   85.53 +<a href="http://www.slitaz.org/fr/doc/handbook/">Handbook</a> de SliTaz et la
   85.54 +documentation communautaire sur le <a href="http://wiki.slitaz.org/">Wiki</a>.
   85.55 +Pour de l'aide vous trouverez un support technique gratuit via la liste
   85.56 +de discussion ou <a href="http://forum.slitaz.org/">le forum</a> communautaire.
   85.57 +</p> -->
   85.58 +
   85.59 +<!-- End of content -->
   85.60 +</div>
   85.61 +
   85.62 +<!-- Footer. -->
   85.63 +<div id="footer">
   85.64 +	<a href="#top">Top of the page</a> - Languages:
   85.65 +	<a href="index.de.html">de</a> |
   85.66 +	<a href="index.en.html">en</a> |
   85.67 +	<a href="index.fr.html">fr</a> |
   85.68 +	<a href="index.hu.html">hu</a> |
   85.69 +	<a href="index.pt.html">pt</a>
   85.70 +</div>
   85.71 +
   85.72 +<div id="copy">
   85.73 +	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   85.74 +	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   85.75 +	Documentation uder
   85.76 +	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   85.77 +	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   85.78 +</div>
   85.79 +
   85.80 +</body>
   85.81 +</html>
    86.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    86.2 +++ b/xfce/rootfs/usr/share/doc/slitaz/index.hu.html	Wed Feb 22 23:26:35 2012 +0100
    86.3 @@ -0,0 +1,85 @@
    86.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    86.5 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    86.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    86.7 +<head>
    86.8 +  <title>SliTaz - System doc (hu)</title>
    86.9 +  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
   86.10 +  <meta name="description" content="slitaz doc system releases notes information cooking">
   86.11 +  <meta name="expires" content="never">
   86.12 +  <meta name="modified" content="2009-04-16 10:30:00">
   86.13 +  <meta name="publisher" content="www.slitaz.org">
   86.14 +  <meta name="author" content="Christophe Lincoln">
   86.15 +  <link rel="shortcut icon" href="favicon.ico">
   86.16 +  <link rel="stylesheet" type="text/css" href="book.css">
   86.17 +</head>
   86.18 +<body bgcolor="#ffffff">
   86.19 +<!-- Header and quick navigation -->
   86.20 +<div id="header">
   86.21 +<h1><font color="#3e1220">SliTaz - System doc</font></h1>
   86.22 +</div>
   86.23 +
   86.24 +<div id="quicknav">
   86.25 +	SliTaz:
   86.26 +	<a href="http://www.slitaz.org/">Website</a>
   86.27 +	<a href="http://forum.slitaz.org/">Forum</a>
   86.28 +	<a href="http://wiki.slitaz.org/">Wiki</a>
   86.29 +	<a href="http://labs.slitaz.org/">Labs</a>
   86.30 +</div>
   86.31 +
   86.32 +<!-- Content. -->
   86.33 +<div id="content">
   86.34 +
   86.35 +<h2><font color="#df8f06">Documentation (hu)</font></h2>
   86.36 +
   86.37 +<h3><font color="#6c0023">Megjegyz&eacute;s a kiad&aacute;shoz<br>
   86.38 +</font></h3>
   86.39 +<p>A SliTaz GNU/Linux stabil kiad&aacute;sa a rendszerre
   86.40 +telep&iacute;tett projekt-eszk&ouml;z&ouml;kkel,
   86.41 +le&iacute;r&aacute;sokkal &eacute;s Kiad&aacute;si
   86.42 +t&aacute;j&eacute;koztat&oacute;val jelent meg. A
   86.43 +le&iacute;r&aacute;sok &eacute;s ez az oldal az Openbox men&uuml;n
   86.44 +kereszt&uuml;l &eacute;rhet&#337;k el. A Slitazzal kapcsolatos
   86.45 +&aacute;ltal&aacute;nos inform&aacute;ci&oacute;k&eacute;rt
   86.46 +k&eacute;rj&uuml;k l&aacute;togassa meg a <a
   86.47 + href="http://www.slitaz.org/">projekt oldalt</a> . A rendszer
   86.48 +be&aacute;ll&iacute;t&aacute;s&aacute;hoz &eacute;s
   86.49 +haszn&aacute;lat&aacute;hoz olvassa el a&nbsp; <a
   86.50 + href="http://www.slitaz.org/hu/doc/handbook/">K&eacute;zik&ouml;nyvet</a>.
   86.51 +A k&ouml;z&ouml;ss&eacute;gr&#337;l a
   86.52 +<a href="http://wiki.slitaz.org/">SliTaz Wiki</a>&nbsp; oldalon
   86.53 +tal&aacute;l dokomentumokat. T&aacute;mogat&aacute;st a Slitaz
   86.54 +k&ouml;z&ouml;ss&eacute;gi <a href="http://forum.slitaz.org/#idx2">F&oacute;rumon</a>
   86.55 +kereszt&uuml;l kaphat. </p>
   86.56 +<p>A Cooking verzi&oacute;hoz nincs t&aacute;j&eacute;koztat&oacute;, a
   86.57 +v&aacute;ltoztat&aacute;sokat k&ouml;zz&eacute;tessz&uuml;k a honlapon,
   86.58 +&eacute;s a <a href="http://labs.slitaz.org/">Labs</a>
   86.59 +szolg&aacute;ltat &uacute;j inform&aacute;ci&oacute;kat a projektbeli
   86.60 +tev&eacute;kenys&eacute;gekr&#337;l. Csak&uacute;gy, mint a stabil
   86.61 +verzi&oacute;hoz, ehhez is tal&aacute;lhat&oacute;
   86.62 +dokument&aacute;ci&oacute; &eacute;s t&aacute;mogat&aacute;s a
   86.63 +k&ouml;z&ouml;ss&eacute;gi f&oacute;rumban.
   86.64 +</p>
   86.65 +
   86.66 +<!-- End of content -->
   86.67 +</div>
   86.68 +
   86.69 +<!-- Footer. -->
   86.70 +<div id="footer">
   86.71 +	<a href="#top">Top of the page</a> - Languages:
   86.72 +	<a href="index.de.html">de</a> |
   86.73 +	<a href="index.en.html">en</a> |
   86.74 +	<a href="index.fr.html">fr</a> |
   86.75 +	<a href="index.hu.html">hu</a> |
   86.76 +	<a href="index.pt.html">pt</a>
   86.77 +</div>
   86.78 +
   86.79 +<div id="copy">
   86.80 +	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   86.81 +	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   86.82 +	Documentation uder
   86.83 +	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   86.84 +	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   86.85 +</div>
   86.86 +
   86.87 +</body>
   86.88 +</html>
    87.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    87.2 +++ b/xfce/rootfs/usr/share/doc/slitaz/index.pt.html	Wed Feb 22 23:26:35 2012 +0100
    87.3 @@ -0,0 +1,66 @@
    87.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    87.5 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    87.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
    87.7 +<head>
    87.8 +	<title>SliTaz - Documentação do Sistema</title>
    87.9 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   87.10 +	<meta name="description" content="slitaz doc system releases notes information cooking" />
   87.11 +	<meta name="expires" content="never" />
   87.12 +	<meta name="modified" content="2009-04-16 10:30:00" />
   87.13 +	<meta name="publisher" content="www.slitaz.org" />
   87.14 +	<meta name="author" content="Christophe Lincoln"/>
   87.15 +	<link rel="shortcut icon" href="favicon.ico" />
   87.16 +	<link rel="stylesheet" type="text/css" href="book.css" />
   87.17 +</head>
   87.18 +<body bgcolor="#ffffff">
   87.19 +
   87.20 +<!-- Header and quick navigation -->
   87.21 +<div id="header">
   87.22 +<h1><font color="#3E1220">SliTaz - Documentação do Sistema</font></h1>
   87.23 +</div>
   87.24 +
   87.25 +<div id="quicknav">
   87.26 +	SliTaz:
   87.27 +	<a href="http://www.slitaz.org/">Website</a>
   87.28 +	<a href="http://forum.slitaz.org/">Forum</a>
   87.29 +	<a href="http://wiki.slitaz.org/">Wiki</a>
   87.30 +	<a href="http://labs.slitaz.org/">Labs</a>
   87.31 +</div>
   87.32 +
   87.33 +<!-- Content. -->
   87.34 +<div id="content">
   87.35 +
   87.36 +<h2><font color="#DF8F06">Documentação (pt)</font></h2>
   87.37 +
   87.38 +<p>
   87.39 +A versão de testes (cooking) do SliTaz não fornece notas de lançamento, 
   87.40 +qualquer mudança para esta versão é anunciada no website e o 
   87.41 +<a href="http://labs.slitaz.org/">SliTaz Labs</a> traz as últimas notícias 
   87.42 +e atividades do projeto. Assim como na versão estável, você irá obter 
   87.43 +informações sobre a versão de testes no website e suporte no 
   87.44 +<a href="http://forum.slitaz.org/">fórum</a> do projeto.
   87.45 +</p>
   87.46 +
   87.47 +<!-- End of content -->
   87.48 +</div>
   87.49 +
   87.50 +<!-- Footer. -->
   87.51 +<div id="footer">
   87.52 +	<a href="#top">Top of the page</a> - Languages:
   87.53 +	<a href="index.de.html">de</a> |
   87.54 +	<a href="index.en.html">en</a> |
   87.55 +	<a href="index.fr.html">fr</a> |
   87.56 +	<a href="index.hu.html">hu</a> |
   87.57 +	<a href="index.pt.html">pt</a>
   87.58 +</div>
   87.59 +
   87.60 +<div id="copy">
   87.61 +	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   87.62 +	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   87.63 +	Documentation uder
   87.64 +	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   87.65 +	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   87.66 +</div>
   87.67 +
   87.68 +</body>
   87.69 +</html>
    88.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    88.2 +++ b/xfce/rootfs/usr/share/doc/slitaz/template.html	Wed Feb 22 23:26:35 2012 +0100
    88.3 @@ -0,0 +1,62 @@
    88.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    88.5 +	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    88.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    88.7 +<head>
    88.8 +	<title>SliTaz - System doc</title>
    88.9 +	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   88.10 +	<meta name="description" content="slitaz doc system releases notes information cooking" />
   88.11 +	<meta name="expires" content="never" />
   88.12 +	<meta name="modified" content="2010-01-04 22:40:00" />
   88.13 +	<meta name="publisher" content="www.slitaz.org" />
   88.14 +	<meta name="author" content="Christophe Lincoln"/>
   88.15 +	<link rel="shortcut icon" href="favicon.ico" />
   88.16 +	<link rel="stylesheet" type="text/css" href="book.css" />
   88.17 +</head>
   88.18 +<body bgcolor="#ffffff">
   88.19 +
   88.20 +<!-- Header and quick navigation -->
   88.21 +<div id="header">
   88.22 +<h1><font color="#3E1220">SliTaz - System doc</font></h1>
   88.23 +</div>
   88.24 +
   88.25 +<div id="quicknav">
   88.26 +	SliTaz:
   88.27 +	<a href="http://www.slitaz.org/">Website</a>
   88.28 +	<a href="http://forum.slitaz.org/">Forum</a>
   88.29 +	<a href="http://wiki.slitaz.org/">Wiki</a>
   88.30 +	<a href="http://labs.slitaz.org/">Labs</a>
   88.31 +</div>
   88.32 +
   88.33 +<!-- Content. -->
   88.34 +<div id="content">
   88.35 +<div class="content-right"></div>
   88.36 +
   88.37 +<h2><font color="#DF8F06">Template</font></h2>
   88.38 +
   88.39 +<p>
   88.40 +CONTENT
   88.41 +</p>
   88.42 +
   88.43 +<!-- End of content -->
   88.44 +</div>
   88.45 +
   88.46 +<!-- Footer. -->
   88.47 +<div id="footer">
   88.48 +	<a href="#top">Top of the page</a> - Languages:
   88.49 +	<a href="index.de.html">de</a> |
   88.50 +	<a href="index.en.html">en</a> |
   88.51 +	<a href="index.fr.html">fr</a> |
   88.52 +	<a href="index.hu.html">hu</a> |
   88.53 +	<a href="index.pt.html">pt</a>
   88.54 +</div>
   88.55 +
   88.56 +<div id="copy">
   88.57 +	Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   88.58 +	<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   88.59 +	Documentation uder
   88.60 +	<a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   88.61 +	and valid <a href="http://validator.w3.org/">xHTML 1.0</a>.
   88.62 +</div>
   88.63 +
   88.64 +</body>
   88.65 +</html>
    89.1 Binary file xfce/rootfs/usr/share/images/slitaz-background.jpg has changed
    90.1 Binary file xfce/rootfs/usr/share/pixmaps/slitaz-menu.png has changed
    91.1 Binary file xfce/rootfs/usr/share/slim/themes/slitaz/background.png has changed
    92.1 Binary file xfce/rootfs/usr/share/slim/themes/slitaz/panel.png has changed
    93.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    93.2 +++ b/xfce/rootfs/usr/share/slim/themes/slitaz/slim.theme	Wed Feb 22 23:26:35 2012 +0100
    93.3 @@ -0,0 +1,37 @@
    93.4 +# SliTaz theme for SLiM
    93.5 +# 
    93.6 +
    93.7 +# Messages
    93.8 +msg_color               #000000
    93.9 +msg_font                Vera:size=18:bold:dpi=75
   93.10 +msg_x                   50%
   93.11 +msg_y                   35%
   93.12 +msg_shadow_color #FFFFFF
   93.13 +msg_shadow_xoffset 1
   93.14 +msg_shadow_yoffset 1
   93.15 +
   93.16 +# valid values: stretch, tile
   93.17 +background_style        tile
   93.18 +background_color        #1e0a0c
   93.19 +
   93.20 +# Input controls
   93.21 +input_panel_x           50%
   93.22 +input_panel_y           50%
   93.23 +input_name_x            64
   93.24 +input_name_y            179
   93.25 +input_font          	Vera:size=11:dpi=75
   93.26 +input_fgcolor           #000000
   93.27 +
   93.28 +# Username / password request
   93.29 +username_font          	Vera:size=18:bold:dpi=75
   93.30 +username_color        	#eeede9
   93.31 +username_x              50%
   93.32 +username_y              140
   93.33 +password_x              50%
   93.34 +password_y              140
   93.35 +username_shadow_color   #000000
   93.36 +username_shadow_xoffset 1
   93.37 +username_shadow_yoffset 1
   93.38 +
   93.39 +username_msg            Username:
   93.40 +password_msg            Password:
    94.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    94.2 +++ b/xfce/rootfs/usr/share/webhome/index.html	Wed Feb 22 23:26:35 2012 +0100
    94.3 @@ -0,0 +1,68 @@
    94.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    94.5 +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    94.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    94.7 +<head>
    94.8 +    <title>SliTaz - Web Homepage</title>
    94.9 +    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   94.10 +    <meta name="author" content="Christophe Lincoln"/>
   94.11 +    <link rel="shortcut icon" href="favicon.ico" />
   94.12 +    <link rel="stylesheet" type="text/css" href="style.css" />
   94.13 +</head>
   94.14 +<body>
   94.15 +
   94.16 +<!-- Header -->
   94.17 +<div id="header">
   94.18 +	<h1>Browse the Web</h1>
   94.19 +</div>
   94.20 +
   94.21 +<!-- Content -->
   94.22 +<div id="content">
   94.23 +
   94.24 +<div style="text-align: center; margin: 20px;">
   94.25 +<table>
   94.26 +	<!-- Search Wikipedia -->
   94.27 +	<tr>
   94.28 +		<th><strong>Wikipedia :</strong></th>
   94.29 +		<td>
   94.30 +			<form action="http://www.wikipedia.org/search-redirect.php" method="get">
   94.31 +				<input type="hidden" name="language" value="en" />
   94.32 +				<input type="text" name="search" size="30" />
   94.33 +				<input type="submit" name="go" value="Search" />
   94.34 +			</form>
   94.35 +		</td>
   94.36 +	</tr>
   94.37 +	<!-- Search Google -->
   94.38 +	<tr>
   94.39 +		<th><strong>Google :</strong></th>
   94.40 +		<td>
   94.41 +			<form method="get" action="http://www.google.com/search">
   94.42 +				<input type="text" name="q" size="30" maxlength="255" value="" />
   94.43 +				<input type="submit" value="Search" />
   94.44 +			</form>
   94.45 +		</td>
   94.46 +	</tr>
   94.47 +</table>
   94.48 +</div>
   94.49 +
   94.50 +<!-- Shortcuts -->
   94.51 +<div style="text-align: center; margin: 10px;">
   94.52 +	<strong>SliTaz :</strong>
   94.53 +	<a href="http://www.slitaz.org/">Website</a> | 
   94.54 +	<a href="http://doc.slitaz.org/">Documentation</a> |
   94.55 +	<a href="http://forum.slitaz.org/">Forum</a> |
   94.56 +	<a href="http://labs.slitaz.org/">Labs</a> |
   94.57 +	<a href="http://pkgs.slitaz.org/">Packages</a>
   94.58 +</div>
   94.59 +
   94.60 +<div style="text-align: center;">
   94.61 +<img
   94.62 +	src="pics/slitaz-tux.png" 
   94.63 +	title="SliTaz and Tux" alt="slitaz-tux"
   94.64 +	style="width: 90px; height: 98px;" />
   94.65 +</div>
   94.66 +
   94.67 +<!-- End of content -->
   94.68 +</div>
   94.69 +
   94.70 +</body>
   94.71 +</html>
    95.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    95.2 +++ b/xfce/rootfs/usr/share/webhome/netsurf.html	Wed Feb 22 23:26:35 2012 +0100
    95.3 @@ -0,0 +1,66 @@
    95.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    95.5 +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    95.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    95.7 +<head>
    95.8 +    <title>SliTaz - Web Homepage</title>
    95.9 +    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   95.10 +    <meta name="author" content="Christophe Lincoln"/>
   95.11 +    <link rel="shortcut icon" href="favicon.ico" />
   95.12 +    <link rel="stylesheet" type="text/css" href="netsurf.css" />
   95.13 +</head>
   95.14 +<body>
   95.15 +
   95.16 +<!-- Header -->
   95.17 +<div id="header">
   95.18 +<h1>Browse the Web</h1>
   95.19 +</div>
   95.20 +
   95.21 +<!-- Content -->
   95.22 +<div id="content">
   95.23 +
   95.24 +<div style="text-align: center; margin-top: 40px;">
   95.25 +<table>
   95.26 +	<!-- Search Wikipedia -->
   95.27 +	<tr>
   95.28 +		<th><strong>[ Wikipedia ]</strong></th>
   95.29 +		<td>
   95.30 +			<form action="http://www.wikipedia.org/search-redirect.php" method="get">
   95.31 +				<input type="hidden" name="language" value="en" />
   95.32 +				<input type="text" name="search" size="30" />
   95.33 +				<input type="submit" name="go" value="Search" />
   95.34 +			</form>
   95.35 +		</td>
   95.36 +	</tr>
   95.37 +	<!-- Search Google -->
   95.38 +	<tr>
   95.39 +		<th><strong>[ Google ]</strong></th>
   95.40 +		<td>
   95.41 +			<form method="get" action="http://www.google.com/search">
   95.42 +				<input type="text" name="q" size="30" maxlength="255" value="" />
   95.43 +				<input type="submit" value="Search" />
   95.44 +			</form>
   95.45 +		</td>
   95.46 +	</tr>
   95.47 +</table>
   95.48 +</div>
   95.49 +
   95.50 +<!-- Shortcuts -->
   95.51 +<div style="text-align: center; margin-top: 30px;">
   95.52 +	SliTaz :
   95.53 +	<a href="http://www.slitaz.org/">Website</a> |
   95.54 +	<a href="http://doc.slitaz.org/">Documentation</a> |
   95.55 +	<a href="http://forum.slitaz.org/">Forum</a> |
   95.56 +	<a href="http://pkgs.slitaz.org/">Packages</a> |
   95.57 +	<a href="http://labs.slitaz.org/">Labs</a>
   95.58 +</div>
   95.59 +<div style="text-align: center; margin-top: 20px;">
   95.60 +	NetSurf :
   95.61 +	<a href="http://www.netsurf-browser.org/">Website</a> |
   95.62 +	<a href="http://www.netsurf-browser.org/documentation/">Documentation</a>
   95.63 +</div>
   95.64 +
   95.65 +<!-- End of content with round corner -->
   95.66 +</div>
   95.67 +
   95.68 +</body>
   95.69 +</html>
    96.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    96.2 +++ b/xfce/rootfs/usr/share/webhome/style.css	Wed Feb 22 23:26:35 2012 +0100
    96.3 @@ -0,0 +1,113 @@
    96.4 +/*
    96.5 +	CSS style for SliTaz GNU/Linux local home page
    96.6 +	www.slitaz.org - (c) 2008 SliTaz Community
    96.7 +*/
    96.8 +
    96.9 +body {
   96.10 +	background: white;
   96.11 +	color: black;
   96.12 +	font: 13px sans-serif, vernada, arial;
   96.13 +	margin: 0 0 0 0;
   96.14 +	padding-bottom: 100%;
   96.15 +}
   96.16 +
   96.17 +#header {
   96.18 +	background: #f0ba08 url(pics/header.png) repeat-x top;
   96.19 +	color: black;
   96.20 +	width: 100%;
   96.21 +	height: 50px ;
   96.22 +	border-top: 1px solid black;
   96.23 +	border-bottom: 1px solid black;
   96.24 +	/* margin-bottom: 30px; */
   96.25 +}
   96.26 +
   96.27 +#header h1 {
   96.28 +	padding: 10px;
   96.29 +	text-align: center;
   96.30 +}
   96.31 +
   96.32 +/* Page content */
   96.33 +
   96.34 +
   96.35 +#content {
   96.36 +	height: auto;
   96.37 +	margin: 10px 100px 0px 100px;
   96.38 +	padding: 0px 72px 0px 72px;
   96.39 +}
   96.40 +
   96.41 +#content li {
   96.42 +	line-height: 1.5em;
   96.43 +	text-align: left;
   96.44 +}
   96.45 +
   96.46 +/* Footer */
   96.47 +
   96.48 +#bottom {
   96.49 +	float: none;
   96.50 +	background: inherit;
   96.51 +	color: black;
   96.52 +	width: auto;
   96.53 +	clear: both;
   96.54 +	padding: 0;
   96.55 +	margin: 0;
   96.56 +	text-align: center;
   96.57 +	vertical-align: middle;
   96.58 +}
   96.59 +
   96.60 +/* CSS class. */
   96.61 +
   96.62 +
   96.63 +/* HTML styles */
   96.64 +
   96.65 +h1 {
   96.66 +	margin: 0px 0px 0px 16px;
   96.67 +}
   96.68 +
   96.69 +h2 {
   96.70 +    color: #DF8F06;
   96.71 +    border-left: 10px solid #F3F3F3;
   96.72 +    padding: 4px 0px 4px 4px;
   96.73 +    margin: 0;
   96.74 +}
   96.75 +
   96.76 +h3 {
   96.77 +	font-weight: bold;
   96.78 +	color: #6c0023;
   96.79 +	background: inherit;
   96.80 +}
   96.81 +
   96.82 +a {
   96.83 +	text-decoration: underline;
   96.84 +	color: #0F314E;
   96.85 +	background: inherit;
   96.86 +}
   96.87 +
   96.88 +a:hover {
   96.89 +	text-decoration: none;
   96.90 +	color: blue;
   96.91 +	background: inherit;
   96.92 +}
   96.93 +
   96.94 +img {
   96.95 +	border: 0pt none;
   96.96 +}
   96.97 +
   96.98 +/* Table */
   96.99 +
  96.100 +table {
  96.101 +	width: variable;
  96.102 +	margin-left: auto;
  96.103 +	margin-right: auto;
  96.104 +}
  96.105 +
  96.106 +td {
  96.107 +	width: variable;
  96.108 +	padding: 6px;
  96.109 +}
  96.110 +
  96.111 +th {
  96.112 +	width: variable;
  96.113 +
  96.114 +
  96.115 +	text-align: right;
  96.116 +}