flavors rev 67
Add core-xfce
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/core-xfce/packages.list Sun Dec 05 17:40:41 2010 +0100 1.3 @@ -0,0 +1,250 @@ 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 +cairo 1.18 +cdparanoia-III 1.19 +cdrkit 1.20 +clearlooks 1.21 +conspy 1.22 +curl 1.23 +dbus 1.24 +dbus-glib 1.25 +depmod 1.26 +desktop 1.27 +dialog 1.28 +dropbear 1.29 +e2fsprogs 1.30 +enchant 1.31 +epdfview 1.32 +expat 1.33 +firefox 1.34 +fontconfig 1.35 +freetype 1.36 +fuse 1.37 +galculator 1.38 +gamin 1.39 +gcc-lib-base 1.40 +gcolor2 1.41 +GConf 1.42 +gdbm 1.43 +get-flash-plugin 1.44 +gettext 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 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 1.98 +libvorbis 1.99 +libwebkit 1.100 +libwnck 1.101 +libxcb 1.102 +libxfce4menu 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 1.114 +locale 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 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 1.150 +perl-xml-parser 1.151 +pixman 1.152 +PolicyKit0 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 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 1.175 +sysfsutils 1.176 +syslinux 1.177 +syslinux-extra 1.178 +tazlito 1.179 +tazpkg 1.180 +tazusb 1.181 +tazwok 1.182 +tcl 1.183 +thunar 1.184 +thunar-archive-plugin 1.185 +thunar-volman 1.186 +tiff 1.187 +tk 1.188 +transmission 1.189 +transset-df 1.190 +ttf-dejavu 1.191 +udev 1.192 +util 1.193 +util 1.194 +util 1.195 +viewnior 1.196 +web-applications 1.197 +wireless_tools 1.198 +wpa_supplicant 1.199 +xcb 1.200 +xfce4 1.201 +xfce4-icon-theme 1.202 +xfce4-panel 1.203 +xfce4-session 1.204 +xfce4 1.205 +xfce4 1.206 +xfce-utils 1.207 +xfconf 1.208 +xfdesktop 1.209 +xfdesktop 1.210 +xfwm4 1.211 +xfwm4-themes 1.212 +xorg 1.213 +xorg-base-fonts 1.214 +xorg-iceauth 1.215 +xorg-libfontenc 1.216 +xorg-libICE 1.217 +xorg 1.218 +xorg-libSM 1.219 +xorg-libX11 1.220 +xorg-libXau 1.221 +xorg-libXaw 1.222 +xorg-libXcomposite 1.223 +xorg-libXcursor 1.224 +xorg-libXdamage 1.225 +xorg-libXdmcp 1.226 +xorg-libXext 1.227 +xorg-libXfixes 1.228 +xorg-libXfont 1.229 +xorg-libXft 1.230 +xorg-libXi 1.231 +xorg-libXinerama 1.232 +xorg-libxkbfile 1.233 +xorg-libXmu 1.234 +xorg 1.235 +xorg-libXpm 1.236 +xorg-libXrandr 1.237 +xorg-libXrender 1.238 +xorg-libXss 1.239 +xorg-libXt 1.240 +xorg-libXtst 1.241 +xorg 1.242 +xorg-rgb 1.243 +xorg-server 1.244 +xorg-setxkbmap 1.245 +xorg-xauth 1.246 +xorg-xcompmgr 1.247 +xorg-xf86-input-keyboard 1.248 +xorg-xf86-input-mouse 1.249 +xorg-xf86-video-vesa 1.250 +xorg-xkbcomp 1.251 +xorg-xkeyboard-config 1.252 +xterm 1.253 +zlib
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/core-xfce/receipt Sun Dec 05 17:40:41 2010 +0100 2.3 @@ -0,0 +1,11 @@ 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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/core-xfce/rootcd/README Sun Dec 05 17:40:41 2010 +0100 3.3 @@ -0,0 +1,67 @@ 3.4 +README SliTaz GNU/Linux CD August 2007 3.5 +=============================================================================== 3.6 + 3.7 + 3.8 +Français 3.9 +-------- 3.10 +Ce cdrom est un système autonome Live, il vous suffit de démarrer sur le CD 3.11 +(booter) et SliTaz se lance en mémoire vive (RAM), sans toucher à votre système 3.12 +actuel. SliTaz peut fonctionner des mois entiers sans redémarrer, le système 3.13 +peut fonctionner dans 128 Mb de mémoire vive et sur des machines sans disque dur. 3.14 +Mais SliTaz est aussi pleinement installable sur un disque dur et largement 3.15 +extensible via le gestionnaire de paquets et la compilation de nouvelles 3.16 +applications depuis les sources. 3.17 + 3.18 +Une fois le système lancé, vous disposez d'un shell ash, et vous pouvez retirer 3.19 +le cdrom, car SliTaz utilise la mémoire vive (RAM) de la machine. Le système 3.20 +fournit plus de 200 commandes Linux, un mini serveur web, navigateur web, 3.21 +client de chat IRC, support IDE, eth0, usb, le système X et bien plus {...}. 3.22 + 3.23 +SliTaz peut être utilisé pour réparer, et tester un disque dur avec fdisk, 3.24 +hdparm, ou les outils e2fsprogs. Le système et aussi pleinement installable, 3.25 +vous pouvez jetter un coup d'oeil au document install-guide.html. 3.26 + 3.27 +Slitaz GNU/Linux est distribué sans aucune garantie et publié car 3.28 +potentiellement utile. SliTaz n'as aucune prétention, nous ne sommes que des 3.29 +passionnés par l'informatique libre, qui aimons la liberté et le partage. Sur 3.30 +le système vous trouverez le manuel d'utilisateur et la documentation dans : 3.31 +/usr/share/doc, et les licences complète dans : /usr/share/licenses. 3.32 + 3.33 +Havefun! 3.34 + 3.35 + 3.36 +English 3.37 +------- 3.38 +SliTaz is a micro GNU/Linux distro using BusyBox, a Linux kernel, and GNU 3.39 +free software. SliTaz also use goodies from the Debian project. The goal of 3.40 +SliTaz is to have a GNU/Linux distro working all in memory (RAM). SliTaz boot 3.41 +with Syslinux, provide more than 200 Linux commands, LightTPD web serveur, 3.42 +SSH server/client powered by Dropbear, rescue tools, X system, and much more 3.43 +{...}. 3.44 + 3.45 +On the system you will find documentation in: /usr/share/doc, and the full 3.46 +GPL license in: /usr/share/licenses. 3.47 + 3.48 + 3.49 +LICENSE 3.50 +------- 3.51 + 3.52 +Copyright (c) 2007 SliTaz GNU/Linux 3.53 + 3.54 +SliTaz is free software; you can redistribute it and/or modify 3.55 +it under the terms of the GNU General Public License as published by 3.56 +the Free Software Foundation; either version 3 of the License, or 3.57 +(at your option) any later version. 3.58 + 3.59 +SliTaz is distributed in the hope that it will be useful, 3.60 +but WITHOUT ANY WARRANTY; without even the implied warranty of 3.61 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 3.62 +GNU General Public License for more details. 3.63 + 3.64 +You should have received a copy of the GNU General Public License 3.65 +along with SliTaz; if not, write to the Free Software 3.66 +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 3.67 + 3.68 + 3.69 +=============================================================================== 3.70 + http://www.slitaz.org/
4.1 Binary file core-xfce/rootcd/boot/isolinux/splash.lss has changed
5.1 Binary file core-xfce/rootcd/images/header.png has changed
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/core-xfce/rootcd/index.html Sun Dec 05 17:40:41 2010 +0100 6.3 @@ -0,0 +1,64 @@ 6.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 6.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 6.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 6.7 +<head> 6.8 + <title>SliTaz GNU/Linux - CD</title> 6.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 6.10 + <meta name="description" content="SliTaz documentation book" /> 6.11 + <meta name="expires" content="never" /> 6.12 + <meta name="modified" content="2007-10-07 20:30:00" /> 6.13 + <meta name="publisher" content="www.slitaz.org" /> 6.14 + <meta name="author" content="Christophe Lincoln"/> 6.15 + <link rel="stylesheet" type="text/css" href="style.css" /> 6.16 +</head> 6.17 +<body bgcolor="#ffffff"> 6.18 +<!-- Header --> 6.19 +<div id="header"> 6.20 + <a name="top"></a> 6.21 + <h1>SliTaz GNU/Linux - CD</h1> 6.22 +</div> 6.23 + 6.24 +<!-- Content --> 6.25 +<div id="content"> 6.26 +<h2><font color="#DF8F06">LiveCD informations</font></h2> 6.27 + 6.28 +<h3><font color="#9c2424">Français</font></h3> 6.29 +<p> 6.30 +Bienvenue sur la page d'index d'un cdrom de SliTaz GNU/Linux. Lisez le 6.31 +fichier <a href="README">README</a> pour de plus amples informations, ou 6.32 +démarrez votre ordinateur avec le cdrom dans le lecteur CD ou DVD, pour 6.33 +lancer SliTaz en RAM et sans risques pour la machine hôte. 6.34 +</p> 6.35 + 6.36 +<h3><font color="#9c2424">English</font></h3> 6.37 +<p> 6.38 +Welcome on a SliTaz GNU/Linux cdrom, SliTaz is mostly documented in French, 6.39 +but the full system is available in English. To boot SliTaz from a cdrom, 6.40 +just burn the ISO image onto a blank disc. Then reboot your computer with 6.41 +the disc into your cdrom driver. 6.42 +</p> 6.43 +<p> 6.44 +Have fun!<br /> 6.45 +- SliTaz community 6.46 +</p> 6.47 + 6.48 +</div> 6.49 +<!-- End content --> 6.50 +<hr /> 6.51 +<!-- Footer --> 6.52 +<div align="center" id="footer"> 6.53 +<p> 6.54 +<font size="-1"> 6.55 + <a href="#top">Haut de la page</a> 6.56 +</font> 6.57 +</p> 6.58 +<p> 6.59 +<font size="-1"> 6.60 + Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> - 6.61 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a><br /> 6.62 + Code <a href="http://validator.w3.org/">XHTML 1.0 valide</a>. 6.63 +</font> 6.64 +</p> 6.65 +</div> 6.66 +</body> 6.67 +</html>
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/core-xfce/rootcd/style.css Sun Dec 05 17:40:41 2010 +0100 7.3 @@ -0,0 +1,57 @@ 7.4 +/* CSS style for SliTaz GNU/Linux generic xHTML files. */ 7.5 +body { 7.6 + font: 90% sans-serif, vernada, arial; 7.7 + margin: 0; 7.8 + } 7.9 +/* Header */ 7.10 +#header{ 7.11 + background: #BFB06B url(images/header.png) repeat-x top; 7.12 + color: black; 7.13 + width: 100%; 7.14 + height: 50px ; 7.15 + border-top: 1px solid black; 7.16 + border-bottom: 1px solid black; 7.17 + } 7.18 +#content { 7.19 + margin: 0px 50px 26px 50px; 7.20 + } 7.21 +#footer { 7.22 + border-top: 1px solid black; 7.23 + } 7.24 +a { 7.25 + text-decoration: underline; 7.26 + } 7.27 +a:hover { 7.28 + text-decoration: none; 7.29 + } 7.30 +h1 { 7.31 + margin: 10px 0px 0px 6px; 7.32 + } 7.33 +h2 { 7.34 + margin: 12px 0; 7.35 + } 7.36 +pre { 7.37 + padding: 5px; 7.38 + color: black; 7.39 + background: #e1e0b0; 7.40 + } 7.41 +pre.script { 7.42 + padding: 10px; 7.43 + color: black; 7.44 + background: #e8e8e8; 7.45 + border: 1px inset #333333; 7.46 +} 7.47 +li { 7.48 + line-height: 1.4em; 7.49 + } 7.50 +code { 7.51 + font-size: 100%; 7.52 + color: #669900; 7.53 + background: transparent; 7.54 + } 7.55 +hr { 7.56 + color: white; 7.57 + background-color: white; 7.58 + height: 1px; 7.59 + border: 0; 7.60 + }
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/core-xfce/rootfs/etc/init.d/bootopts.sh Sun Dec 05 17:40:41 2010 +0100 8.3 @@ -0,0 +1,212 @@ 8.4 +#!/bin/sh 8.5 +# /etc/init.d/bootopts.sh - SliTaz boot options from the cmdline. 8.6 +# 8.7 +# Earlier boot options are in rcS, ex: config= and modprobe= 8.8 +# 8.9 +. /etc/init.d/rc.functions 8.10 + 8.11 +# Update fstab for swapon/swapoff 8.12 +add_swap_in_fstab() 8.13 +{ 8.14 + grep -q "$1 " /etc/fstab || cat >> /etc/fstab <<EOT 8.15 +$1 swap swap default 0 0 8.16 +EOT 8.17 +} 8.18 + 8.19 +# Default user account without password (uid=1000). In live mode the option 8.20 +# user=name can be used, but user must be added before home= to have home dir. 8.21 +# This option is not handled by a loop and case like others and has no 8.22 +# effect on an installed system. 8.23 +if ! grep -q "100[0-9]:100[0-9]" /etc/passwd; then 8.24 + if grep -q "user=" /proc/cmdline; then 8.25 + USER=`cat /proc/cmdline | sed 's/.*user=\([^ ]*\).*/\1/'` 8.26 + # Avoid usage of an existing system user or root. 8.27 + if grep -q ^$USER /etc/passwd; then 8.28 + USER=tux 8.29 + fi 8.30 + else 8.31 + USER=tux 8.32 + fi 8.33 + echo -n "Configuring user and group: $USER..." 8.34 + echo "$USER:x:1000:1000:SliTaz User,,,:/home/$USER:/bin/sh" >> /etc/passwd 8.35 + echo "$USER::14035:0:99999:7:::" >> /etc/shadow 8.36 + echo "$USER:x:1000:" >> /etc/group 8.37 + echo "$USER:!::" >> /etc/gshadow 8.38 + status 8.39 + # Audio and cdrom group. 8.40 + addgroup $USER audio 8.41 + addgroup $USER cdrom 8.42 + # /home/$USER files from /etc/skel. 8.43 + if [ -d /etc/skel ]; then 8.44 + cp -a /etc/skel /home/$USER 8.45 + # Path for user desktop files. 8.46 + for i in /home/$USER/.local/share/applications/*.desktop 8.47 + do 8.48 + sed -i s/"user_name"/"$USER"/g $i 8.49 + done 8.50 + else 8.51 + mkdir -p /home/$USER 8.52 + fi 8.53 + # Set permissions. 8.54 + chown -R $USER.$USER /home/$USER 8.55 + # Slim default user. 8.56 + if [ -f /etc/slim.conf ]; then 8.57 + sed -i s/"default_user .*"/"default_user $USER"/\ 8.58 + /etc/slim.conf 8.59 + fi 8.60 +fi 8.61 + 8.62 +# Parse /proc/cmdline for boot options. 8.63 +echo "Parsing kernel cmdline for SliTaz live options... " 8.64 + 8.65 +for opt in `cat /proc/cmdline` 8.66 +do 8.67 + case $opt in 8.68 + eject) 8.69 + # Eject cdrom. 8.70 + eject /dev/cdrom ;; 8.71 + autologin) 8.72 + # Autologin option to skip first graphic login prompt. 8.73 + echo "auto_login yes" >> /etc/slim.conf ;; 8.74 + lang=*) 8.75 + # Check for a specified locale (lang=*). 8.76 + LANG=${opt#lang=} 8.77 + echo -n "Setting system locale to: $LANG... " 8.78 + echo "LANG=$LANG" > /etc/locale.conf 8.79 + echo "LC_ALL=$LANG" >> /etc/locale.conf 8.80 + [ ! -d /usr/lib/locale/$LANG ] && localedef \ 8.81 + -i $LANG -c -f UTF-8 /usr/lib/locale/$LANG & 8.82 + status ;; 8.83 + kmap=*) 8.84 + # Check for a specified keymap (kmap=*). 8.85 + KEYMAP=${opt#kmap=} 8.86 + echo -n "Setting system keymap to: $KEYMAP..." 8.87 + echo "$KEYMAP" > /etc/keymap.conf 8.88 + status ;; 8.89 + home=*) 8.90 + # Check for a specified home partition (home=*) and check for 8.91 + # user home dir. Note: home=usb is a shorter and easier way to 8.92 + # have home=/dev/sda1. 8.93 + DEVICE=${opt#home=} 8.94 + [ "$DEVICE" = "usb" ] && DEVICE=sda1 8.95 + echo "Home has been specified to $DEVICE..." 8.96 + USBDELAY=`cat /sys/module/usb_storage/parameters/delay_use` 8.97 + USBDELAY=$((1+$USBDELAY)) 8.98 + echo "Sleeping $USBDELAY s to let the kernel detect the device... " 8.99 + sleep $USBDELAY 8.100 + USER=`cat /etc/passwd | grep 1000 | cut -d ":" -f 1` 8.101 + DEVID=$DEVICE 8.102 + if [ -x /sbin/blkid ]; then 8.103 + # Can be a label, uuid or devname. DEVID gives us first: /dev/name. 8.104 + DEVID=`/sbin/blkid | grep $DEVICE | cut -d: -f1` 8.105 + DEVID=${DEVID##*/} 8.106 + fi 8.107 + if [ -n "$DEVID" ] && grep -q "$DEVID" /proc/partitions ; then 8.108 + echo "Mounting /home on /dev/$DEVID... " 8.109 + [ -d /home/$USER ] && mv /home/$USER /tmp/$USER-files 8.110 + mount /dev/$DEVID /home -o uid=1000,gid=1000 2>/dev/null \ 8.111 + || mount /dev/$DEVID /home 8.112 + # Check if swap file must be generated in /home: swap=size (Mb). 8.113 + # This option is only used within home=device. 8.114 + if grep -q "swap=[1-9]*" /proc/cmdline; then 8.115 + SWAP_SIZE=`cat /proc/cmdline | sed 's/.*swap=\([^ ]*\).*/\1/'` 8.116 + # DD to gen a virtual disk. 8.117 + echo "Generating swap file: /home/swap ($SWAP_SIZE)..." 8.118 + dd if=/dev/zero of=/home/swap bs=1M count=$SWAP_SIZE 8.119 + # Make the Linux swap filesystem. 8.120 + mkswap /home/swap 8.121 + add_swap_in_fstab /home/swap 8.122 + fi 8.123 + else 8.124 + echo "Unable to find $DEVICE... " 8.125 + fi 8.126 + # Move all user dir if needed. 8.127 + if [ ! -d "/home/$USER" ] ; then 8.128 + mv /tmp/$USER-files /home/$USER 8.129 + chown -R $USER.$USER /home/$USER 8.130 + else 8.131 + rm -rf /tmp/$USER-files 8.132 + fi 8.133 + # Install all packages in /home/boot/packages. In live CD and 8.134 + # USB mode the option home= mounts the device on /home, so we 8.135 + # already have a boot directory with the Kernel and rootfs. 8.136 + if [ -d "/home/boot/packages" ]; then 8.137 + for pkg in /home/boot/packages/*.tazpkg 8.138 + do 8.139 + tazpkg install $pkg 8.140 + done 8.141 + fi ;; 8.142 + laptop) 8.143 + # Laptop option to load related Kernel modules. 8.144 + echo "Loading laptop modules: ac, battery, fan, yenta_socket..." 8.145 + for mod in ac battery fan yenta_socket 8.146 + do 8.147 + modprobe $mod 8.148 + done 8.149 + grep -qs batt /etc/lxpanel/default/panels/panel || 8.150 + sed -i 's/= cpu/= batt\n}\n\nPlugin {\n type = cpu/' \ 8.151 + /etc/lxpanel/default/panels/panel 2> /dev/null 8.152 + # Enable Kernel Laptop mode. 8.153 + echo "5" > /proc/sys/vm/laptop_mode ;; 8.154 + mount) 8.155 + # Mount all ext3 partitions found (opt: mount). 8.156 + # Get the list of partitions. 8.157 + DEVICES_LIST=`fdisk -l | grep 83 | cut -d " " -f 1` 8.158 + # Mount filesystems rw. 8.159 + for device in $DEVICES_LIST 8.160 + do 8.161 + name=${device#/dev/} 8.162 + # Device can be already used by home=usb. 8.163 + if ! mount | grep ^$device >/dev/null; then 8.164 + echo "Mounting partition: $name on /mnt/$name" 8.165 + mkdir /mnt/$name 8.166 + mount $device /mnt/$name 8.167 + fi 8.168 + done ;; 8.169 + mount-packages) 8.170 + # Mount and install packages-XXX.iso (useful without Internet 8.171 + # connection). 8.172 + PKGSIGN="LABEL=\"packages-$(cat /etc/slitaz-release)\" TYPE=\"iso9660\"" 8.173 + PKGDEV=$(blkid | grep "$PKGSIGN" | cut -d: -f1) 8.174 + [ -z "$PKGDEV" -a -L /dev/cdrom ] && \ 8.175 + PKGDEV=$(blkid /dev/cdrom | grep "$PKGSIGN" | cut -d: -f1) 8.176 + if [ -n "$PKGDEV" ]; then 8.177 + echo -n "Mounting packages archive from $PKGDEV..." 8.178 + mkdir /packages && mount -t iso9660 -o ro $PKGDEV /packages 8.179 + status 8.180 + /packages/install.sh 8.181 + fi ;; 8.182 + wm=*) 8.183 + # Check for a Window Manager (for a flavor, default WM can be changed 8.184 + # with boot options or with an addfile in /etc/X11/wm.default. 8.185 + WM=${opt#wm=} 8.186 + mkdir -p /etc/X11 8.187 + case $WM in 8.188 + jwm) 8.189 + echo "jwm" > /etc/X11/wm.default ;; 8.190 + ob|openbox|openbox-session) 8.191 + echo "openbox" > /etc/X11/wm.default ;; 8.192 + e17|enlightenment|enlightenment_start) 8.193 + echo "enlightenment" > /etc/X11/wm.default ;; 8.194 + esac ;; 8.195 + *) 8.196 + continue ;; 8.197 + esac 8.198 +done 8.199 + 8.200 +# If no default WM fallback to Openbox (we never know). 8.201 +if [ ! -f /etc/X11/wm.default ]; then 8.202 + echo "openbox" > /etc/X11/wm.default 8.203 +fi 8.204 + 8.205 +# Activate an eventual swap file or partition. 8.206 +if [ "`fdisk -l | grep swap`" ]; then 8.207 + for SWAP_DEV in `fdisk -l | grep swap | awk '{ print $1 }'`; do 8.208 + echo "Swap memory detected on: $SWAP_DEV" 8.209 + add_swap_in_fstab $SWAP_DEV 8.210 + done 8.211 +fi 8.212 +if grep -q swap /etc/fstab; then 8.213 + echo "Activating swap memory..." 8.214 + swapon -a 8.215 +fi
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/core-xfce/rootfs/etc/init.d/network.sh Sun Dec 05 17:40:41 2010 +0100 9.3 @@ -0,0 +1,216 @@ 9.4 +#!/bin/sh 9.5 +# /etc/init.d/network.sh - Network initialization boot script. 9.6 +# Config file is: /etc/network.conf 9.7 +# 9.8 +. /etc/init.d/rc.functions 9.9 + 9.10 +if [ -z "$2" ]; then 9.11 + . /etc/network.conf 9.12 +else 9.13 + . $2 9.14 +fi 9.15 + 9.16 + 9.17 +Boot() { 9.18 + # Set hostname. 9.19 + echo -n "Setting hostname..." 9.20 + /bin/hostname -F /etc/hostname 9.21 + status 9.22 + 9.23 + # Configure loopback interface. 9.24 + echo -n "Configuring loopback..." 9.25 + /sbin/ifconfig lo 127.0.0.1 up 9.26 + /sbin/route add 127.0.0.1 lo 9.27 + status 9.28 +} 9.29 + 9.30 + 9.31 +eth() { 9.32 +# Use ethernet 9.33 + ifconfig $INTERFACE up 9.34 +} 9.35 + 9.36 +wifi() { 9.37 + # For wifi. Users just have to enable it through yes and usually 9.38 + # essid any will work and the interface is autodetected. 9.39 + if [ "$WIFI" = "yes" ] || grep -q "wifi" /proc/cmdline; then 9.40 + ifconfig $INTERFACE down 9.41 + 9.42 + # Confirm if $WIFI_INTERFACE is the wifi interface 9.43 + if [ ! -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then 9.44 + echo "$WIFI_INTERFACE is not a wifi interface, changing it." 9.45 + WIFI_INTERFACE=$(grep : /proc/net/dev | cut -d: -f1 | \ 9.46 + while read dev; do iwconfig $dev 2>&1 | \ 9.47 + grep -iq "essid" && { echo $dev ; break; }; \ 9.48 + done) 9.49 + [ -n "$WIFI_INTERFACE" ] && sed -i "s/^WIFI_INTERFACE=.*/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" /etc/network.conf 9.50 + fi 9.51 + 9.52 + echo -n "Configuring $WIFI_INTERFACE..." 9.53 + ifconfig $WIFI_INTERFACE up 9.54 + if iwconfig $WIFI_INTERFACE | grep -q "Tx-Power"; then 9.55 + iwconfig $WIFI_INTERFACE txpower on 9.56 + fi 9.57 + status 9.58 + 9.59 + [ -n "$WPA_DRIVER" ] || WPA_DRIVER="wext" 9.60 + 9.61 + 9.62 + IWCONFIG_ARGS="" 9.63 + [ -n "$WIFI_MODE" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS mode $WIFI_MODE" 9.64 + [ -n "$WIFI_CHANNEL" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS channel $WIFI_CHANNEL" 9.65 + 9.66 + if [ "$WIFI_KEY_TYPE" == "" ]; then 9.67 + iwconfig $WIFI_INTERFACE essid "$WIFI_ESSID" $IWCONFIG_ARGS 9.68 + fi 9.69 + 9.70 + [ -n "$WIFI_KEY" ] && case "$WIFI_KEY_TYPE" in 9.71 + wep|WEP) 9.72 + IWCONFIG_ARGS="$IWCONFIG_ARGS key $WIFI_KEY" 9.73 + iwconfig $WIFI_INTERFACE essid "$WIFI_ESSID" $IWCONFIG_ARGS 9.74 +# wpa_supplicant can also deal with wep encryption but iwconfig is preferred 9.75 +# Tip: Use unquoted strings for hexadecimal key in wep_key0 9.76 +# cat /etc/wpa_supplicant.conf > /tmp/wpa.conf 9.77 +# cat >> /tmp/wpa.conf <<EOF 9.78 +#ctrl_interface=/var/run/wpa_supplicant 9.79 +#ctrl_interface_group=0 9.80 +#ap_scan=1 9.81 +#network={ 9.82 +# ssid="$WIFI_ESSID" 9.83 +# scan_ssid=1 9.84 +# key_mgmt=NONE 9.85 +# wep_key0="$WIFI_KEY" 9.86 +# wep_tx_keyidx=0 9.87 +# priority=5 9.88 +#} 9.89 +#EOF 9.90 + ;; 9.91 + wpa|WPA) cat /etc/wpa_supplicant.conf > /tmp/wpa.conf # load pre-configured multiple profiles 9.92 + cat >> /tmp/wpa.conf <<EOF 9.93 +ctrl_interface=/var/run/wpa_supplicant 9.94 +ctrl_interface_group=0 9.95 +ap_scan=1 9.96 +network={ 9.97 + ssid="$WIFI_ESSID" 9.98 + scan_ssid=1 9.99 + proto=WPA RSN 9.100 + key_mgmt=WPA-PSK 9.101 + psk="$WIFI_KEY" 9.102 + priority=5 9.103 +} 9.104 +EOF 9.105 + echo "Starting wpa_supplicant for WPA-PSK..." 9.106 + wpa_supplicant -B -W -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 9.107 + ;; 9.108 + any|ANY) cat /etc/wpa_supplicant.conf > /tmp/wpa.conf 9.109 + cat >> /tmp/wpa.conf <<EOF 9.110 +ctrl_interface=/var/run/wpa_supplicant 9.111 +ctrl_interface_group=0 9.112 +ap_scan=1 9.113 +network={ 9.114 + ssid="$WIFI_ESSID" 9.115 + scan_ssid=1 9.116 + key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE 9.117 + group=CCMP TKIP WEP104 WEP40 9.118 + pairwise=CCMP TKIP 9.119 + psk="$WIFI_KEY" 9.120 + priority=5 9.121 +} 9.122 +EOF 9.123 + echo "Starting wpa_supplicant for any key type..." 9.124 + wpa_supplicant -B -W -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 9.125 + ;; 9.126 + esac 9.127 + 9.128 + rm -f /tmp/wpa.conf 9.129 + 9.130 + INTERFACE=$WIFI_INTERFACE 9.131 + fi 9.132 + 9.133 +} 9.134 + 9.135 +wpa() 9.136 +{ 9.137 + DHCP_SCRIPT="/etc/init.d/wpa_action.sh" 9.138 + wpa_cli -a$DHCP_SCRIPT -B 9.139 +} 9.140 + 9.141 +dhcp() { 9.142 + 9.143 +# For a dynamic IP with DHCP. 9.144 + if [ "$DHCP" = "yes" ] ; then 9.145 + echo "Starting udhcpc client on: $INTERFACE..." 9.146 + if [ -d /var/run/wpa_supplicant ]; then # wpa wireless && wpa_ctrl_open interface is up 9.147 + wpa 9.148 + else # fallback on udhcpc: wep, eth 9.149 + /sbin/udhcpc -b -T 1 -A 12 -i $INTERFACE -p /var/run/udhcpc.$INTERFACE.pid 9.150 + fi 9.151 + fi 9.152 + 9.153 +} 9.154 + 9.155 +static_ip() { 9.156 +# For a static IP. 9.157 + if [ "$STATIC" = "yes" ] ; then 9.158 + echo "Configuring static IP on $INTERFACE: $IP..." 9.159 + /sbin/ifconfig $INTERFACE $IP netmask $NETMASK up 9.160 + /sbin/route add default gateway $GATEWAY 9.161 + # Dirty trick: wpa_supplicant waits for wpa_cli 9.162 + wpa_cli -B 9.163 + # Multi-DNS server in $DNS_SERVER. 9.164 + /bin/mv /etc/resolv.conf /tmp/resolv.conf.$$ 9.165 + for NS in $DNS_SERVER 9.166 + do 9.167 + echo "nameserver $NS" >> /etc/resolv.conf 9.168 + done 9.169 + fi 9.170 +} 9.171 + 9.172 +# Stopping everything 9.173 +Stop() { 9.174 + echo "Stopping all interfaces" 9.175 + ifconfig $INTERFACE down 9.176 + ifconfig $WIFI_INTERFACE down 9.177 + 9.178 + echo "Killing all daemons" 9.179 + killall udhcpc 9.180 + killall wpa_supplicant 2>/dev/null 9.181 + 9.182 + if iwconfig $WIFI_INTERFACE | grep -q "Tx-Power"; then 9.183 + echo "Shutting down wifi card" 9.184 + iwconfig $WIFI_INTERFACE txpower off 9.185 + fi 9.186 +} 9.187 + 9.188 +Start() { 9.189 + eth 9.190 + wifi 9.191 + dhcp 9.192 + static_ip 9.193 +} 9.194 + 9.195 + 9.196 +# looking for arguments: 9.197 +if [ -z "$1" ]; then 9.198 + Boot 9.199 + Start 9.200 +else 9.201 + case $1 in 9.202 + start) 9.203 + Start ;; 9.204 + stop) 9.205 + Stop ;; 9.206 + restart) 9.207 + Stop 9.208 + Start ;; 9.209 + *) 9.210 + echo "" 9.211 + echo -e "\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart]" 9.212 + echo "" 9.213 + echo -e " Default configuration file is \033[1m/etc/network.conf\033[0m" 9.214 + echo -e " You can specify another configuration file in the second argument:" 9.215 + echo -e " \033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart] file.conf" 9.216 + echo "" 9.217 + 9.218 + esac 9.219 +fi
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/core-xfce/rootfs/etc/lxpanel/default/panels/panel Sun Dec 05 17:40:41 2010 +0100 10.3 @@ -0,0 +1,185 @@ 10.4 +# lxpanel <profile> config file. Manually editing is not recommended. 10.5 +# Use preference dialog in lxpanel to adjust config when you can. 10.6 + 10.7 +Global { 10.8 + edge=bottom 10.9 + allign=center 10.10 + margin=0 10.11 + widthtype=percent 10.12 + width=100 10.13 + height=24 10.14 + transparent=1 10.15 + tintcolor=#000000 10.16 + alpha=0 10.17 + autohide=0 10.18 + heightwhenhidden=2 10.19 + setdocktype=1 10.20 + setpartialstrut=1 10.21 + usefontcolor=1 10.22 + fontcolor=#ffffff 10.23 + background=0 10.24 + backgroundfile=/usr/share/lxpanel/images/background.png 10.25 + iconsize=24 10.26 +} 10.27 + 10.28 +Plugin { 10.29 + type = space 10.30 + Config { 10.31 + Size=4 10.32 + } 10.33 +} 10.34 + 10.35 +Plugin { 10.36 + type = menu 10.37 + Config { 10.38 + image=/usr/share/pixmaps/slitaz-menu.png 10.39 + system { 10.40 + } 10.41 + separator { 10.42 + } 10.43 + item { 10.44 + image=/usr/share/icons/SliTaz/16x16/categories/applications-system.png 10.45 + command=run 10.46 + } 10.47 + separator { 10.48 + } 10.49 + item { 10.50 + image=/usr/share/pixmaps/logout.png 10.51 + command=logout 10.52 + } 10.53 + } 10.54 +} 10.55 + 10.56 +Plugin { 10.57 + type = space 10.58 + Config { 10.59 + Size=4 10.60 + } 10.61 +} 10.62 + 10.63 +Plugin { 10.64 + type = launchbar 10.65 + Config { 10.66 + Button { 10.67 + id=xterm.desktop 10.68 + } 10.69 + Button { 10.70 + id=midori.desktop 10.71 + } 10.72 + } 10.73 +} 10.74 + 10.75 +Plugin { 10.76 + type = pager 10.77 +} 10.78 + 10.79 +Plugin { 10.80 + type = wincmd 10.81 + Config { 10.82 + image=window-manager 10.83 + Button1=iconify 10.84 + Button2=shade 10.85 + Toggle=0 10.86 + } 10.87 +} 10.88 + 10.89 +Plugin { 10.90 + type = taskbar 10.91 + expand=1 10.92 + Config { 10.93 + tooltips=1 10.94 + IconsOnly=0 10.95 + ShowAllDesks=0 10.96 + UseMouseWheel=1 10.97 + UseUrgencyHint=1 10.98 + FlatButton=1 10.99 + MaxTaskWidth=200 10.100 + spacing=1 10.101 + GroupedTasks=0 10.102 + } 10.103 +} 10.104 + 10.105 +Plugin { 10.106 + type = space 10.107 + Config { 10.108 + Size=4 10.109 + } 10.110 +} 10.111 + 10.112 +Plugin { 10.113 + type = tray 10.114 +} 10.115 + 10.116 +Plugin { 10.117 + type = volumealsa 10.118 +} 10.119 + 10.120 +Plugin { 10.121 + type = space 10.122 + Config { 10.123 + Size=4 10.124 + } 10.125 +} 10.126 + 10.127 +Plugin { 10.128 + type = netstatus 10.129 + Config { 10.130 + iface=eth0 10.131 + configtool=subox netbox %i 10.132 + } 10.133 +} 10.134 + 10.135 +Plugin { 10.136 + type = space 10.137 + Config { 10.138 + Size=4 10.139 + } 10.140 +} 10.141 + 10.142 +Plugin { 10.143 + type = batt 10.144 + Config { 10.145 + HideIfNoBattery=0 10.146 + AlarmCommand=xmessage Battery low 10.147 + AlarmTime=5 10.148 + BackgroundColor=black 10.149 + BorderWidth=1 10.150 + ChargingColor1=#28f200 10.151 + ChargingColor2=#22cc00 10.152 + DischargingColor1=#ffee00 10.153 + DischargingColor2=#d9ca00 10.154 + Size=8 10.155 + } 10.156 +} 10.157 + 10.158 +Plugin { 10.159 + type = cpu 10.160 +} 10.161 + 10.162 +Plugin { 10.163 + type = space 10.164 + Config { 10.165 + Size=2 10.166 + } 10.167 +} 10.168 + 10.169 +Plugin { 10.170 + type = launchbar 10.171 + Config { 10.172 + Button { 10.173 + id=tazpkgbox.desktop 10.174 + } 10.175 + } 10.176 +} 10.177 + 10.178 +Plugin { 10.179 + type = dclock 10.180 + Config { 10.181 + ClockFmt=%R 10.182 + TooltipFmt=%A %x 10.183 + Action=desktopbox calendar 10.184 + BoldFont=0 10.185 + IconOnly=0 10.186 + } 10.187 +} 10.188 +
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/core-xfce/rootfs/etc/skel/.Xdefaults Sun Dec 05 17:40:41 2010 +0100 11.3 @@ -0,0 +1,20 @@ 11.4 +!~/.Xdefault: Control the behavior of x-clients. 11.5 +! 11.6 + 11.7 +! Xcursor theme (~/.icons). 11.8 +! 11.9 +Xcursor.theme: slitaz-polar 11.10 + 11.11 +! XTerm settings. 11.12 +! 11.13 +xterm*background: black 11.14 +xterm*foreground: white 11.15 +xterm*cursorColor: #6AA2D8 11.16 +xterm*scrollBar: off 11.17 +xterm*faceName: DejaVu Sans Mono 11.18 +xterm*faceSize: 9 11.19 + 11.20 +! Xload settings. 11.21 +! 11.22 +!xload*background: black 11.23 +!xload*foreground: lightblue
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/core-xfce/rootfs/etc/skel/.config/pcmanfm/main Sun Dec 05 17:40:41 2010 +0100 12.3 @@ -0,0 +1,15 @@ 12.4 +[General] 12.5 +big_icon_size=32 12.6 +terminal=xterm 12.7 + 12.8 +[Window] 12.9 +width=640 12.10 +height=480 12.11 +splitter_pos=160 12.12 +maximized=0 12.13 + 12.14 +[Desktop] 12.15 +show_desktop=1 12.16 +show_wallpaper=1 12.17 +wallpaper=/usr/share/images/slitaz-background.jpg 12.18 +show_wm_menu=1
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2 +++ b/core-xfce/rootfs/etc/skel/.gtkrc-2.0 Sun Dec 05 17:40:41 2010 +0100 13.3 @@ -0,0 +1,13 @@ 13.4 +# ~/.gtkrc-2.0 - GTK+ theme, icon and font configuration. 13.5 +# 13.6 +# System files : /usr/share/{themes,icons,fonts} 13.7 +# Personal files : ~/.icons and ~/.fonts 13.8 +# 13.9 + 13.10 +gtk-theme-name = "SliTaz" 13.11 +#gtk-theme-name = "Clearlooks-DeepSky" 13.12 +#gtk-theme-name = "Clearlooks-Olive" 13.13 + 13.14 +gtk-icon-theme-name = "SliTaz" 13.15 + 13.16 +gtk-font-name = "DejaVu Sans 9"
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/core-xfce/rootfs/etc/skel/.netsurf/Choices Sun Dec 05 17:40:41 2010 +0100 14.3 @@ -0,0 +1,64 @@ 14.4 +http_proxy:0 14.5 +http_proxy_host: 14.6 +http_proxy_port:8080 14.7 +http_proxy_auth:0 14.8 +http_proxy_auth_user: 14.9 +http_proxy_auth_pass: 14.10 +font_size:128 14.11 +font_min_size:85 14.12 +font_sans:Sans 14.13 +font_serif:Serif 14.14 +font_mono:Monospace 14.15 +font_cursive:Serif 14.16 +font_fantasy:Serif 14.17 +accept_language: 14.18 +accept_charset: 14.19 +memory_cache_size:2097152 14.20 +disc_cache_age:28 14.21 +block_advertisements:0 14.22 +minimum_gif_delay:10 14.23 +send_referer:1 14.24 +animate_images:1 14.25 +expire_url:28 14.26 +font_default:1 14.27 +ca_bundle: 14.28 +ca_path:/etc/ssl/certs 14.29 +homepage_url:file:///usr/share/webhome/netsurf.html 14.30 +url_suggestion:1 14.31 +window_x:40 14.32 +window_y:40 14.33 +window_width:800 14.34 +window_height:600 14.35 +window_screen_width:0 14.36 +window_screen_height:0 14.37 +toolbar_status_size:0 14.38 +scale:100 14.39 +incremental_reflow:1 14.40 +min_reflow_period:25 14.41 +max_fetchers:24 14.42 +max_fetchers_per_host:5 14.43 +max_cached_fetch_handles:6 14.44 +suppress_curl_debug:1 14.45 +target_blank:1 14.46 +button_2_tab:1 14.47 +margin_top:10 14.48 +margin_bottom:10 14.49 +margin_left:10 14.50 +margin_right:10 14.51 +export_scale:70 14.52 +suppress_images:0 14.53 +remove_backgrounds:0 14.54 +enable_loosening:1 14.55 +enable_PDF_compression:1 14.56 +enable_PDF_password:0 14.57 +render_resample:0 14.58 +downloads_clear:0 14.59 +request_overwrite:1 14.60 +show_single_tab:0 14.61 +button_type:1 14.62 +disable_popups:0 14.63 +disable_plugins:0 14.64 +history_age:0 14.65 +hover_urls:0 14.66 +focus_new:0 14.67 +new_blank:0
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2 +++ b/core-xfce/rootfs/etc/skel/Desktop/slitaz-doc.desktop Sun Dec 05 17:40:41 2010 +0100 15.3 @@ -0,0 +1,5 @@ 15.4 +[Desktop Entry] 15.5 +Name=Documentation 15.6 +Exec=GtkLauncher file:///usr/share/doc/slitaz/index.html 15.7 +Icon=slitaz-doc.png 15.8 +Type=Application
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2 +++ b/core-xfce/rootfs/etc/slitaz/applications.conf Sun Dec 05 17:40:41 2010 +0100 16.3 @@ -0,0 +1,18 @@ 16.4 +# SliTaz default applications configuration file. Thes apps can be 16.5 +# started throught wrappers: browser, editor and terminal. 16.6 +# 16.7 + 16.8 +# File manager. 16.9 +FILE_MANAGER="pcmanfm" 16.10 + 16.11 +# Web browser. 16.12 +BROWSER="midori" 16.13 + 16.14 +# Text editor. 16.15 +EDITOR="leafpad" 16.16 + 16.17 +# X terminal. 16.18 +TERMINAL="xterm" 16.19 + 16.20 +# Window manager. 16.21 +WINDOW_MANAGER="openbox"
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/core-xfce/rootfs/etc/xdg/openbox/menu.en.xml Sun Dec 05 17:40:41 2010 +0100 17.3 @@ -0,0 +1,134 @@ 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 +<!-- Favorite applications --> 17.9 +<menu id="favorites-menu" label="Favorite Applications"> 17.10 + <item label="File Manager"> 17.11 + <action name="Execute"><command>file-manager</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="Web Browser"> 17.17 + <action name="Execute"><command>browser</command></action> 17.18 + </item> 17.19 + <item label="Text Editor"> 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="Desktop Files & Icons"> 17.30 + <item label="Create new directory"> 17.31 + <action name="Execute"><command>desktopbox new-folder</command></action> 17.32 + </item> 17.33 + <item label="Create new file"> 17.34 + <action name="Execute"><command>desktopbox new-file</command></action> 17.35 + </item> 17.36 + <separator /> 17.37 + <item label="Add new icon"> 17.38 + <action name="Execute"><command>desktopbox add-icons</command></action> 17.39 + </item> 17.40 +</menu> 17.41 + 17.42 +<!-- Desktop effects --> 17.43 +<menu id="desktop-effects" label="Desktop Effects"> 17.44 + <item label="Activate composite"> 17.45 + <action name="Execute"><command>xcompmgr</command></action> 17.46 + </item> 17.47 + <item label="Activate shadows"> 17.48 + <action name="Execute"><command>xcompmgr -c -r 10</command></action> 17.49 + </item> 17.50 + <item label="Activate shadows/fade"> 17.51 + <action name="Execute"><command>xcompmgr -c -f -r 10</command></action> 17.52 + </item> 17.53 + <separator /> 17.54 + <item label="Set opacity (actual)"> 17.55 + <action name="Execute"> 17.56 + <command>transset-df --actual --max 60</command> 17.57 + </action> 17.58 + </item> 17.59 + <item label="Set opacity (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="Stop effects"> 17.66 + <action name="Execute"><command>killall xcompmgr</command></action> 17.67 + </item> 17.68 +</menu> 17.69 + 17.70 +<!-- SliTaz Live (Tazlito and Tazusb) --> 17.71 +<menu id="slitaz-live-menu" label="SliTaz Live"> 17.72 + <item label="Tazlito LiveCD Tool"> 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 +<!-- Openbox configuration --> 17.97 +<menu id="openbox-menu" label="Openbox"> 17.98 + <item label="ObConf"> 17.99 + <action name="Execute"><command>obconf</command></action> 17.100 + </item> 17.101 + <item label="Autostart Script"> 17.102 + <action name="Execute"> 17.103 + <command>desktopbox autostart</command> 17.104 + </action> 17.105 + </item> 17.106 + <item label="Openbox Menu"> 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="Reconfigure"> 17.113 + <action name="Reconfigure" /> 17.114 + </item> 17.115 + <item label="Restart"> 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="Open Folder" 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="Logout"> 17.133 + <action name="Execute"><command>desktopbox logout</command></action> 17.134 + </item> 17.135 +</menu> 17.136 + 17.137 +</openbox_menu>
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/core-xfce/rootfs/etc/xdg/openbox/menu.fr.xml Sun Dec 05 17:40:41 2010 +0100 18.3 @@ -0,0 +1,137 @@ 18.4 +<?xml version="1.0" encoding="UTF-8"?> 18.5 + 18.6 +<openbox_menu xmlns="http://openbox.org/3.4/menu"> 18.7 + 18.8 +<!-- Favorites applications --> 18.9 +<menu id="favorites-menu" label="Applications favorites"> 18.10 + <item label="Gestionnaire de fichiers"> 18.11 + <action name="Execute"><command>file-manager</command></action> 18.12 + </item> 18.13 + <item label="Emulateur de Terminal"> 18.14 + <action name="Execute"><command>terminal</command></action> 18.15 + </item> 18.16 + <item label="Navigateur Web"> 18.17 + <action name="Execute"><command>browser</command></action> 18.18 + </item> 18.19 + <item label="Editeur de texte"> 18.20 + <action name="Execute"><command>editor</command></action> 18.21 + </item> 18.22 + <separator /> 18.23 + <item label="Configuration des favoris"> 18.24 + <action name="Execute"><command>desktopbox tazapps</command></action> 18.25 + </item> 18.26 +</menu> 18.27 + 18.28 +<!-- Desktop files --> 18.29 +<menu id="desktop-menu" label="Fichiers & Icônes du bureau"> 18.30 + <item label="Créer un nouveau dossier"> 18.31 + <action name="Execute"><command>desktopbox new-folder</command></action> 18.32 + </item> 18.33 + <item label="Créer un nouveau fichier"> 18.34 + <action name="Execute"><command>desktopbox new-file</command></action> 18.35 + </item> 18.36 + <separator /> 18.37 + <item label="Ajouter un icône"> 18.38 + <action name="Execute"><command>desktopbox add-icons</command></action> 18.39 + </item> 18.40 +</menu> 18.41 + 18.42 +<!-- Desktop effects --> 18.43 +<menu id="desktop-effects" label="Effets visuels"> 18.44 + <item label="Activer le composite"> 18.45 + <action name="Execute"><command>xcompmgr</command></action> 18.46 + </item> 18.47 + <item label="Active les ombres"> 18.48 + <action name="Execute"><command>xcompmgr -c -r 10</command></action> 18.49 + </item> 18.50 + <item label="Activer les ombres fade"> 18.51 + <action name="Execute"><command>xcompmgr -c -f -r 10</command></action> 18.52 + </item> 18.53 + <separator /> 18.54 + <item label="Régler l'opacité (actuel)"> 18.55 + <action name="Execute"> 18.56 + <command>transset-df --actual --max 60</command> 18.57 + </action> 18.58 + </item> 18.59 + <item label="Régler l'opacité (clicque)"> 18.60 + <action name="Execute"> 18.61 + <command>transset-df --click --max 60</command> 18.62 + </action> 18.63 + </item> 18.64 + <separator /> 18.65 + <item label="Stoper les effets"> 18.66 + <action name="Execute"><command>killall xcompmgr</command></action> 18.67 + </item> 18.68 +</menu> 18.69 + 18.70 +<!-- SliTaz Live (Tazlito and Tazusb) --> 18.71 +<menu id="slitaz-live-menu" label="SliTaz Live CD/USB"> 18.72 + <item label="Tazlito LiveCD Tool"> 18.73 + <action name="Execute"><command>subox tazlitobox</command></action> 18.74 + </item> 18.75 + <item label="TazUSB LiveUSB Tool"> 18.76 + <action name="Execute"><command>subox tazusbbox</command></action> 18.77 + </item> 18.78 + <separator /> 18.79 + <item label="TazUSB Writefs (gzip)"> 18.80 + <action name="Execute"> 18.81 + <command>subox "xterm -e tazusb writefs gzip"</command> 18.82 + </action> 18.83 + </item> 18.84 + <item label="TazUSB Writefs (lzma)"> 18.85 + <action name="Execute"> 18.86 + <command>subox "xterm -e tazusb writefs lzma"</command> 18.87 + </action> 18.88 + </item> 18.89 + <item label="TazUSB Writefs (none)"> 18.90 + <action name="Execute"> 18.91 + <command>subox "xterm -e tazusb writefs none"</command> 18.92 + </action> 18.93 + </item> 18.94 +</menu> 18.95 + 18.96 +<!-- Openbox configuration --> 18.97 +<menu id="openbox-menu" label="Openbox"> 18.98 + <item label="Configuration via OBconf"> 18.99 + <action name="Execute"><command>obconf</command></action> 18.100 + </item> 18.101 + <item label="Script de démarrage"> 18.102 + <action name="Execute"> 18.103 + <command>desktopbox autostart</command> 18.104 + </action> 18.105 + </item> 18.106 + <item label="Menu d'Openbox"> 18.107 + <action name="Execute"> 18.108 + <command>editor ~/.config/openbox/menu.xml</command> 18.109 + </action> 18.110 + </item> 18.111 + <separator /> 18.112 + <item label="Reconfigurer"> 18.113 + <action name="Reconfigure" /> 18.114 + </item> 18.115 + <item label="Redémarrer"> 18.116 + <action name="Restart" /> 18.117 + </item> 18.118 +</menu> 18.119 + 18.120 +<menu id="root-menu" label="Openbox 3"> 18.121 + <!-- <separator label="SliTaz Openbox" /> --> 18.122 + <menu id="favorites-menu" /> 18.123 + <menu id="desktop-menu" /> 18.124 + <!-- Pipe menu to open folder using GTK bookmarks --> 18.125 + <menu id="open-folder-menu" label="Dossiers favoris" 18.126 + execute="/usr/lib/openbox/open-folder-menu.sh" /> 18.127 + <menu id="desktop-effects" /> 18.128 + <menu id="slitaz-live-menu" /> 18.129 + <menu id="openbox-menu" /> 18.130 + <menu id="client-list-menu" /> 18.131 + <separator /> 18.132 + <!-- <item label="Exécuter"> 18.133 + <action name="Execute"><command>gmrun</command></action> 18.134 + </item> --> 18.135 + <item label="Déconnexion"> 18.136 + <action name="Execute"><command>desktopbox logout</command></action> 18.137 + </item> 18.138 +</menu> 18.139 + 18.140 +</openbox_menu>
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/core-xfce/rootfs/etc/xdg/openbox/menu.pt.xml Sun Dec 05 17:40:41 2010 +0100 19.3 @@ -0,0 +1,134 @@ 19.4 +<?xml version="1.0" encoding="UTF-8"?> 19.5 + 19.6 +<openbox_menu xmlns="http://openbox.org/3.4/menu"> 19.7 + 19.8 +<!-- Aplicações Favoritas --> 19.9 +<menu id="favorites-menu" label="Aplicativos Favoritos"> 19.10 + <item label="Gerenciador de Arquivos"> 19.11 + <action name="Execute"><command>pcmanfm</command></action> 19.12 + </item> 19.13 + <item label="Terminal"> 19.14 + <action name="Execute"><command>terminal</command></action> 19.15 + </item> 19.16 + <item label="Navegador Web"> 19.17 + <action name="Execute"><command>browser</command></action> 19.18 + </item> 19.19 + <item label="Editor de Texto"> 19.20 + <action name="Execute"><command>editor</command></action> 19.21 + </item> 19.22 + <separator /> 19.23 + <item label="Configure favorite"> 19.24 + <action name="Execute"><command>desktopbox tazapps</command></action> 19.25 + </item> 19.26 +</menu> 19.27 + 19.28 +<!-- Desktop files --> 19.29 +<menu id="desktop-menu" label="Arquivos & Ãcones do Desktop"> 19.30 + <item label="Criar nova pasta"> 19.31 + <action name="Execute"><command>desktopbox new-folder</command></action> 19.32 + </item> 19.33 + <item label="Criar novo arquivo"> 19.34 + <action name="Execute"><command>desktopbox new-file</command></action> 19.35 + </item> 19.36 + <separator /> 19.37 + <item label="Adicionar novo Ãcone"> 19.38 + <action name="Execute"><command>desktopbox add-icons</command></action> 19.39 + </item> 19.40 +</menu> 19.41 + 19.42 +<!-- Efeitos do Desktop --> 19.43 +<menu id="desktop-effects" label="Efeitos Visuais"> 19.44 + <item label="Ativar composite"> 19.45 + <action name="Execute"><command>xcompmgr</command></action> 19.46 + </item> 19.47 + <item label="Ativar sombreamento"> 19.48 + <action name="Execute"><command>xcompmgr -c -r 10</command></action> 19.49 + </item> 19.50 + <item label="Ativar sombreamento/fade"> 19.51 + <action name="Execute"><command>xcompmgr -c -f -r 10</command></action> 19.52 + </item> 19.53 + <separator /> 19.54 + <item label="Definir opacidade (atual)"> 19.55 + <action name="Execute"> 19.56 + <command>transset-df --actual --max 60</command> 19.57 + </action> 19.58 + </item> 19.59 + <item label="Definir opacidade (click)"> 19.60 + <action name="Execute"> 19.61 + <command>transset-df --click --max 60</command> 19.62 + </action> 19.63 + </item> 19.64 + <separator /> 19.65 + <item label="Parar efeitos"> 19.66 + <action name="Execute"><command>killall xcompmgr</command></action> 19.67 + </item> 19.68 +</menu> 19.69 + 19.70 +<!-- SliTaz Live (Tazlito e Tazusb) --> 19.71 +<menu id="slitaz-live-menu" label="SliTaz Live CD/USB"> 19.72 + <item label="Tazlito Ferramenta LiveCD"> 19.73 + <action name="Execute"><command>subox tazlitobox</command></action> 19.74 + </item> 19.75 + <item label="TazUSB LiveUSB Tool"> 19.76 + <action name="Execute"><command>subox tazusbbox</command></action> 19.77 + </item> 19.78 + <separator /> 19.79 + <item label="TazUSB Writefs (gzip)"> 19.80 + <action name="Execute"> 19.81 + <command>subox "xterm -e tazusb writefs gzip"</command> 19.82 + </action> 19.83 + </item> 19.84 + <item label="TazUSB Writefs (lzma)"> 19.85 + <action name="Execute"> 19.86 + <command>subox "xterm -e tazusb writefs lzma"</command> 19.87 + </action> 19.88 + </item> 19.89 + <item label="TazUSB Writefs (none)"> 19.90 + <action name="Execute"> 19.91 + <command>subox "xterm -e tazusb writefs none"</command> 19.92 + </action> 19.93 + </item> 19.94 +</menu> 19.95 + 19.96 +<!-- Configuração do Openbox --> 19.97 +<menu id="openbox-menu" label="Openbox"> 19.98 + <item label="Configuração do Openbox (GUI)"> 19.99 + <action name="Execute"><command>obconf</command></action> 19.100 + </item> 19.101 + <item label="Aplicações autoiniciadas"> 19.102 + <action name="Execute"> 19.103 + <command>desktopbox autostart</command> 19.104 + </action> 19.105 + </item> 19.106 + <item label="Menu do Openbox"> 19.107 + <action name="Execute"> 19.108 + <command>editor ~/.config/openbox/menu.xml</command> 19.109 + </action> 19.110 + </item> 19.111 + <separator /> 19.112 + <item label="Reconfigurar"> 19.113 + <action name="Reconfigure" /> 19.114 + </item> 19.115 + <item label="Reiniciar"> 19.116 + <action name="Restart" /> 19.117 + </item> 19.118 +</menu> 19.119 + 19.120 +<menu id="root-menu" label="Openbox 3"> 19.121 + <!-- <separator label="SliTaz Openbox" /> --> 19.122 + <menu id="favorites-menu" /> 19.123 + <menu id="desktop-menu" /> 19.124 + <!-- Pipe menu to open folder using GTK bookmarks --> 19.125 + <menu id="open-folder-menu" label="Locais Favoritos" 19.126 + execute="/usr/lib/openbox/open-folder-menu.sh" /> 19.127 + <menu id="desktop-effects" /> 19.128 + <menu id="slitaz-live-menu" /> 19.129 + <menu id="openbox-menu" /> 19.130 + <menu id="client-list-menu" /> 19.131 + <separator /> 19.132 + <item label="Sair"> 19.133 + <action name="Execute"><command>desktopbox logout</command></action> 19.134 + </item> 19.135 +</menu> 19.136 + 19.137 +</openbox_menu>
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/core-xfce/rootfs/etc/xdg/openbox/rc.xml Sun Dec 05 17:40:41 2010 +0100 20.3 @@ -0,0 +1,699 @@ 20.4 +<?xml version="1.0" encoding="UTF-8"?> 20.5 +<!-- Do not edit this file, it will be overwritten on install. 20.6 + Copy the file to $HOME/.config/openbox/ instead. --> 20.7 +<openbox_config xmlns="http://openbox.org/3.4/rc"> 20.8 + <resistance> 20.9 + <strength>10</strength> 20.10 + <screen_edge_strength>20</screen_edge_strength> 20.11 + </resistance> 20.12 + <focus> 20.13 + <focusNew>yes</focusNew> 20.14 + <!-- always try to focus new windows when they appear. other rules do 20.15 + apply --> 20.16 + <followMouse>no</followMouse> 20.17 + <!-- move focus to a window when you move the mouse into it --> 20.18 + <focusLast>yes</focusLast> 20.19 + <!-- focus the last used window when changing desktops, instead of the one 20.20 + under the mouse pointer. when followMouse is enabled --> 20.21 + <underMouse>no</underMouse> 20.22 + <!-- move focus under the mouse, even when the mouse is not moving --> 20.23 + <focusDelay>200</focusDelay> 20.24 + <!-- when followMouse is enabled, the mouse must be inside the window for 20.25 + this many milliseconds (1000 = 1 sec) before moving focus to it --> 20.26 + <raiseOnFocus>no</raiseOnFocus> 20.27 + <!-- when followMouse is enabled, and a window is given focus by moving the 20.28 + mouse into it, also raise the window --> 20.29 + </focus> 20.30 + <placement> 20.31 + <policy>Smart</policy> 20.32 + <!-- 'Smart' or 'UnderMouse' --> 20.33 + <center>yes</center> 20.34 + <!-- whether to place windows in the center of the free area found or 20.35 + the top left corner --> 20.36 + <monitor>Any</monitor> 20.37 + <!-- with Smart placement on a multi-monitor system, try to place new windows 20.38 + on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where 20.39 + the active window is --> 20.40 + </placement> 20.41 + <theme> 20.42 + <name>SliTaz</name> 20.43 + <titleLayout>NLIMC</titleLayout> 20.44 + <!-- 20.45 + available characters are NDSLIMC, each can occur at most once. 20.46 + N: window icon 20.47 + L: window label (AKA title). 20.48 + I: iconify 20.49 + M: maximize 20.50 + C: close 20.51 + S: shade (roll up/down) 20.52 + D: omnipresent (on all desktops). 20.53 + --> 20.54 + <keepBorder>yes</keepBorder> 20.55 + <animateIconify>yes</animateIconify> 20.56 + <font place="ActiveWindow"> 20.57 + <name>Sans</name> 20.58 + <size>8</size> 20.59 + <!-- font size in points --> 20.60 + <weight>Bold</weight> 20.61 + <!-- 'bold' or 'normal' --> 20.62 + <slant>Normal</slant> 20.63 + <!-- 'italic' or 'normal' --> 20.64 + </font> 20.65 + <font place="InactiveWindow"> 20.66 + <name>Sans</name> 20.67 + <size>8</size> 20.68 + <!-- font size in points --> 20.69 + <weight>Bold</weight> 20.70 + <!-- 'bold' or 'normal' --> 20.71 + <slant>Normal</slant> 20.72 + <!-- 'italic' or 'normal' --> 20.73 + </font> 20.74 + <font place="MenuHeader"> 20.75 + <name>Sans</name> 20.76 + <size>10</size> 20.77 + <!-- font size in points --> 20.78 + <weight>Normal</weight> 20.79 + <!-- 'bold' or 'normal' --> 20.80 + <slant>Normal</slant> 20.81 + <!-- 'italic' or 'normal' --> 20.82 + </font> 20.83 + <font place="MenuItem"> 20.84 + <name>Sans</name> 20.85 + <size>9</size> 20.86 + <!-- font size in points --> 20.87 + <weight>Normal</weight> 20.88 + <!-- 'bold' or 'normal' --> 20.89 + <slant>Normal</slant> 20.90 + <!-- 'italic' or 'normal' --> 20.91 + </font> 20.92 + <font place="OnScreenDisplay"> 20.93 + <name>sans</name> 20.94 + <size>9</size> 20.95 + <!-- font size in points --> 20.96 + <weight>bold</weight> 20.97 + <!-- 'bold' or 'normal' --> 20.98 + <slant>normal</slant> 20.99 + <!-- 'italic' or 'normal' --> 20.100 + </font> 20.101 + </theme> 20.102 + <desktops> 20.103 + <!-- this stuff is only used at startup, pagers allow you to change them 20.104 + during a session 20.105 + 20.106 + these are default values to use when other ones are not already set 20.107 + by other applications, or saved in your session 20.108 + 20.109 + use obconf if you want to change these without having to log out 20.110 + and back in --> 20.111 + <number>2</number> 20.112 + <firstdesk>1</firstdesk> 20.113 + <names> 20.114 + <!-- set names up here if you want to, like this: 20.115 + <name>desktop 1</name> 20.116 + <name>desktop 2</name> 20.117 + --> 20.118 + </names> 20.119 + <popupTime>875</popupTime> 20.120 + <!-- The number of milliseconds to show the popup for when switching 20.121 + desktops. Set this to 0 to disable the popup. --> 20.122 + </desktops> 20.123 + <resize> 20.124 + <drawContents>yes</drawContents> 20.125 + <popupShow>Nonpixel</popupShow> 20.126 + <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) --> 20.127 + <popupPosition>Center</popupPosition> 20.128 + <!-- 'Center', 'Top', or 'Fixed' --> 20.129 + <popupFixedPosition> 20.130 + <!-- these are used if popupPosition is set to 'Fixed' --> 20.131 + <x>10</x> 20.132 + <!-- positive number for distance from left edge, negative number for 20.133 + distance from right edge, or 'Center' --> 20.134 + <y>10</y> 20.135 + <!-- positive number for distance from top edge, negative number for 20.136 + distance from bottom edge, or 'Center' --> 20.137 + </popupFixedPosition> 20.138 + </resize> 20.139 + <!-- You can reserve a portion of your screen where windows will not cover when 20.140 + they are maximized, or when they are initially placed. 20.141 + Many programs reserve space automatically, but you can use this in other 20.142 + cases. --> 20.143 + <margins> 20.144 + <top>0</top> 20.145 + <bottom>0</bottom> 20.146 + <left>0</left> 20.147 + <right>0</right> 20.148 + </margins> 20.149 + <dock> 20.150 + <position>TopLeft</position> 20.151 + <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating --> 20.152 + <floatingX>0</floatingX> 20.153 + <floatingY>0</floatingY> 20.154 + <noStrut>no</noStrut> 20.155 + <stacking>Above</stacking> 20.156 + <!-- 'Above', 'Normal', or 'Below' --> 20.157 + <direction>Vertical</direction> 20.158 + <!-- 'Vertical' or 'Horizontal' --> 20.159 + <autoHide>no</autoHide> 20.160 + <hideDelay>300</hideDelay> 20.161 + <!-- in milliseconds (1000 = 1 second) --> 20.162 + <showDelay>300</showDelay> 20.163 + <!-- in milliseconds (1000 = 1 second) --> 20.164 + <moveButton>Middle</moveButton> 20.165 + <!-- 'Left', 'Middle', 'Right' --> 20.166 + </dock> 20.167 + <keyboard> 20.168 + <chainQuitKey>C-g</chainQuitKey> 20.169 + <!-- Keybindings for desktop switching --> 20.170 + <keybind key="C-A-Left"> 20.171 + <action name="DesktopLeft"> 20.172 + <dialog>no</dialog> 20.173 + <wrap>no</wrap> 20.174 + </action> 20.175 + </keybind> 20.176 + <keybind key="C-A-Right"> 20.177 + <action name="DesktopRight"> 20.178 + <dialog>no</dialog> 20.179 + <wrap>no</wrap> 20.180 + </action> 20.181 + </keybind> 20.182 + <keybind key="C-A-Up"> 20.183 + <action name="DesktopUp"> 20.184 + <dialog>no</dialog> 20.185 + <wrap>no</wrap> 20.186 + </action> 20.187 + </keybind> 20.188 + <keybind key="C-A-Down"> 20.189 + <action name="DesktopDown"> 20.190 + <dialog>no</dialog> 20.191 + <wrap>no</wrap> 20.192 + </action> 20.193 + </keybind> 20.194 + <keybind key="S-A-Left"> 20.195 + <action name="SendToDesktopLeft"> 20.196 + <dialog>no</dialog> 20.197 + <wrap>no</wrap> 20.198 + </action> 20.199 + </keybind> 20.200 + <keybind key="S-A-Right"> 20.201 + <action name="SendToDesktopRight"> 20.202 + <dialog>no</dialog> 20.203 + <wrap>no</wrap> 20.204 + </action> 20.205 + </keybind> 20.206 + <keybind key="S-A-Up"> 20.207 + <action name="SendToDesktopUp"> 20.208 + <dialog>no</dialog> 20.209 + <wrap>no</wrap> 20.210 + </action> 20.211 + </keybind> 20.212 + <keybind key="S-A-Down"> 20.213 + <action name="SendToDesktopDown"> 20.214 + <dialog>no</dialog> 20.215 + <wrap>no</wrap> 20.216 + </action> 20.217 + </keybind> 20.218 + <keybind key="W-F1"> 20.219 + <action name="Desktop"> 20.220 + <desktop>1</desktop> 20.221 + </action> 20.222 + </keybind> 20.223 + <keybind key="W-F2"> 20.224 + <action name="Desktop"> 20.225 + <desktop>2</desktop> 20.226 + </action> 20.227 + </keybind> 20.228 + <keybind key="W-F3"> 20.229 + <action name="Desktop"> 20.230 + <desktop>3</desktop> 20.231 + </action> 20.232 + </keybind> 20.233 + <keybind key="W-F4"> 20.234 + <action name="Desktop"> 20.235 + <desktop>4</desktop> 20.236 + </action> 20.237 + </keybind> 20.238 + <keybind key="W-d"> 20.239 + <action name="ToggleShowDesktop"/> 20.240 + </keybind> 20.241 + <!-- Keybindings for windows --> 20.242 + <keybind key="A-F4"> 20.243 + <action name="Close"/> 20.244 + </keybind> 20.245 + <keybind key="A-Escape"> 20.246 + <action name="Lower"/> 20.247 + <action name="FocusToBottom"/> 20.248 + <action name="Unfocus"/> 20.249 + </keybind> 20.250 + <keybind key="A-space"> 20.251 + <action name="ShowMenu"> 20.252 + <menu>client-menu</menu> 20.253 + </action> 20.254 + </keybind> 20.255 + <!-- Keybindings for window switching --> 20.256 + <keybind key="A-Tab"> 20.257 + <action name="NextWindow"/> 20.258 + </keybind> 20.259 + <keybind key="A-S-Tab"> 20.260 + <action name="PreviousWindow"/> 20.261 + </keybind> 20.262 + <keybind key="C-A-Tab"> 20.263 + <action name="NextWindow"> 20.264 + <panels>yes</panels> 20.265 + <desktop>yes</desktop> 20.266 + </action> 20.267 + </keybind> 20.268 + <!-- Keybindings for running applications --> 20.269 + <keybind key="W-e"> 20.270 + <action name="Execute"> 20.271 + <startupnotify> 20.272 + <enabled>true</enabled> 20.273 + <name>App Launcher</name> 20.274 + </startupnotify> 20.275 + <command>lxpanelctl run</command> 20.276 + </action> 20.277 + </keybind> 20.278 + </keyboard> 20.279 + <mouse> 20.280 + <dragThreshold>8</dragThreshold> 20.281 + <!-- number of pixels the mouse must move before a drag begins --> 20.282 + <doubleClickTime>200</doubleClickTime> 20.283 + <!-- in milliseconds (1000 = 1 second) --> 20.284 + <screenEdgeWarpTime>400</screenEdgeWarpTime> 20.285 + <!-- Time before changing desktops when the pointer touches the edge of the 20.286 + screen while moving a window, in milliseconds (1000 = 1 second). 20.287 + Set this to 0 to disable warping --> 20.288 + <context name="Frame"> 20.289 + <mousebind button="A-Left" action="Press"> 20.290 + <action name="Focus"/> 20.291 + <action name="Raise"/> 20.292 + </mousebind> 20.293 + <mousebind button="A-Left" action="Click"> 20.294 + <action name="Unshade"/> 20.295 + </mousebind> 20.296 + <mousebind button="A-Left" action="Drag"> 20.297 + <action name="Move"/> 20.298 + </mousebind> 20.299 + <mousebind button="A-Right" action="Press"> 20.300 + <action name="Focus"/> 20.301 + <action name="Raise"/> 20.302 + <action name="Unshade"/> 20.303 + </mousebind> 20.304 + <mousebind button="A-Right" action="Drag"> 20.305 + <action name="Resize"/> 20.306 + </mousebind> 20.307 + <mousebind button="A-Middle" action="Press"> 20.308 + <action name="Lower"/> 20.309 + <action name="FocusToBottom"/> 20.310 + <action name="Unfocus"/> 20.311 + </mousebind> 20.312 + <mousebind button="A-Up" action="Click"> 20.313 + <action name="DesktopPrevious"/> 20.314 + </mousebind> 20.315 + <mousebind button="A-Down" action="Click"> 20.316 + <action name="DesktopNext"/> 20.317 + </mousebind> 20.318 + <mousebind button="C-A-Up" action="Click"> 20.319 + <action name="DesktopPrevious"/> 20.320 + </mousebind> 20.321 + <mousebind button="C-A-Down" action="Click"> 20.322 + <action name="DesktopNext"/> 20.323 + </mousebind> 20.324 + <mousebind button="A-S-Up" action="Click"> 20.325 + <action name="SendToDesktopPrevious"/> 20.326 + </mousebind> 20.327 + <mousebind button="A-S-Down" action="Click"> 20.328 + <action name="SendToDesktopNext"/> 20.329 + </mousebind> 20.330 + </context> 20.331 + <context name="Titlebar"> 20.332 + <mousebind button="Left" action="Press"> 20.333 + <action name="Focus"/> 20.334 + <action name="Raise"/> 20.335 + </mousebind> 20.336 + <mousebind button="Left" action="Drag"> 20.337 + <action name="Move"/> 20.338 + </mousebind> 20.339 + <mousebind button="Left" action="DoubleClick"> 20.340 + <action name="ToggleMaximizeFull"/> 20.341 + </mousebind> 20.342 + <mousebind button="Middle" action="Press"> 20.343 + <action name="Lower"/> 20.344 + <action name="FocusToBottom"/> 20.345 + <action name="Unfocus"/> 20.346 + </mousebind> 20.347 + <mousebind button="Up" action="Click"> 20.348 + <action name="Shade"/> 20.349 + <action name="FocusToBottom"/> 20.350 + <action name="Unfocus"/> 20.351 + <action name="Lower"/> 20.352 + </mousebind> 20.353 + <mousebind button="Down" action="Click"> 20.354 + <action name="Unshade"/> 20.355 + <action name="Raise"/> 20.356 + </mousebind> 20.357 + <mousebind button="Right" action="Press"> 20.358 + <action name="Focus"/> 20.359 + <action name="Raise"/> 20.360 + <action name="ShowMenu"> 20.361 + <menu>client-menu</menu> 20.362 + </action> 20.363 + </mousebind> 20.364 + </context> 20.365 + <context name="Top"> 20.366 + <mousebind button="Left" action="Press"> 20.367 + <action name="Focus"/> 20.368 + <action name="Raise"/> 20.369 + <action name="Unshade"/> 20.370 + </mousebind> 20.371 + <mousebind button="Left" action="Drag"> 20.372 + <action name="Resize"> 20.373 + <edge>top</edge> 20.374 + </action> 20.375 + </mousebind> 20.376 + </context> 20.377 + <context name="Left"> 20.378 + <mousebind button="Left" action="Press"> 20.379 + <action name="Focus"/> 20.380 + <action name="Raise"/> 20.381 + </mousebind> 20.382 + <mousebind button="Left" action="Drag"> 20.383 + <action name="Resize"> 20.384 + <edge>left</edge> 20.385 + </action> 20.386 + </mousebind> 20.387 + </context> 20.388 + <context name="Right"> 20.389 + <mousebind button="Left" action="Press"> 20.390 + <action name="Focus"/> 20.391 + <action name="Raise"/> 20.392 + </mousebind> 20.393 + <mousebind button="Left" action="Drag"> 20.394 + <action name="Resize"> 20.395 + <edge>right</edge> 20.396 + </action> 20.397 + </mousebind> 20.398 + </context> 20.399 + <context name="Bottom"> 20.400 + <mousebind button="Left" action="Press"> 20.401 + <action name="Focus"/> 20.402 + <action name="Raise"/> 20.403 + </mousebind> 20.404 + <mousebind button="Left" action="Drag"> 20.405 + <action name="Resize"> 20.406 + <edge>bottom</edge> 20.407 + </action> 20.408 + </mousebind> 20.409 + <mousebind button="Middle" action="Press"> 20.410 + <action name="Lower"/> 20.411 + <action name="FocusToBottom"/> 20.412 + <action name="Unfocus"/> 20.413 + </mousebind> 20.414 + <mousebind button="Right" action="Press"> 20.415 + <action name="Focus"/> 20.416 + <action name="Raise"/> 20.417 + <action name="ShowMenu"> 20.418 + <menu>client-menu</menu> 20.419 + </action> 20.420 + </mousebind> 20.421 + </context> 20.422 + <context name="BLCorner"> 20.423 + <mousebind button="Left" action="Press"> 20.424 + <action name="Focus"/> 20.425 + <action name="Raise"/> 20.426 + </mousebind> 20.427 + <mousebind button="Left" action="Drag"> 20.428 + <action name="Resize"/> 20.429 + </mousebind> 20.430 + </context> 20.431 + <context name="BRCorner"> 20.432 + <mousebind button="Left" action="Press"> 20.433 + <action name="Focus"/> 20.434 + <action name="Raise"/> 20.435 + </mousebind> 20.436 + <mousebind button="Left" action="Drag"> 20.437 + <action name="Resize"/> 20.438 + </mousebind> 20.439 + </context> 20.440 + <context name="TLCorner"> 20.441 + <mousebind button="Left" action="Press"> 20.442 + <action name="Focus"/> 20.443 + <action name="Raise"/> 20.444 + <action name="Unshade"/> 20.445 + </mousebind> 20.446 + <mousebind button="Left" action="Drag"> 20.447 + <action name="Resize"/> 20.448 + </mousebind> 20.449 + </context> 20.450 + <context name="TRCorner"> 20.451 + <mousebind button="Left" action="Press"> 20.452 + <action name="Focus"/> 20.453 + <action name="Raise"/> 20.454 + <action name="Unshade"/> 20.455 + </mousebind> 20.456 + <mousebind button="Left" action="Drag"> 20.457 + <action name="Resize"/> 20.458 + </mousebind> 20.459 + </context> 20.460 + <context name="Client"> 20.461 + <mousebind button="Left" action="Press"> 20.462 + <action name="Focus"/> 20.463 + <action name="Raise"/> 20.464 + </mousebind> 20.465 + <mousebind button="Middle" action="Press"> 20.466 + <action name="Focus"/> 20.467 + <action name="Raise"/> 20.468 + </mousebind> 20.469 + <mousebind button="Right" action="Press"> 20.470 + <action name="Focus"/> 20.471 + <action name="Raise"/> 20.472 + </mousebind> 20.473 + </context> 20.474 + <context name="Icon"> 20.475 + <mousebind button="Left" action="Press"> 20.476 + <action name="Focus"/> 20.477 + <action name="Raise"/> 20.478 + <action name="Unshade"/> 20.479 + <action name="ShowMenu"> 20.480 + <menu>client-menu</menu> 20.481 + </action> 20.482 + </mousebind> 20.483 + <mousebind button="Right" action="Press"> 20.484 + <action name="Focus"/> 20.485 + <action name="Raise"/> 20.486 + <action name="ShowMenu"> 20.487 + <menu>client-menu</menu> 20.488 + </action> 20.489 + </mousebind> 20.490 + </context> 20.491 + <context name="AllDesktops"> 20.492 + <mousebind button="Left" action="Press"> 20.493 + <action name="Focus"/> 20.494 + <action name="Raise"/> 20.495 + <action name="Unshade"/> 20.496 + </mousebind> 20.497 + <mousebind button="Left" action="Click"> 20.498 + <action name="ToggleOmnipresent"/> 20.499 + </mousebind> 20.500 + </context> 20.501 + <context name="Shade"> 20.502 + <mousebind button="Left" action="Press"> 20.503 + <action name="Focus"/> 20.504 + <action name="Raise"/> 20.505 + </mousebind> 20.506 + <mousebind button="Left" action="Click"> 20.507 + <action name="ToggleShade"/> 20.508 + </mousebind> 20.509 + </context> 20.510 + <context name="Iconify"> 20.511 + <mousebind button="Left" action="Press"> 20.512 + <action name="Focus"/> 20.513 + <action name="Raise"/> 20.514 + </mousebind> 20.515 + <mousebind button="Left" action="Click"> 20.516 + <action name="Iconify"/> 20.517 + </mousebind> 20.518 + </context> 20.519 + <context name="Maximize"> 20.520 + <mousebind button="Left" action="Press"> 20.521 + <action name="Focus"/> 20.522 + <action name="Raise"/> 20.523 + <action name="Unshade"/> 20.524 + </mousebind> 20.525 + <mousebind button="Middle" action="Press"> 20.526 + <action name="Focus"/> 20.527 + <action name="Raise"/> 20.528 + <action name="Unshade"/> 20.529 + </mousebind> 20.530 + <mousebind button="Right" action="Press"> 20.531 + <action name="Focus"/> 20.532 + <action name="Raise"/> 20.533 + <action name="Unshade"/> 20.534 + </mousebind> 20.535 + <mousebind button="Left" action="Click"> 20.536 + <action name="ToggleMaximizeFull"/> 20.537 + </mousebind> 20.538 + <mousebind button="Middle" action="Click"> 20.539 + <action name="ToggleMaximizeVert"/> 20.540 + </mousebind> 20.541 + <mousebind button="Right" action="Click"> 20.542 + <action name="ToggleMaximizeHorz"/> 20.543 + </mousebind> 20.544 + </context> 20.545 + <context name="Close"> 20.546 + <mousebind button="Left" action="Press"> 20.547 + <action name="Focus"/> 20.548 + <action name="Raise"/> 20.549 + <action name="Unshade"/> 20.550 + </mousebind> 20.551 + <mousebind button="Left" action="Click"> 20.552 + <action name="Close"/> 20.553 + </mousebind> 20.554 + </context> 20.555 + <context name="Desktop"> 20.556 + <mousebind button="Up" action="Click"> 20.557 + <action name="DesktopPrevious"/> 20.558 + </mousebind> 20.559 + <mousebind button="Down" action="Click"> 20.560 + <action name="DesktopNext"/> 20.561 + </mousebind> 20.562 + <mousebind button="A-Up" action="Click"> 20.563 + <action name="DesktopPrevious"/> 20.564 + </mousebind> 20.565 + <mousebind button="A-Down" action="Click"> 20.566 + <action name="DesktopNext"/> 20.567 + </mousebind> 20.568 + <mousebind button="C-A-Up" action="Click"> 20.569 + <action name="DesktopPrevious"/> 20.570 + </mousebind> 20.571 + <mousebind button="C-A-Down" action="Click"> 20.572 + <action name="DesktopNext"/> 20.573 + </mousebind> 20.574 + <mousebind button="Left" action="Press"> 20.575 + <action name="Focus"/> 20.576 + <action name="Raise"/> 20.577 + </mousebind> 20.578 + <mousebind button="Right" action="Press"> 20.579 + <action name="Focus"/> 20.580 + <action name="Raise"/> 20.581 + </mousebind> 20.582 + </context> 20.583 + <context name="Root"> 20.584 + <!-- Menus --> 20.585 + <mousebind button="Middle" action="Press"> 20.586 + <action name="ShowMenu"> 20.587 + <menu>client-list-combined-menu</menu> 20.588 + </action> 20.589 + </mousebind> 20.590 + <mousebind button="Right" action="Press"> 20.591 + <action name="ShowMenu"> 20.592 + <menu>root-menu</menu> 20.593 + </action> 20.594 + </mousebind> 20.595 + </context> 20.596 + <context name="MoveResize"> 20.597 + <mousebind button="Up" action="Click"> 20.598 + <action name="DesktopPrevious"/> 20.599 + </mousebind> 20.600 + <mousebind button="Down" action="Click"> 20.601 + <action name="DesktopNext"/> 20.602 + </mousebind> 20.603 + <mousebind button="A-Up" action="Click"> 20.604 + <action name="DesktopPrevious"/> 20.605 + </mousebind> 20.606 + <mousebind button="A-Down" action="Click"> 20.607 + <action name="DesktopNext"/> 20.608 + </mousebind> 20.609 + </context> 20.610 + </mouse> 20.611 + <menu> 20.612 + <!-- You can specify more than one menu file in here and they are all loaded, 20.613 + just don't make menu ids clash or, well, it'll be kind of pointless --> 20.614 + <!-- default menu file (or custom one in $HOME/.config/openbox/) --> 20.615 + <file>menu.xml</file> 20.616 + <hideDelay>200</hideDelay> 20.617 + <!-- if a press-release lasts longer than this setting (in milliseconds), the 20.618 + menu is hidden again --> 20.619 + <middle>no</middle> 20.620 + <!-- center submenus vertically about the parent entry --> 20.621 + <submenuShowDelay>100</submenuShowDelay> 20.622 + <!-- this one is easy, time to delay before showing a submenu after hovering 20.623 + over the parent entry --> 20.624 + <applicationIcons>yes</applicationIcons> 20.625 + <!-- controls if icons appear in the client-list-(combined-)menu --> 20.626 + <manageDesktops>yes</manageDesktops> 20.627 + <!-- show the manage desktops section in the client-list-(combined-)menu --> 20.628 + </menu> 20.629 + <applications> 20.630 + <!-- 20.631 + # this is an example with comments through out. use these to make your 20.632 + # own rules, but without the comments of course. 20.633 + 20.634 + <application name="first element of window's WM_CLASS property (see xprop)" 20.635 + class="second element of window's WM_CLASS property (see xprop)" 20.636 + role="the window's WM_WINDOW_ROLE property (see xprop)"> 20.637 + # the name or the class can be set, or both. this is used to match 20.638 + # windows when they appear. role can optionally be set as well, to 20.639 + # further restrict your matches. 20.640 + 20.641 + # the name, class, and role use simple wildcard matching such as those 20.642 + # used by a shell. you can use * to match any characters and ? to match 20.643 + # any single character. 20.644 + 20.645 + # when multiple rules match a window, they will all be applied, in the 20.646 + # order that they appear in this list 20.647 + 20.648 + 20.649 + # each element can be left out or set to 'default' to specify to not 20.650 + # change that attribute of the window 20.651 + 20.652 + <decor>yes</decor> 20.653 + # enable or disable window decorations 20.654 + 20.655 + <shade>no</shade> 20.656 + # make the window shaded when it appears, or not 20.657 + 20.658 + <position> 20.659 + # the position is only used if both an x and y coordinate are provided 20.660 + # (and not set to 'default') 20.661 + <x>center</x> 20.662 + # a number like 50, or 'center' to center on screen. use a negative number 20.663 + # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the 20.664 + # right edge (or bottom). 20.665 + <y>200</y> 20.666 + <monitor>1</monitor> 20.667 + # specifies the monitor in a xinerama setup. 20.668 + # 1 is the first head, or 'mouse' for wherever the mouse is 20.669 + </position> 20.670 + 20.671 + <focus>yes</focus> 20.672 + # if the window should try be given focus when it appears. if this is set 20.673 + # to yes it doesn't guarantee the window will be given focus. some 20.674 + # restrictions may apply, but Openbox will try to 20.675 + 20.676 + <desktop>1</desktop> 20.677 + # 1 is the first desktop, 'all' for all desktops 20.678 + 20.679 + <layer>normal</layer> 20.680 + # 'above', 'normal', or 'below' 20.681 + 20.682 + <iconic>no</iconic> 20.683 + # make the window iconified when it appears, or not 20.684 + 20.685 + <skip_pager>no</skip_pager> 20.686 + # asks to not be shown in pagers 20.687 + 20.688 + <skip_taskbar>no</skip_taskbar> 20.689 + # asks to not be shown in taskbars. window cycling actions will also 20.690 + # skip past such windows 20.691 + 20.692 + <fullscreen>yes</fullscreen> 20.693 + # make the window in fullscreen mode when it appears 20.694 + 20.695 + <maximized>true</maximized> 20.696 + # 'Horizontal', 'Vertical' or boolean (yes/no) 20.697 + </application> 20.698 + 20.699 + # end of the example 20.700 +--> 20.701 + </applications> 20.702 +</openbox_config>
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2 +++ b/core-xfce/rootfs/root/.Xdefaults Sun Dec 05 17:40:41 2010 +0100 21.3 @@ -0,0 +1,20 @@ 21.4 +!~/.Xdefault: Control the behavior of x-clients. 21.5 +! 21.6 + 21.7 +! Xcursor theme (~/.icons). 21.8 +! 21.9 +Xcursor.theme: slitaz-polar 21.10 + 21.11 +! XTerm settings. 21.12 +! 21.13 +xterm*background: black 21.14 +xterm*foreground: white 21.15 +xterm*cursorColor: #6AA2D8 21.16 +xterm*scrollBar: off 21.17 +xterm*faceName: DejaVu Sans Mono 21.18 +xterm*faceSize: 9 21.19 + 21.20 +! Xload settings. 21.21 +! 21.22 +!xload*background: black 21.23 +!xload*foreground: lightblue
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 22.2 +++ b/core-xfce/rootfs/root/.gtkrc-2.0 Sun Dec 05 17:40:41 2010 +0100 22.3 @@ -0,0 +1,13 @@ 22.4 +# ~/.gtkrc-2.0 - GTK+ theme, icon and font configuration. 22.5 +# 22.6 +# System files : /usr/share/{themes,icons,fonts} 22.7 +# Personal files : ~/.icons and ~/.fonts 22.8 +# 22.9 + 22.10 +gtk-theme-name = "SliTaz" 22.11 +#gtk-theme-name = "Clearlooks-DeepSky" 22.12 +#gtk-theme-name = "Clearlooks-Olive" 22.13 + 22.14 +gtk-icon-theme-name = "SliTaz" 22.15 + 22.16 +gtk-font-name = "DejaVu Sans 9"
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 23.2 +++ b/core-xfce/rootfs/sbin/tazlocale Sun Dec 05 17:40:41 2010 +0100 23.3 @@ -0,0 +1,137 @@ 23.4 +#!/bin/sh 23.5 +# 23.6 +# Tazlocale: SliTaz GNU/Linux locale setting using dialog boxes. 23.7 +# Configuration file is : /etc/locale.conf 23.8 +# 23.9 +# 20100201 <pankso@slitaz.org> - GNU gpl. 23.10 +# 23.11 + 23.12 +# Check if user is root. 23.13 +if test $(id -u) != 0; then 23.14 + echo -e "\nYou must be root to run `basename $0`!" 23.15 + echo -e "Type su and root password to become super-user.\n" 23.16 + exit 1 23.17 +fi 23.18 + 23.19 +get_messages() 23.20 +{ 23.21 + [ -f "/etc/locale.conf" ] && . /etc/locale.conf 23.22 + LANGUAGE=${LANG%_*} 23.23 + [ "$LANG" = "C" ] && LANGUAGE="en_US" 23.24 + case $LANGUAGE in 23.25 + fr*) 23.26 + RECONFIG_MSG=" 23.27 +Veuilliez fermer votre session et vous reloguer pour utiliser SliTaz \ 23.28 +avec la locale : $LANG" ;; 23.29 + *) 23.30 + RECONFIG_MSG=" 23.31 +Please logout of your current session and login again to use SliTaz \ 23.32 +with $LANG locale." ;; 23.33 + esac 23.34 +} 23.35 + 23.36 +# Create symlink to translated files provide by SliTaz language pack, 23.37 +# doc and config files. 23.38 +link_language_files() 23.39 +{ 23.40 + . /etc/locale.conf 23.41 + LANGUAGE=${LANG%_*} 23.42 + [ "$LANG" = "C" ] && LANGUAGE="en" 23.43 + # Openbox menu in /usr/share/doc/slitaz 23.44 + if [ -f /etc/xdg/openbox/menu.$LANGUAGE.xml ]; then 23.45 + cd /etc/xdg/openbox && rm -f menu.xml 23.46 + ln -s menu.$LANGUAGE.xml menu.xml 23.47 + fi 23.48 + # Documentation in /usr/share/doc/slitaz 23.49 + if [ -f /usr/share/doc/slitaz/index.$LANGUAGE.html ]; then 23.50 + cd /usr/share/doc/slitaz && rm -f index.html 23.51 + ln -s index.$LANGUAGE.html index.html 23.52 + fi 23.53 + # SliTaz Software Manuals 23.54 + for soft in tazpkg tazlito tazusb tazwok 23.55 + do 23.56 + if [ -f /usr/share/doc/$soft/$soft.$LANGUAGE.html ]; then 23.57 + cd /usr/share/doc/$soft && rm -f $soft.html 23.58 + ln -s $soft.$LANGUAGE.html $soft.html 23.59 + fi 23.60 + done 23.61 +} 23.62 + 23.63 +# Locale name displayed. 23.64 +get_locale_name() 23.65 +{ 23.66 + for i in `ls -1 /usr/share/i18n/locales/ | grep ^[a-z][a-z]_[A-Z][A-Z]` 23.67 + do 23.68 + #name=`locale -a -v | grep -A 2 "locale: $i" | grep "title" | \ 23.69 + # cut -d " " -f 7` 23.70 + echo "$i Locale" 23.71 + done 23.72 +} 23.73 + 23.74 +# We have no locale files in /usr/lib/locale by default. Run localedef in 23.75 +# background to have a faster boot. 23.76 +gen_utf8_locale() 23.77 +{ 23.78 + localedef -i $locale -c -f UTF-8 /usr/lib/locale/$locale & 23.79 +} 23.80 + 23.81 +# Dialog menu. 23.82 +dialog_menu() 23.83 +{ 23.84 + exec 3>&1 23.85 + locale=`$DIALOG --clear \ 23.86 + --title " SliTaz language configuration " \ 23.87 + --menu "" 15 70 5 \ 23.88 +"en" "English" \ 23.89 +$(get_locale_name) \ 23.90 +2>&1 1>&3` 23.91 + retval=$? 23.92 + exec 3>&- 23.93 + case $retval in 23.94 + 0) 23.95 + continue ;; 23.96 + 1) 23.97 + echo "Cancel pressed." 23.98 + exit 0 ;; 23.99 + 255) 23.100 + if test -n "$locale"; then 23.101 + echo "$locale" 23.102 + else 23.103 + echo "ESC pressed." 23.104 + exit 0 23.105 + fi ;; 23.106 + esac 23.107 + # Default: C = English 23.108 + [ "$locale" = "en" ] && locale="en_US" 23.109 + [ -s /etc/locale.conf ] && RECONFIG="yes" 23.110 + # System configuration 23.111 + echo "LANG=$locale" > /etc/locale.conf 23.112 + echo "LC_ALL=$locale" >> /etc/locale.conf 23.113 + export LANG=$locale LC_ALL=$locale 23.114 + gen_utf8_locale 23.115 + get_messages 23.116 + # If it's a reconfiguration give an info message. 23.117 + if [ -n "$RECONFIG" ]; then 23.118 + $DIALOG --clear \ 23.119 + --title " Information " \ 23.120 + --msgbox "$RECONFIG_MSG" 16 70 23.121 + fi 23.122 +} 23.123 + 23.124 +case "$1" in 23.125 + *_*) 23.126 + # Execute functions (can be called from an other apps). 23.127 + $1 ;; 23.128 + link-files) 23.129 + link_language_files ;; 23.130 + list) 23.131 + echo "" 23.132 + locale -a 23.133 + echo "" ;; 23.134 + *) 23.135 + : ${DIALOG=dialog} 23.136 + dialog_menu 23.137 + link_language_files ;; 23.138 +esac 23.139 + 23.140 +exit 0
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 24.2 +++ b/core-xfce/rootfs/usr/bin/slitaz-installer Sun Dec 05 17:40:41 2010 +0100 24.3 @@ -0,0 +1,1051 @@ 24.4 +#!/bin/sh 24.5 +# slitaz-installer - SliTaz GNU/Linux installer. 24.6 +# 24.7 +# So this is SliTaz installer using dialog boxes. All the comments are in 24.8 +# English but displayed messages are in French. The script starts with a 24.9 +# few main variables, then all the functions and then a sequence of functions. 24.10 +# 24.11 +# (C) 2007-2009 SliTaz - GNU General Public License v3. 24.12 +# 24.13 +# Author : Christophe Lincoln <pankso@slitaz.org> 24.14 +# 24.15 +VERSION=2.0 24.16 + 24.17 +: ${DIALOG=dialog} 24.18 + 24.19 +# We need to know cdrom device and kernel version string to copy files. 24.20 +DRIVE_NAME=`cat /proc/sys/dev/cdrom/info | grep "drive name" | cut -f 3` 24.21 +CDROM=/dev/$DRIVE_NAME 24.22 +KERNEL=vmlinuz-`uname -r` 24.23 +TARGET_ROOT=/mnt/target 24.24 +LOG=/var/log/slitaz-installer.log 24.25 +BACKLIST="SliTaz GNU/Linux installer" 24.26 +ACTION=$1 24.27 + 24.28 +####################### 24.29 +# Installer functions # 24.30 +####################### 24.31 + 24.32 +# Messages language setting. 24.33 +set_messages() 24.34 +{ 24.35 + case $LANG in 24.36 + de*) 24.37 + . /usr/share/slitaz/messages/de/installer.msg ;; 24.38 + fr*) 24.39 + . /usr/share/slitaz/messages/fr/installer.msg ;; 24.40 + hu*) 24.41 + . /usr/share/slitaz/messages/hu/installer.msg ;; 24.42 + pt*) 24.43 + . /usr/share/slitaz/messages/pt/installer.msg ;; 24.44 + *) 24.45 + . /usr/share/slitaz/messages/en/installer.msg ;; 24.46 + esac 24.47 +} 24.48 + 24.49 +# Display error message. 24.50 +error_message() 24.51 +{ 24.52 + $DIALOG --title " Error " \ 24.53 + --colors --backtitle "$BACKLIST" \ 24.54 + --clear --msgbox "\n$ERROR_MSG" 18 70 24.55 +} 24.56 + 24.57 +# Exit install if user is not root. 24.58 +check_root() 24.59 +{ 24.60 + if test $(id -u) != 0 ; then 24.61 + ERROR_MSG="\ 24.62 +[\Z6en\Zn] You must be root administrator to start SliTaz installer, please \ 24.63 +use 'su' to get a root SHell and restart installation.\n\n 24.64 +[\Z6fr\Zn] Vous devez être root pour installer SLiTaz GNU/Linux. Vous pouvez \ 24.65 +utiliser 'su' suivi du mot de passe administrateur pour devenir root \ 24.66 +et relancer l'installation." 24.67 + error_message 24.68 + exit 0 24.69 + fi 24.70 +} 24.71 + 24.72 +# This function is used after each screen to contine or abort install. 24.73 +check_retval() 24.74 +{ 24.75 + case $retval in 24.76 + 0) 24.77 + continue ;; 24.78 + 1) 24.79 + echo -e "\nVoluntary exit.\n" && exit 0 ;; 24.80 + 3) 24.81 + continue ;; 24.82 + 255) 24.83 + echo -e "ESC pressed.\n" && exit 0 ;; 24.84 + esac 24.85 +} 24.86 + 24.87 +# Start install with basic information. 24.88 +start_installer() 24.89 +{ 24.90 + $DIALOG --title " Install or Upgrade " \ 24.91 + --backtitle "$BACKLIST" \ 24.92 + --extra-button --extra-label "Upgrade" \ 24.93 + --ok-label "Install" \ 24.94 + --clear --colors --yesno "$START_INSTALL_MSG" 18 70 24.95 + retval=$? 24.96 + case $retval in 24.97 + 0) 24.98 + ACTION=install ;; 24.99 + 1) 24.100 + echo -e "\nVoluntary exit.\n" && exit 0 ;; 24.101 + 3) 24.102 + ACTION=upgrade ;; 24.103 + 255) 24.104 + echo -e "ESC pressed.\n" && exit 0 ;; 24.105 + esac 24.106 + echo "start_installer: `date`" > $LOG 24.107 +} 24.108 + 24.109 +# Mount cdrom and verify if it's really SliTaz CD. 24.110 +mount_cdrom() 24.111 +{ 24.112 + ERROR_MSG="" 24.113 + ( 24.114 + echo "XXX" && echo 30 24.115 + echo -e "\nCreating mount point (/media/cdrom)..." 24.116 + echo "XXX" 24.117 + mkdir -p /media/cdrom 24.118 + sleep 1 24.119 + # First try to mount a cdrom 24.120 + if mount -t iso9660 $CDROM /media/cdrom 2>>$LOG; then 24.121 + echo "XXX" && echo 60 24.122 + echo -e "\nUsing file from cdrom ($CDROM)..." 24.123 + echo "XXX" 24.124 + sleep 2 24.125 + else 24.126 + # We may be in LiveUSB mode 24.127 + if [ -d /home/boot ]; then 24.128 + echo "XXX" && echo 60 24.129 + echo -e "\nUsing file from USB device..." 24.130 + echo "XXX" 24.131 + rm /media/cdrom/boot 2>/dev/null 24.132 + ln -s /home/boot /media/cdrom/boot 24.133 + sleep 2 24.134 + fi 24.135 + fi 24.136 + 24.137 + echo "XXX" && echo 90 24.138 + echo -e "\nChecking installation media..." 24.139 + echo "XXX" 24.140 + sleep 2 24.141 + ) | 24.142 + $DIALOG --title " Mounting cdrom " \ 24.143 + --backtitle "$BACKLIST" \ 24.144 + --gauge "Preparing the installation media..." 18 70 0 24.145 + # Exit with error msg if no rootfs.gz found. 24.146 + if [ ! -f /media/cdrom/boot/rootfs.gz ]; then 24.147 + ERROR_MSG="$MOUNT_CDROM_ERROR_MSG" 24.148 + error_message 24.149 + echo "missing: /media/cdrom/boot/rootfs.gz" >>$LOG 24.150 + exit 1 24.151 + fi 24.152 +} 24.153 + 24.154 +# Display a list of available partitions. 24.155 +fdisk_list() 24.156 +{ 24.157 + LIST_PARTITIONS=`fdisk -l | grep ^/dev | sed s/'e Win95'/'e'/g` 24.158 + $DIALOG --title " Partition tables " \ 24.159 + --backtitle "$BACKLIST" \ 24.160 + --clear --msgbox "\n 24.161 +Available partitions :\n\n 24.162 +$LIST_PARTITIONS" 18 70 24.163 +} 24.164 + 24.165 +# We need a partition to install to (inputbox). 24.166 +ask_for_target_dev() 24.167 +{ 24.168 + exec 3>&1 24.169 + TARGET_DEV=`$DIALOG --title " Root Partition " \ 24.170 + --backtitle "$BACKLIST" --clear \ 24.171 + --extra-label "List" --extra-button \ 24.172 + --colors --inputbox "$ASK_FOR_TARGET_DEV_MSG" 18 70 2>&1 1>&3` 24.173 + retval=$? 24.174 + exec 3>&- 24.175 + check_retval 24.176 + # Display list and come back. 24.177 + if [ "$retval" = "3" ]; then 24.178 + fdisk_list 24.179 + ask_for_target_dev 24.180 + fi 24.181 + # Empty value. 24.182 + if [ -z $TARGET_DEV ]; then 24.183 + ask_for_target_dev 24.184 + fi 24.185 + set_messages 24.186 + # Check if specified device exists in /proc/partitions. 24.187 + DEV_NAME=${TARGET_DEV#/dev/} 24.188 + if cat /proc/partitions | grep -q $DEV_NAME; then 24.189 + if [ "$DEV_NAME" = "$TARGET_DEV" ]; then 24.190 + TARGET_DEV="/dev/$DEV_NAME" 24.191 + fi 24.192 + echo "ask_for_target_dev: $TARGET_DEV" >>$LOG 24.193 + else 24.194 + ERROR_MSG="Partition \Z2$TARGET_DEV\Zn doesn't exist." 24.195 + error_message 24.196 + ask_for_target_dev 24.197 + fi 24.198 +} 24.199 + 24.200 +# Mkfs if needed/wanted on /. 24.201 +ask_for_mkfs_target_dev() 24.202 +{ 24.203 + $DIALOG --title " Format " \ 24.204 + --backtitle "$BACKLIST" \ 24.205 + --clear --colors --yesno "$ASK_FOR_MKFS_TARGET_DEV_MSG" 18 70 24.206 + retval=$? 24.207 + case $retval in 24.208 + 0) 24.209 + MKFS_TARGET_DEV="ext3" 24.210 + echo "mkfs_target_dev: ext3" >>$LOG ;; 24.211 + 1) 24.212 + CLEAN="clean" 24.213 + echo "mkfs_target_dev: clean" >>$LOG ;; 24.214 + 255) 24.215 + echo -e "ESC pressed.\n" && exit 0 ;; 24.216 + esac 24.217 + 24.218 +} 24.219 + 24.220 +# We can have a separate partition for /home. 24.221 +ask_for_home() 24.222 +{ 24.223 + exec 3>&1 24.224 + HOME_DEV=`$DIALOG --title " Home Partition " \ 24.225 + --backtitle "$BACKLIST" --clear \ 24.226 + --extra-label "List" --extra-button \ 24.227 + --colors --inputbox " 24.228 +On most GNU/Linux systems users personal files are stored in the directory \ 24.229 +/home. Home can be on a separate partition or another hard disk. 24.230 + 24.231 +\Z2Home partition to use (Optional):\Zn" 18 70 2>&1 1>&3` 24.232 + retval=$? 24.233 + exec 3>&- 24.234 + check_retval 24.235 + # Display list and come back. 24.236 + if [ "$retval" = "3" ]; then 24.237 + fdisk_list 24.238 + ask_for_home 24.239 + fi 24.240 + if [ -n "$HOME_DEV" ]; then 24.241 + # Check if specified device exists in /proc/partitions. 24.242 + DEV_NAME=${HOME_DEV#/dev/} 24.243 + if cat /proc/partitions | grep -q $DEV_NAME; then 24.244 + if [ "$DEV_NAME" = "$HOME_DEV" ]; then 24.245 + HOME_DEV="/dev/$DEV_NAME" 24.246 + fi 24.247 + echo "ask_for_home: $HOME_DEV" >>$LOG 24.248 + else 24.249 + ERROR_MSG="Partition \Z2$HOME_DEV\Zn doesn't exist." 24.250 + error_message 24.251 + ask_for_home 24.252 + fi 24.253 + fi 24.254 +} 24.255 + 24.256 +# Mkfs if needed/wanted on /. 24.257 +ask_for_mkfs_home() 24.258 +{ 24.259 + $DIALOG --title " Format " \ 24.260 + --backtitle "$BACKLIST" \ 24.261 + --clear --colors --yesno " 24.262 +Here you can format the /home partition: $HOME_DEV 24.263 + 24.264 +SliTaz uses ext3 by default but another filesystem can be used if wanted, \ 24.265 +for this please adjust /etc/fstab after installation. 24.266 + 24.267 +\Z2Do you want to format (Option): $HOME_DEV\Zn" 18 70 24.268 + retval=$? 24.269 + case $retval in 24.270 + 0) 24.271 + MKFS_HOME="ext3" 24.272 + echo "mkfs_home: ext3" >>$LOG ;; 24.273 + 1) 24.274 + MKFS_HOME="" 24.275 + echo "mkfs_home: no" >>$LOG ;; 24.276 + 255) 24.277 + echo -e "ESC pressed.\n" && exit 0 ;; 24.278 + esac 24.279 + 24.280 +} 24.281 + 24.282 +# Ask for hostname before installing files. 24.283 +ask_for_hostname() 24.284 +{ 24.285 + exec 3>&1 24.286 + HOSTNAME=`$DIALOG --title " Hostname " \ 24.287 + --backtitle "$BACKLIST" --clear \ 24.288 + --colors --inputbox "$ASK_FOR_HOSTNAME_MSG" 18 70 "slitaz" 2>&1 1>&3` 24.289 + retval=$? 24.290 + exec 3>&- 24.291 + check_retval 24.292 + # Empty value. 24.293 + if [ -z $HOSTNAME ]; then 24.294 + HOSTNAME="slitaz" 24.295 + fi 24.296 +} 24.297 + 24.298 +# Ask for root password and default user settings. 24.299 +ask_for_users_settings() 24.300 +{ 24.301 + # Root passwd 24.302 + exec 3>&1 24.303 + ROOT_PASSWD=`$DIALOG --title " Root password " \ 24.304 + --backtitle "$BACKLIST" --clear \ 24.305 + --colors --nocancel --inputbox " 24.306 +The root administrator privilege lets you manage and configure the full \ 24.307 +system. A root user can damage your system so you should always setup a \ 24.308 +strong password with special characters and/or numbers. 24.309 + 24.310 +\Z2Please specify the Root password for your new system:\Zn" 18 70 "root" 2>&1 1>&3` 24.311 + retval=$? 24.312 + exec 3>&- 24.313 + check_retval 24.314 + # Prevent empty value. 24.315 + if [ -z $ROOT_PASSWD ]; then 24.316 + ROOT_PASSWD="root" 24.317 + fi 24.318 + # Default user 24.319 + exec 3>&1 24.320 + USER=`$DIALOG --title " User name " \ 24.321 + --backtitle "$BACKLIST" --clear \ 24.322 + --colors --nocancel --inputbox " 24.323 +The default user for the system will have their personal files stored \ 24.324 +in /home/*user* (and will be automatically added to the audio group). 24.325 + 24.326 +\Z2Default user name login:\Zn" 18 70 "tux" 2>&1 1>&3` 24.327 + retval=$? 24.328 + exec 3>&- 24.329 + check_retval 24.330 + # Prevent empty value. 24.331 + if [ -z $USER ]; then 24.332 + USER="tux" 24.333 + fi 24.334 + # User passwd 24.335 + exec 3>&1 24.336 + USER_PASSWD=`$DIALOG --title " User password " \ 24.337 + --backtitle "$BACKLIST" --clear \ 24.338 + --colors --nocancel --inputbox " 24.339 +The password for default user $USER. It may be a security risk if too \ 24.340 +weak and should always be strong if you use a SSH connection through the web. 24.341 + 24.342 +\Z2Please specify $USER password:\Zn" 18 70 "tux" 2>&1 1>&3` 24.343 + retval=$? 24.344 + exec 3>&- 24.345 + check_retval 24.346 + # Prevent empty value. 24.347 + if [ -z $USER_PASSWD ]; then 24.348 + USER_PASSWD="tux" 24.349 + fi 24.350 +} 24.351 + 24.352 +# Tiny summary and last chance to cancel or restart for user. 24.353 +summary() 24.354 +{ 24.355 + $DIALOG --title " Summary " \ 24.356 + --backtitle "$BACKLIST" \ 24.357 + --clear --colors --yesno " 24.358 +Installation settings summary and last chance to cancel or restart all \ 24.359 +installation steps. 24.360 + 24.361 +Root partition: $TARGET_DEV 24.362 +Home partition: $HOME_DEV 24.363 +Hostname: $HOSTNAME 24.364 +Default user: $USER 24.365 + 24.366 +\Z2Go and install SliTaz or cancel?\Zn" 18 70 24.367 + retval=$? 24.368 + check_retval 24.369 +} 24.370 + 24.371 +# Mount and mkfs with progress. 24.372 +prepare_partitions() 24.373 +{ 24.374 + ( 24.375 + echo "XXX" && echo 30 24.376 + echo -e "\nPreparing target partition..." 24.377 + echo "XXX" 24.378 + # Mount point can be already used. 24.379 + if mount | grep -q $TARGET_ROOT; then 24.380 + umount $TARGET_ROOT 2>$LOG 24.381 + fi 24.382 + sleep 2 24.383 + 24.384 + if [ "$MKFS_TARGET_DEV" == "ext3" ]; then 24.385 + echo "XXX" && echo 50 24.386 + echo -e "\nExecuting mkfs.ext3 on $TARGET_DEV" 24.387 + echo "XXX" 24.388 + mkfs.ext3 $TARGET_DEV >>$LOG 2>>$LOG 24.389 + else 24.390 + echo "XXX" && echo 50 24.391 + echo -e "\nThe partition ($TARGET_DEV) will be cleaned..." 24.392 + echo "XXX" 24.393 + sleep 2 24.394 + fi 24.395 + 24.396 + if [ "$MKFS_HOME" == "ext3" ]; then 24.397 + echo "XXX" && echo 70 24.398 + echo -e "\nExecuting mkfs.ext3 on $HOME_DEV" 24.399 + echo "XXX" 24.400 + mkfs.ext3 -L "Home" $HOME_DEV >>$LOG 2>>$LOG 24.401 + else 24.402 + echo "XXX" && echo 70 24.403 + echo -e "\nThe partition ($HOME_DEV) will be kept..." 24.404 + echo "XXX" 24.405 + sleep 2 24.406 + fi 24.407 + 24.408 + echo "XXX" && echo 90 24.409 + echo -e "\nCreating mount point: $TARGET_ROOT" 24.410 + echo "XXX" 24.411 + mkdir -p $TARGET_ROOT 24.412 + sleep 2 24.413 + 24.414 + ) | 24.415 + $DIALOG --title " Prepare the target " \ 24.416 + --backtitle "$BACKLIST" \ 24.417 + --gauge "Target in preparation..." 18 70 0 24.418 + # Mount target. 24.419 + mount $TARGET_DEV $TARGET_ROOT >>$LOG 2>>$LOG 24.420 +} 24.421 + 24.422 +# Get a clean target device (15%). 24.423 +clean_target() 24.424 +{ 24.425 + if [ "$CLEAN" == "clean" ]; then 24.426 + echo "XXX" && echo 15 24.427 + echo -e "\nCleaning the root partition ($TARGET_DEV)" 24.428 + echo "XXX" 24.429 + # Keep /home in case of reinstall. 24.430 + cd $TARGET_ROOT 24.431 + for dir in * 24.432 + do 24.433 + case "$dir" in 24.434 + home) 24.435 + mv $TARGET_ROOT/home $TARGET_ROOT/home.bak 24.436 + echo "keeping /home found on: $TARGET_DEV" >>$LOG ;; 24.437 + lost+found) 24.438 + continue ;; 24.439 + *) 24.440 + echo "removing target: $dir" >>$LOG 24.441 + rm -rf $dir 2>>$LOG ;; 24.442 + esac 24.443 + done 24.444 + if [ -d $TARGET_ROOT/mklost+found ]; then 24.445 + mklost+found 2>>$LOG 24.446 + fi 24.447 + fi 24.448 + sleep 2 24.449 +} 24.450 + 24.451 +# Kernel is renamed to standard vmlinuz-$VERSION. 24.452 +install_kernel() 24.453 +{ 24.454 + mkdir -p $TARGET_ROOT/boot 24.455 + cp /media/cdrom/boot/bzImage $TARGET_ROOT/boot/$KERNEL 24.456 + echo "install_kernel: $KERNEL" >> $LOG 24.457 + sleep 2 24.458 +} 24.459 + 24.460 +# Copy isolinux r/w files (not syslinux, some files are read only). 24.461 +copy_bootloaders() 24.462 +{ 24.463 + if [ -d "/media/cdrom/boot/isolinux" ]; then 24.464 + mkdir -p $TARGET_ROOT/boot/isolinux 24.465 + cp -a /media/cdrom/boot/isolinux/*.cfg $TARGET_ROOT/boot/isolinux 24.466 + cp -a /media/cdrom/boot/isolinux/*.kbd $TARGET_ROOT/boot/isolinux 24.467 + cp -a /media/cdrom/boot/isolinux/*.txt $TARGET_ROOT/boot/isolinux 24.468 + cp -a /media/cdrom/boot/isolinux/*.bin $TARGET_ROOT/boot/isolinux 24.469 + cp -a /media/cdrom/boot/isolinux/*.msg $TARGET_ROOT/boot/isolinux 24.470 + cp -a /media/cdrom/boot/isolinux/*.lss $TARGET_ROOT/boot/isolinux 24.471 + cp -a /media/cdrom/boot/isolinux/*.c32 $TARGET_ROOT/boot/isolinux 24.472 + fi 24.473 +} 24.474 + 24.475 +# Extract lzma'ed or gziped rootfs. 24.476 +extract_rootfs() 24.477 +{ 24.478 + cd $TARGET_ROOT 24.479 + (zcat rootfs.gz 2>/dev/null || lzma d rootfs.gz -so || \ 24.480 + cat rootfs.gz) 2>>$LOG | cpio -id 2>>$LOG > /dev/null 24.481 + rm -f rootfs.gz 24.482 + # unpack /usr (double check...) 24.483 + if ls etc/tazlito | grep -q ".extract"; then 24.484 + for i in etc/tazlito/*.extract; do 24.485 + [ -f "$i" ] && . $i /media/cdrom 24.486 + done 24.487 + fi 24.488 +} 24.489 + 24.490 +# Pre configure freshly installed system (60 - 80%). 24.491 +pre_config_system() 24.492 +{ 24.493 + cd $TARGET_ROOT 24.494 + # Restore backup of existing /home if exists. 24.495 + # (created by prepare_target_dev) 24.496 + if [ -d home.bak ]; then 24.497 + echo "XXX" && echo 65 24.498 + echo -e "\nRestoring directory: /home..." 24.499 + echo "XXX" 24.500 + rm -rf home 24.501 + mv home.bak home 24.502 + sleep 1 24.503 + fi 24.504 + # Add root device to CHECK_FS in rcS.conf to check filesystem 24.505 + # on each boot. 24.506 + echo "XXX" && echo 70 24.507 + echo -e "\nAdding $TARGET_DEV and CHECK_FS to file /etc/rcS.conf..." 24.508 + echo "XXX" 24.509 + sed -i s#'CHECK_FS=\"\"'#"CHECK_FS=\"$TARGET_DEV\""# etc/rcS.conf 24.510 + sleep 2 24.511 + # Set hostname. 24.512 + echo "XXX" && echo 80 24.513 + echo -e "\nConfiguring host name: $HOSTNAME" 24.514 + echo "XXX" 24.515 + echo $HOSTNAME > etc/hostname 24.516 +} 24.517 + 24.518 +# Set root passwd and create user after rootfs extraction. 24.519 +users_settings() 24.520 +{ 24.521 + cat > $TARGET_ROOT/users.sh << _EOF_ 24.522 +#!/bin/sh 24.523 +echo "root:$ROOT_PASSWD" | chpasswd 24.524 +adduser -D -H $USER 24.525 +addgroup $USER audio 24.526 +echo "$USER:$USER_PASSWD" | chpasswd 24.527 +if [ ! -d /home/$USER ]; then 24.528 + cp -a /etc/skel /home/$USER 24.529 + chown -R $USER.$USER /home/$USER 24.530 + # Path for user desktop files. 24.531 + for i in /home/$USER/.local/share/applications/*.desktop 24.532 + do 24.533 + sed -i s/"user_name"/"$USER"/g \$i 24.534 + done 24.535 +fi 24.536 +# Slim default user. 24.537 +if [ -f /etc/slim.conf ]; then 24.538 + sed -i s/"default_user .*"/"default_user $USER"/ \ 24.539 + /etc/slim.conf 24.540 +fi 24.541 +_EOF_ 24.542 + chmod +x $TARGET_ROOT/users.sh 24.543 + chroot $TARGET_ROOT ./users.sh 24.544 + rm $TARGET_ROOT/users.sh 24.545 +} 24.546 + 24.547 +# /home can be on a separate partition. If default user exist in /home 24.548 +# we remove default file crated by users_settings(). 24.549 +home_config() 24.550 +{ 24.551 + echo "home_config: $HOME_DEV" >> $LOG 24.552 + cd $TARGET_ROOT 24.553 + mv home/$USER tmp 24.554 + mount $HOME_DEV home 24.555 + if [ -d $TARGET_ROOT/home/$USER ]; then 24.556 + rm -rf tmp/$USER 24.557 + else 24.558 + mv tmp/$USER home 24.559 + fi 24.560 + echo "$HOME_DEV /home ext3 defaults 0 2" \ 24.561 + >> etc/fstab 24.562 + umount home 24.563 +} 24.564 + 24.565 +# Determine GRUB partition number and GRUB disk number. 24.566 +grub_config() 24.567 +{ 24.568 + DISK_LETTER=${TARGET_DEV#/dev/[h-s]d} 24.569 + DISK_LETTER=${DISK_LETTER%[0-9]} 24.570 + GRUB_PARTITION=$((${TARGET_DEV#/dev/[h-s]d[a-z]}-1)) 24.571 + for disk in a b c d e f g h 24.572 + do 24.573 + nb=$(($nb+1)) 24.574 + if [ "$disk" = "$DISK_LETTER" ]; then 24.575 + GRUB_DISK=$(($nb-1)) 24.576 + break 24.577 + fi 24.578 + done 24.579 + GRUB_ROOT="(hd${GRUB_DISK},${GRUB_PARTITION})" 24.580 + # Create the target GRUB configuration. 24.581 + mkdir -p $TARGET_ROOT/boot/grub 24.582 + cat > $TARGET_ROOT/boot/grub/menu.lst << _EOF_ 24.583 +# /boot/grub/menu.lst: GRUB boot loader configuration. 24.584 +# 24.585 + 24.586 +# By default, boot the first entry. 24.587 +default 0 24.588 + 24.589 +# Boot automatically after 8 secs. 24.590 +timeout 8 24.591 + 24.592 +# Change the colors. 24.593 +color yellow/brown light-green/black 24.594 + 24.595 +# For booting SliTaz from : $TARGET_DEV 24.596 +# 24.597 +title SliTaz GNU/Linux (cooking) (Kernel $KERNEL) 24.598 +root $GRUB_ROOT 24.599 +kernel /boot/$KERNEL root=$TARGET_DEV 24.600 + 24.601 +_EOF_ 24.602 + # log 24.603 + echo "grub_config: $TARGET_ROOT/boot/grub/menu.lst" >>$LOG 24.604 + sleep 2 24.605 +} 24.606 + 24.607 +# Files install with gauge, calling for functions or with cmds. 24.608 +install_files() 24.609 +{ 24.610 + ( 24.611 + 24.612 + echo "XXX" && echo 10 24.613 + echo -e "\nCleaning the root partition if necessary..." 24.614 + echo "XXX" 24.615 + clean_target 24.616 + 24.617 + echo "XXX" && echo 20 24.618 + echo -e "\nInstalling the kernel ($KERNEL)" 24.619 + echo "XXX" 24.620 + install_kernel 24.621 + 24.622 + echo "XXX" && echo 30 24.623 + echo -e "\nCopying the bootloader syslinux/isolinux..." 24.624 + echo "XXX" 24.625 + copy_bootloaders 24.626 + 24.627 + echo "XXX" && echo 40 24.628 + echo -e "\nCopying the compressed system (rootfs.gz)..." 24.629 + echo "XXX" 24.630 + cp /media/cdrom/boot/rootfs.gz $TARGET_ROOT 24.631 + sleep 2 24.632 + 24.633 + echo "XXX" && echo 50 24.634 + echo -e "\nExtracting the root system..." 24.635 + echo "XXX" 24.636 + extract_rootfs 24.637 + 24.638 + echo "XXX" && echo 60 24.639 + echo -e "\nPreconfiguring the system..." 24.640 + echo "XXX" 24.641 + pre_config_system 24.642 + 24.643 + echo "XXX" && echo 70 24.644 + echo -e "\nConfiguring root and default $USER account..." 24.645 + echo "XXX" 24.646 + users_settings 24.647 + sleep 2 24.648 + 24.649 + if [ "$HOME_DEV" != "" ]; then 24.650 + echo "XXX" && echo 80 24.651 + echo -e "\nConfiguring $HOME_DEV to be used as /home..." 24.652 + echo "XXX" 24.653 + home_config 24.654 + sleep 2 24.655 + fi 24.656 + 24.657 + echo "XXX" && echo 90 24.658 + echo -e "\nCreating the configuration file for GRUB (menu.lst)..." 24.659 + echo "XXX" 24.660 + grub_config 24.661 + 24.662 + echo "XXX" && echo 100 24.663 + echo -e "\nFinishing the files installation..." 24.664 + echo "XXX" 24.665 + echo "install_files: OK" >>$LOG 24.666 + sleep 2 24.667 + 24.668 + ) | 24.669 + $DIALOG --title " Install files " \ 24.670 + --backtitle "$BACKLIST" \ 24.671 + --gauge "Starting to install files..." 18 70 0 24.672 +} 24.673 + 24.674 +# GRUB info with disk name used for grub-install. 24.675 +grub_install() 24.676 +{ 24.677 + TARGET_DISK=`echo $TARGET_DEV | sed s/"[0-9]"/''/` 24.678 + set_messages 24.679 + $DIALOG --title " GRUB install " \ 24.680 + --backtitle "$BACKLIST" \ 24.681 + --clear --colors --yesno "$GRUB_INSTALL_MSG" 18 70 24.682 + retval=$? 24.683 + case $retval in 24.684 + 0) 24.685 + ( 24.686 + echo "XXX" && echo 50 24.687 + echo -e "\nRunning grub-install on : $TARGET_DISK" 24.688 + echo "XXX" 24.689 + grub-install --no-floppy \ 24.690 + --root-directory=$TARGET_ROOT $TARGET_DISK 2>>$LOG 24.691 + echo "XXX" && echo 100 24.692 + echo -e "\nFinished installation..." 24.693 + echo "XXX" 24.694 + sleep 2 24.695 + ) | 24.696 + $DIALOG --title " GRUB install " \ 24.697 + --backtitle "$BACKLIST" \ 24.698 + --gauge "Installing GRUB..." 18 70 0 ;; 24.699 + 1) 24.700 + echo "grub_install: NO" >>$LOG ;; 24.701 + 255) 24.702 + echo -e "ESC pressed.\n" && exit 0 ;; 24.703 + esac 24.704 +} 24.705 + 24.706 +# Copy log file, umount target and eject cdrom. 24.707 +umount_devices() 24.708 +{ 24.709 + ( 24.710 + echo "XXX" && echo 25 24.711 + echo -e "\nCopying the log files ($LOG)" 24.712 + echo "XXX" 24.713 + cp -a $LOG $TARGET_ROOT/var/log 24.714 + sleep 2 24.715 + echo "XXX" && echo 50 24.716 + echo -e "\nUnmounting the target ($TARGET_DEV)" 24.717 + echo "XXX" 24.718 + if mount | grep -q $TARGET_ROOT; then 24.719 + umount $TARGET_ROOT 2>/dev/null 24.720 + fi 24.721 + echo "XXX" && echo 75 24.722 + echo -e "\nUnmounting and ejecting the cdrom..." 24.723 + echo "XXX" 24.724 + if mount | grep -q /media/cdrom; then 24.725 + umount /media/cdrom 24.726 + grep -q slitaz-loram-cdrom /etc/init.d/rcS || eject 24.727 + fi 24.728 + sleep 2 24.729 + echo "XXX" && echo 100 24.730 + echo -e "\n$TITLE..." 24.731 + echo "XXX" 24.732 + sleep 2 24.733 + ) | 24.734 + $DIALOG --title " $TITLE " \ 24.735 + --backtitle "$BACKLIST" \ 24.736 + --gauge "$TITLE starting..." 18 70 0 24.737 +} 24.738 + 24.739 +# End of installation. 24.740 +end_of_install() 24.741 +{ 24.742 + echo "end_of_install: `date`" >>$LOG 24.743 + $DIALOG --title " Installation complete " \ 24.744 + --backtitle "$BACKLIST" \ 24.745 + --yes-label "Exit" \ 24.746 + --no-label "Reboot" \ 24.747 + --clear --colors --yesno "$END_OF_INSTALL_MSG" 18 70 24.748 + retval=$? 24.749 + case $retval in 24.750 + 0) 24.751 + TITLE="Exiting" 24.752 + umount_devices ;; 24.753 + 1) 24.754 + TITLE="Rebooting" 24.755 + umount_devices 24.756 + reboot || reboot -f ;; 24.757 + 255) 24.758 + echo -e "ESC pressed.\n" && exit 0 ;; 24.759 +esac 24.760 +} 24.761 + 24.762 +##################### 24.763 +# Upgrade functions # 24.764 +##################### 24.765 + 24.766 +# We need a partition to upgrade SliTaz. 24.767 +ask_for_upgrade_dev() 24.768 +{ 24.769 + exec 3>&1 24.770 + UPGRADE_DEV=`$DIALOG --title " Target to upgrade " \ 24.771 + --backtitle "$BACKLIST" --clear \ 24.772 + --extra-label "List" --extra-button \ 24.773 + --colors --inputbox "\n 24.774 +The installer will upgrade the target by saving all configuration files and \ 24.775 +the list of installed packages. Then, it will clean the partition and install the \ 24.776 +version of SliTaz contained on the cdrom, restore the configuration files and \ 24.777 +reinstall any packages which are not present on the cdrom. You will need an active \ 24.778 +internet connection before upgrading.\n\n 24.779 +\Z2Partition containing the system upgrade:\Zn" 18 70 2>&1 1>&3` 24.780 + retval=$? 24.781 + exec 3>&- 24.782 + check_retval 24.783 + # Display list and come back. 24.784 + if [ "$retval" = "3" ]; then 24.785 + fdisk_list 24.786 + ask_for_upgrade_dev 24.787 + fi 24.788 + # Empty value. 24.789 + if [ -z $UPGRADE_DEV ]; then 24.790 + ask_for_upgrade_dev 24.791 + fi 24.792 + # Check if specified device exists in /proc/partitions. 24.793 + DEV_NAME=${UPGRADE_DEV#/dev/} 24.794 + if cat /proc/partitions | grep -q $DEV_NAME; then 24.795 + echo "ask_for_target_dev: $TARGET_DEV" >>$LOG 24.796 + else 24.797 + ERROR_MSG="The partition \Z2$UPGRADE_DEV\Zn doesn't seem to exist." 24.798 + error_message 24.799 + ask_for_upgrade_dev 24.800 + fi 24.801 + echo "partition to upgrade: $UPGRADE_DEV" >>$LOG 24.802 +} 24.803 + 24.804 +# Prepare the partition to upgrade, backup, install, restore configs 24.805 +# and reinstall pkgs. 24.806 +upgrade_process() 24.807 +{ 24.808 + ( 24.809 + echo "XXX" && echo 5 24.810 + echo -e "\nPreparing the target partition..." 24.811 + echo "XXX" 24.812 + # Mount point can be already used. 24.813 + if mount | grep -q $TARGET_ROOT; then 24.814 + umount $TARGET_ROOT 2>$LOG 24.815 + fi 24.816 + mkdir -p $TARGET_ROOT && sleep 2 24.817 + # Mount target. 24.818 + mount $UPGRADE_DEV $TARGET_ROOT >>$LOG 2>>$LOG 24.819 + cd $TARGET_ROOT 24.820 + TARGET_DEV=$UPGRADE_DEV 24.821 + set_messages 24.822 + 24.823 + echo "XXX" && echo 10 24.824 + echo -e "\nSearch for /etc/slitaz-release" 24.825 + echo "XXX" 24.826 + if [ -f etc/slitaz-release ]; then 24.827 + release=`cat etc/slitaz-release` 24.828 + echo "XXX" && echo 15 24.829 + echo -e "\nSliTaz release: $release" 24.830 + echo "XXX" 24.831 + else 24.832 + ERROR_MSG="The partition \Z2$UPGRADE_DEV\Zn doesn't appear to contain \ 24.833 +a SliTaz system, the file: /etc/slitaz-release doesn't exist." 24.834 + error_message 24.835 + exit 0 24.836 + fi && sleep 2 24.837 + 24.838 + echo "XXX" && echo 20 24.839 + echo -e "\nBackup /etc, /home and the packages list..." 24.840 + echo "XXX" 24.841 + # Backup target packages list. 24.842 + ls -1 var/lib/tazpkg/installed > home/packages-selection.list 24.843 + for dir in * 24.844 + do 24.845 + case "$dir" in 24.846 + boot) 24.847 + # Upgrade doesn't prompt for grub install, so backup and 24.848 + # create a new grub menu.lst. 24.849 + rm -rf $TARGET_ROOT/boot/vmlinuz-* 24.850 + mv $TARGET_ROOT/boot/grub/menu.lst \ 24.851 + $TARGET_ROOT/boot/grub/menu.lst.bak 2>/dev/null 24.852 + grub_config ;; 24.853 + home) 24.854 + mv $TARGET_ROOT/home $TARGET_ROOT/home.bak 24.855 + echo "keeping /home found on: $UPGRADE_DEV" >>$LOG ;; 24.856 + etc) 24.857 + tar czf $TARGET_ROOT/etc.tar.gz etc 24.858 + mv $TARGET_ROOT/etc $TARGET_ROOT/etc.bak 24.859 + echo "keeping /etc found on: $UPGRADE_DEV" >>$LOG ;; 24.860 + var) 24.861 + if [ -d $TARGET_ROOT/var/www ]; then 24.862 + mv $TARGET_ROOT/var/www $TARGET_ROOT/www.bak 24.863 + fi 24.864 + rm -rf $TARGET_ROOT/var ;; 24.865 + lost+found) 24.866 + continue ;; 24.867 + *) 24.868 + echo "removing target: $dir" >>$LOG 24.869 + rm -rf $TARGET_ROOT/$dir 2>>$LOG ;; 24.870 + esac 24.871 + done 24.872 + if [ -d $TARGET_ROOT/mklost+found ]; then 24.873 + mklost+found 2>>$LOG 24.874 + fi 24.875 + sleep 2 24.876 + 24.877 + echo "XXX" && echo 25 24.878 + echo -e "\nInstalling the kernel ($KERNEL)" 24.879 + echo "XXX" 24.880 + install_kernel 24.881 + 24.882 + echo "XXX" && echo 30 24.883 + echo -e "\nCopying the bootloader syslinux/isolinux..." 24.884 + echo "XXX" 24.885 + copy_bootloaders 24.886 + 24.887 + echo "XXX" && echo 35 24.888 + echo -e "\nCopying the compressed system (rootfs.gz)..." 24.889 + echo "XXX" 24.890 + cp /media/cdrom/boot/rootfs.gz $TARGET_ROOT 24.891 + sleep 2 24.892 + 24.893 + echo "XXX" && echo 40 24.894 + echo -e "\nExtracting the root system..." 24.895 + echo "XXX" 24.896 + extract_rootfs 24.897 + 24.898 + # Restore backups. 24.899 + echo "XXX" && echo 42 24.900 + echo -e "\nRestoring configuration files..." 24.901 + echo "XXX" 24.902 + rm -rf $TARGET_ROOT/home 24.903 + mv $TARGET_ROOT/home.bak $TARGET_ROOT/home 24.904 + rm -rf $TARGET_ROOT/etc 24.905 + mv $TARGET_ROOT/etc.bak $TARGET_ROOT/etc 24.906 + if [ -d $TARGET_ROOT/www.bak ]; then 24.907 + rm -rf $TARGET_ROOT/var/www 24.908 + mv $TARGET_ROOT/www.bak $TARGET_ROOT/var/www 24.909 + fi 24.910 + echo "backups restored: `date`" >> $LOG 24.911 + 24.912 + # /var/lib/slitaz-installer 24.913 + mkdir $TARGET_ROOT/var/lib/slitaz-installer 24.914 + mv $TARGET_ROOT/etc.tar.gz $TARGET_ROOT/var/lib/slitaz-installer 24.915 + mv $TARGET_ROOT/home/packages-selection.list $TARGET_ROOT/var/lib/slitaz-installer 24.916 + cd $TARGET_ROOT/var/lib/slitaz-installer 24.917 + 24.918 + # LiveCD packages list. 24.919 + echo "XXX" && echo 46 24.920 + echo -e "\nCreating package lists..." 24.921 + echo "XXX" 24.922 + ls -1 $TARGET_ROOT/var/lib/tazpkg/installed > packages-cdrom.list || exit 1 24.923 + echo "packages-cdrom.list: done" >> $LOG 24.924 + # Diff 24.925 + diff packages-cdrom.list packages-selection.list | \ 24.926 + grep ^+[a-z] | sed s/^+// > packages-selection.diff 24.927 + echo "packages-selection.diff: done" >> $LOG 24.928 + # Get mirror list. 24.929 + tazpkg recharge >>$LOG 2>>$LOG 24.930 + if [ ! -f /var/lib/tazpkg/packages.list ]; then 24.931 + ERROR_MSG="The list of available packages on the mirror could not be \ 24.932 +downloaded. No missing packages will be reinstalled now, but \ 24.933 +you can do so later by looking at the following list: \n\n 24.934 + 24.935 +/var/lib/slitaz-installer/packages-selection.diff" 24.936 + error_message 24.937 + fi 24.938 + sleep 2 24.939 + 24.940 + # Check if the pkg is on the mirror. 24.941 + echo "XXX" && echo 48 24.942 + echo -e "\nChecking the availability of packages..." 24.943 + echo "XXX" 24.944 + touch packages-to-install.list 24.945 + packages=0 24.946 + diff=`cat packages-selection.diff | sort` 24.947 + for pkg in $diff 24.948 + do 24.949 + if grep -q ^$pkg-[0-9] /var/lib/tazpkg/packages.list; then 24.950 + packages=$(($packages+1)) 24.951 + echo "$pkg" >> packages-to-install.list 24.952 + fi 24.953 + done 24.954 + 24.955 + # Calculate the percent for one package and install. 24.956 + echo "XXX" && echo 50 24.957 + echo -e "\nInstalling any packages..." 24.958 + echo "XXX" 24.959 + sleep 2 24.960 + if [ "$packages" == "0" ]; then 24.961 + echo "packages to install: 0" >> $LOG 24.962 + else 24.963 + onepkg=$((48/$packages)) 24.964 + pct=50 24.965 + # Get-install all missing pkgs. 24.966 + for pkg in `cat packages-to-install.list` 24.967 + do 24.968 + pct=$(($pct+$onepkg)) 24.969 + echo "XXX" && echo $pct 24.970 + echo -e "\nInstallation of: $pkg..." 24.971 + echo "XXX" 24.972 + # Log please. 24.973 + echo "get-install: $pkg" >>$LOG 24.974 + # Get install package and answer yes in case of dependencies. 24.975 + pkgname=`grep ^$pkg /var/lib/tazpkg/packages.list` 24.976 + tazpkg get $pkg >/dev/null 2>/dev/null 24.977 + yes "" | tazpkg install $pkgname.tazpkg --root=$TARGET_ROOT >/dev/null 2>/dev/null 24.978 + rm -f $pkgname.tazpkg 24.979 + done 24.980 + fi 24.981 + echo "XXX" && echo 100 24.982 + echo -e "\nInstallation of packages complete..." 24.983 + echo "XXX" 24.984 + sleep 2 24.985 + ) | 24.986 + $DIALOG --title " Processing system upgrade " \ 24.987 + --backtitle "$BACKLIST" \ 24.988 + --gauge "Target in preparation..." 18 70 0 24.989 +} 24.990 + 24.991 +# End of system upgrade. 24.992 +end_of_upgrade() 24.993 +{ 24.994 + TARGET_DEV=$UPGRADE_DEV 24.995 + set_messages 24.996 + pkgscd=`cat $TARGET_ROOT/var/lib/slitaz-installer/packages-cdrom.list | wc -l` 24.997 + pkginst=`cat $TARGET_ROOT/var/lib/slitaz-installer/packages-to-install.list | wc -l` 24.998 + echo "end_of_upgrade: `date`" >>$LOG 24.999 + $DIALOG --title " Upgrade completed " \ 24.1000 + --backtitle "$BACKLIST" \ 24.1001 + --yes-label "Exit" \ 24.1002 + --no-label "Reboot" \ 24.1003 + --clear --colors --yesno "\n 24.1004 +Upgrade finished. You can now restart (reboot) \ 24.1005 +from your SliTaz GNU/Linux system.\n\n 24.1006 +Packages on the cdrom : $pkgscd\n 24.1007 +Packages installed from the mirror : $pkginst\n" 18 70 24.1008 + retval=$? 24.1009 + case $retval in 24.1010 + 0) 24.1011 + TITLE="Exiting" 24.1012 + umount_devices ;; 24.1013 + 1) 24.1014 + TITLE="Rebooting" 24.1015 + umount_devices 24.1016 + reboot || reboot -f ;; 24.1017 + 255) 24.1018 + echo -e "ESC pressed.\n" && exit 0 ;; 24.1019 +esac 24.1020 +} 24.1021 + 24.1022 +###################### 24.1023 +# Installer sequence # 24.1024 +###################### 24.1025 + 24.1026 +set_messages 24.1027 +check_root 24.1028 +start_installer 24.1029 + 24.1030 +case $ACTION in 24.1031 + upgrade) 24.1032 + BACKLIST="$BACKLIST (Upgrade)" 24.1033 + mount_cdrom 24.1034 + ask_for_upgrade_dev 24.1035 + upgrade_process 24.1036 + end_of_upgrade ;; 24.1037 + install|*) 24.1038 + mount_cdrom 24.1039 + ask_for_target_dev 24.1040 + ask_for_mkfs_target_dev 24.1041 + ask_for_home 24.1042 + if [ -n "$HOME_DEV" ]; then 24.1043 + ask_for_mkfs_home 24.1044 + fi 24.1045 + ask_for_hostname 24.1046 + ask_for_users_settings 24.1047 + summary 24.1048 + prepare_partitions 24.1049 + install_files 24.1050 + grub_install 24.1051 + end_of_install ;; 24.1052 +esac 24.1053 + 24.1054 +exit 0
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 25.2 +++ b/core-xfce/rootfs/usr/bin/tazlito Sun Dec 05 17:40:41 2010 +0100 25.3 @@ -0,0 +1,1825 @@ 25.4 +#!/bin/sh 25.5 +# TazLito - SliTaz Live Tool. 25.6 +# 25.7 +# Tazlito is a tool to help generate and configure SliTaz LiveCD 25.8 +# ISO images. You can create a custom distro in one command from a list of 25.9 +# packages, extract an existing ISO image to hack it, create a new initramfs 25.10 +# and/or a new ISO. Most commands must be run by root, except the stats 25.11 +# and the configuration file manipulation. 25.12 +# 25.13 +# (C) 2007-2010 SliTaz - GNU General Public License. 25.14 +# 25.15 +# Authors : Christophe Lincoln <pankso@slitaz.org> 25.16 +# Pascal Bellard <pascal.bellard@slitaz.org> 25.17 +# 25.18 +VERSION=2.0 25.19 + 25.20 +# Tazlito configuration variables to be shorter 25.21 +# and to use words rather than numbers. 25.22 +COMMAND=$1 25.23 +LIST_NAME=$2 25.24 +TMP_DIR=/tmp/tazlito-$$-$RANDOM 25.25 +TMP_MNT=/media/tazlito-$$-$RANDOM 25.26 +TOP_DIR=`pwd` 25.27 +INITRAMFS=rootfs.gz 25.28 +LOCALSTATE=/var/lib/tazpkg 25.29 +INSTALLED=$LOCALSTATE/installed 25.30 +CACHE_DIR=/var/cache/tazpkg 25.31 +MIRROR=$LOCALSTATE/mirror 25.32 +DEFAULT_MIRROR="http://mirror.slitaz.org/packages/`cat /etc/slitaz-release`/" 25.33 + 25.34 +# Try to include config file, continue if command is gen-config or exit. 25.35 +# The main config used by default is in /etc/tazlito. 25.36 +if [ -f "/etc/tazlito/tazlito.conf" ] ; then 25.37 + CONFIG_FILE="/etc/tazlito/tazlito.conf" 25.38 +fi 25.39 +# Specific distro config file can be put in a distro tree. 25.40 +if [ -f "$TOP_DIR/tazlito.conf" ] ; then 25.41 + CONFIG_FILE="$TOP_DIR/tazlito.conf" 25.42 +fi 25.43 +if [ ! "$CONFIG_FILE" = "" ] ; then 25.44 + . $CONFIG_FILE 25.45 +else 25.46 + if [ "$COMMAND" = "gen-config" ] ; then 25.47 + continue 25.48 + else 25.49 + echo "Unable to find any configuration file. Please read the docs" 25.50 + echo "or run '`basename $0` gen-config' to get an empty config file." 25.51 + exit 0 25.52 + fi 25.53 +fi 25.54 + 25.55 +# While Tazpkg is not used the default mirror url file does not exist 25.56 +# and user can't recharge the list of flavors. 25.57 +if test $(id -u) = 0 ; then 25.58 + if [ ! -f "$MIRROR" ]; then 25.59 + echo "$DEFAULT_MIRROR" > $MIRROR 25.60 + fi 25.61 +fi 25.62 + 25.63 +# Set the rootfs and rootcd path with $DISTRO 25.64 +# configuration variable. 25.65 +ROOTFS=$DISTRO/rootfs 25.66 +ROOTCD=$DISTRO/rootcd 25.67 +FLAVORS_REPOSITORY=/home/slitaz/flavors 25.68 + 25.69 +##################### 25.70 +# Tazlito functions # 25.71 +##################### 25.72 + 25.73 +# Print the usage. 25.74 +usage () 25.75 +{ 25.76 + echo -e "\nSliTaz Live Tool - Version: $VERSION\n 25.77 +\033[1mUsage: \033[0m `basename $0` [command] [list|iso|flavor|compression] [dir|iso] 25.78 +\033[1mCommands: \033[0m\n 25.79 + usage Print this short usage. 25.80 + stats View Tazlito and distro configuration statistics. 25.81 + gen-config Generate a new configuration file for a distro. 25.82 + configure Configure the main config file or a specific tazlito.conf. 25.83 + gen-iso Generate a new ISO from a distro tree. 25.84 + gen-initiso Generate a new initramfs and ISO from the distro tree. 25.85 + list-flavors List all available package lists on the mirror. 25.86 + gen-flavor Generate a new live-CD description. 25.87 + gen-liveflavor Generate a live-CD description from current system. 25.88 + show-flavor Show live-CD description. 25.89 + get-flavor Get a flavor's list of packages. 25.90 + upgrade-flavor Update package list to the latest available versions. 25.91 + extract-flavor Extract a (*.flavor) flavor into $FLAVORS_REPOSITORY. 25.92 + pack-flavor Pack (and update) a flavor from $FLAVORS_REPOSITORY. 25.93 + check-list Check a distro-packages.list for updates. 25.94 + extract-distro Extract an ISO to a directory and rebuild LiveCD tree. 25.95 + gen-distro Generate a Live distro and ISO from a list of packages. 25.96 + clean-distro Remove all files generated by gen-distro. 25.97 + check-distro Help to check if distro is ready to release. 25.98 + writeiso Use running system to generate a bootable ISO (with /home). 25.99 + merge Merge multiple rootfs into one iso. 25.100 + repack Recompress rootfs into iso with maximum ratio. 25.101 + frugal-install Frugal install in /boot/frugal from a distro or ISO 25.102 + emu-iso Emulate an ISO image with Qemu. 25.103 + burn-iso Burn ISO image to a cdrom using Wodim.\n" 25.104 +} 25.105 + 25.106 +# Status function. 25.107 +status() 25.108 +{ 25.109 + local CHECK=$? 25.110 + echo -en "\\033[70G[ " 25.111 + if [ $CHECK = 0 ]; then 25.112 + echo -en "\\033[1;33mOK" 25.113 + else 25.114 + echo -en "\\033[1;31mFailed" 25.115 + fi 25.116 + echo -e "\\033[0;39m ]" 25.117 + return $CHECK 25.118 +} 25.119 + 25.120 +yesorno() 25.121 +{ 25.122 + echo -n "$1" 25.123 + case "$DEFAULT_ANSWER" in 25.124 + Y|y) answer="y";; 25.125 + N|n) answer="n";; 25.126 + *) read answer;; 25.127 + esac 25.128 +} 25.129 + 25.130 +field() 25.131 +{ 25.132 + grep "^$1" "$2" | sed 's/.*: \([0-9KMG\.]*\).*/\1/' 25.133 +} 25.134 + 25.135 +todomsg() 25.136 +{ 25.137 + echo -e "\\033[70G[ \\033[1;31mTODO\\033[0;39m ]" 25.138 +} 25.139 + 25.140 +# Download a file from this mirror 25.141 +download_from() 25.142 +{ 25.143 + local i 25.144 + local mirrors 25.145 + mirrors="$1" 25.146 + shift 25.147 + for i in $mirrors; do 25.148 + case "$i" in 25.149 + http://*|ftp://*) wget -c $i$@ && break;; 25.150 + *) cp $i/$1 . && break;; 25.151 + esac 25.152 + done 25.153 +} 25.154 + 25.155 +# Download a file trying all mirrors 25.156 +download() 25.157 +{ 25.158 + local i 25.159 + for i in $(cat $MIRROR $LOCALSTATE/undigest/*/mirror 2> /dev/null); do 25.160 + download_from "$i" "$@" && break 25.161 + done 25.162 +} 25.163 + 25.164 +# Execute hooks provided by some packages 25.165 +genisohooks() 25.166 +{ 25.167 + local here=`pwd` 25.168 + for i in $(ls $ROOTFS/etc/tazlito/*.$1 2> /dev/null); do 25.169 + cd $ROOTFS 25.170 + . $i $ROOTCD 25.171 + done 25.172 + cd $here 25.173 +} 25.174 + 25.175 +cleanup() 25.176 +{ 25.177 + if [ -d $TMP_MNT ]; then 25.178 + umount $TMP_MNT 25.179 + rmdir $TMP_MNT 25.180 + rm -f /boot 25.181 + fi 25.182 +} 25.183 + 25.184 +# Echo the package name if the tazpkg is already installed 25.185 +installed_package_name() 25.186 +{ 25.187 + local tazpkg 25.188 + local package 25.189 + local VERSION 25.190 + local EXTRAVERSION 25.191 + tazpkg=$1 25.192 + # Try to find package name and version to be able 25.193 + # to repack it from installation 25.194 + # A dash (-) can exist in name *and* in version 25.195 + package=${tazpkg%-*} 25.196 + i=$package 25.197 + while true; do 25.198 + VERSION="" 25.199 + eval $(grep -s ^VERSION= $INSTALLED/$i/receipt) 25.200 + EXTRAVERSION="" 25.201 + eval $(grep -s ^EXTRAVERSION= $INSTALLED/$i/receipt) 25.202 + if [ "$i-$VERSION$EXTRAVERSION" = "$tazpkg" ]; then 25.203 + echo $i 25.204 + break 25.205 + fi 25.206 + case "$i" in 25.207 + *-*);; 25.208 + *) break;; 25.209 + esac 25.210 + i=${i%-*} 25.211 + done 25.212 +} 25.213 + 25.214 +# Check if user is root. 25.215 +check_root() 25.216 +{ 25.217 + if test $(id -u) != 0 ; then 25.218 + echo -e "\nYou must be root to run `basename $0` with this option." 25.219 + echo -e "Please type 'su' and root password to become super-user.\n" 25.220 + exit 0 25.221 + fi 25.222 +} 25.223 + 25.224 +# Check for the rootfs tree. 25.225 +check_rootfs() 25.226 +{ 25.227 + if [ ! -d "$ROOTFS/etc" ] ; then 25.228 + echo -e "\nUnable to find a distro rootfs...\n" 25.229 + exit 0 25.230 + fi 25.231 +} 25.232 + 25.233 +# Check for the boot dir into the root CD tree. 25.234 +verify_rootcd() 25.235 +{ 25.236 + if [ ! -d "$ROOTCD/boot" ] ; then 25.237 + echo -e "\nUnable to find the rootcd boot directory...\n" 25.238 + exit 0 25.239 + fi 25.240 +} 25.241 + 25.242 +create_iso() 25.243 +{ 25.244 + genisoimage -R -o $1 -b boot/isolinux/isolinux.bin \ 25.245 + -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \ 25.246 + -V "$VOLUM_NAME" -p "$PREPARED" -input-charset iso8859-1 \ 25.247 + -boot-info-table $2 25.248 + if [ -x /usr/bin/isohybrid ]; then 25.249 + echo -n "Creating hybrid ISO..." 25.250 + /usr/bin/isohybrid $1 2> /dev/null 25.251 + status 25.252 + fi 25.253 +} 25.254 + 25.255 +# Generate a new ISO image using isolinux. 25.256 +gen_livecd_isolinux() 25.257 +{ 25.258 + # Some packages may want to alter iso 25.259 + genisohooks iso 25.260 + if [ ! -f "$ROOTCD/boot/isolinux/isolinux.bin" ]; then 25.261 + echo -e "\nUnable to find isolinux binary.\n" 25.262 + cleanup 25.263 + exit 0 25.264 + fi 25.265 + # Set date for boot msg. 25.266 + if grep -q 'XXXXXXXX' $ROOTCD/boot/isolinux/isolinux.msg; then 25.267 + DATE=`date +%Y%m%d` 25.268 + echo -n "Setting build date to: $DATE..." 25.269 + sed -i s/'XXXXXXXX'/"$DATE"/ $ROOTCD/boot/isolinux/isolinux.msg 25.270 + status 25.271 + fi 25.272 + cd $ROOTCD 25.273 + echo -n "Computing md5..." 25.274 + find * -type f ! -name md5sum -exec md5sum {} \; > md5sum 25.275 + status 25.276 + cd $DISTRO 25.277 + echo "" 25.278 + echo -e "\033[1mGenerating ISO image\033[0m" 25.279 + echo "================================================================================" 25.280 + create_iso $ISO_NAME.iso $ROOTCD 25.281 + echo -n "Creating the ISO md5sum..." 25.282 + md5sum $ISO_NAME.iso > $ISO_NAME.md5 25.283 + status 25.284 + echo "================================================================================" 25.285 + # Some packages may want to alter final iso 25.286 + genisohooks final 25.287 +} 25.288 + 25.289 +lzma_history_bits() 25.290 +{ 25.291 + # 25.292 + # This genertae ISO who boot with Qemu but give 25.293 + # rootfs errors in frugal or liveUSB mode. 25.294 + # 25.295 + #local n 25.296 + #local sz 25.297 + #n=20 # 1Mb 25.298 + #sz=$(du -sk $1 | cut -f1) 25.299 + #while [ $sz -gt 1024 -a $n -lt 28 ]; do 25.300 + #n=$(( $n + 1 )) 25.301 + #sz=$(( $sz / 2 )) 25.302 + #done 25.303 + #echo $n 25.304 + echo 24 25.305 +} 25.306 + 25.307 +lzma_switches() 25.308 +{ 25.309 + echo "-d$(lzma_history_bits $1) -mt$(grep ^processor < /proc/cpuinfo | wc -l)" 25.310 +} 25.311 + 25.312 +# Pack rootfs 25.313 +pack_rootfs() 25.314 +{ 25.315 + ( cd $1 ; find . -print | cpio -o -H newc ) | \ 25.316 + if [ "$COMPRESSION" = "none" ]; then 25.317 + echo "Generating uncompressed initramfs... " 25.318 + cat > $2 25.319 + elif [ -x /usr/bin/lzma -a "$COMPRESSION" != "gzip" ]; then 25.320 + echo -n "Generating lzma'ed initramfs... " 25.321 + lzma e -si -so $(lzma_switches $1) > $2 25.322 + else 25.323 + echo "Generating gziped initramfs... " 25.324 + gzip -9 > $2 25.325 + fi 25.326 + echo 1 > /tmp/rootfs 25.327 +} 25.328 + 25.329 +# Compression functions for writeiso. 25.330 +write_initramfs() 25.331 +{ 25.332 + if [ "$COMPRESSION" = "lzma" ]; then 25.333 + echo -n "Creating rootfs.gz with lzma compression... " 25.334 + cat /tmp/list | cpio -o -H newc | lzma e -si -so > /rootfs.gz 25.335 + elif [ "$COMPRESSION" = "gzip" ]; then 25.336 + echo "Creating rootfs.gz with gzip compression... " 25.337 + cat /tmp/list | cpio -o -H newc | gzip -9 > /rootfs.gz 25.338 + else 25.339 + echo "Creating rootfs.gz without compression... " 25.340 + cat /tmp/list | cpio -o -H newc > /rootfs.gz 25.341 + fi 25.342 + echo 1 > /tmp/rootfs 25.343 +} 25.344 + 25.345 +# Generate a new initramfs from the root filesystem. 25.346 +gen_initramfs() 25.347 +{ 25.348 + # Just in case CTRL+c 25.349 + rm -f $DISTRO/gen 25.350 + # Some packages may want to alter rootfs 25.351 + genisohooks rootfs 25.352 + cd $1 25.353 + echo "" 25.354 + 25.355 + # Link duplicate files 25.356 + find . -type f -size +0c -exec stat -c '%s-%a-%u-%g %i %h %n' {} \; | \ 25.357 + sort | ( save=0; old_attr=""; old_inode=""; old_link=""; old_file="" 25.358 + while read attr inode link file; do 25.359 + if [ "$attr" = "$old_attr" -a "$inode" != "$old_inode" ]; then 25.360 + if cmp "$file" "$old_file" >/dev/null; then 25.361 + rm -f "$file" 25.362 + ln "$old_file" "$file" 25.363 + inode="$old_inode" 25.364 + [ "$link" = "1" ] && save="$(expr $save + ${attr%%-*})" 25.365 + fi 25.366 + fi 25.367 + old_attr="$attr" ; old_inode="$inode" ; old_file="$file" 25.368 + done 25.369 + echo "$save bytes saved in duplicate files." 25.370 + ) 25.371 + 25.372 + # Use lzma if installed. Display rootfs size in realtime. 25.373 + rm -f /tmp/rootfs 25.374 + pack_rootfs . $DISTRO/$(basename $1).gz & 25.375 + sleep 2 25.376 + echo -en "\nFilesystem size:" 25.377 + while [ ! -f /tmp/rootfs ] 25.378 + do 25.379 + sleep 1 25.380 + echo -en "\\033[18G`du -sh $DISTRO/rootfs.gz | awk '{print $1}'` " 25.381 + done 25.382 + echo -e "\n" 25.383 + cd $DISTRO 25.384 + mv $(basename $1).gz $ROOTCD/boot 25.385 +} 25.386 + 25.387 +distro_sizes() 25.388 +{ 25.389 + echo "Build date : `date +%Y%m%d\ \at\ \%H:%M:%S`" 25.390 + echo "Packages : `ls -1 $ROOTFS*$INSTALLED/*/receipt | wc -l`" 25.391 + echo "Rootfs size : `du -csh $ROOTFS*/ | awk '{ s=$1 } END { print s }'`" 25.392 + echo "Initramfs size : `du -csh $ROOTCD/boot/rootfs*.gz | awk '{ s=$1 } END { print s }'`" 25.393 + echo "ISO image size : `du -sh $ISO_NAME.iso | awk '{ print $1 }'`" 25.394 + echo "================================================================================" 25.395 + echo "Image is ready: $ISO_NAME.iso" 25.396 + echo "" 25.397 +} 25.398 + 25.399 +# Print ISO and rootfs size. 25.400 +distro_stats() 25.401 +{ 25.402 + echo "" 25.403 + echo -e "\033[1mDistro statistics\033[0m ($DISTRO)" 25.404 + echo "================================================================================" 25.405 + distro_sizes 25.406 +} 25.407 + 25.408 +# Create an empty configuration file. 25.409 +empty_config_file() 25.410 +{ 25.411 + cat >> tazlito.conf << "EOF" 25.412 +# tazlito.conf: Tazlito (SliTaz Live Tool) 25.413 +# configuration file. 25.414 +# 25.415 + 25.416 +# Name of the ISO image to generate. 25.417 +ISO_NAME="" 25.418 + 25.419 +# ISO image volume name. 25.420 +VOLUM_NAME="SliTaz" 25.421 + 25.422 +# Name of the preparer. 25.423 +PREPARED="$USER" 25.424 + 25.425 +# Path to the packages repository and the packages.list. 25.426 +PACKAGES_REPOSITORY="" 25.427 + 25.428 +# Path to the distro tree to gen-distro from a 25.429 +# list of packages. 25.430 +DISTRO="" 25.431 + 25.432 +# Path to the directory containing additional files 25.433 +# to copy into the rootfs and rootcd of the LiveCD. 25.434 +ADDFILES="$DISTRO/addfiles" 25.435 + 25.436 +# Default answer for binary question (Y or N) 25.437 +DEFAULT_ANSWER="ASK" 25.438 + 25.439 +# Compression utility (lzma, gzip or none) 25.440 +COMPRESSION="lzma" 25.441 +EOF 25.442 +} 25.443 + 25.444 +# extract rootfs.gz somewhere 25.445 +extract_rootfs() 25.446 +{ 25.447 + (zcat $1 || unlzma -c $1 || cat $1) 2>/dev/null | \ 25.448 + (cd $2; cpio -idm > /dev/null) 25.449 +} 25.450 + 25.451 +# Remove duplicate files 25.452 +mergefs() 25.453 +{ 25.454 + echo -n "Merge $(basename $1) ($(du -hs $1 | awk '{ print $1}')) into " 25.455 + echo -n "$(basename $2) ($(du -hs $2 | awk '{ print $1}'))" 25.456 + # merge symlinks files and devices 25.457 + ( cd $1; find ) | while read file; do 25.458 + if [ -L $1/$file ]; then 25.459 + [ -L $2/$file ] && 25.460 + [ "$(readlink $1/$file)" == "$(readlink $2/$file)" ] && 25.461 + rm -f $2/$file 25.462 + elif [ -f $1/$file ]; then 25.463 + [ -f $2/$file ] && 25.464 + cmp $1/$file $2/$file > /dev/null 2>&1 && rm -f $2/$file 25.465 + [ -f $2/$file ] && 25.466 + [ "$(basename $file)" == "volatile.cpio.gz" ] && 25.467 + [ "$(dirname $(dirname $file))" == \ 25.468 + "./var/lib/tazpkg/installed" ] && rm -f $2/$file 25.469 + elif [ -b $1/$file ]; then 25.470 + [ -b $2/$file ] && rm -f $2/$file 25.471 + elif [ -c $1/$file ]; then 25.472 + [ -c $2/$file ] && rm -f $2/$file 25.473 + fi 25.474 + done 25.475 + 25.476 + # cleanup directories 25.477 + ( cd $1; find ) | while read file; do 25.478 + if [ -d $1/$file ]; then 25.479 + [ -d $2/$file ] && rmdir $2/$file 2> /dev/null 25.480 + fi 25.481 + done 25.482 + true 25.483 + status 25.484 +} 25.485 + 25.486 +cleanup_merge() 25.487 +{ 25.488 + rm -rf $TMP_DIR 25.489 + exit 1 25.490 +} 25.491 + 25.492 +human2cent() 25.493 +{ 25.494 +case "$1" in 25.495 +*k) echo $1 | sed 's/\(.*\).\(.\)k/\1\2/';; 25.496 +*M) echo $(( $(echo $1 | sed 's/\(.*\).\(.\)M/\1\2/') * 1024));; 25.497 +*G) echo $(( $(echo $1 | sed 's/\(.*\).\(.\)G/\1\2/') * 1024 * 1024));; 25.498 +esac 25.499 +} 25.500 + 25.501 +cent2human() 25.502 +{ 25.503 +if [ $1 -lt 10000 ]; then 25.504 + echo "$(($1 / 10)).$(($1 % 10))k" 25.505 +elif [ $1 -lt 10000000 ]; then 25.506 + echo "$(($1 / 10240)).$(( ($1/1024) % 10))M" 25.507 +else 25.508 + echo "$(($1 / 10485760)).$(( ($1/1048576) % 10))G" 25.509 +fi 25.510 +} 25.511 + 25.512 +get_size() 25.513 +{ 25.514 +cat /var/lib/tazpkg/packages.list $TMP_DIR/packages.list 2>/dev/null | awk "{ \ 25.515 +if (/^$(echo $1 | sed 's/[$+.\]/\\&/g')$/) get=1; \ 25.516 +if (/installed/ && get == 1) { print ; get++ } \ 25.517 +} 25.518 +END { if (get < 2) print \" 0.0k (0.0k installed)\" }" | \ 25.519 +sed 's/ *\(.*\) .\(.*\) installed./\1 \2/' | while read packed unpacked; do 25.520 + echo "$(human2cent $packed) $(human2cent $unpacked)" 25.521 +done 25.522 +} 25.523 + 25.524 +# Display package list with version, set packed_size and unpacked_size 25.525 +get_pkglist() 25.526 +{ 25.527 +packed_size=0; unpacked_size=0 25.528 +grep -v ^# $FLAVORS_REPOSITORY/$1/packages.list > $TMP_DIR/flavor.pkg 25.529 +while read pkg; do 25.530 + set -- $(get_size $pkg) 25.531 + packed_size=$(( $packed_size + $1 )) 25.532 + unpacked_size=$(( $unpacked_size + $2 )) 25.533 + for i in $(grep -hs ^$pkg /var/lib/tazpkg/packages.list \ 25.534 + $TMP_DIR/packages.list); do 25.535 + echo $i 25.536 + break 25.537 + done 25.538 +done < $TMP_DIR/flavor.pkg 25.539 +rm -f $TMP_DIR/flavor.pkg 25.540 +} 25.541 + 25.542 +# Update isolinux config files for multiple rootfs 25.543 +update_bootconfig() 25.544 +{ 25.545 + echo -n "Updating boot config files..." 25.546 + grep -l 'include common' $1/*.cfg | \ 25.547 + while read file ; do 25.548 + awk -v n=$(echo $2 | awk '{ print NF/2 }') '{ 25.549 +if (/label/) label=$0; 25.550 +else if (/kernel/) kernel=$0; 25.551 +else if (/append/) { 25.552 + i=index($0,"rootfs.gz"); 25.553 + append=substr($0,i+9); 25.554 +} 25.555 +else if (/include/) { 25.556 + for (i = 1; i <= n; i++) { 25.557 + print label i 25.558 + print kernel; 25.559 + initrd="initrd=/boot/rootfs" n ".gz" 25.560 + for (j = n - 1; j >= i; j--) { 25.561 + initrd=initrd ",/boot/rootfs" j ".gz"; 25.562 + } 25.563 + printf "\tappend %s%s\n",initrd,append; 25.564 + print ""; 25.565 + } 25.566 + print; 25.567 +} 25.568 +else print; 25.569 +}' < $file > $file.$$ 25.570 + mv -f $file.$$ $file 25.571 + done 25.572 + cat >> $1/common.cfg <<EOT 25.573 + 25.574 +label slitaz 25.575 + kernel /boot/isolinux/ifmem.c32 25.576 + append$(echo $2 | awk '{ 25.577 + for (i=1; i<=NF; i++) 25.578 + if (i % 2 == 0) printf " slitaz%d",i/2 25.579 + else printf " %s",$i 25.580 +}') noram 25.581 + 25.582 +label noram 25.583 + config noram.cfg 25.584 + 25.585 +EOT 25.586 + cat > $1/noram.cfg <<EOT 25.587 +display isolinux.msg 25.588 +say Not enough RAM to boot slitaz. 25.589 +default reboot 25.590 +label reboot 25.591 + com32 reboot.c32 25.592 + 25.593 +implicit 0 25.594 +prompt 1 25.595 +timeout 80 25.596 +F1 help.txt 25.597 +F2 options.txt 25.598 +F3 isolinux.msg 25.599 +F4 display.txt 25.600 +F5 enhelp.txt 25.601 +F6 enopts.txt 25.602 +EOT 25.603 + status 25.604 +} 25.605 + 25.606 +#################### 25.607 +# Tazlito commands # 25.608 +#################### 25.609 + 25.610 +case "$COMMAND" in 25.611 + stats) 25.612 + # Tazlito general statistics from the config file. 25.613 + # 25.614 + echo "" 25.615 + echo -e "\033[1mTazlito statistics\033[0m 25.616 +=============================================================================== 25.617 +Config file : $CONFIG_FILE 25.618 +ISO name : $ISO_NAME.iso 25.619 +Volume name : $VOLUM_NAME 25.620 +Prepared : $PREPARED 25.621 +Packages repository : $PACKAGES_REPOSITORY 25.622 +Distro directory : $DISTRO" 25.623 + if [ ! "$ADDFILES" = "" ] ; then 25.624 + echo -e "Additional files : $ADDFILES" 25.625 + fi 25.626 + echo "================================================================================" 25.627 + echo "" 25.628 + ;; 25.629 + list-addfiles) 25.630 + # Simple list of additonal files in the rootfs 25.631 + echo "" 25.632 + cd $ADDFILES 25.633 + find rootfs -type f 25.634 + echo "" ;; 25.635 + gen-config) 25.636 + # Generate a new config file in the current dir or the specified 25.637 + # directory by $2. 25.638 + # 25.639 + if [ -n "$2" ] ; then 25.640 + mkdir -p $2 && cd $2 25.641 + fi 25.642 + echo -n "Generating empty tazlito.conf..." 25.643 + empty_config_file 25.644 + status 25.645 + echo "" 25.646 + if [ -f "tazlito.conf" ] ; then 25.647 + echo "Configuration file is ready to edit." 25.648 + echo "File location : `pwd`/tazlito.conf" 25.649 + echo "" 25.650 + fi 25.651 + ;; 25.652 + configure) 25.653 + # Configure a tazlito.conf config file. Start by getting 25.654 + # a empty config file and sed it. 25.655 + # 25.656 + if [ -f "tazlito.conf" ] ; then 25.657 + rm tazlito.conf 25.658 + else 25.659 + if test $(id -u) = 0 ; then 25.660 + cd /etc 25.661 + else 25.662 + echo "You must be root to configure the main config file or in" 25.663 + echo "the same directory of the file you want to configure." 25.664 + exit 0 25.665 + fi 25.666 + fi 25.667 + empty_config_file 25.668 + echo"" 25.669 + echo -e "\033[1mConfiguring :\033[0m `pwd`/tazlito.conf" 25.670 + echo "================================================================================" 25.671 + # ISO name. 25.672 + echo -n "ISO name : " ; read answer 25.673 + sed -i s#'ISO_NAME=\"\"'#"ISO_NAME=\"$answer\""# tazlito.conf 25.674 + # Volume name. 25.675 + echo -n "Volume name : " ; read answer 25.676 + sed -i s/'VOLUM_NAME=\"SliTaz\"'/"VOLUM_NAME=\"$answer\""/ tazlito.conf 25.677 + # Packages repository. 25.678 + echo -n "Packages repository : " ; read answer 25.679 + sed -i s#'PACKAGES_REPOSITORY=\"\"'#"PACKAGES_REPOSITORY=\"$answer\""# tazlito.conf 25.680 + # Distro path. 25.681 + echo -n "Distro path : " ; read answer 25.682 + sed -i s#'DISTRO=\"\"'#"DISTRO=\"$answer\""# tazlito.conf 25.683 + echo "================================================================================" 25.684 + echo "Config file is ready to use." 25.685 + echo "You can now extract an ISO or generate a distro." 25.686 + echo "" 25.687 + ;; 25.688 + gen-iso) 25.689 + # Simply generate a new iso. 25.690 + # 25.691 + check_root 25.692 + verify_rootcd 25.693 + gen_livecd_isolinux 25.694 + distro_stats 25.695 + ;; 25.696 + gen-initiso) 25.697 + # Simply generate a new initramfs with a new iso. 25.698 + # 25.699 + check_root 25.700 + verify_rootcd 25.701 + gen_initramfs $ROOTFS 25.702 + gen_livecd_isolinux 25.703 + distro_stats 25.704 + ;; 25.705 + extract-distro) 25.706 + # Extract an ISO image to a directory and rebuild the LiveCD tree. 25.707 + # 25.708 + check_root 25.709 + ISO_IMAGE=$2 25.710 + if [ -z "$ISO_IMAGE" ] ; then 25.711 + echo -e "\nPlease specify the path to the ISO image." 25.712 + echo -e "Example : `basename $0` image.iso /path/target\n" 25.713 + exit 0 25.714 + fi 25.715 + # Set the distro path by checking for $3 on cmdline. 25.716 + if [ -n "$3" ] ; then 25.717 + TARGET=$3 25.718 + else 25.719 + TARGET=$DISTRO 25.720 + fi 25.721 + # Exit if existing distro is found. 25.722 + if [ -d "$TARGET/rootfs" ] ; then 25.723 + echo -e "\nA rootfs exists in : $TARGET" 25.724 + echo -e "Please clean the distro tree or change directory path.\n" 25.725 + exit 0 25.726 + fi 25.727 + echo "" 25.728 + echo -e "\033[1mTazlito extracting :\033[0m `basename $ISO_IMAGE`" 25.729 + echo "================================================================================" 25.730 + # Start to mount the ISO. 25.731 + echo "" 25.732 + echo "Mounting ISO image..." 25.733 + mkdir -p $TMP_DIR 25.734 + # Get ISO file size. 25.735 + isosize=`du -sh $ISO_IMAGE | cut -f1` 25.736 + mount -o loop $ISO_IMAGE $TMP_DIR 25.737 + sleep 2 25.738 + # Prepare target dir, copy the kernel and the rootfs. 25.739 + mkdir -p $TARGET/rootfs 25.740 + mkdir -p $TARGET/rootcd/boot 25.741 + echo -n "Copying the Linux kernel..." 25.742 + if cp $TMP_DIR/boot/vmlinuz* $TARGET/rootcd/boot 2> /dev/null; then 25.743 + ln $TARGET/rootcd/boot/vmlinuz* $TARGET/rootcd/boot/bzImage 25.744 + else 25.745 + cp $TMP_DIR/boot/bzImage $TARGET/rootcd/boot 25.746 + fi 25.747 + status 25.748 + echo -n "Copying isolinux files..." 25.749 + cp -a $TMP_DIR/boot/isolinux $TARGET/rootcd/boot 25.750 + for i in $(ls $TMP_DIR); do 25.751 + [ "$i" = "boot" ] && continue 25.752 + cp -a $TMP_DIR/$i $TARGET/rootcd 25.753 + done 25.754 + status 25.755 + if [ -d $TMP_DIR/boot/syslinux ]; then 25.756 + echo -n "Copying syslinux files..." 25.757 + cp -a $TMP_DIR/boot/syslinux $TARGET/rootcd/boot 25.758 + status 25.759 + fi 25.760 + if [ -d $TMP_DIR/boot/extlinux ]; then 25.761 + echo -n "Copying extlinux files..." 25.762 + cp -a $TMP_DIR/boot/extlinux $TARGET/rootcd/boot 25.763 + status 25.764 + fi 25.765 + if [ -d $TMP_DIR/boot/grub ]; then 25.766 + echo -n "Copying GRUB files..." 25.767 + cp -a $TMP_DIR/boot/grub $TARGET/rootcd/boot 25.768 + status 25.769 + fi 25.770 + 25.771 + echo -n "Copying the rootfs..." 25.772 + cp $TMP_DIR/boot/rootfs.?z $TARGET/rootcd/boot 25.773 + status 25.774 + # Extract initramfs. 25.775 + cd $TARGET/rootfs 25.776 + echo -n "Extracting the rootfs... " 25.777 + extract_rootfs ../rootcd/boot/rootfs.gz $TARGET/rootfs 25.778 + # unpack /usr 25.779 + for i in etc/tazlito/*.extract; do 25.780 + [ -f "$i" ] && . $i ../rootcd 25.781 + done 25.782 + # Umount and remove temp directory and cd to $TARGET to get stats. 25.783 + umount $TMP_DIR && rm -rf $TMP_DIR 25.784 + cd .. 25.785 + echo "" 25.786 + echo "================================================================================" 25.787 + echo "Extracted : `basename $ISO_IMAGE` ($isosize)" 25.788 + echo "Distro tree : `pwd`" 25.789 + echo "Rootfs size : `du -sh rootfs`" 25.790 + echo "Rootcd size : `du -sh rootcd`" 25.791 + echo "================================================================================" 25.792 + echo "" 25.793 + ;; 25.794 + list-flavors) 25.795 + # Show available flavors. 25.796 + if [ ! -s /etc/tazlito/flavors.list -o "$2" == "--recharge" ]; then 25.797 + download flavors.list -O - > /etc/tazlito/flavors.list 25.798 + fi 25.799 + echo "" 25.800 + echo -e "\033[1mList of flavors\033[0m" 25.801 + echo "================================================================================" 25.802 + cat /etc/tazlito/flavors.list 25.803 + echo "" 25.804 + ;; 25.805 + show-flavor) 25.806 + # Show flavor description. 25.807 + FLAVOR=${2%.flavor} 25.808 + if [ ! -f "$FLAVOR.flavor" ]; then 25.809 + echo "File $FLAVOR.flavor not found." 25.810 + exit 1 25.811 + fi 25.812 + mkdir $TMP_DIR 25.813 + zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i 2> /dev/null) 25.814 + if [ "$3" = "--brief" ]; then 25.815 + if [ "$4" != "--noheader" ]; then 25.816 + echo "Name ISO Rootfs Description" 25.817 + echo "================================================================================" 25.818 + fi 25.819 + printf "%-16.16s %6.6s %6.6s %s\n" "$FLAVOR" \ 25.820 + "$(field ISO $TMP_DIR/$FLAVOR.desc)" \ 25.821 + "$(field 'Rootfs size' $TMP_DIR/$FLAVOR.desc)" \ 25.822 + "$(grep ^Description $TMP_DIR/$FLAVOR.desc | cut -d: -f2)" 25.823 + else 25.824 + echo "================================================================================" 25.825 + cat $TMP_DIR/$FLAVOR.desc 25.826 + fi 25.827 + rm -Rf $TMP_DIR 25.828 + ;; 25.829 + gen-liveflavor) 25.830 + # Generate a new flavor form the live system. 25.831 + FLAVOR=${2%.flavor} 25.832 + DESC="" 25.833 + case "$FLAVOR" in 25.834 + '') echo -n "Flavor name : " 25.835 + read FLAVOR 25.836 + [ -z "$FLAVOR" ] && exit 1;; 25.837 + -?|-h*|--help) echo -e " 25.838 + 25.839 +SliTaz Live Tool - Version: $VERSION 25.840 +\033[1mUsage: \033[0m `basename $0` gen-liveflavor flavor-name [flavor-patch-file] 25.841 +\033[1mflavor-patch-file format: \033[0m 25.842 +code data 25.843 ++ package to add 25.844 +- package to remove 25.845 +! non-free package to add 25.846 +? display message 25.847 +@ flavor description 25.848 + 25.849 +\033[1mExample: \033[0m 25.850 +@ Developer tools for slitaz maintainers 25.851 ++ slitaz-toolchain 25.852 ++ mercurial 25.853 +" 25.854 + exit 1;; 25.855 + esac 25.856 + mv /etc/tazlito/distro-packages.list \ 25.857 + /etc/tazlito/distro-packages.list.$$ 2> /dev/null 25.858 + rm -f distro-packages.list non-free.list 2> /dev/null 25.859 + tazpkg recharge 25.860 + [ -n "$3" ] && while read action pkg; do 25.861 + case "$action" in 25.862 + +) yes | tazpkg get-install $pkg;; 25.863 + -) yes | tazpkg remove $pkg;; 25.864 + !) echo $pkg >> non-free.list;; 25.865 + @) DESC="$pkg";; 25.866 + \?) echo -en "$pkg"; read action;; 25.867 + esac 25.868 + done < $3 25.869 + yes '' | tazlito gen-distro 25.870 + echo "$DESC" | tazlito gen-flavor "$FLAVOR" 25.871 + mv /etc/tazlito/distro-packages.list.$$ \ 25.872 + /etc/tazlito/distro-packages.list 2> /dev/null 25.873 + ;; 25.874 + gen-flavor) 25.875 + # Generate a new flavor from the last iso image generated. 25.876 + FLAVOR=${2%.flavor} 25.877 + echo "" 25.878 + echo -e "\033[1mFlavor generation\033[0m" 25.879 + echo "================================================================================" 25.880 + if [ -z "$FLAVOR" ]; then 25.881 + echo -n "Flavor name : " 25.882 + read FLAVOR 25.883 + [ -z "$FLAVOR" ] && exit 1 25.884 + fi 25.885 + check_rootfs 25.886 + FILES="$FLAVOR.pkglist" 25.887 + echo -n "Creating file $FLAVOR.flavor..." 25.888 + for i in rootcd rootfs; do 25.889 + if [ -d "$ADDFILES/$i" ] ; then 25.890 + FILES="$FILES\n$FLAVOR.$i" 25.891 + ( cd "$ADDFILES/$i"; find . | \ 25.892 + cpio -o -H newc 2> /dev/null | gzip -9 ) > $FLAVOR.$i 25.893 + fi 25.894 + done 25.895 + status 25.896 + answer=`grep -s ^Description $FLAVOR.desc` 25.897 + answer=${answer#Description : } 25.898 + if [ -z "$answer" ]; then 25.899 + echo -n "Description : " 25.900 + read answer 25.901 + fi 25.902 + echo -n "Compressing flavor $FLAVOR..." 25.903 + echo "Flavor : $FLAVOR" > $FLAVOR.desc 25.904 + echo "Description : $answer" >> $FLAVOR.desc 25.905 + ( cd $DISTRO; distro_sizes) >> $FLAVOR.desc 25.906 + \rm -f $FLAVOR.pkglist $FLAVOR.nonfree 2> /dev/null 25.907 + for i in $(ls $ROOTFS$INSTALLED); do 25.908 + eval $(grep ^VERSION= $ROOTFS$INSTALLED/$i/receipt) 25.909 + EXTRAVERSION="" 25.910 + eval $(grep ^EXTRAVERSION= $ROOTFS$INSTALLED/$i/receipt) 25.911 + eval $(grep ^CATEGORY= $ROOTFS$INSTALLED/$i/receipt) 25.912 + if [ "$CATEGORY" = "non-free" -a "${i%%-*}" != "get" ] 25.913 + then 25.914 + echo "$i" >> $FLAVOR.nonfree 25.915 + else 25.916 + echo "$i-$VERSION$EXTRAVERSION" >> $FLAVOR.pkglist 25.917 + fi 25.918 + done 25.919 + [ -s $FLAVOR.nonfree ] && $FILES="$FILES\n$FLAVOR.nonfree" 25.920 + for i in $LOCALSTATE/undigest/*/mirror ; do 25.921 + [ -s $i ] && cat $i >> $FLAVOR.mirrors 25.922 + done 25.923 + [ -s $FLAVOR.mirrors ] && $FILES="$FILES\n$FLAVOR.mirrors" 25.924 + echo -e "$FLAVOR.desc\n$FILES" | cpio -o -H newc 2>/dev/null | \ 25.925 + gzip -9 > $FLAVOR.flavor 25.926 + rm `echo -e $FILES` 25.927 + status 25.928 + echo "================================================================================" 25.929 + echo "Flavor size : `du -sh $FLAVOR.flavor`" 25.930 + echo "" 25.931 + ;; 25.932 + upgrade-flavor) 25.933 + # Update package list to the lastest versions available. 25.934 + FLAVOR=${2%.flavor} 25.935 + if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then 25.936 + mkdir $TMP_DIR 25.937 + zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i >/dev/null ) 25.938 + echo -n "Updating $FLAVOR package list..." 25.939 + [ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge 25.940 + packed_size=0; unpacked_size=0 25.941 + while read org; do 25.942 + i=0 25.943 + pkg=$org 25.944 + while ! grep -q ^$pkg$ /var/lib/tazpkg/packages.txt; do 25.945 + pkg=${pkg%-*} 25.946 + i=$(($i + 1)) 25.947 + [ $i -gt 5 ] && break; 25.948 + done 25.949 + set -- $(get_size $pkg) 25.950 + packed_size=$(( $packed_size + $1 )) 25.951 + unpacked_size=$(( $unpacked_size + $2 )) 25.952 + for i in $(grep ^$pkg /var/lib/tazpkg/packages.list); do 25.953 + echo $i 25.954 + break 25.955 + done 25.956 + done < $TMP_DIR/$FLAVOR.pkglist \ 25.957 + > $TMP_DIR/$FLAVOR.pkglist.$$ 25.958 + mv -f $TMP_DIR/$FLAVOR.pkglist.$$ $TMP_DIR/$FLAVOR.pkglist 25.959 + if [ -s $TMP_DIR/$FLAVOR.rootfs ]; then 25.960 + packed_size=$(($packed_size \ 25.961 + + $(cat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 )) 25.962 + unpacked_size=$(($unpacked_size \ 25.963 + + $(zcat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 )) 25.964 + fi 25.965 + # Estimate lzma 25.966 + packed_size=$(($packed_size * 2 / 3)) 25.967 + iso_size=$(( $packed_size + 26000 )) 25.968 + if [ -s $TMP_DIR/$FLAVOR.rootcd ]; then 25.969 + iso_size=$(($iso_size \ 25.970 + + $(zcat $TMP_DIR/$FLAVOR.rootcd | wc -c ) / 100 )) 25.971 + fi 25.972 + sed -i -e '/Image is ready/d' \ 25.973 + -e "s/Rootfs size\( *:\) \(.*\)/Rootfs size\1 $(cent2human $unpacked_size) (estimated)/" \ 25.974 + -e "s/Initramfs size\( *:\) \(.*\)/Initramfs size\1 $(cent2human $packed_size) (estimated)/" \ 25.975 + -e "s/ISO image size\( *:\) \(.*\)/ISO image size\1 $(cent2human $iso_size) (estimated)/" \ 25.976 + -e "s/date\( *:\) \(.*\)/date\1 $(date +%Y%m%d\ \at\ \%H:%M:%S)/" \ 25.977 + $TMP_DIR/$FLAVOR.desc 25.978 + ( cd $TMP_DIR ; ls | cpio -o -H newc ) | gzip -9 > \ 25.979 + $FLAVOR.flavor 25.980 + status 25.981 + rm -Rf $TMP_DIR 25.982 + fi 25.983 + ;; 25.984 + extract-flavor) 25.985 + # Extract a flavor into $FLAVORS_REPOSITORY. 25.986 + FLAVOR=${2%.flavor} 25.987 + if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then 25.988 + mkdir $TMP_DIR 25.989 + zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i >/dev/null ) 25.990 + echo -n "Extracting $FLAVOR..." 25.991 + rm -rf $FLAVORS_REPOSITORY/$FLAVOR 2> /dev/null 25.992 + mkdir -p $FLAVORS_REPOSITORY/$FLAVOR 25.993 + echo "FLAVOR=\"$FLAVOR\"" > $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.994 + grep ^Description $TMP_DIR/$FLAVOR.desc | \ 25.995 + sed 's/.*: \(.*\)$/SHORT_DESC="\1"/' >> \ 25.996 + $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.997 + grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc && \ 25.998 + grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \ 25.999 + sed 's/.*: \(.*\)$/ROOTFS_SELECTION="\1"/' >> \ 25.1000 + $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.1001 + grep '^Rootfs size' $TMP_DIR/$FLAVOR.desc | \ 25.1002 + sed 's/.*: \(.*\)$/ROOTFS_SIZE="\1"/' >> \ 25.1003 + $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.1004 + grep ^Initramfs $TMP_DIR/$FLAVOR.desc | \ 25.1005 + sed 's/.*: \(.*\)$/INITRAMFS_SIZE="\1"/' >> \ 25.1006 + $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.1007 + grep ^ISO $TMP_DIR/$FLAVOR.desc | \ 25.1008 + sed 's/.*: \(.*\)$/ISO_SIZE="\1"/' >> \ 25.1009 + $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.1010 + for i in rootcd rootfs; do 25.1011 + [ -f $TMP_DIR/$FLAVOR.$i ] || continue 25.1012 + mkdir $FLAVORS_REPOSITORY/$FLAVOR/$i 25.1013 + zcat $TMP_DIR/$FLAVOR.$i | \ 25.1014 + (cd $FLAVORS_REPOSITORY/$FLAVOR/$i; \ 25.1015 + cpio -idm > /dev/null) 25.1016 + done 25.1017 + [ -s $TMP_DIR/$FLAVOR.mirrors ] && 25.1018 + cp $TMP_DIR/$FLAVOR.mirrors \ 25.1019 + $FLAVORS_REPOSITORY/$FLAVOR/mirrors 25.1020 + [ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge 25.1021 + while read org; do 25.1022 + i=0 25.1023 + pkg=$org 25.1024 + while ! grep -q ^$pkg$ /var/lib/tazpkg/packages.txt; do 25.1025 + pkg=${pkg%-*} 25.1026 + i=$(($i + 1)) 25.1027 + [ $i -gt 5 ] && break; 25.1028 + done 25.1029 + echo $pkg 25.1030 + done < $TMP_DIR/$FLAVOR.pkglist \ 25.1031 + > $FLAVORS_REPOSITORY/$FLAVOR/packages.list 25.1032 + status 25.1033 + rm -Rf $TMP_DIR 25.1034 + fi 25.1035 + ;; 25.1036 + pack-flavor) 25.1037 + # Create a flavor from $FLAVORS_REPOSITORY. 25.1038 + FLAVOR=${2%.flavor} 25.1039 + if [ -s $FLAVORS_REPOSITORY/$FLAVOR/receipt ]; then 25.1040 + mkdir $TMP_DIR 25.1041 + echo -n "Creating flavor $FLAVOR..." 25.1042 + [ -s /var/lib/tazpkg/packages.list ] || tazpkg recharge 25.1043 + if [ -s $FLAVORS_REPOSITORY/$FLAVOR/mirrors ]; then 25.1044 + cp $FLAVORS_REPOSITORY/$FLAVOR/mirrors \ 25.1045 + $TMP_DIR/$FLAVOR.mirrors 25.1046 + for i in $(cat $TMP_DIR/$FLAVOR.mirrors); do 25.1047 + wget -O - $i/packages.list >> $TMP_DIR/packages.list 25.1048 + done 25.1049 + fi 25.1050 + [ -s $FLAVORS_REPOSITORY/$FLAVOR/packages.list ] && 25.1051 + get_pkglist $FLAVOR > $TMP_DIR/$FLAVOR.pkglist 25.1052 + if grep -q ^ROOTFS_SELECTION \ 25.1053 + $FLAVORS_REPOSITORY/$FLAVOR/receipt; then 25.1054 + . $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.1055 + set -- $ROOTFS_SELECTION 25.1056 + [ -n "$FRUGAL_RAM" ] || FRUGAL_RAM=$1 25.1057 + [ -f $FLAVORS_REPOSITORY/$2/packages.list ] || 25.1058 + tazlito extract-flavor $2 25.1059 + get_pkglist $2 > $TMP_DIR/$FLAVOR.pkglist 25.1060 + fi 25.1061 + for i in rootcd rootfs; do 25.1062 + [ -d $FLAVORS_REPOSITORY/$FLAVOR/$i ] || \ 25.1063 + continue 25.1064 + ( cd $FLAVORS_REPOSITORY/$FLAVOR/$i ; find . | \ 25.1065 + cpio -o -H newc 2> /dev/null ) | \ 25.1066 + gzip -9 >$TMP_DIR/$FLAVOR.$i 25.1067 + done 25.1068 + if [ -s $TMP_DIR/$FLAVOR.rootfs ]; then 25.1069 + packed_size=$(($packed_size \ 25.1070 + + $(cat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 )) 25.1071 + unpacked_size=$(($unpacked_size \ 25.1072 + + $(zcat $TMP_DIR/$FLAVOR.rootfs | wc -c ) / 100 )) 25.1073 + fi 25.1074 + # Estimate lzma 25.1075 + packed_size=$(($packed_size * 2 / 3)) 25.1076 + iso_size=$(( $packed_size + 26000 )) 25.1077 + if [ -s $TMP_DIR/$FLAVOR.rootcd ]; then 25.1078 + iso_size=$(($iso_size \ 25.1079 + + $(zcat $TMP_DIR/$FLAVOR.rootcd | wc -c ) / 100 )) 25.1080 + fi 25.1081 + VERSION="" 25.1082 + MAINTAINER="" 25.1083 + ROOTFS_SELECTION="" 25.1084 + ROOTFS_SIZE="$(cent2human $unpacked_size) (estimated)" 25.1085 + INITRAMFS_SIZE="$(cent2human $packed_size) (estimated)" 25.1086 + ISO_SIZE="$(cent2human $iso_size) (estimated)" 25.1087 + . $FLAVORS_REPOSITORY/$FLAVOR/receipt 25.1088 + cat > $TMP_DIR/$FLAVOR.desc <<EOT 25.1089 +Flavor : $FLAVOR 25.1090 +Description : $SHORT_DESC 25.1091 +EOT 25.1092 + [ -n "$VERSION" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT 25.1093 +Version : $VERSION 25.1094 +EOT 25.1095 + [ -n "$MAINTAINER" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT 25.1096 +Maintainer : $MAINTAINER 25.1097 +EOT 25.1098 + [ -n "$FRUGAL_RAM" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT 25.1099 +LiveCD RAM size : $FRUGAL_RAM 25.1100 +EOT 25.1101 + [ -n "$ROOTFS_SELECTION" ] && cat >> $TMP_DIR/$FLAVOR.desc <<EOT 25.1102 +Rootfs list : $ROOTFS_SELECTION 25.1103 +EOT 25.1104 + cat >> $TMP_DIR/$FLAVOR.desc <<EOT 25.1105 +Build date : $(date +%Y%m%d\ \at\ \%H:%M:%S) 25.1106 +Packages : $(grep -v ^# $TMP_DIR/$FLAVOR.pkglist | wc -l) 25.1107 +Rootfs size : $ROOTFS_SIZE 25.1108 +Initramfs size : $INITRAMFS_SIZE 25.1109 +ISO image size : $ISO_SIZE 25.1110 +================================================================================ 25.1111 + 25.1112 +EOT 25.1113 + rm -f $TMP_DIR/packages.list 25.1114 + ( cd $TMP_DIR ; ls | cpio -o -H newc 2> /dev/null) | \ 25.1115 + gzip -9 > $FLAVOR.flavor 25.1116 + status 25.1117 + rm -Rf $TMP_DIR 25.1118 + else 25.1119 + echo "No $FLAVOR flavor in $FLAVORS_REPOSITORY." 25.1120 + fi 25.1121 + ;; 25.1122 + get-flavor) 25.1123 + # Get a flavor's files and prepare for gen-distro. 25.1124 + FLAVOR=${2%.flavor} 25.1125 + echo "" 25.1126 + if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then 25.1127 + echo -n "Cleaning $DISTRO..." 25.1128 + rm -R $DISTRO 2> /dev/null 25.1129 + mkdir -p $DISTRO 25.1130 + status 25.1131 + mkdir $TMP_DIR 25.1132 + echo -n "Extracting flavor $FLAVOR.flavor... " 25.1133 + zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i 2>/dev/null ) 25.1134 + echo -n "Creating distro-packages.list..." 25.1135 + mv $TMP_DIR/$FLAVOR.nonfree non-free.list 2> /dev/null 25.1136 + mv $TMP_DIR/$FLAVOR.pkglist distro-packages.list 25.1137 + status 25.1138 + for i in rootcd rootfs; do 25.1139 + if [ -f $TMP_DIR/$FLAVOR.$i ]; then 25.1140 + echo -n "Adding $i... " 25.1141 + mkdir -p "$ADDFILES/$i" 25.1142 + zcat $TMP_DIR/$FLAVOR.$i | \ 25.1143 + ( cd "$ADDFILES/$i"; cpio -id 2> /dev/null) 25.1144 + fi 25.1145 + done 25.1146 + if [ -s $TMP_DIR/$FLAVOR.mirrors ]; then 25.1147 + n="" 25.1148 + while read line; do 25.1149 + mkdir -p $LOCALSTATE/undigest/$FLAVOR$n 25.1150 + echo "$line" > $LOCALSTATE/undigest/$FLAVOR$n/mirror 25.1151 + n=$(( $n + 1 )) 25.1152 + done < $TMP_DIR/$FLAVOR.mirrors 25.1153 + tazpkg recharge 25.1154 + fi 25.1155 + rm -f /etc/tazlito/rootfs.list 25.1156 + grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc && 25.1157 + grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \ 25.1158 + sed 's/.*: \(.*\)$/\1/' > /etc/tazlito/rootfs.list 25.1159 + echo -n "Updating tazlito.conf..." 25.1160 + [ -f tazlito.conf ] || cp /etc/tazlito/tazlito.conf . 25.1161 + cat tazlito.conf | grep -v "^#VOLUM_NAME" | \ 25.1162 + sed "s/^VOLUM_NA/VOLUM_NAME=\"SliTaz $FLAVOR\"\\n#VOLUM_NA/" \ 25.1163 + > tazlito.conf.$$ && mv tazlito.conf.$$ tazlito.conf 25.1164 + sed -i "s/ISO_NAME=.*/ISO_NAME=\"slitaz-$FLAVOR\"/" tazlito.conf 25.1165 + status 25.1166 + rm -Rf $TMP_DIR 25.1167 + fi 25.1168 + echo "" 25.1169 + ;; 25.1170 + check-list) 25.1171 + # Use current packages list in $PWD by default. 25.1172 + DISTRO_PKGS_LIST=distro-packages.list 25.1173 + [ -d "$2" ] && DISTRO_PKGS_LIST=$2/distro-packages.list 25.1174 + [ -f "$2" ] && DISTRO_PKGS_LIST=$2 25.1175 + [ ! -f $DISTRO_PKGS_LIST ] && echo "No packages list found." && exit 0 25.1176 + echo "" 25.1177 + echo -e "\033[1mLiveCD packages list check\033[0m" 25.1178 + echo "================================================================================" 25.1179 + for pkg in `cat $DISTRO_PKGS_LIST` 25.1180 + do 25.1181 + if ! grep -q "$pkg" /var/lib/tazpkg/packages.list; then 25.1182 + echo "Update: $pkg" 25.1183 + up=$(($up + 1)) 25.1184 + fi 25.1185 + done 25.1186 + [ -z $up ] && echo -e "List is up-to-date\n" && exit 0 25.1187 + echo "================================================================================" 25.1188 + echo -e "Updates: $up\n" ;; 25.1189 + gen-distro) 25.1190 + # Generate a live distro tree with a set of packages. 25.1191 + # 25.1192 + check_root 25.1193 + 25.1194 + # Check if a package list was specified on cmdline. 25.1195 + LIST_NAME="distro-packages.list" 25.1196 + CDROM="" 25.1197 + while [ -n "$2" ]; do 25.1198 + case "$2" in 25.1199 + --iso=*) 25.1200 + CDROM="-o loop ${2#--iso=}" 25.1201 + ;; 25.1202 + --cdrom) 25.1203 + CDROM="/dev/cdrom" 25.1204 + ;; 25.1205 + --force) 25.1206 + DELETE_ROOTFS="true" 25.1207 + ;; 25.1208 + *) if [ ! -f "$2" ] ; then 25.1209 + echo -e "\nUnable to find the specified packages list." 25.1210 + echo -e "List name : $2\n" 25.1211 + exit 1 25.1212 + fi 25.1213 + LIST_NAME=$2 25.1214 + ;; 25.1215 + esac 25.1216 + shift 25.1217 + done 25.1218 + 25.1219 + if [ -d $ROOTFS ] ; then 25.1220 + # Delete $ROOTFS if --force is set on command line 25.1221 + if [ ! -z $DELETE_ROOTFS ]; then 25.1222 + rm -rf $ROOTFS 25.1223 + unset $DELETE_ROOTFS 25.1224 + else 25.1225 + echo -e "\nA rootfs exists in : $DISTRO" 25.1226 + echo -e "Please clean the distro tree or change directory path.\n" 25.1227 + exit 0 25.1228 + fi 25.1229 + fi 25.1230 + if [ ! -f "$LIST_NAME" -a -d $INSTALLED ] ; then 25.1231 + # Build list with installed packages 25.1232 + for i in $(ls $INSTALLED); do 25.1233 + eval $(grep ^VERSION= $INSTALLED/$i/receipt) 25.1234 + EXTRAVERSION="" 25.1235 + eval $(grep ^EXTRAVERSION= $INSTALLED/$i/receipt) 25.1236 + echo "$i-$VERSION$EXTRAVERSION" >> $LIST_NAME 25.1237 + done 25.1238 + fi 25.1239 + # Exit if no list name. 25.1240 + if [ ! -f "$LIST_NAME" ]; then 25.1241 + echo -e "\nNo packages list found or specified. Please read the docs.\n" 25.1242 + exit 0 25.1243 + fi 25.1244 + # Start generation. 25.1245 + echo "" 25.1246 + echo -e "\033[1mTazlito generating a distro\033[0m" 25.1247 + echo "================================================================================" 25.1248 + # Misc checks 25.1249 + [ -n "$PACKAGES_REPOSITORY" ] || PACKAGES_REPOSITORY="." 25.1250 + [ -d $PACKAGES_REPOSITORY ] || mkdir -p $PACKAGES_REPOSITORY 25.1251 + # Get the list of packages using cat for a file list. 25.1252 + LIST=`cat $LIST_NAME` 25.1253 + # Verify if all packages in list are present in $PACKAGES_REPOSITORY. 25.1254 + REPACK="" 25.1255 + DOWNLOAD="" 25.1256 + for pkg in $LIST 25.1257 + do 25.1258 + [ "$pkg" = "" ] && continue 25.1259 + pkg=${pkg%.tazpkg} 25.1260 + [ -f $PACKAGES_REPOSITORY/$pkg.tazpkg ] && continue 25.1261 + PACKAGE=$(installed_package_name $pkg) 25.1262 + [ -n "$PACKAGE" -a "$REPACK" = "y" ] && continue 25.1263 + [ -z "$PACKAGE" -a -n "$DOWNLOAD" ] && continue 25.1264 + echo -e "\nUnable to find $pkg in the repository." 25.1265 + echo -e "Path : $PACKAGES_REPOSITORY\n" 25.1266 + if [ -n "$PACKAGE" -a -z "$REPACK" ]; then 25.1267 + yesorno "Repack packages from rootfs (y/N) ? " 25.1268 + REPACK="$answer" 25.1269 + [ "$answer" = "y" ] || REPACK="n" 25.1270 + [ "$DOWNLOAD" = "y" ] && break 25.1271 + fi 25.1272 + if [ -f $MIRROR -a -z "$DOWNLOAD" ]; then 25.1273 + yesorno "Download packages from mirror (Y/n) ? " 25.1274 + DOWNLOAD="$answer" 25.1275 + if [ "$answer" = "n" ]; then 25.1276 + [ -z "$PACKAGE" ] && exit 1 25.1277 + else 25.1278 + DOWNLOAD="y" 25.1279 + [ -n "$REPACK" ] && break 25.1280 + fi 25.1281 + fi 25.1282 + [ "$REPACK" = "n" -a "$DOWNLOAD" = "n" ] && exit 1 25.1283 + done 25.1284 + 25.1285 + # Mount cdrom to be able to repack boot-loader packages 25.1286 + if [ ! -e /boot -a -n "$CDROM" ]; then 25.1287 + mkdir $TMP_MNT 25.1288 + if mount -r $CDROM $TMP_MNT 2> /dev/null; then 25.1289 + ln -s $TMP_MNT/boot / 25.1290 + if [ ! -d "$ADDFILES/rootcd" ] ; then 25.1291 + mkdir -p $ADDFILES/rootcd 25.1292 + for i in $(ls $TMP_MNT); do 25.1293 + [ "$i" = "boot" ] && continue 25.1294 + cp -a $TMP_MNT/$i $ADDFILES/rootcd 25.1295 + done 25.1296 + fi 25.1297 + else 25.1298 + rmdir $TMP_MNT 25.1299 + fi 25.1300 + fi 25.1301 + 25.1302 + # Root fs stuff. 25.1303 + echo "Preparing the rootfs directory..." 25.1304 + mkdir -p $ROOTFS 25.1305 + sleep 2 25.1306 + for pkg in $LIST 25.1307 + do 25.1308 + [ "$pkg" = "" ] && continue 25.1309 + # First copy and extract the package in tmp dir. 25.1310 + pkg=${pkg%.tazpkg} 25.1311 + PACKAGE=$(installed_package_name $pkg) 25.1312 + mkdir -p $TMP_DIR 25.1313 + if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then 25.1314 + # Look for package in cache 25.1315 + if [ -f $CACHE_DIR/$pkg.tazpkg ]; then 25.1316 + ln -s $CACHE_DIR/$pkg.tazpkg $PACKAGES_REPOSITORY 25.1317 + # Look for package in running distribution 25.1318 + elif [ -n "$PACKAGE" -a "$REPACK" = "y" ]; then 25.1319 + tazpkg repack $PACKAGE && \ 25.1320 + mv $pkg.tazpkg $PACKAGES_REPOSITORY 25.1321 + fi 25.1322 + fi 25.1323 + if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then 25.1324 + # Get package from mirror 25.1325 + [ "$DOWNLOAD" = "y" ] && \ 25.1326 + download $pkg.tazpkg && \ 25.1327 + mv $pkg.tazpkg $PACKAGES_REPOSITORY 25.1328 + fi 25.1329 + if [ ! -f $PACKAGES_REPOSITORY/$pkg.tazpkg ]; then 25.1330 + echo "Missing package $pkg." 25.1331 + cleanup 25.1332 + exit 1 25.1333 + fi 25.1334 + done 25.1335 + if [ -f non-free.list ]; then 25.1336 + echo "Preparing non-free packages..." 25.1337 + cp non-free.list $ROOTFS/etc/tazlito/non-free.list 25.1338 + for pkg in $(cat non-free.list); do 25.1339 + if [ ! -d $INSTALLED/$pkg ]; then 25.1340 + if [ ! -d $INSTALLED/get-$pkg ]; then 25.1341 + tazpkg get-install get-$pkg 25.1342 + fi 25.1343 + get-$pkg 25.1344 + fi 25.1345 + tazpkg repack $pkg 25.1346 + pkg=$(ls $pkg*.tazpkg) 25.1347 + grep -q "^$pkg$" $LIST_NAME || \ 25.1348 + echo $pkg >>$LIST_NAME 25.1349 + mv $pkg $PACKAGES_REPOSITORY 25.1350 + done 25.1351 + fi 25.1352 + echo "" 25.1353 + cp $LIST_NAME $DISTRO/distro-packages.list 25.1354 + sed 's/\(.*\)/\1.tazpkg/' < $DISTRO/distro-packages.list > $DISTRO/list-packages 25.1355 + cd $PACKAGES_REPOSITORY 25.1356 + yes y | tazpkg install-list \ 25.1357 + $DISTRO/list-packages --root=$ROOTFS 25.1358 + cd $DISTRO 25.1359 + cp distro-packages.list $ROOTFS/etc/tazlito 25.1360 + # Copy all files from $ADDFILES/rootfs to the rootfs. 25.1361 + if [ -d "$ADDFILES/rootfs" ] ; then 25.1362 + echo -n "Copying addfiles content to the rootfs... " 25.1363 + cp -a $ADDFILES/rootfs/* $ROOTFS 25.1364 + status 25.1365 + fi 25.1366 + echo "Root file system is generated..." 25.1367 + # Root CD part. 25.1368 + echo -n "Preparing the rootcd directory..." 25.1369 + mkdir -p $ROOTCD 25.1370 + status 25.1371 + # Move the boot dir with the Linux kernel from rootfs. 25.1372 + # The boot dir goes directly on the CD. 25.1373 + if [ -d "$ROOTFS/boot" ] ; then 25.1374 + echo -n "Moving the boot directory..." 25.1375 + mv $ROOTFS/boot $ROOTCD 25.1376 + cd $ROOTCD/boot 25.1377 + ln vmlinuz-* bzImage 25.1378 + status 25.1379 + fi 25.1380 + cd $DISTRO 25.1381 + # Copy all files from $ADDFILES/rootcd to the rootcd. 25.1382 + if [ -d "$ADDFILES/rootcd" ] ; then 25.1383 + echo -n "Copying addfiles content to the rootcd... " 25.1384 + cp -a $ADDFILES/rootcd/* $ROOTCD 25.1385 + status 25.1386 + fi 25.1387 + # Execute the distro script (used to perform tasks in the rootfs 25.1388 + # before compression. Give rootfs path in arg 25.1389 + [ -z $DISTRO_SCRIPT ] && DISTRO_SCRIPT=$TOP_DIR/distro.sh 25.1390 + if [ -x $DISTRO_SCRIPT ]; then 25.1391 + echo "Executing distro script..." 25.1392 + sh $DISTRO_SCRIPT $DISTRO 25.1393 + fi 25.1394 + if [ -s /etc/tazlito/rootfs.list ]; then 25.1395 + [ -f $ROOTCD/boot/isolinux/ifmem.c32 ] || 25.1396 + cp /boot/isolinux/ifmem.c32 $ROOTCD/boot/isolinux 25.1397 + n=0 25.1398 + last=$ROOTFS 25.1399 + while read flavor; do 25.1400 + n=$(($n+1)) 25.1401 + echo "Building $flavor rootfs..." 25.1402 + download $flavor.flavor 25.1403 + zcat $flavor.flavor | cpio -i $flavor.pkglist 25.1404 + sed 's/.*/&.tazpkg/' < $flavor.pkglist \ 25.1405 + > $DISTRO/list-packages0$n 25.1406 + mkdir ${ROOTFS}0$n 25.1407 + cd $PACKAGES_REPOSITORY 25.1408 + yes y | tazpkg install-list \ 25.1409 + $DISTRO/list-packages0$n --root=${ROOTFS}0$n 25.1410 + rm -rf ${ROOTFS}0$n/boot 25.1411 + status 25.1412 + cd $DISTRO 25.1413 + mv $flavor.pkglist ${ROOTFS}0$n/etc/tazlito/distro-packages.list 25.1414 + rm -f $flavor.flavor install-list 25.1415 + mergefs ${ROOTFS}0$n $last 25.1416 + last=${ROOTFS}0$n 25.1417 + done <<EOT 25.1418 +$(awk '{ for (i = 4; i <= NF; i+=2) print $i; }' < /etc/tazlito/rootfs.list) 25.1419 +EOT 25.1420 + i=$(($n+1)) 25.1421 + while [ $n -gt 0 ]; do 25.1422 + mv ${ROOTFS}0$n ${ROOTFS}$i 25.1423 + echo "Compression ${ROOTFS}0$n ($(du -hs ${ROOTFS}$i | awk '{ print $1 }')) ..." 25.1424 + gen_initramfs ${ROOTFS}$i 25.1425 + n=$(($n-1)) 25.1426 + i=$(($i-1)) 25.1427 + done 25.1428 + mv $ROOTFS ${ROOTFS}$i 25.1429 + gen_initramfs ${ROOTFS}$i 25.1430 + update_bootconfig $ROOTCD/boot/isolinux \ 25.1431 + "$(cat /etc/tazlito/rootfs.list)" 25.1432 + else 25.1433 + # Initramfs and ISO image stuff. 25.1434 + gen_initramfs $ROOTFS 25.1435 + fi 25.1436 + gen_livecd_isolinux 25.1437 + distro_stats 25.1438 + cleanup 25.1439 + ;; 25.1440 + clean-distro) 25.1441 + # Remove old distro tree. 25.1442 + # 25.1443 + check_root 25.1444 + echo "" 25.1445 + echo -e "\033[1mCleaning :\033[0m $DISTRO" 25.1446 + echo "================================================================================" 25.1447 + if [ -d "$DISTRO" ] ; then 25.1448 + if [ -d "$ROOTFS" ] ; then 25.1449 + echo -n "Removing the rootfs..." 25.1450 + rm -f $DISTRO/$INITRAMFS 25.1451 + rm -rf $ROOTFS 25.1452 + status 25.1453 + fi 25.1454 + if [ -d "$ROOTCD" ] ; then 25.1455 + echo -n "Removing the rootcd..." 25.1456 + rm -rf $ROOTCD 25.1457 + status 25.1458 + fi 25.1459 + echo -n "Removing eventual ISO image..." 25.1460 + rm -f $DISTRO/$ISO_NAME.iso 25.1461 + rm -f $DISTRO/$ISO_NAME.md5 25.1462 + status 25.1463 + fi 25.1464 + echo "================================================================================" 25.1465 + echo "" 25.1466 + ;; 25.1467 + check-distro) 25.1468 + # Check for a few LiveCD needed files not installed by packages. 25.1469 + # 25.1470 + check_rootfs 25.1471 + echo "" 25.1472 + echo -e "\033[1mChecking distro :\033[0m $ROOTFS" 25.1473 + echo "================================================================================" 25.1474 + # SliTaz release info. 25.1475 + if [ ! -f "$ROOTFS/etc/slitaz-release" ]; then 25.1476 + echo "Missing release info : /etc/slitaz-release" 25.1477 + else 25.1478 + release=`cat $ROOTFS/etc/slitaz-release` 25.1479 + echo -n "Release : $release" 25.1480 + status 25.1481 + fi 25.1482 + # Tazpkg mirror. 25.1483 + if [ ! -f "$ROOTFS/var/lib/tazpkg/mirror" ]; then 25.1484 + echo -n "Mirror URL : Missing /var/lib/tazpkg/mirror" 25.1485 + todomsg 25.1486 + else 25.1487 + echo -n "Mirror configuration exists..." 25.1488 + status 25.1489 + fi 25.1490 + # Isolinux msg 25.1491 + if grep -q "cooking-XXXXXXXX" /$ROOTCD/boot/isolinux/isolinux.msg; then 25.1492 + echo -n "Isolinux msg : Missing cooking date XXXXXXXX (ex `date +%Y%m%d`)" 25.1493 + todomsg 25.1494 + else 25.1495 + echo -n "Isolinux message seems good..." 25.1496 + status 25.1497 + fi 25.1498 + echo "================================================================================" 25.1499 + echo "" 25.1500 + ;; 25.1501 + writeiso) 25.1502 + # Writefs to ISO image including /home unlike gen-distro we dont use 25.1503 + # packages to generate a rootfs, we build a compressed rootfs with all 25.1504 + # the current filesystem similar to 'tazusb writefs'. 25.1505 + # 25.1506 + DISTRO="/home/slitaz/distro" 25.1507 + ROOTCD="$DISTRO/rootcd" 25.1508 + if [ -z $2 ]; then 25.1509 + COMPRESSION=none 25.1510 + else 25.1511 + COMPRESSION=$2 25.1512 + fi 25.1513 + if [ -z $3 ]; then 25.1514 + ISO_NAME="slitaz" 25.1515 + else 25.1516 + ISO_NAME="$3" 25.1517 + fi 25.1518 + check_root 25.1519 + # Start info 25.1520 + echo "" 25.1521 + echo -e "\033[1mWrite filesystem to ISO\033[0m 25.1522 +=============================================================================== 25.1523 +The command writeiso will write the current filesystem into a suitable cpio 25.1524 +archive (rootfs.gz) and generate a bootable ISO image (slitaz.iso). 25.1525 + 25.1526 +Archive compression: $COMPRESSION" 25.1527 + echo "" 25.1528 + 25.1529 + # Save some space 25.1530 + rm /var/cache/tazpkg/* -r -f 25.1531 + rm -rf /home/slitaz/distro 25.1532 + 25.1533 + # Optionally remove sound card selection and screen resolution. 25.1534 + echo "Do you wish to remove the sound card and screen config ? " 25.1535 + echo -n "Press ENTER to keep or anser (No|yes|exit): " 25.1536 + read anser 25.1537 + case $anser in 25.1538 + e|E|"exit"|Exit) 25.1539 + exit 0 ;; 25.1540 + y|Y|yes|Yes) 25.1541 + echo -n "Removing current sound card and screen configuration..." 25.1542 + rm -f /var/lib/sound-card-driver 25.1543 + rm -f /etc/asound.state 25.1544 + rm -f /etc/X11/screen.conf 25.1545 + rm -f /etc/X11/xorg.conf ;; 25.1546 + *) 25.1547 + echo -n "Keeping current sound card and screen configuration..." ;; 25.1548 + esac 25.1549 + status 25.1550 + 25.1551 + # Create list of files including default user files since it is defined in /etc/passwd 25.1552 + # and some new users might have been added. 25.1553 + find /bin /etc /init /sbin /var /dev /lib /root /usr /home >/tmp/list 25.1554 + 25.1555 + for dir in /proc /sys /tmp /mnt /media /media/cdrom /media/flash /media/usbdisk 25.1556 + do 25.1557 + echo $dir >>/tmp/list 25.1558 + done 25.1559 + 25.1560 + # Generate initramfs with specified compression and display rootf 25.1561 + # size in realtime. 25.1562 + rm -f /tmp/rootfs 25.1563 + write_initramfs & 25.1564 + sleep 2 25.1565 + echo -en "\nFilesystem size:" 25.1566 + while [ ! -f /tmp/rootfs ] 25.1567 + do 25.1568 + sleep 1 25.1569 + echo -en "\\033[18G`du -sh /rootfs.gz | awk '{print $1}'` " 25.1570 + done 25.1571 + echo -e "\n" 25.1572 + 25.1573 + # Move freshly generated rootfs to the cdrom. 25.1574 + mkdir -p $ROOTCD/boot 25.1575 + mv -f /rootfs.gz $ROOTCD/boot 25.1576 + 25.1577 + # Now we need the kernel and isolinux files. 25.1578 + if mount /dev/cdrom /media/cdrom 2>/dev/null; then 25.1579 + cp /media/cdrom/boot/bzImage $ROOTCD/boot 25.1580 + cp -a /media/cdrom/boot/isolinux $ROOTCD/boot 25.1581 + umount /media/cdrom 25.1582 + else 25.1583 + echo -e " 25.1584 +Unable to mount the cdrom to copy the Kernel and needed files. When SliTaz 25.1585 +is running in RAM the kernel and bootloader files are keeped on the cdrom. 25.1586 +Please insert a LiveCD or unmount curent cdrom to let Tazlito handle the media.\n" 25.1587 + echo -en "----\nENTER to continue..."; read i 25.1588 + exit 1 25.1589 + fi 25.1590 + 25.1591 + # Generate the iso image. 25.1592 + cd $DISTRO 25.1593 + echo "Generating ISO image..." 25.1594 + genisoimage -R -o $ISO_NAME.iso -b boot/isolinux/isolinux.bin \ 25.1595 + -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \ 25.1596 + -V "SliTaz" -input-charset iso8859-1 -boot-info-table $ROOTCD 25.1597 + if [ -x /usr/bin/isohybrid ]; then 25.1598 + echo -n "Creating hybrid ISO..." 25.1599 + /usr/bin/isohybrid $ISO_NAME.iso 2> /dev/null 25.1600 + status 25.1601 + fi 25.1602 + echo -n "Creating the ISO md5sum..." 25.1603 + md5sum $ISO_NAME.iso > $ISO_NAME.md5 25.1604 + status 25.1605 + 25.1606 + echo "===============================================================================" 25.1607 + echo "ISO image: `du -sh /home/slitaz/distro/$ISO_NAME.iso`" 25.1608 + echo "" 25.1609 + echo -n "Exit or burn ISO to cdrom (Exit|burn)? "; read anser 25.1610 + case $anser in 25.1611 + burn) 25.1612 + eject 25.1613 + echo -n "Please insert a blank cdrom and press ENTER..." 25.1614 + read i && sleep 2 25.1615 + tazlito burn-iso /home/slitaz/distro/$ISO_NAME.iso 25.1616 + echo -en "----\nENTER to continue..."; read i ;; 25.1617 + *) 25.1618 + exit 0 ;; 25.1619 + esac ;; 25.1620 + burn-iso) 25.1621 + # Guess cdrom device, ask user and burn the ISO. 25.1622 + # 25.1623 + check_root 25.1624 + DRIVE_NAME=`cat /proc/sys/dev/cdrom/info | grep "drive name" | cut -f 3` 25.1625 + DRIVE_SPEED=`cat /proc/sys/dev/cdrom/info | grep "drive speed" | cut -f 3` 25.1626 + # We can specify an alternative ISO from the cmdline. 25.1627 + if [ -n "$2" ] ; then 25.1628 + iso=$2 25.1629 + else 25.1630 + iso=$DISTRO/$ISO_NAME.iso 25.1631 + fi 25.1632 + if [ ! -f "$iso" ]; then 25.1633 + echo -e "\nUnable to find ISO : $iso\n" 25.1634 + exit 0 25.1635 + fi 25.1636 + echo "" 25.1637 + echo -e "\033[1mTazlito burn ISO\033[0m " 25.1638 + echo "================================================================================" 25.1639 + echo "Cdrom device : /dev/$DRIVE_NAME" 25.1640 + echo "Drive speed : $DRIVE_SPEED" 25.1641 + echo "ISO image : $iso" 25.1642 + echo "================================================================================" 25.1643 + echo "" 25.1644 + yesorno "Burn ISO image (y/N) ? " 25.1645 + if [ "$answer" == "y" ]; then 25.1646 + echo "" 25.1647 + echo "Starting Wodim to burn the iso..." && sleep 2 25.1648 + echo "================================================================================" 25.1649 + wodim speed=$DRIVE_SPEED dev=/dev/$DRIVE_NAME $iso 25.1650 + echo "================================================================================" 25.1651 + echo "ISO image is burned to cdrom." 25.1652 + else 25.1653 + echo -e "\nExiting. No ISO burned." 25.1654 + fi 25.1655 + echo "" 25.1656 + ;; 25.1657 + merge) 25.1658 + # Merge multiple rootfs into one iso. 25.1659 + # 25.1660 + if [ -z "$2" ]; then 25.1661 + cat << EOT 25.1662 +Usage: tazlito merge size1 iso size2 rootfs2 [sizeN rootfsN]... 25.1663 + 25.1664 +Merge multiple rootfs into one iso. Rootfs are like russian dolls 25.1665 +i.e: rootfsN is a subset of rootfsN-1 25.1666 +rootfs1 is found in iso, sizeN is the RAM size need to launch rootfsN. 25.1667 +The boot loader will select the rootfs according to the RAM size detected. 25.1668 + 25.1669 +Example: 25.1670 +$ tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz 25.1671 + 25.1672 +Will start slitaz-core with 160M+ RAM, slitaz-justX with 96M-160M RAM, 25.1673 +slitaz-base with 32M-96M RAM and display an error message if RAM < 32M. 25.1674 +EOT 25.1675 + exit 2 25.1676 + fi 25.1677 + 25.1678 + shift # skip merge 25.1679 + append="$1 slitaz1" 25.1680 + shift # skip size1 25.1681 + mkdir -p $TMP_DIR/mnt $TMP_DIR/rootfs1 25.1682 + 25.1683 + ISO=$1.merged 25.1684 + # Extract filesystems 25.1685 + echo -n "Mounting $1" 25.1686 + mount -o loop,ro $1 $TMP_DIR/mnt 2> /dev/null 25.1687 + status || cleanup_merge 25.1688 + cp -a $TMP_DIR/mnt $TMP_DIR/iso 25.1689 + rm -f $TMP_DIR/iso/boot/bzImage 25.1690 + ln $TMP_DIR/iso/boot/vmlinuz* $TMP_DIR/iso/boot/bzImage 25.1691 + umount -d $TMP_DIR/mnt 25.1692 + if [ -f $TMP_DIR/iso/boot/rootfs1.gz ]; then 25.1693 + echo "$1 is already a merged iso. Aborting." 25.1694 + cleanup_merge 25.1695 + fi 25.1696 + if [ ! -f $TMP_DIR/iso/boot/isolinux/ifmem.c32 ]; then 25.1697 + if [ ! -f /boot/isolinux/ifmem.c32 ]; then 25.1698 + cat <<EOT 25.1699 +No file /boot/isolinux/ifmem.c32 25.1700 +Please install syslinux package ! 25.1701 +EOT 25.1702 + rm -rf $TMP_DIR 25.1703 + exit 1 25.1704 + fi 25.1705 + cp /boot/isolinux/ifmem.c32 $TMP_DIR/iso/boot/isolinux 25.1706 + fi 25.1707 + 25.1708 + echo -n "Extracting iso/rootfs.gz" 25.1709 + extract_rootfs $TMP_DIR/iso/boot/rootfs.gz $TMP_DIR/rootfs1 && 25.1710 + [ -d $TMP_DIR/rootfs1/etc ] 25.1711 + status || cleanup_merge 25.1712 + n=1 25.1713 + while [ -n "$2" ]; do 25.1714 + shift # skip rootfs N-1 25.1715 + p=$n 25.1716 + n=$(($n + 1)) 25.1717 + append="$append $1 slitaz$n" 25.1718 + shift # skip size N 25.1719 + mkdir -p $TMP_DIR/rootfs$n 25.1720 + echo -n "Extracting $1" 25.1721 + extract_rootfs $1 $TMP_DIR/rootfs$n && 25.1722 + [ -d $TMP_DIR/rootfs$n/etc ] 25.1723 + status || cleanup_merge 25.1724 + mergefs $TMP_DIR/rootfs$n $TMP_DIR/rootfs$p 25.1725 + echo "Creating rootfs$p.gz" 25.1726 + pack_rootfs $TMP_DIR/rootfs$p $TMP_DIR/iso/boot/rootfs$p.gz 25.1727 + status 25.1728 + done 25.1729 + echo "Creating rootfs$n.gz" 25.1730 + pack_rootfs $TMP_DIR/rootfs$n $TMP_DIR/iso/boot/rootfs$n.gz 25.1731 + status 25.1732 + rm -f $TMP_DIR/iso/boot/rootfs.gz 25.1733 + update_bootconfig $TMP_DIR/iso/boot/isolinux "$append" 25.1734 + echo "Generating $ISO" 25.1735 + create_iso $ISO $TMP_DIR/iso 25.1736 + rm -rf $TMP_DIR 25.1737 + ;; 25.1738 + 25.1739 + repack) 25.1740 + # Repack an iso with maximum lzma compression ratio. 25.1741 + # 25.1742 + 25.1743 + ISO=$2 25.1744 + 25.1745 + mkdir -p $TMP_DIR/mnt 25.1746 + # Extract filesystems 25.1747 + echo -n "Mounting $ISO" 25.1748 + mount -o loop,ro $ISO $TMP_DIR/mnt 2> /dev/null 25.1749 + status || cleanup_merge 25.1750 + cp -a $TMP_DIR/mnt $TMP_DIR/iso 25.1751 + umount -d $TMP_DIR/mnt 25.1752 + 25.1753 + for i in $TMP_DIR/iso/boot/rootfs* ; do 25.1754 + echo -n "Repacking $(basename $i)" 25.1755 + (zcat $i || unlzma -c $i || cat $i) \ 25.1756 + 2>/dev/null > $TMP_DIR/rootfs 25.1757 + lzma e $TMP_DIR/rootfs $i \ 25.1758 + $(lzma_switches $TMP_DIR/rootfs) 25.1759 + status 25.1760 + done 25.1761 + 25.1762 + echo "Generating $ISO" 25.1763 + create_iso $ISO $TMP_DIR/iso 25.1764 + rm -rf $TMP_DIR ;; 25.1765 + 25.1766 + frugal-install|-fi) 25.1767 + ISO_IMAGE="$2" 25.1768 + echo "" 25.1769 + mkdir -p /boot/frugal 25.1770 + if [ -f "$ISO_IMAGE" ]; then 25.1771 + echo -n "Using ISO image: $ISO_IMAGE" 25.1772 + mkdir -p /tmp/iso && mount -o loop $ISO_IMAGE /tmp/iso 25.1773 + status 25.1774 + echo -n "Installing the Kernel and rootfs..." 25.1775 + cp -a /tmp/iso/boot/bzImage /boot/frugal 25.1776 + cp -a /tmp/iso/boot/rootfs.gz /boot/frugal 25.1777 + umount /tmp/iso 25.1778 + status 25.1779 + else 25.1780 + echo -n "Using distro: $DISTRO" 25.1781 + cd $DISTRO && status 25.1782 + echo -n "Installing the Kernel and rootfs..." 25.1783 + cp -a $DISTRO/rootcd/boot/bzImage /boot/frugal 25.1784 + cp -a $DISTRO/rootcd/boot/rootfs.gz /boot/frugal 25.1785 + status 25.1786 + fi 25.1787 + # Grub entry 25.1788 + if ! grep -q "^kernel /boot/frugal/bzImage" /boot/grub/menu.lst; then 25.1789 + echo -n "Configuring GRUB menu list..." 25.1790 + cat >> /boot/grub/menu.lst << EOT 25.1791 +title SliTaz GNU/Linux (frugal) 25.1792 +root (hd0,0) 25.1793 +kernel /boot/frugal/bzImage root=/dev/null 25.1794 +initrd /boot/frugal/rootfs.gz 25.1795 +EOT 25.1796 + else 25.1797 + echo -n "GRUB menu list is up-to-date..." 25.1798 + fi 25.1799 + status 25.1800 + echo "" ;; 25.1801 + 25.1802 + emu-iso) 25.1803 + # Emulate an ISO image with Qemu. 25.1804 + if [ -n "$2" ] ; then 25.1805 + iso=$2 25.1806 + else 25.1807 + iso=$DISTRO/$ISO_NAME.iso 25.1808 + fi 25.1809 + if [ ! -f "$iso" ]; then 25.1810 + echo -e "\nUnable to find ISO : $iso\n" 25.1811 + exit 0 25.1812 + fi 25.1813 + if [ ! -x "/usr/bin/qemu" ]; then 25.1814 + echo -e "\nUnable to find Qemu binary. Please install: qemu\n" 25.1815 + exit 0 25.1816 + fi 25.1817 + echo -e "\nStarting Qemu emulator:\n" 25.1818 + echo -e "qemu $QEMU_OPTS $iso\n" 25.1819 + qemu $QEMU_OPTS $iso ;; 25.1820 + 25.1821 + usage|*) 25.1822 + # Clear and print usage also for all unknown commands. 25.1823 + # 25.1824 + clear 25.1825 + usage ;; 25.1826 +esac 25.1827 + 25.1828 +exit 0
26.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 26.2 +++ b/core-xfce/rootfs/usr/bin/tazlitobox Sun Dec 05 17:40:41 2010 +0100 26.3 @@ -0,0 +1,445 @@ 26.4 +#!/bin/sh 26.5 +# 26.6 +# Gtkdialog box for Tazlito - SliTaz Live Tool. 26.7 +# Tabs are used for ident ans all action should go into functions to 26.8 +# separate GUI and commands. 26.9 +# 26.10 +# (C) GNU gpl v3 - SliTaz GNU/Linux 2010. 26.11 +# 26.12 +VERSION=2.2 26.13 + 26.14 +export BIN=$0 26.15 + 26.16 +# Check if user is root. 26.17 +check_root() 26.18 +{ 26.19 + if test $(id -u) != 0 ; then 26.20 + echo -e " 26.21 +You must be root to run `basename $0`. Please type 'su' and 26.22 +root password to become super-user.\n" 26.23 + exit 0 26.24 + fi 26.25 +} 26.26 + 26.27 +# We need to parse flavors.list for GTK tree. 26.28 +list_flavors() 26.29 +{ 26.30 + tazlito list-flavors | grep ^[a-z] | while read line 26.31 + do 26.32 + info=`echo -n $line | awk '{print $1 " " $2 " " $3}'` 26.33 + printinfo=`echo -n $line | awk '{print $1 "|" $2 "|" $3}'` 26.34 + echo "$printinfo|`echo $line | sed s/\"$info\"//`" 26.35 + done 26.36 +} 26.37 + 26.38 +recharge_list() 26.39 +{ 26.40 + xterm -geometry 90x14 \ 26.41 + -title "list-flavors --recharge" \ 26.42 + -e "tazlito list-flavors --recharge | grep ^[a-z] && sleep 2" 26.43 +} 26.44 + 26.45 +# When using gen-liveflavor, gen-flavor or gen-distro, user can put some 26.46 +# addfiles copied into the rootfs. 26.47 +addfiles_action() 26.48 +{ 26.49 + cd /home/slitaz 26.50 + mkdir -p distro/addfiles/rootfs/usr/share/images 26.51 + mkdir -p distro/addfiles/rootcd 26.52 + file-manager distro/addfiles & 26.53 +} 26.54 + 26.55 +writeiso_action() 26.56 +{ 26.57 + xterm -geometry 80x16 \ 26.58 + -title "writeiso" \ 26.59 + -e "tazlito writeiso $COMPRESSION" 26.60 +} 26.61 + 26.62 +gen_liveflavor_action() 26.63 +{ 26.64 + cd /home/slitaz 26.65 + sed -i "s/ISO_NAME=.*/ISO_NAME=\"slitaz-$GEN_LIVEFLAVOR_NAME\"/" \ 26.66 + /etc/tazlito/tazlito.conf 26.67 + xterm -geometry 80x16 \ 26.68 + -title "gen-liveflavor" \ 26.69 + -e "tazlito gen-liveflavor $GEN_LIVEFLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close" 26.70 +} 26.71 + 26.72 +clean_distro_action() 26.73 +{ 26.74 + cd /home/slitaz 26.75 + xterm -geometry 80x16 \ 26.76 + -title "clean-distro" \ 26.77 + -e "tazlito clean-distro && sleep 1" 26.78 +} 26.79 + 26.80 +get_flavor_action() 26.81 +{ 26.82 + cd /home/slitaz 26.83 + xterm -geometry 80x16 \ 26.84 + -title "get-flavor $COMMUNITY_FLAVOR" \ 26.85 + -e "tazlito get-flavor $COMMUNITY_FLAVOR && echo -e \"----\nENTER to continue...\" && read close" 26.86 +} 26.87 + 26.88 +gen_distro_action() 26.89 +{ 26.90 + cd /home/slitaz 26.91 + xterm -geometry 80x16 \ 26.92 + -title "gen-distro" \ 26.93 + -e "tazlito gen-distro && echo -e \"----\nENTER to continue...\" && read close" 26.94 +} 26.95 + 26.96 +gen_flavor_action() 26.97 +{ 26.98 + cd /home/slitaz 26.99 + xterm -geometry 80x16 \ 26.100 + -title "gen-flavor $GEN_FLAVOR_NAME" \ 26.101 + -e "tazlito gen-flavor $GEN_FLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close" 26.102 +} 26.103 + 26.104 +edit_distro_script() 26.105 +{ 26.106 + [ ! -f $DISTRO_SCRIPT ] && echo "#!/bin/sh" > $DISTRO_SCRIPT 26.107 + chmod +x $DISTRO_SCRIPT 26.108 + editor $DISTRO_SCRIPT 26.109 +} 26.110 + 26.111 +# Boxes 26.112 + 26.113 +export HELP=' 26.114 +<window title="Tazlito Box - Help" icon-name="media-cdrom"> 26.115 +<vbox> 26.116 + <text use-markup="true"> 26.117 + <label>" 26.118 +<b>Tazlito Box - Help</b>" 26.119 + </label> 26.120 + </text> 26.121 + 26.122 + <frame Overview> 26.123 + <text wrap="true" width-chars="52" use-markup="true"> 26.124 + <label> 26.125 +" 26.126 +Tazlito Box is a tiny interface to the SliTaz Live Tool aka Tazlito. 26.127 +You can simply generate a LiveCD in a few minutes, using your 26.128 +own flavor or one from the SliTaz community. Tazlito can also 26.129 +generate a LiveCD flavor using all of the currently installed 26.130 +packages. Tazlito commands are executed in a XTerm, you can 26.131 +press ENTER or the mouse to close the window. 26.132 +" 26.133 + </label> 26.134 + </text> 26.135 + </frame> 26.136 + 26.137 + <frame Default paths> 26.138 + <text wrap="true" width-chars="50" use-markup="true"> 26.139 + <label> 26.140 +" 26.141 +Distro : /home/slitaz/distro 26.142 +Flavors : /home/slitaz/flavors 26.143 +Packages : /home/slitaz/packages 26.144 +" 26.145 + </label> 26.146 + </text> 26.147 + </frame> 26.148 + 26.149 + <hbox> 26.150 + <button> 26.151 + <input file icon="exit"></input> 26.152 + <action type="closewindow">HELP</action> 26.153 + </button> 26.154 + </hbox> 26.155 + 26.156 +</vbox> 26.157 +</window> 26.158 +' 26.159 + 26.160 +# List all flavors on the mirror. 26.161 +export LIST_FLAVORS_BOX=' 26.162 +<window title="Community flavors list" icon-name="tazlito"> 26.163 +<vbox> 26.164 + <tree> 26.165 + <width>500</width><height>200</height> 26.166 + <variable>COMMUNITY_FLAVOR</variable> 26.167 + <label>Name|ISO|Rootfs|Description</label> 26.168 + <input exported_column="0">$BIN list_flavors</input> 26.169 + </tree> 26.170 + <hbox> 26.171 + <button> 26.172 + <label>Recharge list</label> 26.173 + <input file icon="reload"></input> 26.174 + <action>$BIN recharge_list</action> 26.175 + <action>refresh:COMMUNITY_FLAVOR</action> 26.176 + </button> 26.177 + <button> 26.178 + <label>Exit</label> 26.179 + <input file icon="exit"></input> 26.180 + <action type="closewindow">LIST_FLAVORS_BOX</action> 26.181 + </button> 26.182 + </hbox> 26.183 +</vbox> 26.184 +</window>' 26.185 + 26.186 +# Execute tazlito commands in a XTerm. Notebook: tab-pos="GTK_POS_LEFT" 26.187 +export TAZLITO_BOX=' 26.188 +<window title="Tazlito Box" icon-name="media-cdrom"> 26.189 +<vbox> 26.190 + 26.191 + <hbox> 26.192 + <text use-markup="true"> 26.193 + <label>"<b>SliTaz Live Tool</b>"</label> 26.194 + </text> 26.195 + <pixmap> 26.196 + <input file>/usr/share/pixmaps/tazlito.png</input> 26.197 + </pixmap> 26.198 + </hbox> 26.199 + 26.200 + <notebook labels="Writeiso|Live flavor|Flavors list|Gen flavor|Configuration"> 26.201 + 26.202 + <frame Filesystem to ISO> 26.203 + 26.204 + <text wrap="true" width-chars="60" use-markup="true"> 26.205 + <label> 26.206 +" 26.207 +Writeiso will generate an ISO image of the current filesystem as 26.208 +is, including the /home directory. It is an easy way to remaster a 26.209 +SliTaz Live system, you just have to: boot, modify, writeiso. 26.210 +" 26.211 + </label> 26.212 + </text> 26.213 + 26.214 + <hbox> 26.215 + <text use-markup="true"> 26.216 + <label>"<b>Compression (gzip,lzma,none):</b>"</label> 26.217 + </text> 26.218 + <entry> 26.219 + <default>gzip</default> 26.220 + <variable>COMPRESSION</variable> 26.221 + </entry> 26.222 + </hbox> 26.223 + 26.224 + <hbox> 26.225 + <button> 26.226 + <label>Writeiso</label> 26.227 + <input file icon="forward"></input> 26.228 + <action>$BIN writeiso_action</action> 26.229 + </button> 26.230 + </hbox> 26.231 + 26.232 + </frame> 26.233 + 26.234 + <frame Current packages selection> 26.235 + 26.236 + <text wrap="true" width-chars="60" use-markup="true"> 26.237 + <label> 26.238 +" 26.239 +Gen Live flavor will create a LiveCD based on all the currently 26.240 +installed packages. To build the rootfs and ISO image it will use 26.241 +original SliTaz packages. Some addfiles can be copied before 26.242 +gen distro. 26.243 +" 26.244 + </label> 26.245 + </text> 26.246 + 26.247 + <hbox> 26.248 + <text use-markup="true"> 26.249 + <label>"<b>Flavor name :</b>"</label> 26.250 + </text> 26.251 + <entry> 26.252 + <default>slitaz</default> 26.253 + <variable>GEN_LIVEFLAVOR_NAME</variable> 26.254 + </entry> 26.255 + </hbox> 26.256 + 26.257 + <hbox> 26.258 + <button> 26.259 + <label>Addfiles</label> 26.260 + <input file icon="gtk-open"></input> 26.261 + <action>$BIN addfiles_action</action> 26.262 + </button> 26.263 + <button> 26.264 + <label>Gen distro</label> 26.265 + <input file icon="forward"></input> 26.266 + <action>$BIN gen_liveflavor_action</action> 26.267 + </button> 26.268 + <button> 26.269 + <label>Clean distro</label> 26.270 + <input file icon="edit-clear"></input> 26.271 + <action>$BIN clean_distro_action</action> 26.272 + </button> 26.273 + </hbox> 26.274 + 26.275 + </frame> 26.276 + 26.277 + <frame Community and personal flavors> 26.278 + 26.279 + <text wrap="true" width-chars="60" use-markup="true"> 26.280 + <label> 26.281 +" 26.282 +Get and build preconfigured flavors from the community. Flavors 26.283 +llist can be recharged from SliTaz mirror. Some addfiles can be 26.284 +copied before generating the distro. 26.285 +" 26.286 + </label> 26.287 + </text> 26.288 + 26.289 + <hbox> 26.290 + <text use-markup="true"> 26.291 + <label>"<b>Flavor :</b>"</label> 26.292 + </text> 26.293 + <entry> 26.294 + <default>core</default> 26.295 + <variable>COMMUNITY_FLAVOR</variable> 26.296 + </entry> 26.297 + <button> 26.298 + <label>List flavors</label> 26.299 + <input file icon="media-cdrom"></input> 26.300 + <action type="launch">LIST_FLAVORS_BOX</action> 26.301 + </button> 26.302 + </hbox> 26.303 + 26.304 + <hbox> 26.305 + <button> 26.306 + <label>Get flavor</label> 26.307 + <input file icon="forward"></input> 26.308 + <action>$BIN get_flavor_action</action> 26.309 + </button> 26.310 + <button> 26.311 + <label>Addfiles</label> 26.312 + <input file icon="gtk-open"></input> 26.313 + <action>$BIN addfiles_action</action> 26.314 + </button> 26.315 + <button> 26.316 + <label>Gen distro</label> 26.317 + <input file icon="forward"></input> 26.318 + <action>$BIN gen_distro_action</action> 26.319 + </button> 26.320 + <button> 26.321 + <label>Clean distro</label> 26.322 + <input file icon="edit-clear"></input> 26.323 + <action>$BIN clean_distro_action</action> 26.324 + </button> 26.325 + </hbox> 26.326 + 26.327 + </frame> 26.328 + <frame Generate a flavor> 26.329 + 26.330 + <text wrap="true" width-chars="60" use-markup="true"> 26.331 + <label> 26.332 +" 26.333 +Gen Flavor will generate a new flavor file based on rootfs in 26.334 +/home/slitaz/distro. All addfiles will be included in the flavor file. 26.335 +" 26.336 + </label> 26.337 + </text> 26.338 + 26.339 + <hbox> 26.340 + <text use-markup="true"> 26.341 + <label>"<b>New flavor :</b>"</label> 26.342 + </text> 26.343 + <entry> 26.344 + <default>slitaz</default> 26.345 + <variable>GEN_FLAVOR_NAME</variable> 26.346 + </entry> 26.347 + </hbox> 26.348 + 26.349 + <hbox> 26.350 + <button> 26.351 + <label>Addfiles</label> 26.352 + <input file icon="gtk-open"></input> 26.353 + <action>$BIN addfiles_action</action> 26.354 + </button> 26.355 + <button> 26.356 + <label>Gen new flavor</label> 26.357 + <input file icon="forward"></input> 26.358 + <action>$BIN gen_flavor_action</action> 26.359 + </button> 26.360 + </hbox> 26.361 + 26.362 + </frame> 26.363 + 26.364 + <frame Flavor config and packages list> 26.365 + 26.366 + <text wrap="true" width-chars="60" use-markup="true"> 26.367 + <label> 26.368 +" 26.369 +Before editing files you must have a flavor description. Distro 26.370 +script can be used to perform actions into the rootfs before 26.371 +compression. 26.372 +" 26.373 + </label> 26.374 + </text> 26.375 + 26.376 + <hbox> 26.377 + <text use-markup="true"> 26.378 + <label>"<b>Flavor config :</b>"</label> 26.379 + </text> 26.380 + <entry> 26.381 + <default>/home/slitaz/tazlito.conf</default> 26.382 + <variable>CONFIG_FILE</variable> 26.383 + </entry> 26.384 + <button> 26.385 + <input file icon="accessories-text-editor"></input> 26.386 + <action>editor $CONFIG_FILE</action> 26.387 + </button> 26.388 + </hbox> 26.389 + 26.390 + <hbox> 26.391 + <text use-markup="true"> 26.392 + <label>"<b>Packages list :</b>"</label> 26.393 + </text> 26.394 + <entry> 26.395 + <default>/home/slitaz/distro-packages.list</default> 26.396 + <variable>PKGS_LIST</variable> 26.397 + </entry> 26.398 + <button> 26.399 + <input file icon="accessories-text-editor"></input> 26.400 + <action>editor $PKGS_LIST</action> 26.401 + </button> 26.402 + </hbox> 26.403 + 26.404 + <hbox> 26.405 + <text use-markup="true"> 26.406 + <label>"<b>Distro script :</b> "</label> 26.407 + </text> 26.408 + <entry> 26.409 + <default>/home/slitaz/distro.sh</default> 26.410 + <variable>DISTRO_SCRIPT</variable> 26.411 + </entry> 26.412 + <button> 26.413 + <input file icon="accessories-text-editor"></input> 26.414 + <action>$BIN edit_distro_script</action> 26.415 + </button> 26.416 + </hbox> 26.417 + 26.418 + </frame> 26.419 + 26.420 + </notebook> 26.421 + 26.422 + <hbox> 26.423 + <button help> 26.424 + <input file icon="help-browser"></input> 26.425 + <action type="launch">HELP</action> 26.426 + </button> 26.427 + <button> 26.428 + <label>Exit</label> 26.429 + <input file icon="exit"></input> 26.430 + <action type="exit">Exit</action> 26.431 + </button> 26.432 + </hbox> 26.433 + 26.434 +</vbox> 26.435 +</window> 26.436 +' 26.437 + 26.438 +case $1 in 26.439 + *_*) 26.440 + # Exec all function called by args (must have an underscore). 26.441 + $1 ;; 26.442 + *) 26.443 + # Tazlitobox action. 26.444 + check_root 26.445 + gtkdialog --center --program=TAZLITO_BOX ;; 26.446 +esac 26.447 + 26.448 +exit 0
27.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 27.2 +++ b/core-xfce/rootfs/usr/bin/wifibox Sun Dec 05 17:40:41 2010 +0100 27.3 @@ -0,0 +1,634 @@ 27.4 +#!/bin/sh 27.5 +# 27.6 +# GTKdialog interface to manage wireless connections in a simple way. 27.7 +# Use tabs to indent, split commands from the GUI and use functions. 27.8 +# Favorite networks are also supported 27.9 +# 27.10 +# (c) 2010 SliTaz GNU/Linux - GNU gpl v3 27.11 +# 27.12 +VERSION=20100118 27.13 + 27.14 +# Export script path and others if needed so we can use them in 'quote'. 27.15 +export BIN=$0 27.16 +export FAVORITES_WIFI=/etc/wireless 27.17 +. /etc/network.conf 27.18 + 27.19 +# Wifibox is only for root. 27.20 +if test $(id -u) != 0 ; then 27.21 + exec subox wifibox 27.22 + exit 0 27.23 +fi 27.24 + 27.25 +# Sanity check 27.26 +[ -x /usr/sbin/iwconfig ] || tazpkg get-install wireless_tools 27.27 +[ -d $FAVORITES_WIFI ] || mkdir -p $FAVORITES_WIFI 27.28 +rm -f $FAVORITES_WIFI/any.conf 27.29 + 27.30 +# Catch ESSIDs and format output for GTK tree. We get the list of 27.31 +# networks by Cell and without spaces. 27.32 +detect_wifi_networks() 27.33 +{ 27.34 + desktopbox notify "Scanning Wireless interface: $WIFI_INTERFACE" & 27.35 + if [ -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then 27.36 + ifconfig $WIFI_INTERFACE up 27.37 + for i in `iwlist $WIFI_INTERFACE scan | sed s/"Cell "/Cell-/ | grep "Cell-" | awk '{print $1}'` 27.38 + do 27.39 + SCAN=`iwlist $WIFI_INTERFACE scan last | \ 27.40 + awk '/(Cell|ESS|Qual|Encry|IE: WPA)/ {print}' | \ 27.41 + sed s/"Cell "/Cell-/ | grep -A 5 "$i"` 27.42 + ESSID=`echo $SCAN | cut -d '"' -f 2` 27.43 + if echo "$SCAN" | grep -q Quality; then 27.44 + QUALITY=`echo $SCAN | sed 's/.*Quality=\([^ ]*\).*/\1/' | sed 's/.*Quality:\([^ ]*\).*/\1/'` 27.45 + else 27.46 + QUALITY="-" 27.47 + fi 27.48 + ENCRYPTION=`echo $SCAN | sed 's/.*key:\([^ ]*\).*/\1/'` 27.49 + # Check encryption type 27.50 + if echo "$SCAN" | grep -q WPA; then 27.51 + ENCRYPTION="${ENCRYPTION} (WPA)" 27.52 + fi 27.53 + # Connected or not connected... 27.54 + if ifconfig | grep -A 1 $WIFI_INTERFACE | \ 27.55 + grep -q inet && iwconfig $WIFI_INTERFACE | \ 27.56 + grep ESSID | grep -q -w "$ESSID"; then 27.57 + STATUS=connected 27.58 + else 27.59 + STATUS="-" 27.60 + fi 27.61 + echo -n "" 27.62 + echo "$ESSID | $QUALITY | $ENCRYPTION | $STATUS" 27.63 + done 27.64 + fi 27.65 +} 27.66 + 27.67 +# cmdline functions 27.68 + 27.69 +# Toggle Software RF Switch on some laptops 27.70 +set_rfswitch() 27.71 +{ 27.72 + for i in /proc/driver/acerhk/wirelessled /proc/acpi/asus/wled ; do 27.73 + [ -e $i ] && echo $1 > $i 27.74 + done 27.75 +} 27.76 + 27.77 +# Configure /etc/network.conf and restart connection with init script. 27.78 +start_wifi_connection() 27.79 +{ 27.80 + # Get tmp config created by connect_to_essid() if exists and set 27.81 + # empty value to clean config file. 27.82 + if [ -f /tmp/wifi.conf ]; then 27.83 + . /tmp/wifi.conf 27.84 + WIFI_MODE="" 27.85 + WIFI_IWCONFIG_ARGS="" 27.86 + WIFI_CHANNEL="" 27.87 + fi 27.88 + sed -i "s/`grep ^WIFI= /etc/network.conf`/WIFI=\"yes\"/" \ 27.89 + /etc/network.conf 27.90 + sed -i "s/`grep ^WIFI_INTERFACE= /etc/network.conf`/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" \ 27.91 + /etc/network.conf 27.92 + sed -i "s/`grep ^WIFI_ESSID= /etc/network.conf`/WIFI_ESSID=\"$WIFI_ESSID\"/" \ 27.93 + /etc/network.conf 27.94 + sed -i "s/`grep ^WIFI_KEY= /etc/network.conf`/WIFI_KEY=\"$WIFI_KEY\"/" \ 27.95 + /etc/network.conf 27.96 + sed -i "s/`grep ^WIFI_MODE= /etc/network.conf`/WIFI_MODE=\"$WIFI_MODE\"/" \ 27.97 + /etc/network.conf 27.98 + sed -i "s/`grep ^WIFI_IWCONFIG_ARGS= /etc/network.conf`/WIFI_IWCONFIG_ARGS=\"$WIFI_IWCONFIG_ARGS\"/" \ 27.99 + /etc/network.conf 27.100 + sed -i "s/`grep ^WIFI_KEY_TYPE= /etc/network.conf`/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/" \ 27.101 + /etc/network.conf 27.102 + sed -i "s/`grep ^WIFI_CHANNEL= /etc/network.conf`/WIFI_CHANNEL=\"$WIFI_CHANNEL\"/" \ 27.103 + /etc/network.conf 27.104 + [ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid` 27.105 + ifconfig $WIFI_INTERFACE down 27.106 + set_rfswitch 1 27.107 + iwconfig $WIFI_INTERFACE txpower auto 27.108 + /etc/init.d/network.sh restart 27.109 + # Remove tmp file (could be used to have wireless profiles) 27.110 + rm -f /tmp/wifi.conf 27.111 + sleep 2 27.112 +} 27.113 + 27.114 +# We must sleep 4 sec to refresh networks list. 27.115 +stop_wifi_connexion() 27.116 +{ 27.117 + sed -i s/`grep ^WIFI= /etc/network.conf`/WIFI=\"no\"/ \ 27.118 + /etc/network.conf 27.119 + [ -x /etc/init.d/wpa_supplicant ] && /etc/init.d/wpa_supplicant stop 27.120 + ifconfig $WIFI_INTERFACE down 27.121 + iwconfig $WIFI_INTERFACE txpower off 27.122 + set_rfswitch 0 27.123 + [ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid` 27.124 + sleep 2 27.125 +} 27.126 + 27.127 +# Favorite wireless networks use only 3 values: essid. key and type of 27.128 +# key 27.129 +favorites_wifi_list() 27.130 +{ 27.131 + for i in $FAVORITES_WIFI/*.conf 27.132 + do 27.133 + WIFI_ESSID="" 27.134 + WIFI_KEY="" 27.135 + WIFI_KEY_TYPE="" 27.136 + . "$i" 27.137 + [ -z "$WIFI_ESSID" ] && WIFI_ESSID="Bad config file: $i" 27.138 + [ -z "$WIFI_KEY_TYPE" ] && WIFI_KEY_TYPE="-" 27.139 + if [ -n "$WIFI_KEY" ]; then 27.140 + WIFI_KEY="********" 27.141 + else 27.142 + WIFI_KEY="-" 27.143 + fi 27.144 + echo "$WIFI_ESSID | $WIFI_KEY_TYPE | $WIFI_KEY" 27.145 + done 27.146 +} 27.147 + 27.148 +favorite_wifi_actions() 27.149 +{ 27.150 + cp -a $FAVORITES_WIFI/"$FAVORITE".conf /tmp/wifi.conf 27.151 + . /tmp/wifi.conf 27.152 + export CONNECT_FAVORITE=" 27.153 +<window title=\"Connect to: $WIFI_ESSID\" icon-name=\"network-wireless\"> 27.154 +<vbox> 27.155 + 27.156 + <text width-chars=\"54\"> 27.157 + <label> 27.158 +\" 27.159 +ESSID name: $WIFI_ESSID 27.160 +\" 27.161 + </label> 27.162 + </text> 27.163 + 27.164 + <hbox> 27.165 + <button> 27.166 + <label>Connect</label> 27.167 + <input file icon=\"forward\"></input> 27.168 + <action>$0 start_wifi_connection</action> 27.169 + <action type=\"exit\">exit</action> 27.170 + </button> 27.171 + <button> 27.172 + <label>Edit settings</label> 27.173 + <input file icon=\"accessories-text-editor\"></input> 27.174 + <action>leafpad $FAVORITES_WIFI/\"$FAVORITE\".conf</action> 27.175 + <action>rm -f /tmp/wifi.conf</action> 27.176 + <action type=\"exit\">exit</action> 27.177 + </button> 27.178 + <button> 27.179 + <label>Delete</label> 27.180 + <input file icon=\"gtk-delete\"></input> 27.181 + <action>rm -f $FAVORITES_WIFI/\"$FAVORITE\".conf</action> 27.182 + <action type=\"exit\">exit</action> 27.183 + </button> 27.184 + <button cancel></button> 27.185 + </hbox> 27.186 + 27.187 +</vbox> 27.188 +</window>" 27.189 + gtkdialog --center --program=CONNECT_FAVORITE >/dev/null 27.190 +} 27.191 + 27.192 +add_favorite_network_box() 27.193 +{ 27.194 + ADD_FAVORITE=' 27.195 +<window title="Add new favorite Wireless" icon-name="network-wireless"> 27.196 +<vbox> 27.197 + <text width-chars="54"> 27.198 + <label> 27.199 +" 27.200 +Please configure your new favorite Wireless network 27.201 +" 27.202 + </label> 27.203 + </text> 27.204 + <hbox> 27.205 + <text use-markup="true"> 27.206 + <label>"<b>ESSID:</b>"</label> 27.207 + </text> 27.208 + <entry> 27.209 + <variable>WIFI_ESSID</variable> 27.210 + </entry> 27.211 + </hbox> 27.212 + <hbox> 27.213 + <text use-markup="true"> 27.214 + <label>"<b>Key: </b>"</label> 27.215 + </text> 27.216 + <entry> 27.217 + <variable>WIFI_KEY</variable> 27.218 + </entry> 27.219 + </hbox> 27.220 + <hbox> 27.221 + <text use-markup="true"> 27.222 + <label>"<b>Key type:</b>"</label> 27.223 + </text> 27.224 + <combobox>' 27.225 + tmp="${ADD_FAVORITE}<item>$WIFI_KEY_TYPE</item>" 27.226 + for i in none WEP WPA any; do 27.227 + tmp=${tmp}"<item>$i</item>" 27.228 + done 27.229 + export ADD_FAVORITE=${tmp}' 27.230 + <variable>WIFI_KEY_TYPE</variable> 27.231 + </combobox> 27.232 + </hbox> 27.233 + <hbox> 27.234 + <button> 27.235 + <label>Add to list</label> 27.236 + <input file icon="forward"></input> 27.237 + <action>echo "# Wireless connection configuration." > $FAVORITES_WIFI/"$WIFI_ESSID".conf</action> 27.238 + <action>echo "#" >> /etc/wireless/"$WIFI_ESSID".conf</action> 27.239 + <action>echo "WIFI_ESSID=\"$WIFI_ESSID\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action> 27.240 + <action>echo "WIFI_KEY=\"$WIFI_KEY\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action> 27.241 + <action>echo "WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"" >> $FAVORITES_WIFI/"$WIFI_ESSID".conf</action> 27.242 + <action type="exit">exit</action> 27.243 + </button> 27.244 + <button cancel></button> 27.245 + </hbox> 27.246 +</vbox> 27.247 +</window>' 27.248 + gtkdialog --center --program=ADD_FAVORITE #>/dev/null 27.249 +} 27.250 + 27.251 +# GUI functions 27.252 + 27.253 +helpbutton() 27.254 +{ 27.255 + local label; 27.256 + label="<label>$3</label>" 27.257 + [ -n "$3" ] || label="" 27.258 + cat << EOT 27.259 +<button> 27.260 + <input file icon="help"></input>$label 27.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> 27.262 +</button> 27.263 +EOT 27.264 +} 27.265 + 27.266 +manbutton() 27.267 +{ 27.268 + cat << EOT 27.269 +<button> 27.270 + <input file icon="browser"></input> 27.271 + <label>man</label> 27.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> 27.273 +</button> 27.274 +EOT 27.275 +} 27.276 + 27.277 +# Independant dialog to connect on a wireless network. If encryption 27.278 +# is on we ask for the security key. 27.279 +connect_to_essid() 27.280 +{ 27.281 + SCAN=`iwlist $WIFI_INTERFACE scan | \ 27.282 + awk '/(Cell|ESS|Qual|Encry|IE: WPA)/ {print}' | \ 27.283 + grep -B 1 -A 1 "$ESSID_LIST"` 27.284 + WIFI_ESSID="$ESSID_LIST" 27.285 + ENCRYPTION=`echo $SCAN | sed 's/.*key:\([^ ]*\).*/\1/'` 27.286 + # Create tmp file used by active_wifi_connexion() 27.287 + cat > /tmp/wifi.conf << _EOF_ 27.288 +# Wireless connexion configuration file. 27.289 +WIFI_ESSID="$ESSID_LIST" 27.290 +_EOF_ 27.291 + CONNECT_ESSID=" 27.292 +<window title=\"Connect to: $WIFI_ESSID\" icon-name=\"network-wireless\"> 27.293 +<vbox> 27.294 + <text width-chars=\"54\"> 27.295 + <label> 27.296 +\" 27.297 +Connect $WIFI_INTERFACE to: $WIFI_ESSID 27.298 +\" 27.299 + </label> 27.300 + </text>" 27.301 + # We maybe need a key to connect 27.302 + if [ "$ENCRYPTION" = "on" ] && [ "$ESSID_LIST" != "any" ]; then 27.303 + # WPA 27.304 + if echo "$SCAN" | grep -q WPA; then 27.305 + echo 'WIFI_KEY_TYPE="WPA"' >> /tmp/wifi.conf 27.306 + CONNECT_ESSID=${CONNECT_ESSID}' 27.307 + <hbox> 27.308 + <text use-markup="true"> 27.309 + <label>"<b>WPA Key:</b>"</label> 27.310 + </text> 27.311 + <entry> 27.312 + <input>. /etc/network.conf; echo "$WIFI_KEY"</input> 27.313 + <variable>WIFI_KEY</variable> 27.314 + </entry> 27.315 + </hbox>' 27.316 + else 27.317 + # WEP 27.318 + echo 'WIFI_KEY_TYPE="WEP"' >> /tmp/wifi.conf 27.319 + CONNECT_ESSID=${CONNECT_ESSID}' 27.320 + <hbox> 27.321 + <text use-markup="true"> 27.322 + <label>"<b>WEP Key:</b>"</label> 27.323 + </text> 27.324 + <entry> 27.325 + <input>. /etc/network.conf; echo "$WIFI_KEY"</input> 27.326 + <variable>WIFI_KEY</variable> 27.327 + </entry> 27.328 + </hbox>' 27.329 + fi 27.330 + else 27.331 + # No encryption 27.332 + echo 'WIFI_KEY=""' >> /tmp/wifi.conf 27.333 + echo 'WIFI_KEY_TYPE=""' >> /tmp/wifi.conf 27.334 + start_wifi_connection 27.335 + exit 0 27.336 + fi 27.337 + # Add key to config file so active_wifi_connexion() can use it. 27.338 + # WIFI_KEY is not exported if we quote with --> " 27.339 + export CONNECT_ESSID=${CONNECT_ESSID}' 27.340 + <hbox> 27.341 + <button> 27.342 + <label>Connect</label> 27.343 + <input file icon="forward"></input> 27.344 + <action>echo "WIFI_KEY=\"$WIFI_KEY\"" >> /tmp/wifi.conf</action> 27.345 + <action>$BIN start_wifi_connection</action> 27.346 + <action type="exit">exit</action> 27.347 + </button> 27.348 + <button cancel></button> 27.349 + </hbox> 27.350 +</vbox> 27.351 +</window>' 27.352 + gtkdialog --center --program=CONNECT_ESSID #>/dev/null 27.353 +} 27.354 + 27.355 +# Wifibox start with Networks tab. 27.356 +box() 27.357 +{ 27.358 + WIFI_DIALOG=" 27.359 +<window title=\"Wireless manager\" icon-name=\"network-wireless\"> 27.360 +<vbox> 27.361 + 27.362 + <notebook labels=\"Networks|Favorites|Configuration|Drivers\"> 27.363 + 27.364 + <vbox> 27.365 + <tree icon=\"network-wireless\"> 27.366 + <width>520</width><height>160</height> 27.367 + <variable>ESSID_LIST</variable> 27.368 + <label>ESSID|Quality|Encryption|Status</label> 27.369 + <input>$0 detect_wifi_networks</input> 27.370 + <item icon=\"network-wireless\">any | * | off | (auto-connect)</item> 27.371 + <action>$0 connect_to_essid</action> 27.372 + <action>refresh:ESSID_LIST</action> 27.373 + <action>refresh:WIFI_ESSID</action> 27.374 + <action>refresh:WIFI_KEY</action> 27.375 + <action>refresh:WIFI_KEY_TYPE</action> 27.376 + </tree> 27.377 + <hbox> 27.378 + <text width-chars=\"54\"> 27.379 + <label> 27.380 +\"Please double click on a network to connect or enter security key\" 27.381 + </label> 27.382 + </text> 27.383 + <button> 27.384 + <label>Refresh list</label> 27.385 + <input file icon=\"reload\"></input> 27.386 + <action>refresh:ESSID_LIST</action> 27.387 + </button> 27.388 + </hbox> 27.389 + </vbox>" 27.390 + 27.391 + # Favorite networks 27.392 + WIFI_DIALOG=${WIFI_DIALOG}" 27.393 + <vbox> 27.394 + <tree icon=\"network-wireless\"> 27.395 + <width>500</width><height>160</height> 27.396 + <variable>FAVORITE</variable> 27.397 + <label>ESSID|Key Type|Key status</label> 27.398 + <input>$0 favorites_wifi_list</input> 27.399 + <item icon=\"network-wireless\">any | - | -</item> 27.400 + <action>$0 favorite_wifi_actions</action> 27.401 + <action>refresh:FAVORITE</action> 27.402 + <action>refresh:ESSID_LIST</action> 27.403 + <action>refresh:WIFI_ESSID</action> 27.404 + <action>refresh:WIFI_KEY</action> 27.405 + <action>refresh:WIFI_KEY_TYPE</action> 27.406 + </tree> 27.407 + <hbox> 27.408 + <text width-chars=\"50\"> 27.409 + <label> 27.410 +\"Please double click on a network to modify or remove it\" 27.411 + </label> 27.412 + </text> 27.413 + <button> 27.414 + <label>Add Network</label> 27.415 + <input file icon=\"gtk-add\"></input> 27.416 + <action>$0 add_favorite_network_box</action> 27.417 + <action>refresh:FAVORITE</action> 27.418 + </button> 27.419 + </hbox> 27.420 + </vbox>" 27.421 + 27.422 + # Configuration tab 27.423 + WIFI_DIALOG=${WIFI_DIALOG}' 27.424 + <vbox> 27.425 + <frame Basic> 27.426 + <hbox> 27.427 + <text use-markup="true"> 27.428 + <label>"<b>Interface:</b>"</label> 27.429 + </text> 27.430 + <entry> 27.431 + <input>. /etc/network.conf; echo "$WIFI_INTERFACE"</input> 27.432 + <variable>WIFI_INTERFACE</variable> 27.433 + </entry> 27.434 + </hbox> 27.435 + <hbox> 27.436 + <text use-markup="true"> 27.437 + <label>"<b>ESSID: </b>"</label> 27.438 + </text> 27.439 + <entry> 27.440 + <input>. /etc/network.conf; echo "$WIFI_ESSID"</input> 27.441 + <variable>WIFI_ESSID</variable> 27.442 + </entry> 27.443 + </hbox> 27.444 + <hbox> 27.445 + <text use-markup="true"> 27.446 + <label>"<b>Key: </b>"</label> 27.447 + </text> 27.448 + <entry> 27.449 + <input>. /etc/network.conf; echo "$WIFI_KEY"</input> 27.450 + <variable>WIFI_KEY</variable> 27.451 + </entry> 27.452 + <combobox>' 27.453 + tmp2="${WIFI_DIALOG}<item>$WIFI_KEY_TYPE</item>" 27.454 + for i in none WEP WPA any; do 27.455 + [ "$i" = "$WIFI_KEY_TYPE" ] || tmp2="$tmp2<item>$i</item>" 27.456 + done 27.457 + tmp3=' <variable>WIFI_KEY_TYPE</variable> 27.458 + </combobox> 27.459 + </hbox> 27.460 + </frame> 27.461 + <frame Advanced> 27.462 + <hbox> 27.463 + <text use-markup="true"> 27.464 + <label>"<b>Channel/Mode:</b>"</label> 27.465 + </text> 27.466 + <entry> 27.467 + <input>. /etc/network.conf; echo "$WIFI_CHANNEL"</input> 27.468 + <variable>WIFI_CHANNEL</variable> 27.469 + </entry> 27.470 + 27.471 + <combobox> 27.472 + <variable>WIFI_MODE</variable>' 27.473 + tmp2="$tmp2$tmp3<item>$WIFI_MODE</item>" 27.474 + for i in managed ad-hoc master repeater secondary monitor; do 27.475 + [ "$i" = "$WIFI_MODE" ] || tmp2="$tmp2<item>$i</item>" 27.476 + done 27.477 + tmp3=' </combobox> 27.478 + </hbox> 27.479 + <hbox> 27.480 + <text use-markup="true"> 27.481 + <label>"<b>Iwconfig args:</b> "</label> 27.482 + </text> 27.483 + <entry> 27.484 + <input>. /etc/network.conf; echo "$WIFI_IWCONFIG_ARGS"</input> 27.485 + <variable>WIFI_IWCONFIG_ARGS</variable> 27.486 + </entry>' 27.487 + WIFI_DIALOG="$tmp$tmp2$tmp3 27.488 + $(helpbutton iwconfig 80x24) 27.489 + $(manbutton 8 iwconfig) 27.490 + </hbox> 27.491 + </frame>" 27.492 + 27.493 + # Start Button for manual configuration. 27.494 + WIFI_DIALOG=${WIFI_DIALOG}' 27.495 + <hbox> 27.496 + <button> 27.497 + <label>Start connection</label> 27.498 + <input file icon="forward"></input> 27.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> 27.500 + <action>sed -i s/`grep ^WIFI= /etc/network.conf`/WIFI=\"yes\"/ /etc/network.conf</action> 27.501 + <action>sed -i s/`grep ^WIFI_INTERFACE= /etc/network.conf`/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/ /etc/network.conf</action> 27.502 + <action>sed -i s/`grep ^WIFI_ESSID= /etc/network.conf`/WIFI_ESSID=\"$WIFI_ESSID\"/ /etc/network.conf</action> 27.503 + <action>sed -i s/`grep ^WIFI_KEY= /etc/network.conf`/WIFI_KEY=\"$WIFI_KEY\"/ /etc/network.conf</action> 27.504 + <action>sed -i s/`grep ^WIFI_MODE= /etc/network.conf`/WIFI_MODE=\"$WIFI_MODE\"/ /etc/network.conf</action> 27.505 + <action>sed -i "s/`grep ^WIFI_IWCONFIG_ARGS= /etc/network.conf`/WIFI_IWCONFIG_ARGS=\"$WIFI_IWCONFIG_ARGS\"/" /etc/network.conf</action> 27.506 + <action>sed -i s/`grep ^WIFI_KEY_TYPE= /etc/network.conf`/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/ /etc/network.conf</action> 27.507 + <action>sed -i s/`grep ^WIFI_CHANNEL= /etc/network.conf`/WIFI_CHANNEL=\"$WIFI_CHANNEL\"/ /etc/network.conf</action> 27.508 + <action>[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`</action> 27.509 + <action>ifconfig $WIFI_INTERFACE down</action> 27.510 + <action>iwconfig $WIFI_INTERFACE txpower auto</action> 27.511 + <action>/etc/init.d/network.sh restart</action> 27.512 + <action>refresh:ESSID_LIST</action> 27.513 + <action>refresh:WIFI_ESSID</action> 27.514 + <action>refresh:WIFI_KEY</action> 27.515 + <action>refresh:WIFI_KEY_TYPE</action> 27.516 + </button> 27.517 + </hbox> 27.518 + </vbox>' 27.519 + 27.520 + # Kernel Modules, firmware and tazndisbox note + button. 27.521 + WIFI_DIALOG=${WIFI_DIALOG}" 27.522 + <vbox> 27.523 + <hbox> 27.524 + <text width-chars=\"64\"> 27.525 + <label> 27.526 +\" 27.527 +Some Wireless Adapters need non-free firmware. Please install the 27.528 +firmware before loading the corresponding module. Note: you can use 27.529 +Tazhw to automatically detect your PCI, PCMCIA or USB Wireless adapter. 27.530 +\" 27.531 + </label> 27.532 + </text> 27.533 + </hbox> 27.534 + <hbox> 27.535 + <text use-markup=\"true\"> 27.536 + <label>\"<b>Tools:</b>\"</label> 27.537 + </text> 27.538 + <button> 27.539 + <input file icon=\"computer\"></input> 27.540 + <label>Auto detect devices</label> 27.541 + <action>tazhw box</action> 27.542 + <action>refresh:ESSID_LIST</action> 27.543 + </button>" 27.544 + # Display firmware stuff, tazndisbox button if installed and close 27.545 + # tab + notebook 27.546 + if [ -x /usr/bin/tazndisbox ]; then 27.547 + WIFI_DIALOG=${WIFI_DIALOG}" 27.548 + <button> 27.549 + <input file icon=\"system-installer\"></input> 27.550 + <label>Install Windows driver</label> 27.551 + <action>tazndisbox</action> 27.552 + <action>refresh:ESSID_LIST</action> 27.553 + </button>" 27.554 + fi 27.555 + WIFI_DIALOG=${WIFI_DIALOG}" 27.556 + </hbox> 27.557 + <hbox> 27.558 + <text use-markup=\"true\"> 27.559 + <label>\"<b>Module:</b>\"</label> 27.560 + </text> 27.561 + <combobox> 27.562 + <variable>MODULE</variable>" 27.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>,')" 27.564 + WIFI_DIALOG=${WIFI_DIALOG}' 27.565 + </combobox> 27.566 + <button> 27.567 + <label>Load</label> 27.568 + <input file icon="forward"></input> 27.569 + <action>modprobe $MODULE</action> 27.570 + </button> 27.571 + <button> 27.572 + <label>Unload</label> 27.573 + <input file icon="undo"></input> 27.574 + <action>modprobe -r $MODULE</action> 27.575 + </button> 27.576 + <button> 27.577 + <label>Lsmod</label> 27.578 + <input file icon="computer"></input> 27.579 + <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x25 -title "Modules (q to quit)" -e "lsmod | less"</action> 27.580 + </button> 27.581 + </hbox>' 27.582 + # Firmware stuff. 27.583 + tmp=$(for i in /usr/bin/get*firmware; do 27.584 + [ -x $i ] || continue 27.585 + [ "$i" = "/usr/bin/get-wifi-firmware" ] && continue 27.586 + [ -d /var/lib/tazpkg/installed/${i#/usr/bin/get-} ] && continue 27.587 + echo "<item>${i#/usr/bin/get-}</item>"; done) 27.588 + [ -n "$tmp" ] && tmp=" 27.589 + <hbox> 27.590 + <text use-markup=\"true\"> 27.591 + <label>\"<b>Firmware:</b>\"</label> 27.592 + </text> 27.593 + <combobox><variable>FIRMWARE</variable>$tmp</combobox> 27.594 + <button> 27.595 + <label>Install</label> 27.596 + <input file icon=\"go-jump\"></input> 27.597 + <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x25 -title \"Install \$FIRMWARE\" -e \"get-\$FIRMWARE\"</action> 27.598 + <action>refresh:ESSID_LIST</action> 27.599 + </button> 27.600 + <button> 27.601 + <input file icon=\"system-file-manager\"></input> 27.602 + <label>List files</label> 27.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> 27.604 + <action>refresh:ESSID_LIST</action> 27.605 + </button> 27.606 + </hbox>" 27.607 + 27.608 +# Bottom buttons 27.609 +export WIFI_DIALOG=${WIFI_DIALOG}${tmp}" 27.610 + </vbox> 27.611 + </notebook> 27.612 + <hbox> 27.613 + <button> 27.614 + <label>Stop connection</label> 27.615 + <input file icon=\"stop\"></input> 27.616 + <action>$0 stop_wifi_connexion</action> 27.617 + <action>refresh:ESSID_LIST</action> 27.618 + </button> 27.619 + <button> 27.620 + <label>Exit</label> 27.621 + <input file icon=\"exit\"></input> 27.622 + <action type=\"exit\">Exit</action> 27.623 + </button> 27.624 + </hbox> 27.625 + 27.626 +</vbox> 27.627 +</window>" 27.628 + gtkdialog --center --program=WIFI_DIALOG #>/dev/null 2>&1 27.629 +} 27.630 + 27.631 +if [ -n "$1" ]; then 27.632 + $1 27.633 +else 27.634 + box 27.635 +fi 27.636 + 27.637 +exit 0
28.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 28.2 +++ b/core-xfce/rootfs/usr/share/applications/burnbox-doc.desktop Sun Dec 05 17:40:41 2010 +0100 28.3 @@ -0,0 +1,8 @@ 28.4 +[Desktop Entry] 28.5 +Encoding=UTF-8 28.6 +Name=Burnbox manual 28.7 +Name[pt]=Manual do Burnbox 28.8 +Exec=browser file:///usr/share/doc/slitaz-tools/burnbox.html 28.9 +Icon=text-html 28.10 +Type=Application 28.11 +Categories=Documentation;
29.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 29.2 +++ b/core-xfce/rootfs/usr/share/applications/gpl-license.desktop Sun Dec 05 17:40:41 2010 +0100 29.3 @@ -0,0 +1,8 @@ 29.4 +[Desktop Entry] 29.5 +Encoding=UTF-8 29.6 +Name=GNU General Public License 29.7 +Name[pt]=Licença PuÌblica Geral GNU 29.8 +Exec=browser file:///usr/share/licenses/gpl.txt 29.9 +Icon=text-x-generic 29.10 +Type=Application 29.11 +Categories=Documentation;
30.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 30.2 +++ b/core-xfce/rootfs/usr/share/applications/system-doc.desktop Sun Dec 05 17:40:41 2010 +0100 30.3 @@ -0,0 +1,8 @@ 30.4 +[Desktop Entry] 30.5 +Name=System Doc 30.6 +Name[fr]=Doc du système 30.7 +Name[pt]=Documentação do Sistema 30.8 +Exec=browser file:///usr/share/doc/slitaz/index.html 30.9 +Icon=slitaz-doc.png 30.10 +Type=Application 30.11 +Categories=Documentation;
31.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 31.2 +++ b/core-xfce/rootfs/usr/share/applications/tazlito-doc.desktop Sun Dec 05 17:40:41 2010 +0100 31.3 @@ -0,0 +1,9 @@ 31.4 +[Desktop Entry] 31.5 +Name=Tazlito manual 31.6 +Name[fr]=Manuel de Tazlito 31.7 +Comment=SliTaz LiveCD generator and editor 31.8 +Comment[fr]=Manuel de l'outil de geÌneÌration et eÌdition de LiveCD 31.9 +Exec=browser file:///usr/share/doc/tazlito/tazlito.html 31.10 +Icon=text-html 31.11 +Type=Application 31.12 +Categories=Documentation;
32.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 32.2 +++ b/core-xfce/rootfs/usr/share/applications/tazlitobox.desktop Sun Dec 05 17:40:41 2010 +0100 32.3 @@ -0,0 +1,8 @@ 32.4 +[Desktop Entry] 32.5 +Encoding=UTF-8 32.6 +Name=Create a LiveCD 32.7 +Name[fr]=Créer un LiveCD 32.8 +Exec=subox tazlitobox 32.9 +Icon=tazlito 32.10 +Type=Application 32.11 +Categories=System;
33.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 33.2 +++ b/core-xfce/rootfs/usr/share/applications/tazpkg-doc.desktop Sun Dec 05 17:40:41 2010 +0100 33.3 @@ -0,0 +1,9 @@ 33.4 +[Desktop Entry] 33.5 +Name=Tazpkg manual 33.6 +Name[fr]=Manuel de Tazpkg 33.7 +Comment=SliTaz packages manager manual 33.8 +Comment[fr]=Manuel du gestionnaire de paquets SliTaz 33.9 +Exec=browser file:///usr/share/doc/tazpkg/tazpkg.html 33.10 +Icon=text-html 33.11 +Type=Application 33.12 +Categories=Documentation;
34.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 34.2 +++ b/core-xfce/rootfs/usr/share/doc/slitaz/book.css Sun Dec 05 17:40:41 2010 +0100 34.3 @@ -0,0 +1,195 @@ 34.4 +/* 34.5 + CSS style for SliTaz GNU/Linux *book. 34.6 + Pankso 2007 - www.slitaz.org 34.7 +*/ 34.8 + 34.9 +html { 34.10 + height: 102%; 34.11 +} 34.12 + 34.13 +body { 34.14 + font: 13px sans-serif, vernada, arial; 34.15 + background: #ffffff; 34.16 + color: black; 34.17 + margin: 0; 34.18 +} 34.19 + 34.20 +#header { 34.21 + background: #f0ba08 url(images/css/header.png) repeat-x top; 34.22 + color: black; 34.23 + height: 50px; 34.24 + border-top: 1px solid black; 34.25 + border-bottom: 1px solid black; 34.26 +} 34.27 + 34.28 +#header h1 { 34.29 + padding: 10px; 34.30 +} 34.31 + 34.32 +#quicknav { 34.33 + text-align: right; 34.34 + font-size: 12px; 34.35 + color: #666666; 34.36 + background-color: #eaeaea; 34.37 + padding: 4px 2px; 34.38 + font-weight: bold; 34.39 +} 34.40 + 34.41 +#quicknav a { 34.42 + color: #0F314E; 34.43 + background: inherit; 34.44 + text-decoration: none; 34.45 + padding: 0px 2px; 34.46 +} 34.47 + 34.48 +#quicknav a:hover { 34.49 + color: #DF8F06; 34.50 + text-decoration: none; 34.51 +} 34.52 + 34.53 +/* content. */ 34.54 + 34.55 +#content { 34.56 + padding: 20px; 34.57 + margin: 0px 50px 0px 50px; 34.58 + width: auto; 34.59 + text-align: justify; 34.60 +} 34.61 + 34.62 +#content li { 34.63 + line-height: 1.5em; 34.64 + text-align: left; 34.65 +} 34.66 + 34.67 +/* Footer. */ 34.68 + 34.69 +#footer { 34.70 + font-size: 11px; 34.71 + color: black; 34.72 + height: 20px; 34.73 + padding: 0px 0px 0px 10px; 34.74 + margin: 0px; 34.75 + width: auto; 34.76 + text-align: center ; 34.77 +} 34.78 + 34.79 +#footer a { 34.80 + background: #ffffff; 34.81 + color: #0F314E; 34.82 +} 34.83 + 34.84 +#footer a:hover { 34.85 + background: #ffffff; 34.86 + color: blue; 34.87 +} 34.88 + 34.89 +/* Legal informations */ 34.90 + 34.91 +#copy { 34.92 + font-size: 11px ; 34.93 + text-align: center ; 34.94 + background: transparent; 34.95 + color: #a8a8a8; 34.96 + padding-top: 10px; 34.97 +} 34.98 + 34.99 +#copy a { 34.100 + background: inherit; 34.101 + color: #a8a8a8; 34.102 +} 34.103 + 34.104 +#copy a:hover { 34.105 + background: inherit; 34.106 + color: blue; 34.107 +} 34.108 + 34.109 +/* Clouds */ 34.110 + 34.111 +#cloud { 34.112 + padding: 10px 120px 10px 120px; 34.113 + line-height: 3em; 34.114 + text-align: center; 34.115 +} 34.116 +#cloud a { padding: 4px; color: #956411; } 34.117 +#cloud a.tag1 { font-size: 0.7em; font-weight: 100; } 34.118 +#cloud a.tag2 { font-size: 0.8em; font-weight: 200; } 34.119 +#cloud a.tag3 { font-size: 0.9em; font-weight: 300; } 34.120 +#cloud a.tag4 { font-size: 1.0em; font-weight: 400; } 34.121 +#cloud a.tag5 { font-size: 1.2em; font-weight: 500; } 34.122 +#cloud a.tag6 { font-size: 1.4em; font-weight: 600; } 34.123 +#cloud a.tag7 { font-size: 1.6em; font-weight: 700; } 34.124 +#cloud a.tag8 { font-size: 1.8em; font-weight: 800; } 34.125 +#cloud a.tag9 { font-size: 2.2em; font-weight: 900; } 34.126 +#cloud a.tag10 { font-size: 2.5em; font-weight: 900; } 34.127 + 34.128 +/* Div for round corners. */ 34.129 + 34.130 +.content-right, .footer-right { 34.131 + width: 16px; 34.132 + color: white; 34.133 + background-color: #333333; 34.134 +} 34.135 +.content-right { 34.136 + background: url(images/css/content-tr.png) no-repeat top right; 34.137 + height: 16px; 34.138 + right: 50px; 34.139 + top: 82px; 34.140 + position: absolute; 34.141 +} 34.142 + 34.143 +.footer-right { 34.144 + background: url(images/css/footer-br.png) no-repeat bottom right; 34.145 + height: 20px; 34.146 + float: right; 34.147 +} 34.148 + 34.149 +/* General HTML entities for content. */ 34.150 + 34.151 +h1 { 34.152 + margin: 0px 0px 0px 16px; 34.153 +} 34.154 + 34.155 +h2 { 34.156 + margin: 12px 0; 34.157 + color: #484B7C; 34.158 + background: white; 34.159 +} 34.160 + 34.161 +h3 { 34.162 + font-weight: bold; 34.163 + color: #6c0023; 34.164 + background: white; 34.165 +} 34.166 + 34.167 +a { 34.168 + text-decoration: underline; 34.169 +} 34.170 +a:hover { 34.171 + text-decoration: none; 34.172 +} 34.173 + 34.174 +pre { 34.175 + padding: 5px; 34.176 + color: black; 34.177 + background: #e1e0b0; 34.178 +} 34.179 +pre.script { 34.180 + padding: 10px; 34.181 + color: black; 34.182 + background: #e8e8e8; 34.183 + border: 1px inset #333333; 34.184 +} 34.185 + 34.186 +code { 34.187 + font-size: 12px; 34.188 + color: #669900; 34.189 + background: transparent; 34.190 +} 34.191 + 34.192 +li { 34.193 + line-height: 1.4em; 34.194 +} 34.195 + 34.196 +hr { 34.197 + border: 0pt none; 34.198 +}
35.1 Binary file core-xfce/rootfs/usr/share/doc/slitaz/favicon.ico has changed
36.1 Binary file core-xfce/rootfs/usr/share/doc/slitaz/images/css/header.png has changed
37.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 37.2 +++ b/core-xfce/rootfs/usr/share/doc/slitaz/index.de.html Sun Dec 05 17:40:41 2010 +0100 37.3 @@ -0,0 +1,67 @@ 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="de" lang="de"> 37.7 +<head> 37.8 + <title>SliTaz - System doc (de)</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="2009-04-16 10: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 - System doc</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 (de)</font></h2> 37.37 + 37.38 +<p> 37.39 +SliTaz GNU/Linux stable Release wird mit den Dokumentationen für die 37.40 +SliTaz-Werkzeuge und den deutschen Release Notes veröffentlicht. Dokumentation 37.41 +und diese Seite sind über das Openboxenü erreichbar. Bitte konsultieren Sie 37.42 +ebenfalls die <a href="http://www.slitaz.org/de/">Deutsche Projektseite</a> 37.43 +für allgemeine Informationen über SliTaz. Für die Benutzung des Systems lesen 37.44 +Sie bitte das deutsche Handbuch. das Teil des 37.45 +<a href="http://wiki.slitaz.org/">SliTaz Wiki</a> ist. 37.46 +</p> 37.47 + 37.48 +<!-- End of content --> 37.49 +</div> 37.50 + 37.51 +<!-- Footer. --> 37.52 +<div id="footer"> 37.53 + <a href="#top">Top of the page</a> - Languages: 37.54 + <a href="index.de.html">de</a> | 37.55 + <a href="index.en.html">en</a> | 37.56 + <a href="index.fr.html">fr</a> | 37.57 + <a href="index.hu.html">hu</a> | 37.58 + <a href="index.pt.html">pt</a> 37.59 +</div> 37.60 + 37.61 +<div id="copy"> 37.62 + Copyright © 2010 <a href="http://www.slitaz.org/">SliTaz</a> - 37.63 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 37.64 + Documentation uder 37.65 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 37.66 + and valid <a href="http://validator.w3.org/">xHTML 1.0</a>. 37.67 +</div> 37.68 + 37.69 +</body> 37.70 +</html>
38.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 38.2 +++ b/core-xfce/rootfs/usr/share/doc/slitaz/index.en.html Sun Dec 05 17:40:41 2010 +0100 38.3 @@ -0,0 +1,176 @@ 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</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-12-29 12:10: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 + 38.20 +<!-- Header and quick navigation --> 38.21 +<div id="header"> 38.22 + <a name="top"></a> 38.23 + <h1><font color="#3E1220">SliTaz - System doc</font></h1> 38.24 +</div> 38.25 + 38.26 +<div id="quicknav"> 38.27 + SliTaz: 38.28 + <a href="http://www.slitaz.org/">Website</a> 38.29 + <a href="http://forum.slitaz.org/">Forum</a> 38.30 + <a href="http://wiki.slitaz.org/">Wiki</a> 38.31 + <a href="http://labs.slitaz.org/">Labs</a> 38.32 +</div> 38.33 + 38.34 +<!-- Content. --> 38.35 +<div id="content"> 38.36 + 38.37 +<h2><font color="#DF8F06">Documentation (en)</font></h2> 38.38 + 38.39 +<p> 38.40 +The Cooking version doesn't provide any Release Notes, major changes are announced 38.41 +on the web site and the <a href="http://labs.slitaz.org/">Labs</a> provide 38.42 +fresh news about the project's activity. Like the stable version, you will 38.43 +find <a href="http://www.slitaz.org/en/doc/">documentation</a> on the web 38.44 +site and support on the community <a href="http://forum.slitaz.org/">forum</a>. 38.45 +</p> 38.46 + 38.47 +<!-- 38.48 +<p> 38.49 +SliTaz GNU/Linux stable release is published with the project tools, 38.50 +manuals and Release Notes installed on the system. Manuals and this page 38.51 +are accessible through the Openbox menu. Please check the 38.52 +<a href="http://www.slitaz.org/en/">project page</a> for general 38.53 +information on SliTaz. To use and configure the system you can read the 38.54 +<a href="http://www.slitaz.org/en/doc/handbook/">Handbook</a>. 38.55 +Community documentation can be found on the 38.56 +<a href="http://wiki.slitaz.org/">SliTaz Wiki</a> and support on the SliTaz 38.57 +community <a href="http://forum.slitaz.org/#idx2">Forum</a>. 38.58 +</p> 38.59 +--> 38.60 + 38.61 +<h2><font color="#DF8F06">Getting started</font></h2> 38.62 + 38.63 +<a name="network"></a> 38.64 +<h3>Network connections</h3> 38.65 +<p> 38.66 +Click on the "Network Status Monitor" at the bottom right of the screen, 38.67 +"Configure" and then the network manager (netbox) will come up. You can 38.68 +go to the "DHCP" tab and click "Start", and Slitaz will send a DHCP request 38.69 +to the local router. You may also setup a static IP, PPPoE, PPP, VPN and 38.70 +more using their respective tabs. To configure a wireless connection you 38.71 +can use SliTaz wifibox by clicking "Wireless Manager" in the Network Manager 38.72 +or by using the "System Tools" menu entry -> "Wireless networks connections". 38.73 +</p> 38.74 +<p> 38.75 +More detailed information can be found in the Handbook: 38.76 +<a href="http://www.slitaz.org/en/doc/handbook/network-config.html" 38.77 + >Network configuration</a> 38.78 +</p> 38.79 + 38.80 +<a name="apps"></a> 38.81 +<h3>Applications</h3> 38.82 +<p> 38.83 +To have a list of all graphical applications you can use the SliTaz menu button 38.84 +at the bottom left of the screen. To have a list of command line tools, you 38.85 +can open a terminal and double press on the tabulation button. And to have 38.86 +a list of all installed packages you can use the package manager user interface 38.87 +using the panel icon or from the "System Tools" menu. To install any new packages 38.88 +you must have a network connection, the DVD of packages or an USB storage device 38.89 +with downloaded packages from another machine. Naturally any package management 38.90 +can also be done from the command line and <code>tazpkg</code>. 38.91 +</p> 38.92 + 38.93 +<a name="office"></a> 38.94 +<h3>Office suite</h3> 38.95 +<p> 38.96 +The SliTaz packages database provides some lightweight office applications. 38.97 +All of these packages are easily installable in a few clicks through the packages 38.98 +manager. SliTaz also provides a simple way to install the famous and powerful 38.99 +OpenOffice suite: just search OpenOffice in the packages manager, double click 38.100 +on "get-OpenOffice3" and install the script with the <code>Auto exec</code> option 38.101 +enabled. 38.102 +</p> 38.103 +<p> 38.104 +To have a lightweight office suite; use: Abiword as Word processor, Gnumeric as 38.105 +Spreadsheet and Homebank for Bank Accounting. 38.106 +</p> 38.107 + 38.108 +<a name="multimedia"></a> 38.109 +<h3>Multimedia</h3> 38.110 +<p> 38.111 +Most SliTaz flavors include a wide range of sound card drivers, a volume 38.112 +mixer and a light audio player to easily listen to any MP3 or OGG files. The Sound 38.113 +card is autodetected at boot time and audio support works out-of-the-box 38.114 +on many systems. If you manually add a new user and can't listen to audio, please 38.115 +check that the user belongs to the <code>audio</code> group. For any other trouble please 38.116 +look into the full documentation and use the forum for more help. 38.117 +</p> 38.118 +<p> 38.119 +Videos can be watched by installing one single package or using a dedicated 38.120 +LiveCD or LiveUSB system. The SliTaz team have packaged some of the best video players 38.121 +available under GNU/Linux: <code>mplayer</code>, <code>xine-ui</code> and <code>vlc</code> 38.122 +</p> 38.123 + 38.124 +<a name="info"></a> 38.125 +<h3>System information</h3> 38.126 +<p> 38.127 +You can get information on your system by clicking on "System information" 38.128 +in the System Tools menu, then "Summary". Clicking on the other 38.129 +options on the side brings you more information, and using the benchmarks 38.130 +gives you an idea on how fast your computer is. To have a list and control 38.131 +of all your current processes you can use the "Task Manager". 38.132 +</p> 38.133 + 38.134 +<a name="root"></a> 38.135 +<h3>Becoming Root</h3> 38.136 +<p> 38.137 +By default, Slitaz doesn't have its desktop running as root administrator: 38.138 +it asks for a root password (default <code>root</code>) for any dangerous work. 38.139 +Therefore, it is safer and more secure. To become root in an xterm, simply 38.140 +type <code>su</code>, and enter the root password. 38.141 +</p> 38.142 + 38.143 +<a name="install"></a> 38.144 +<h3>Installation</h3> 38.145 +<p> 38.146 +SliTaz can be installed to a hard disk or on an USB mass storage device using the 38.147 +"SliTaz Installer" from the "System Tools" menu. The installer makes a full HD install. 38.148 +SliTaz won't work in memory (RAM) anymore like in Live or Frugal mode and 38.149 +everything is persistent. 38.150 +</p> 38.151 +<p> 38.152 +To generate a LiveUSB system you can use "Tazusb LiveUSB Tool" from the "System Tools" 38.153 +menu or <code>tazusb</code> from the command line. More information can be found in the SliTaz 38.154 +Handbook: <a href="http://www.slitaz.org/en/doc/handbook/liveusb.html">LiveUSB media</a> 38.155 +</p> 38.156 + 38.157 +<!-- End of content --> 38.158 +</div> 38.159 + 38.160 +<!-- Footer. --> 38.161 +<div id="footer"> 38.162 + <a href="#top">Top of the page</a> - Languages: 38.163 + <a href="index.de.html">de</a> | 38.164 + <a href="index.en.html">en</a> | 38.165 + <a href="index.fr.html">fr</a> | 38.166 + <a href="index.hu.html">hu</a> | 38.167 + <a href="index.pt.html">pt</a> 38.168 +</div> 38.169 + 38.170 +<div id="copy"> 38.171 + Copyright © 2010 <a href="http://www.slitaz.org/">SliTaz</a> - 38.172 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 38.173 + Documentation uder 38.174 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 38.175 + and valid <a href="http://validator.w3.org/">xHTML 1.0</a>. 38.176 +</div> 38.177 + 38.178 +</body> 38.179 +</html>
39.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 39.2 +++ b/core-xfce/rootfs/usr/share/doc/slitaz/index.fr.html Sun Dec 05 17:40:41 2010 +0100 39.3 @@ -0,0 +1,78 @@ 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="fr" lang="fr"> 39.7 +<head> 39.8 + <title>SliTaz - System doc (fr)</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="2010-12-30 14: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 - Doc du système</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">Documentation (fr)</font></h2> 39.37 + 39.38 +<p> 39.39 +La version en cuisson ou <em>Cooking</em> ne fourni pas de notes de 39.40 +publication, les chagements sont annonçés sur le site web et 39.41 +<a href="http://labs.slitaz.org/">les laboratoires</a> proposent des 39.42 +nouvelles fraîches. Comme pour la version stable, vous pouvez vous 39.43 +référer à la documentation du site et trouverez de l'aide sur 39.44 +<a href="http://forum.slitaz.org/">le forum</a> du projet. 39.45 +</p> 39.46 + 39.47 +<!-- <p> 39.48 +La version stable de SliTaz GNU/linux est distribuée avec les manuels 39.49 +des outils de la distribution et les notes de publication. Tous les manuels 39.50 +ainsi que cette page sont directement accessibles depuis le menu 39.51 +documention du gestionnaire de fenêtres Openbox présent sur le LiveCD. 39.52 +Sur le Web, vous trouverez une documentation complète via le livre de main ou 39.53 +<a href="http://www.slitaz.org/fr/doc/handbook/">Handbook</a> de SliTaz et la 39.54 +documentation communautaire sur le <a href="http://wiki.slitaz.org/">Wiki</a>. 39.55 +Pour de l'aide vous trouverez un support technique gratuit via la liste 39.56 +de discussion ou <a href="http://forum.slitaz.org/">le forum</a> communautaire. 39.57 +</p> --> 39.58 + 39.59 +<!-- End of content --> 39.60 +</div> 39.61 + 39.62 +<!-- Footer. --> 39.63 +<div id="footer"> 39.64 + <a href="#top">Top of the page</a> - Languages: 39.65 + <a href="index.de.html">de</a> | 39.66 + <a href="index.en.html">en</a> | 39.67 + <a href="index.fr.html">fr</a> | 39.68 + <a href="index.hu.html">hu</a> | 39.69 + <a href="index.pt.html">pt</a> 39.70 +</div> 39.71 + 39.72 +<div id="copy"> 39.73 + Copyright © 2010 <a href="http://www.slitaz.org/">SliTaz</a> - 39.74 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 39.75 + Documentation uder 39.76 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 39.77 + and valid <a href="http://validator.w3.org/">xHTML 1.0</a>. 39.78 +</div> 39.79 + 39.80 +</body> 39.81 +</html>
40.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 40.2 +++ b/core-xfce/rootfs/usr/share/doc/slitaz/index.hu.html Sun Dec 05 17:40:41 2010 +0100 40.3 @@ -0,0 +1,85 @@ 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 (hu)</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="2009-04-16 10:30: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 +<!-- Header and quick navigation --> 40.20 +<div id="header"> 40.21 +<h1><font color="#3e1220">SliTaz - System doc</font></h1> 40.22 +</div> 40.23 + 40.24 +<div id="quicknav"> 40.25 + SliTaz: 40.26 + <a href="http://www.slitaz.org/">Website</a> 40.27 + <a href="http://forum.slitaz.org/">Forum</a> 40.28 + <a href="http://wiki.slitaz.org/">Wiki</a> 40.29 + <a href="http://labs.slitaz.org/">Labs</a> 40.30 +</div> 40.31 + 40.32 +<!-- Content. --> 40.33 +<div id="content"> 40.34 + 40.35 +<h2><font color="#df8f06">Documentation (hu)</font></h2> 40.36 + 40.37 +<h3><font color="#6c0023">Megjegyzés a kiadáshoz<br> 40.38 +</font></h3> 40.39 +<p>A SliTaz GNU/Linux stabil kiadása a rendszerre 40.40 +telepített projekt-eszközökkel, 40.41 +leírásokkal és Kiadási 40.42 +tájékoztatóval jelent meg. A 40.43 +leírások és ez az oldal az Openbox menün 40.44 +keresztül érhetők el. A Slitazzal kapcsolatos 40.45 +általános információkért 40.46 +kérjük látogassa meg a <a 40.47 + href="http://www.slitaz.org/">projekt oldalt</a> . A rendszer 40.48 +beállításához és 40.49 +használatához olvassa el a <a 40.50 + href="http://www.slitaz.org/hu/doc/handbook/">Kézikönyvet</a>. 40.51 +A közösségről a 40.52 +<a href="http://wiki.slitaz.org/">SliTaz Wiki</a> oldalon 40.53 +talál dokomentumokat. Támogatást a Slitaz 40.54 +közösségi <a href="http://forum.slitaz.org/#idx2">Fórumon</a> 40.55 +keresztül kaphat. </p> 40.56 +<p>A Cooking verzióhoz nincs tájékoztató, a 40.57 +változtatásokat közzétesszük a honlapon, 40.58 +és a <a href="http://labs.slitaz.org/">Labs</a> 40.59 +szolgáltat új információkat a projektbeli 40.60 +tevékenységekről. Csakúgy, mint a stabil 40.61 +verzióhoz, ehhez is található 40.62 +dokumentáció és támogatás a 40.63 +közösségi fórumban. 40.64 +</p> 40.65 + 40.66 +<!-- End of content --> 40.67 +</div> 40.68 + 40.69 +<!-- Footer. --> 40.70 +<div id="footer"> 40.71 + <a href="#top">Top of the page</a> - Languages: 40.72 + <a href="index.de.html">de</a> | 40.73 + <a href="index.en.html">en</a> | 40.74 + <a href="index.fr.html">fr</a> | 40.75 + <a href="index.hu.html">hu</a> | 40.76 + <a href="index.pt.html">pt</a> 40.77 +</div> 40.78 + 40.79 +<div id="copy"> 40.80 + Copyright © 2010 <a href="http://www.slitaz.org/">SliTaz</a> - 40.81 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 40.82 + Documentation uder 40.83 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 40.84 + and valid <a href="http://validator.w3.org/">xHTML 1.0</a>. 40.85 +</div> 40.86 + 40.87 +</body> 40.88 +</html>
41.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 41.2 +++ b/core-xfce/rootfs/usr/share/doc/slitaz/index.pt.html Sun Dec 05 17:40:41 2010 +0100 41.3 @@ -0,0 +1,66 @@ 41.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 41.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 41.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt"> 41.7 +<head> 41.8 + <title>SliTaz - Documentação do Sistema</title> 41.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 41.10 + <meta name="description" content="slitaz doc system releases notes information cooking" /> 41.11 + <meta name="expires" content="never" /> 41.12 + <meta name="modified" content="2009-04-16 10:30:00" /> 41.13 + <meta name="publisher" content="www.slitaz.org" /> 41.14 + <meta name="author" content="Christophe Lincoln"/> 41.15 + <link rel="shortcut icon" href="favicon.ico" /> 41.16 + <link rel="stylesheet" type="text/css" href="book.css" /> 41.17 +</head> 41.18 +<body bgcolor="#ffffff"> 41.19 + 41.20 +<!-- Header and quick navigation --> 41.21 +<div id="header"> 41.22 +<h1><font color="#3E1220">SliTaz - Documentação do Sistema</font></h1> 41.23 +</div> 41.24 + 41.25 +<div id="quicknav"> 41.26 + SliTaz: 41.27 + <a href="http://www.slitaz.org/">Website</a> 41.28 + <a href="http://forum.slitaz.org/">Forum</a> 41.29 + <a href="http://wiki.slitaz.org/">Wiki</a> 41.30 + <a href="http://labs.slitaz.org/">Labs</a> 41.31 +</div> 41.32 + 41.33 +<!-- Content. --> 41.34 +<div id="content"> 41.35 + 41.36 +<h2><font color="#DF8F06">Documentação (pt)</font></h2> 41.37 + 41.38 +<p> 41.39 +A versão de testes (cooking) do SliTaz não fornece notas de lançamento, 41.40 +qualquer mudança para esta versão é anunciada no website e o 41.41 +<a href="http://labs.slitaz.org/">SliTaz Labs</a> traz as últimas notícias 41.42 +e atividades do projeto. Assim como na versão estável, você irá obter 41.43 +informações sobre a versão de testes no website e suporte no 41.44 +<a href="http://forum.slitaz.org/">fórum</a> do projeto. 41.45 +</p> 41.46 + 41.47 +<!-- End of content --> 41.48 +</div> 41.49 + 41.50 +<!-- Footer. --> 41.51 +<div id="footer"> 41.52 + <a href="#top">Top of the page</a> - Languages: 41.53 + <a href="index.de.html">de</a> | 41.54 + <a href="index.en.html">en</a> | 41.55 + <a href="index.fr.html">fr</a> | 41.56 + <a href="index.hu.html">hu</a> | 41.57 + <a href="index.pt.html">pt</a> 41.58 +</div> 41.59 + 41.60 +<div id="copy"> 41.61 + Copyright © 2010 <a href="http://www.slitaz.org/">SliTaz</a> - 41.62 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 41.63 + Documentation uder 41.64 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 41.65 + and valid <a href="http://validator.w3.org/">xHTML 1.0</a>. 41.66 +</div> 41.67 + 41.68 +</body> 41.69 +</html>
42.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 42.2 +++ b/core-xfce/rootfs/usr/share/doc/slitaz/template.html Sun Dec 05 17:40:41 2010 +0100 42.3 @@ -0,0 +1,62 @@ 42.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 42.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 42.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 42.7 +<head> 42.8 + <title>SliTaz - System doc</title> 42.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 42.10 + <meta name="description" content="slitaz doc system releases notes information cooking" /> 42.11 + <meta name="expires" content="never" /> 42.12 + <meta name="modified" content="2010-01-04 22:40:00" /> 42.13 + <meta name="publisher" content="www.slitaz.org" /> 42.14 + <meta name="author" content="Christophe Lincoln"/> 42.15 + <link rel="shortcut icon" href="favicon.ico" /> 42.16 + <link rel="stylesheet" type="text/css" href="book.css" /> 42.17 +</head> 42.18 +<body bgcolor="#ffffff"> 42.19 + 42.20 +<!-- Header and quick navigation --> 42.21 +<div id="header"> 42.22 +<h1><font color="#3E1220">SliTaz - System doc</font></h1> 42.23 +</div> 42.24 + 42.25 +<div id="quicknav"> 42.26 + SliTaz: 42.27 + <a href="http://www.slitaz.org/">Website</a> 42.28 + <a href="http://forum.slitaz.org/">Forum</a> 42.29 + <a href="http://wiki.slitaz.org/">Wiki</a> 42.30 + <a href="http://labs.slitaz.org/">Labs</a> 42.31 +</div> 42.32 + 42.33 +<!-- Content. --> 42.34 +<div id="content"> 42.35 +<div class="content-right"></div> 42.36 + 42.37 +<h2><font color="#DF8F06">Template</font></h2> 42.38 + 42.39 +<p> 42.40 +CONTENT 42.41 +</p> 42.42 + 42.43 +<!-- End of content --> 42.44 +</div> 42.45 + 42.46 +<!-- Footer. --> 42.47 +<div id="footer"> 42.48 + <a href="#top">Top of the page</a> - Languages: 42.49 + <a href="index.de.html">de</a> | 42.50 + <a href="index.en.html">en</a> | 42.51 + <a href="index.fr.html">fr</a> | 42.52 + <a href="index.hu.html">hu</a> | 42.53 + <a href="index.pt.html">pt</a> 42.54 +</div> 42.55 + 42.56 +<div id="copy"> 42.57 + Copyright © 2010 <a href="http://www.slitaz.org/">SliTaz</a> - 42.58 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 42.59 + Documentation uder 42.60 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 42.61 + and valid <a href="http://validator.w3.org/">xHTML 1.0</a>. 42.62 +</div> 42.63 + 42.64 +</body> 42.65 +</html>
43.1 Binary file core-xfce/rootfs/usr/share/images/slitaz-background.jpg has changed
44.1 Binary file core-xfce/rootfs/usr/share/pixmaps/slitaz-menu.png has changed
45.1 Binary file core-xfce/rootfs/usr/share/slim/themes/slitaz/background.png has changed
46.1 Binary file core-xfce/rootfs/usr/share/slim/themes/slitaz/panel.png has changed
47.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 47.2 +++ b/core-xfce/rootfs/usr/share/slim/themes/slitaz/slim.theme Sun Dec 05 17:40:41 2010 +0100 47.3 @@ -0,0 +1,37 @@ 47.4 +# SliTaz theme for SLiM 47.5 +# 47.6 + 47.7 +# Messages 47.8 +msg_color #000000 47.9 +msg_font Vera:size=18:bold:dpi=75 47.10 +msg_x 50% 47.11 +msg_y 35% 47.12 +msg_shadow_color #FFFFFF 47.13 +msg_shadow_xoffset 1 47.14 +msg_shadow_yoffset 1 47.15 + 47.16 +# valid values: stretch, tile 47.17 +background_style tile 47.18 +background_color #1e0a0c 47.19 + 47.20 +# Input controls 47.21 +input_panel_x 50% 47.22 +input_panel_y 50% 47.23 +input_name_x 64 47.24 +input_name_y 179 47.25 +input_font Vera:size=11:dpi=75 47.26 +input_fgcolor #000000 47.27 + 47.28 +# Username / password request 47.29 +username_font Vera:size=18:bold:dpi=75 47.30 +username_color #eeede9 47.31 +username_x 50% 47.32 +username_y 140 47.33 +password_x 50% 47.34 +password_y 140 47.35 +username_shadow_color #000000 47.36 +username_shadow_xoffset 1 47.37 +username_shadow_yoffset 1 47.38 + 47.39 +username_msg Username: 47.40 +password_msg Password:
48.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 48.2 +++ b/core-xfce/rootfs/usr/share/webhome/index.html Sun Dec 05 17:40:41 2010 +0100 48.3 @@ -0,0 +1,68 @@ 48.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 48.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 48.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 48.7 +<head> 48.8 + <title>SliTaz - Web Homepage</title> 48.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 48.10 + <meta name="author" content="Christophe Lincoln"/> 48.11 + <link rel="shortcut icon" href="favicon.ico" /> 48.12 + <link rel="stylesheet" type="text/css" href="style.css" /> 48.13 +</head> 48.14 +<body> 48.15 + 48.16 +<!-- Header --> 48.17 +<div id="header"> 48.18 + <h1>Browse the Web</h1> 48.19 +</div> 48.20 + 48.21 +<!-- Content --> 48.22 +<div id="content"> 48.23 + 48.24 +<div style="text-align: center; margin: 20px;"> 48.25 +<table> 48.26 + <!-- Search Wikipedia --> 48.27 + <tr> 48.28 + <th><strong>Wikipedia :</strong></th> 48.29 + <td> 48.30 + <form action="http://www.wikipedia.org/search-redirect.php" method="get"> 48.31 + <input type="hidden" name="language" value="en" /> 48.32 + <input type="text" name="search" size="30" /> 48.33 + <input type="submit" name="go" value="Search" /> 48.34 + </form> 48.35 + </td> 48.36 + </tr> 48.37 + <!-- Search Google --> 48.38 + <tr> 48.39 + <th><strong>Google :</strong></th> 48.40 + <td> 48.41 + <form method="get" action="http://www.google.com/search"> 48.42 + <input type="text" name="q" size="30" maxlength="255" value="" /> 48.43 + <input type="submit" value="Search" /> 48.44 + </form> 48.45 + </td> 48.46 + </tr> 48.47 +</table> 48.48 +</div> 48.49 + 48.50 +<!-- Shortcuts --> 48.51 +<div style="text-align: center; margin: 10px;"> 48.52 + <strong>SliTaz :</strong> 48.53 + <a href="http://www.slitaz.org/">Website</a> | 48.54 + <a href="http://doc.slitaz.org/">Documentation</a> | 48.55 + <a href="http://forum.slitaz.org/">Forum</a> | 48.56 + <a href="http://labs.slitaz.org/">Labs</a> | 48.57 + <a href="http://pkgs.slitaz.org/">Packages</a> 48.58 +</div> 48.59 + 48.60 +<div style="text-align: center;"> 48.61 +<img 48.62 + src="pics/slitaz-tux.png" 48.63 + title="SliTaz and Tux" alt="slitaz-tux" 48.64 + style="width: 90px; height: 98px;" /> 48.65 +</div> 48.66 + 48.67 +<!-- End of content --> 48.68 +</div> 48.69 + 48.70 +</body> 48.71 +</html>
49.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 49.2 +++ b/core-xfce/rootfs/usr/share/webhome/netsurf.html Sun Dec 05 17:40:41 2010 +0100 49.3 @@ -0,0 +1,66 @@ 49.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 49.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 49.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 49.7 +<head> 49.8 + <title>SliTaz - Web Homepage</title> 49.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 49.10 + <meta name="author" content="Christophe Lincoln"/> 49.11 + <link rel="shortcut icon" href="favicon.ico" /> 49.12 + <link rel="stylesheet" type="text/css" href="netsurf.css" /> 49.13 +</head> 49.14 +<body> 49.15 + 49.16 +<!-- Header --> 49.17 +<div id="header"> 49.18 +<h1>Browse the Web</h1> 49.19 +</div> 49.20 + 49.21 +<!-- Content --> 49.22 +<div id="content"> 49.23 + 49.24 +<div style="text-align: center; margin-top: 40px;"> 49.25 +<table> 49.26 + <!-- Search Wikipedia --> 49.27 + <tr> 49.28 + <th><strong>[ Wikipedia ]</strong></th> 49.29 + <td> 49.30 + <form action="http://www.wikipedia.org/search-redirect.php" method="get"> 49.31 + <input type="hidden" name="language" value="en" /> 49.32 + <input type="text" name="search" size="30" /> 49.33 + <input type="submit" name="go" value="Search" /> 49.34 + </form> 49.35 + </td> 49.36 + </tr> 49.37 + <!-- Search Google --> 49.38 + <tr> 49.39 + <th><strong>[ Google ]</strong></th> 49.40 + <td> 49.41 + <form method="get" action="http://www.google.com/search"> 49.42 + <input type="text" name="q" size="30" maxlength="255" value="" /> 49.43 + <input type="submit" value="Search" /> 49.44 + </form> 49.45 + </td> 49.46 + </tr> 49.47 +</table> 49.48 +</div> 49.49 + 49.50 +<!-- Shortcuts --> 49.51 +<div style="text-align: center; margin-top: 30px;"> 49.52 + SliTaz : 49.53 + <a href="http://www.slitaz.org/">Website</a> | 49.54 + <a href="http://doc.slitaz.org/">Documentation</a> | 49.55 + <a href="http://forum.slitaz.org/">Forum</a> | 49.56 + <a href="http://pkgs.slitaz.org/">Packages</a> | 49.57 + <a href="http://labs.slitaz.org/">Labs</a> 49.58 +</div> 49.59 +<div style="text-align: center; margin-top: 20px;"> 49.60 + NetSurf : 49.61 + <a href="http://www.netsurf-browser.org/">Website</a> | 49.62 + <a href="http://www.netsurf-browser.org/documentation/">Documentation</a> 49.63 +</div> 49.64 + 49.65 +<!-- End of content with round corner --> 49.66 +</div> 49.67 + 49.68 +</body> 49.69 +</html>
50.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 50.2 +++ b/core-xfce/rootfs/usr/share/webhome/style.css Sun Dec 05 17:40:41 2010 +0100 50.3 @@ -0,0 +1,113 @@ 50.4 +/* 50.5 + CSS style for SliTaz GNU/Linux local home page 50.6 + www.slitaz.org - (c) 2008 SliTaz Community 50.7 +*/ 50.8 + 50.9 +body { 50.10 + background: white; 50.11 + color: black; 50.12 + font: 13px sans-serif, vernada, arial; 50.13 + margin: 0 0 0 0; 50.14 + padding-bottom: 100%; 50.15 +} 50.16 + 50.17 +#header { 50.18 + background: #f0ba08 url(pics/header.png) repeat-x top; 50.19 + color: black; 50.20 + width: 100%; 50.21 + height: 50px ; 50.22 + border-top: 1px solid black; 50.23 + border-bottom: 1px solid black; 50.24 + /* margin-bottom: 30px; */ 50.25 +} 50.26 + 50.27 +#header h1 { 50.28 + padding: 10px; 50.29 + text-align: center; 50.30 +} 50.31 + 50.32 +/* Page content */ 50.33 + 50.34 + 50.35 +#content { 50.36 + height: auto; 50.37 + margin: 10px 100px 0px 100px; 50.38 + padding: 0px 72px 0px 72px; 50.39 +} 50.40 + 50.41 +#content li { 50.42 + line-height: 1.5em; 50.43 + text-align: left; 50.44 +} 50.45 + 50.46 +/* Footer */ 50.47 + 50.48 +#bottom { 50.49 + float: none; 50.50 + background: inherit; 50.51 + color: black; 50.52 + width: auto; 50.53 + clear: both; 50.54 + padding: 0; 50.55 + margin: 0; 50.56 + text-align: center; 50.57 + vertical-align: middle; 50.58 +} 50.59 + 50.60 +/* CSS class. */ 50.61 + 50.62 + 50.63 +/* HTML styles */ 50.64 + 50.65 +h1 { 50.66 + margin: 0px 0px 0px 16px; 50.67 +} 50.68 + 50.69 +h2 { 50.70 + color: #DF8F06; 50.71 + border-left: 10px solid #F3F3F3; 50.72 + padding: 4px 0px 4px 4px; 50.73 + margin: 0; 50.74 +} 50.75 + 50.76 +h3 { 50.77 + font-weight: bold; 50.78 + color: #6c0023; 50.79 + background: inherit; 50.80 +} 50.81 + 50.82 +a { 50.83 + text-decoration: underline; 50.84 + color: #0F314E; 50.85 + background: inherit; 50.86 +} 50.87 + 50.88 +a:hover { 50.89 + text-decoration: none; 50.90 + color: blue; 50.91 + background: inherit; 50.92 +} 50.93 + 50.94 +img { 50.95 + border: 0pt none; 50.96 +} 50.97 + 50.98 +/* Table */ 50.99 + 50.100 +table { 50.101 + width: variable; 50.102 + margin-left: auto; 50.103 + margin-right: auto; 50.104 +} 50.105 + 50.106 +td { 50.107 + width: variable; 50.108 + padding: 6px; 50.109 +} 50.110 + 50.111 +th { 50.112 + width: variable; 50.113 + 50.114 + 50.115 + text-align: right; 50.116 +}