slitaz-modular rev 17
Changed mkiso.sh script be able to have profiles or flavors as slitaz calls them. Added first core flavor that has base, core-basic, core, firefox, and core-xfce flavor as modules. Will make readme to explain more.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Sat Dec 18 17:56:17 2010 +0000 (2010-12-18) |
parents | 0e5731bcfb46 |
children | 9bc0114ef156 |
files | config core/config core/list/a.000.base.list core/list/a.001.justx.list core/list/a.002.core-basic.list core/list/a.003.core.list core/list/a.004.firefox.list core/list/a.005.core-xfce.list core/overlay/etc/filesystems core/overlay/etc/fstab core/overlay/etc/group core/overlay/etc/gshadow core/overlay/etc/init.d/bootopts.sh core/overlay/etc/passwd core/overlay/etc/shadow core/overlay/etc/slim.conf core/rootcd/README core/rootcd/images/header.png core/rootcd/index.html core/rootcd/style.css initramfs/initramfs.list list/a.001.justx.list list/a.002.core-basic.list list/a.003.mesa.list list/a.004.xorg-xf86-video.list list/a.005.firefox.list list/a.006.libs.list list/a.006.libs.removelist list/a.007.apps.list list/a.008.mercurial.list list/a.009.pentest.list list/a.010.clamav.list list/a.011.warzone2100.list list/a.012.frozen-bubble.list list/a.013.wine.list list/initramfs.list mkiso.sh overlay/etc/fstab overlay/etc/group overlay/etc/gshadow overlay/etc/passwd overlay/etc/shadow overlay/usr/bin/tazpkg |
line diff
1.1 --- a/config Thu Dec 16 09:28:36 2010 +0000 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,20 +0,0 @@ 1.4 - 1.5 -# names of modular package lists 1.6 -# equals names of .list files in the order to build 1.7 -MODULES="a.001.justx a.002.core-basic a.003.mesa a.004.xorg-xf86-video a.005.firefox a.006.libs a.007.apps a.008.mercurial a.009.pentest a.010.clamav a.011.warzone2100 a.012.frozen-bubble a.013.wine" 1.8 - 1.9 -# download local copies of hg repos for iso 1.10 -# equals yes or no 1.11 -COPY_HG="yes" 1.12 - 1.13 -# update existing local copies of hg repos for iso in working folder 1.14 -# equals yes or no 1.15 -UPDATE_HG="yes" 1.16 - 1.17 -# clean modules folders by removing them 1.18 -# equals yes or no 1.19 -CLEAN_MODULES_DIR="no" 1.20 - 1.21 -# remove initramfs folder 1.22 -# equals yes or no 1.23 -CLEAN_INITRAMFS="no"
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/core/config Sat Dec 18 17:56:17 2010 +0000 2.3 @@ -0,0 +1,21 @@ 2.4 + 2.5 +# names of modular package lists 2.6 +# equals names of .list files in the order to build 2.7 +#MODULES="a.001.justx a.002.core-basic a.003.mesa a.004.xorg-xf86-video a.005.firefox a.006.libs a.007.apps a.008.mercurial a.009.pentest a.010.clamav a.011.warzone2100 a.012.frozen-bubble a.013.wine" 2.8 +MODULES="a.000.base a.001.justx a.002.core-basic a.003.core a.004.firefox a.005.core-xfce" 2.9 + 2.10 +# download local copies of hg repos for iso 2.11 +# equals yes or no 2.12 +COPY_HG="no" 2.13 + 2.14 +# update existing local copies of hg repos for iso in working folder 2.15 +# equals yes or no 2.16 +UPDATE_HG="no" 2.17 + 2.18 +# clean modules folders by removing them 2.19 +# equals yes or no 2.20 +CLEAN_MODULES_DIR="yes" 2.21 + 2.22 +# remove initramfs folder 2.23 +# equals yes or no 2.24 +CLEAN_INITRAMFS="yes"
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/core/list/a.000.base.list Sat Dec 18 17:56:17 2010 +0000 3.3 @@ -0,0 +1,31 @@ 3.4 +busybox 3.5 +bzlib 3.6 +dialog 3.7 +dropbear 3.8 +e2fsprogs 3.9 +gcc-lib-base 3.10 +glibc-base 3.11 +gpxe 3.12 +grub4dos-linux 3.13 +isapnptools 3.14 +kbd-busybox 3.15 +libcap 3.16 +linux 3.17 +lzlib 3.18 +lzma 3.19 +pcmciautils 3.20 +ppp 3.21 +rp-pppoe 3.22 +slitaz-base-files 3.23 +slitaz-boot-scripts 3.24 +slitaz-tools 3.25 +sysfsutils 3.26 +syslinux 3.27 +syslinux-extra 3.28 +tazlito 3.29 +tazpkg 3.30 +tazusb 3.31 +tazwok 3.32 +udev 3.33 +zlib 3.34 +ncurses-common
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/core/list/a.001.justx.list Sat Dec 18 17:56:17 2010 +0000 4.3 @@ -0,0 +1,96 @@ 4.4 +busybox 4.5 +bzlib 4.6 +cairo 4.7 +cdrkit 4.8 +dbus 4.9 +dbus-glib 4.10 +dialog 4.11 +dropbear 4.12 +e2fsprogs 4.13 +expat 4.14 +fontconfig 4.15 +freetype 4.16 +gcc-lib-base 4.17 +glib 4.18 +glibc-base 4.19 +gpxe 4.20 +grub4dos-linux 4.21 +hal 4.22 +isapnptools 4.23 +jpeg 4.24 +kbd-busybox 4.25 +libcap 4.26 +libcomerr 4.27 +libcrypto 4.28 +libgcrypt 4.29 +libgio 4.30 +libpng 4.31 +libxml2 4.32 +linux 4.33 +locale-de 4.34 +locale-es 4.35 +locale-fr 4.36 +locale-pt 4.37 +lzlib 4.38 +lzma 4.39 +nano 4.40 +ncurses 4.41 +openbox 4.42 +pango 4.43 +pciutils 4.44 +pcmciautils 4.45 +pcre 4.46 +pixman 4.47 +popt 4.48 +ppp 4.49 +rp-pppoe 4.50 +slim 4.51 +slitaz-base-files 4.52 +slitaz-boot-scripts 4.53 +slitaz-doc 4.54 +slitaz-polar-cursors 4.55 +slitaz-tools 4.56 +sqlite 4.57 +startup-notification 4.58 +sysfsutils 4.59 +syslinux 4.60 +syslinux-extra 4.61 +tazlito 4.62 +tazpkg 4.63 +tazusb 4.64 +tazwok 4.65 +tiff 4.66 +ttf-dejavu 4.67 +udev 4.68 +xorg-base-fonts 4.69 +xorg-libfontenc 4.70 +xorg-libICE 4.71 +xorg-libSM 4.72 +xorg-libX11 4.73 +xorg-libXau 4.74 +xorg-libXaw 4.75 +xorg-libXcomposite 4.76 +xorg-libXcursor 4.77 +xorg-libXdamage 4.78 +xorg-libXdmcp 4.79 +xorg-libXext 4.80 +xorg-libXfixes 4.81 +xorg-libXfont 4.82 +xorg-libXft 4.83 +xorg-libXi 4.84 +xorg-libXinerama 4.85 +xorg-libXmu 4.86 +xorg-libXpm 4.87 +xorg-libXrandr 4.88 +xorg-libXrender 4.89 +xorg-libXt 4.90 +xorg-libXtst 4.91 +xorg-rgb 4.92 +xorg-server 4.93 +xorg-setxkbmap 4.94 +xorg-xauth 4.95 +xorg-xf86-input-evdev 4.96 +xorg-xf86-video-vesa 4.97 +xorg-xsetroot 4.98 +xterm 4.99 +zlib
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/core/list/a.002.core-basic.list Sat Dec 18 17:56:17 2010 +0000 5.3 @@ -0,0 +1,141 @@ 5.4 +atk 5.5 +busybox 5.6 +bzlib 5.7 +cairo 5.8 +cdrkit 5.9 +clearlooks 5.10 +dbus 5.11 +dbus-glib 5.12 +dialog 5.13 +dropbear 5.14 +e2fsprogs 5.15 +expat 5.16 +fontconfig 5.17 +freetype 5.18 +gamin 5.19 +gcc-lib-base 5.20 +glib 5.21 +glibc-base 5.22 +gpxe 5.23 +grub4dos-linux 5.24 +gtk+ 5.25 +gtkdialog 5.26 +hal 5.27 +hardinfo 5.28 +hicolor-icon-theme 5.29 +isapnptools 5.30 +jpeg 5.31 +kbd-busybox 5.32 +leafpad 5.33 +libcap 5.34 +libcomerr 5.35 +libgio 5.36 +libglade 5.37 +libpng 5.38 +libxml2 5.39 +linux 5.40 +locale-de 5.41 +locale-es 5.42 +locale-fr 5.43 +locale-pt 5.44 +lxappearance 5.45 +lxpanel 5.46 +lxtask 5.47 +lzlib 5.48 +lzma 5.49 +nano 5.50 +nanochess 5.51 +ncurses 5.52 +ncursesw 5.53 +obconf 5.54 +openbox 5.55 +pango 5.56 +pciutils 5.57 +pcmanfm 5.58 +pcmciautils 5.59 +pcre 5.60 +pixman 5.61 +popt 5.62 +ppp 5.63 +rp-pppoe 5.64 +shared-mime-info 5.65 +slim 5.66 +slitaz-base-files 5.67 +slitaz-boot-scripts 5.68 +slitaz-configs 5.69 +slitaz-doc 5.70 +slitaz-icon 5.71 +slitaz-menus 5.72 +slitaz-polar-cursors 5.73 +slitaz-tools 5.74 +slitaz-tools-boxes 5.75 +sqlite 5.76 +startup-notification 5.77 +sysfsutils 5.78 +syslinux 5.79 +syslinux-extra 5.80 +tazlito 5.81 +tazpkg 5.82 +tazusb 5.83 +tazwikiss 5.84 +tazwok 5.85 +tiff 5.86 +transset-df 5.87 +ttf-dejavu 5.88 +udev 5.89 +xorg 5.90 +xorg-base-fonts 5.91 +xorg-libfontenc 5.92 +xorg-libICE 5.93 +xorg-libSM 5.94 +xorg-libX11 5.95 +xorg-libXau 5.96 +xorg-libXaw 5.97 +xorg-libXcomposite 5.98 +xorg-libXcursor 5.99 +xorg-libXdamage 5.100 +xorg-libXdmcp 5.101 +xorg-libXext 5.102 +xorg-libXfixes 5.103 +xorg-libXfont 5.104 +xorg-libXft 5.105 +xorg-libXi 5.106 +xorg-libXinerama 5.107 +xorg-libXmu 5.108 +xorg-libXpm 5.109 +xorg-libXrandr 5.110 +xorg-libXrender 5.111 +xorg-libXt 5.112 +xorg-libXtst 5.113 +xorg-rgb 5.114 +xorg-xauth 5.115 +xorg-xcompmgr 5.116 +xterm 5.117 +zlib 5.118 +libcrypto 5.119 +mtpaint 5.120 +libnotify 5.121 +transmission 5.122 +galculator 5.123 +ntfs-3g 5.124 +ntfsprogs 5.125 +web-applications 5.126 +viewnior 5.127 +sudoku 5.128 +desktop-file-utils 5.129 +xorg-server 5.130 +xorg-xf86-input-evdev 5.131 +xorg-xf86-video-vesa 5.132 +xorg-setxkbmap 5.133 +isomaster 5.134 +gcolor2 5.135 +lostirc 5.136 +gparted 5.137 +beaver 5.138 +lua 5.139 +epdfview 5.140 +915resolution 5.141 +libunique 5.142 +libwebkit 5.143 +midori 5.144 +gettext-base
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/core/list/a.003.core.list Sat Dec 18 17:56:17 2010 +0000 6.3 @@ -0,0 +1,151 @@ 6.4 +atk 6.5 +busybox 6.6 +bzlib 6.7 +cairo 6.8 +cdrkit 6.9 +clearlooks 6.10 +dbus 6.11 +dbus-glib 6.12 +dialog 6.13 +dropbear 6.14 +e2fsprogs 6.15 +expat 6.16 +fontconfig 6.17 +freetype 6.18 +gamin 6.19 +gcc-lib-base 6.20 +get-wifi-firmware 6.21 +glib 6.22 +glibc-base 6.23 +gpxe 6.24 +grub4dos-linux 6.25 +gtk+ 6.26 +gtkdialog 6.27 +hal 6.28 +hardinfo 6.29 +hicolor-icon-theme 6.30 +isapnptools 6.31 +jpeg 6.32 +kbd-busybox 6.33 +leafpad 6.34 +libcap 6.35 +libcomerr 6.36 +libgio 6.37 +libglade 6.38 +libpng 6.39 +libxml2 6.40 +linux 6.41 +linux-wireless 6.42 +linux-sound 6.43 +locale-de 6.44 +locale-es 6.45 +locale-fr 6.46 +locale-pt 6.47 +lxappearance 6.48 +lxpanel 6.49 +lxtask 6.50 +lzlib 6.51 +lzma 6.52 +nano 6.53 +nanochess 6.54 +ncurses 6.55 +ncursesw 6.56 +obconf 6.57 +openbox 6.58 +pango 6.59 +pciutils 6.60 +pcmanfm 6.61 +pcmciautils 6.62 +pcre 6.63 +pixman 6.64 +popt 6.65 +ppp 6.66 +rp-pppoe 6.67 +shared-mime-info 6.68 +slim 6.69 +slitaz-base-files 6.70 +slitaz-boot-scripts 6.71 +slitaz-configs 6.72 +slitaz-doc 6.73 +slitaz-icon 6.74 +slitaz-menus 6.75 +slitaz-polar-cursors 6.76 +slitaz-tools 6.77 +slitaz-tools-boxes 6.78 +sqlite 6.79 +startup-notification 6.80 +sysfsutils 6.81 +syslinux 6.82 +syslinux-extra 6.83 +tazlito 6.84 +tazpkg 6.85 +tazusb 6.86 +tazwikiss 6.87 +tazwok 6.88 +tiff 6.89 +transset-df 6.90 +ttf-dejavu 6.91 +udev 6.92 +xorg 6.93 +xorg-base-fonts 6.94 +xorg-libfontenc 6.95 +xorg-libICE 6.96 +xorg-libSM 6.97 +xorg-libX11 6.98 +xorg-libXau 6.99 +xorg-libXaw 6.100 +xorg-libXcomposite 6.101 +xorg-libXcursor 6.102 +xorg-libXdamage 6.103 +xorg-libXdmcp 6.104 +xorg-libXext 6.105 +xorg-libXfixes 6.106 +xorg-libXfont 6.107 +xorg-libXft 6.108 +xorg-libXi 6.109 +xorg-libXinerama 6.110 +xorg-libXmu 6.111 +xorg-libXpm 6.112 +xorg-libXrandr 6.113 +xorg-libXrender 6.114 +xorg-libXt 6.115 +xorg-libXtst 6.116 +xorg-rgb 6.117 +xorg-xauth 6.118 +xorg-xcompmgr 6.119 +xterm 6.120 +zlib 6.121 +libcrypto 6.122 +wireless_tools 6.123 +wpa_supplicant 6.124 +mtpaint 6.125 +libnotify 6.126 +transmission 6.127 +alsa-lib 6.128 +alsaplayer 6.129 +alsa-utils 6.130 +asunder 6.131 +galculator 6.132 +ntfs-3g 6.133 +ntfsprogs 6.134 +web-applications 6.135 +viewnior 6.136 +sudoku 6.137 +desktop-file-utils 6.138 +xorg-server 6.139 +xorg-xf86-input-evdev 6.140 +xorg-xf86-video-vesa 6.141 +xorg-setxkbmap 6.142 +mhwaveedit 6.143 +isomaster 6.144 +gcolor2 6.145 +lostirc 6.146 +gparted 6.147 +beaver 6.148 +lua 6.149 +epdfview 6.150 +915resolution 6.151 +libunique 6.152 +libwebkit 6.153 +midori 6.154 +gettext-base
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/core/list/a.004.firefox.list Sat Dec 18 17:56:17 2010 +0000 7.3 @@ -0,0 +1,161 @@ 7.4 +alsa-lib 7.5 +alsaplayer 7.6 +alsa-utils 7.7 +atk 7.8 +attr 7.9 +busybox 7.10 +bzlib 7.11 +cairo 7.12 +cdrkit 7.13 +clearlooks 7.14 +dbus 7.15 +dbus-glib 7.16 +desktop-file-utils 7.17 +dialog 7.18 +dropbear 7.19 +e2fsprogs 7.20 +expat 7.21 +firefox 7.22 +fontconfig 7.23 +freetype 7.24 +fuse 7.25 +galculator 7.26 +gamin 7.27 +gcc-lib-base 7.28 +get-google-earth 7.29 +get-opera 7.30 +get-skype 7.31 +get-wifi-firmware 7.32 +glib 7.33 +glibc-base 7.34 +gpxe 7.35 +grub4dos-linux 7.36 +gtk+ 7.37 +gtkdialog 7.38 +hal 7.39 +hardinfo 7.40 +hicolor-icon-theme 7.41 +isapnptools 7.42 +jpeg 7.43 +kbd-busybox 7.44 +leafpad 7.45 +libcap 7.46 +libcomerr 7.47 +libcrypto 7.48 +libdrm 7.49 +libgcrypt 7.50 +libgio 7.51 +libglade 7.52 +libmad 7.53 +libogg 7.54 +libpng 7.55 +libssl 7.56 +libvorbis 7.57 +libxcb 7.58 +libxml2 7.59 +linux 7.60 +linux-acpi 7.61 +linux-crypto 7.62 +linux-sound 7.63 +linux-wireless 7.64 +locale-de 7.65 +locale-es 7.66 +locale-fr 7.67 +locale-pt 7.68 +lxappearance 7.69 +lxpanel 7.70 +lxtask 7.71 +lzlib 7.72 +lzma 7.73 +menu-cache 7.74 +mesa 7.75 +nano 7.76 +nanochess 7.77 +ncurses 7.78 +ntfs-3g 7.79 +ntfsprogs 7.80 +obconf 7.81 +openbox 7.82 +pango 7.83 +pciutils 7.84 +pcmanfm 7.85 +pcmciautils 7.86 +pcre 7.87 +pixman 7.88 +popt 7.89 +ppp 7.90 +rp-pppoe 7.91 +shared-mime-info 7.92 +slim 7.93 +slitaz-base-files 7.94 +slitaz-boot-scripts 7.95 +slitaz-configs 7.96 +slitaz-doc 7.97 +slitaz-icon 7.98 +slitaz-menus 7.99 +slitaz-polar-cursors 7.100 +slitaz-tools 7.101 +slitaz-tools-boxes 7.102 +sqlite 7.103 +startup-notification 7.104 +sudoku 7.105 +sysfsutils 7.106 +syslinux 7.107 +syslinux-extra 7.108 +tazlito 7.109 +tazpkg 7.110 +tazusb 7.111 +tazwikiss 7.112 +tazwok 7.113 +tiff 7.114 +transset-df 7.115 +ttf-dejavu 7.116 +udev 7.117 +util-linux-ng-blkid 7.118 +util-linux-ng-cfdisk 7.119 +util-linux-ng-getopt 7.120 +util-linux-ng-uuid 7.121 +viewnior 7.122 +web-applications 7.123 +wireless_tools 7.124 +wpa_supplicant 7.125 +xcb-util 7.126 +xorg 7.127 +xorg-base-fonts 7.128 +xorg-libfontenc 7.129 +xorg-libICE 7.130 +xorg-libpciaccess 7.131 +xorg-libSM 7.132 +xorg-libX11 7.133 +xorg-libXau 7.134 +xorg-libXaw 7.135 +xorg-libXcomposite 7.136 +xorg-libXcursor 7.137 +xorg-libXdamage 7.138 +xorg-libXdmcp 7.139 +xorg-libXext 7.140 +xorg-libXfixes 7.141 +xorg-libXfont 7.142 +xorg-libXft 7.143 +xorg-libXi 7.144 +xorg-libXinerama 7.145 +xorg-libxkbfile 7.146 +xorg-libXmu 7.147 +xorg-libXpm 7.148 +xorg-libXrandr 7.149 +xorg-libXrender 7.150 +xorg-libXt 7.151 +xorg-libXtst 7.152 +xorg-libXxf86vm 7.153 +xorg-rgb 7.154 +xorg-server 7.155 +xorg-setxkbmap 7.156 +xorg-xauth 7.157 +xorg-xcompmgr 7.158 +xorg-xf86-input-evdev 7.159 +xorg-xf86-video-vesa 7.160 +xorg-xkbcomp 7.161 +xorg-xkeyboard-config 7.162 +xorg-xrandr 7.163 +xterm 7.164 +zlib
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/core/list/a.005.core-xfce.list Sat Dec 18 17:56:17 2010 +0000 8.3 @@ -0,0 +1,250 @@ 8.4 +915resolution 8.5 +alsa-lib 8.6 +alsaplayer 8.7 +alsa-utils 8.8 +asunder 8.9 +atk 8.10 +attr 8.11 +beaver 8.12 +busybox 8.13 +busybox-pam 8.14 +bzlib 8.15 +cairo 8.16 +cairomm 8.17 +cdparanoia-III 8.18 +cdrkit 8.19 +clearlooks 8.20 +conspy 8.21 +curl 8.22 +dbus 8.23 +dbus-glib 8.24 +depmod 8.25 +desktop-file-utils 8.26 +dialog 8.27 +dropbear 8.28 +e2fsprogs 8.29 +enchant 8.30 +epdfview 8.31 +expat 8.32 +firefox 8.33 +fontconfig 8.34 +freetype 8.35 +fuse 8.36 +galculator 8.37 +gamin 8.38 +gcc-lib-base 8.39 +gcolor2 8.40 +GConf 8.41 +gdbm 8.42 +get-flash-plugin 8.43 +gettext-base 8.44 +get-wifi-firmware 8.45 +glib 8.46 +glibc-base 8.47 +glibmm 8.48 +gparted 8.49 +gpxe 8.50 +grub 8.51 +gtk+ 8.52 +gtkdialog 8.53 +gtkmm 8.54 +gtk-xfce-engine 8.55 +hal 8.56 +hardinfo 8.57 +hicolor-icon-theme 8.58 +isapnptools 8.59 +isomaster 8.60 +jpeg 8.61 +kbd-busybox 8.62 +lcms 8.63 +leafpad 8.64 +libcap 8.65 +libcddb 8.66 +libcdio 8.67 +libcomerr 8.68 +libcrypto 8.69 +libcurl 8.70 +libdb 8.71 +libdrm 8.72 +libexif 8.73 +libexo 8.74 +libfirefox 8.75 +libgcrypt 8.76 +libgio 8.77 +libgiomm 8.78 +libglade 8.79 +libgnutls 8.80 +libgpg-error 8.81 +libical 8.82 +libIDL 8.83 +libidn 8.84 +libmad 8.85 +libnotify 8.86 +libogg 8.87 +libpng 8.88 +libsexy 8.89 +libsigc++ 8.90 +libsoup 8.91 +libssl 8.92 +libtasn1 8.93 +libtool 8.94 +libunique 8.95 +libusb 8.96 +libusb-compat 8.97 +libvorbis 8.98 +libwebkit 8.99 +libwnck 8.100 +libxcb 8.101 +libxfce4menu 8.102 +libxfce4util 8.103 +libxfcegui4 8.104 +libxml2 8.105 +libxslt 8.106 +linux 8.107 +linux-crypto 8.108 +linux-sound 8.109 +linux-wireless 8.110 +locale-de 8.111 +locale-es 8.112 +locale-fr 8.113 +locale-pt 8.114 +lostirc 8.115 +lua 8.116 +lxappearance 8.117 +lxpanel 8.118 +lxtask 8.119 +lzlib 8.120 +lzma 8.121 +menu-cache 8.122 +mercurial 8.123 +mesa 8.124 +mhwaveedit 8.125 +midori 8.126 +mtpaint 8.127 +nano 8.128 +ncurses 8.129 +ncurses-common 8.130 +ncursesw 8.131 +ntfs-3g 8.132 +ntfsprogs 8.133 +obconf 8.134 +openbox 8.135 +openssl 8.136 +ORBit2 8.137 +osmo 8.138 +pam 8.139 +pango 8.140 +pangomm 8.141 +parted 8.142 +patch 8.143 +pciutils 8.144 +pcmanfm 8.145 +pcmciautils 8.146 +pcre 8.147 +perl 8.148 +perl-uri 8.149 +perl-xml-parser 8.150 +pixman 8.151 +PolicyKit0 8.152 +poppler 8.153 +popt 8.154 +ppp 8.155 +python 8.156 +readline 8.157 +rp-pppoe 8.158 +shared-mime-info 8.159 +slim 8.160 +slitaz-base-files 8.161 +slitaz-boot-scripts 8.162 +slitaz-configs 8.163 +slitaz-doc 8.164 +slitaz-icon 8.165 +slitaz-menus 8.166 +slitaz-polar-cursors 8.167 +slitaz-tools 8.168 +slitaz-tools-boxes 8.169 +sqlite 8.170 +startup-notification 8.171 +sudo 8.172 +sudoku-savant 8.173 +suggested-applications 8.174 +sysfsutils 8.175 +syslinux 8.176 +syslinux-extra 8.177 +tazlito 8.178 +tazpkg 8.179 +tazusb 8.180 +tazwok 8.181 +tcl 8.182 +thunar 8.183 +thunar-archive-plugin 8.184 +thunar-volman 8.185 +tiff 8.186 +tk 8.187 +transmission 8.188 +transset-df 8.189 +ttf-dejavu 8.190 +udev 8.191 +util-linux-ng-blkid 8.192 +util-linux-ng-getopt 8.193 +util-linux-ng-uuid 8.194 +viewnior 8.195 +web-applications 8.196 +wireless_tools 8.197 +wpa_supplicant 8.198 +xcb-util 8.199 +xfce4 8.200 +xfce4-icon-theme 8.201 +xfce4-panel 8.202 +xfce4-session 8.203 +xfce4-settings 8.204 +xfce4-slitaz-config 8.205 +xfce-utils 8.206 +xfconf 8.207 +xfdesktop 8.208 +xfdesktop-extras 8.209 +xfwm4 8.210 +xfwm4-themes 8.211 +terminal 8.212 +xorg 8.213 +xorg-base-fonts 8.214 +xorg-iceauth 8.215 +xorg-libfontenc 8.216 +xorg-libICE 8.217 +xorg-libpciaccess 8.218 +xorg-libSM 8.219 +xorg-libX11 8.220 +xorg-libXau 8.221 +xorg-libXaw 8.222 +xorg-libXcomposite 8.223 +xorg-libXcursor 8.224 +xorg-libXdamage 8.225 +xorg-libXdmcp 8.226 +xorg-libXext 8.227 +xorg-libXfixes 8.228 +xorg-libXfont 8.229 +xorg-libXft 8.230 +xorg-libXi 8.231 +xorg-libXinerama 8.232 +xorg-libxkbfile 8.233 +xorg-libXmu 8.234 +xorg-libXp 8.235 +xorg-libXpm 8.236 +xorg-libXrandr 8.237 +xorg-libXrender 8.238 +xorg-libXss 8.239 +xorg-libXt 8.240 +xorg-libXtst 8.241 +xorg-libXxf86vm 8.242 +xorg-rgb 8.243 +xorg-server 8.244 +xorg-setxkbmap 8.245 +xorg-xauth 8.246 +xorg-xcompmgr 8.247 +xorg-xf86-input-keyboard 8.248 +xorg-xf86-input-mouse 8.249 +xorg-xf86-video-vesa 8.250 +xorg-xkbcomp 8.251 +xorg-xkeyboard-config 8.252 +xterm 8.253 +zlib
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/core/overlay/etc/filesystems Sat Dec 18 17:56:17 2010 +0000 9.3 @@ -0,0 +1,6 @@ 9.4 +ext4 9.5 +ext3 9.6 +ext2 9.7 +vfat 9.8 +ntfs-3g 9.9 +*
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/core/overlay/etc/fstab Sat Dec 18 17:56:17 2010 +0000 10.3 @@ -0,0 +1,9 @@ 10.4 +# /etc/fstab: Information about static filesystems. 10.5 +# 10.6 +proc /proc proc defaults 0 0 10.7 +sysfs /sys sysfs defaults 0 0 10.8 +devpts /dev/pts devpts defaults 0 0 10.9 +tmpfs /dev/shm tmpfs defaults 0 0 10.10 +tmpfs /tmp tmpfs defaults 0 0 10.11 +#/dev/hda3 /home ext3 defaults 0 2 10.12 +#/dev/hdb1 /mnt/data ext3 defaults 0 2
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/core/overlay/etc/group Sat Dec 18 17:56:17 2010 +0000 11.3 @@ -0,0 +1,17 @@ 11.4 +root:x:0: 11.5 +lp:x:10: 11.6 +audio:x:20: 11.7 +messagebus:x:25: 11.8 +haldaemon:x:26: 11.9 +nogroup:x:99: 11.10 +www:x:80: 11.11 +cdrom:x:30: 11.12 +dialout:x:31: 11.13 +disk:x:32: 11.14 +floppy:x:33: 11.15 +kmem:x:34: 11.16 +tape:x:35: 11.17 +tty:x:36: 11.18 +vboxusers:x:37: 11.19 +video:x:38: 11.20 +clamav:x:39:
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/core/overlay/etc/gshadow Sat Dec 18 17:56:17 2010 +0000 12.3 @@ -0,0 +1,16 @@ 12.4 +root:*:: 12.5 +messagebus:!:: 12.6 +haldaemon:!:: 12.7 +audio:!:: 12.8 +nogroup:!:: 12.9 +www:!:: 12.10 +cdrom:!:: 12.11 +dialout:!:: 12.12 +disk:!:: 12.13 +floppy:!:: 12.14 +kmem:!:: 12.15 +tape:!:: 12.16 +tty:!:: 12.17 +vboxusers:!:: 12.18 +video:!:: 12.19 +clamav:!::
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2 +++ b/core/overlay/etc/init.d/bootopts.sh Sat Dec 18 17:56:17 2010 +0000 13.3 @@ -0,0 +1,224 @@ 13.4 +#!/bin/sh 13.5 +# /etc/init.d/bootopts.sh - SliTaz boot options from the cmdline. 13.6 +# 13.7 +# Earlier boot options are in rcS, ex: config= and modprobe= 13.8 +# 13.9 +. /etc/init.d/rc.functions 13.10 + 13.11 +# Update fstab for swapon/swapoff 13.12 +add_swap_in_fstab() 13.13 +{ 13.14 + grep -q "$1 " /etc/fstab || cat >> /etc/fstab <<EOT 13.15 +$1 swap swap default 0 0 13.16 +EOT 13.17 +} 13.18 + 13.19 +# Default user account without password (uid=1000). In live mode the option 13.20 +# user=name can be used, but user must be added before home= to have home dir. 13.21 +# This option is not handled by a loop and case like others and has no 13.22 +# effect on an installed system. 13.23 +if ! grep -q "100[0-9]:100[0-9]" /etc/passwd; then 13.24 + if grep -q "user=" /proc/cmdline; then 13.25 + USER=`cat /proc/cmdline | sed 's/.*user=\([^ ]*\).*/\1/'` 13.26 + # Avoid usage of an existing system user or root. 13.27 + if grep -q ^$USER /etc/passwd; then 13.28 + USER=tux 13.29 + fi 13.30 + else 13.31 + USER=tux 13.32 + fi 13.33 + echo -n "Configuring user and group: $USER..." 13.34 + echo "$USER:x:1000:1000:SliTaz User,,,:/home/$USER:/bin/sh" >> /etc/passwd 13.35 + echo "$USER::14035:0:99999:7:::" >> /etc/shadow 13.36 + echo "$USER:x:1000:" >> /etc/group 13.37 + echo "$USER:!::" >> /etc/gshadow 13.38 + status 13.39 + # Audio and cdrom group. 13.40 + addgroup $USER audio 13.41 + addgroup $USER cdrom 13.42 + addgroup $USER video 13.43 + # /home/$USER files from /etc/skel. 13.44 + if [ -d /etc/skel ]; then 13.45 + cp -a /etc/skel /home/$USER 13.46 + # Path for user desktop files. 13.47 + for i in /home/$USER/.local/share/applications/*.desktop 13.48 + do 13.49 + sed -i s/"user_name"/"$USER"/g $i 13.50 + done 13.51 + else 13.52 + mkdir -p /home/$USER 13.53 + fi 13.54 + # Set permissions. 13.55 + if [ ! $(ls -l | grep "$USER $USER" 2>/dev/null) ]; then 13.56 + chown -R $USER.$USER /home/$USER 13.57 + fi 13.58 + # Slim default user. 13.59 + if [ -f /etc/slim.conf ]; then 13.60 + sed -i s/"default_user .*"/"default_user $USER"/\ 13.61 + /etc/slim.conf 13.62 + fi 13.63 +fi 13.64 + 13.65 +# Parse /proc/cmdline for boot options. 13.66 +echo "Parsing kernel cmdline for SliTaz live options... " 13.67 + 13.68 +for opt in `cat /proc/cmdline` 13.69 +do 13.70 + case $opt in 13.71 + eject) 13.72 + # Eject cdrom. 13.73 + eject /dev/cdrom ;; 13.74 + autologin) 13.75 + # Autologin option to skip first graphic login prompt. 13.76 + echo "auto_login yes" >> /etc/slim.conf ;; 13.77 + lang=*) 13.78 + # Check for a specified locale (lang=*). 13.79 + LANG=${opt#lang=} 13.80 + echo -n "Setting system locale to: $LANG... " 13.81 + echo "LANG=$LANG" > /etc/locale.conf 13.82 + echo "LC_ALL=$LANG" >> /etc/locale.conf 13.83 + [ ! -d /usr/lib/locale/$LANG ] && localedef \ 13.84 + -i $LANG -c -f UTF-8 /usr/lib/locale/$LANG & 13.85 + tazlocale link-files 13.86 + status ;; 13.87 + kmap=*) 13.88 + # Check for a specified keymap (kmap=*). 13.89 + KEYMAP=${opt#kmap=} 13.90 + echo -n "Setting system keymap to: $KEYMAP..." 13.91 + echo "$KEYMAP" > /etc/keymap.conf 13.92 + status ;; 13.93 + home=*) 13.94 + # Check for a specified home partition (home=*) and check for 13.95 + # user home dir. Note: home=usb is a shorter and easier way to 13.96 + # have home=/dev/sda1. 13.97 + DEVICE=${opt#home=} 13.98 + [ "$DEVICE" = "usb" ] && DEVICE=sda1 13.99 + echo "Home has been specified to $DEVICE..." 13.100 + USBDELAY=`cat /sys/module/usb_storage/parameters/delay_use` 13.101 + USBDELAY=$((1+$USBDELAY)) 13.102 + echo "Sleeping $USBDELAY s to let the kernel detect the device... " 13.103 + sleep $USBDELAY 13.104 + USER=`cat /etc/passwd | grep 1000 | cut -d ":" -f 1` 13.105 + DEVID=$DEVICE 13.106 + if [ -x /sbin/blkid ]; then 13.107 + # Can be a label, uuid or devname. DEVID gives us first: /dev/name. 13.108 + DEVID=`/sbin/blkid | grep $DEVICE | cut -d: -f1` 13.109 + DEVID=${DEVID##*/} 13.110 + fi 13.111 + if [ -n "$DEVID" ] && grep -q "$DEVID" /proc/partitions ; then 13.112 + echo "Mounting /home on /dev/$DEVID... " 13.113 + [ -d /home/$USER ] && mv /home/$USER /tmp/$USER-files 13.114 + mount /dev/$DEVID /home -o uid=1000,gid=1000 2>/dev/null \ 13.115 + || mount /dev/$DEVID /home 13.116 + # Check if swap file must be generated in /home: swap=size (Mb). 13.117 + # This option is only used within home=device. 13.118 + if grep -q "swap=[1-9]*" /proc/cmdline; then 13.119 + SWAP_SIZE=`cat /proc/cmdline | sed 's/.*swap=\([^ ]*\).*/\1/'` 13.120 + # DD to gen a virtual disk. 13.121 + echo "Generating swap file: /home/swap ($SWAP_SIZE)..." 13.122 + dd if=/dev/zero of=/home/swap bs=1M count=$SWAP_SIZE 13.123 + # Make the Linux swap filesystem. 13.124 + mkswap /home/swap 13.125 + add_swap_in_fstab /home/swap 13.126 + fi 13.127 + else 13.128 + echo "Unable to find $DEVICE... " 13.129 + fi 13.130 + # Move all user dir if needed. 13.131 + if [ ! -d "/home/$USER" ] ; then 13.132 + mv /tmp/$USER-files /home/$USER 13.133 + chown -R $USER.$USER /home/$USER 13.134 + else 13.135 + rm -rf /tmp/$USER-files 13.136 + fi 13.137 + # Install all packages in /home/boot/packages. In live CD and 13.138 + # USB mode the option home= mounts the device on /home, so we 13.139 + # already have a boot directory with the Kernel and rootfs. 13.140 + if [ -d "/home/boot/packages" ]; then 13.141 + for pkg in /home/boot/packages/*.tazpkg 13.142 + do 13.143 + tazpkg install $pkg 13.144 + done 13.145 + fi ;; 13.146 + laptop) 13.147 + # Laptop option to load related Kernel modules. 13.148 + echo "Loading laptop modules: ac, battery, fan, yenta_socket..." 13.149 + for mod in ac battery fan yenta_socket 13.150 + do 13.151 + modprobe $mod 13.152 + done 13.153 + grep -qs batt /etc/lxpanel/default/panels/panel || 13.154 + sed -i 's/= cpu/= batt\n}\n\nPlugin {\n type = cpu/' \ 13.155 + /etc/lxpanel/default/panels/panel 2> /dev/null 13.156 + # Enable Kernel Laptop mode. 13.157 + echo "5" > /proc/sys/vm/laptop_mode ;; 13.158 + mount) 13.159 + # Mount all ext3 partitions found (opt: mount). 13.160 + # Get the list of partitions. 13.161 + DEVICES_LIST=`fdisk -l | grep 83 | cut -d " " -f 1` 13.162 + # Mount filesystems rw. 13.163 + for device in $DEVICES_LIST 13.164 + do 13.165 + name=${device#/dev/} 13.166 + # Device can be already used by home=usb. 13.167 + if ! mount | grep ^$device >/dev/null; then 13.168 + echo "Mounting partition: $name on /mnt/$name" 13.169 + mkdir /mnt/$name 13.170 + mount $device /mnt/$name 13.171 + fi 13.172 + done ;; 13.173 + mount-packages) 13.174 + # Mount and install packages-XXX.iso (useful without Internet 13.175 + # connection). 13.176 + PKGSIGN="LABEL=\"packages-$(cat /etc/slitaz-release)\" TYPE=\"iso9660\"" 13.177 + PKGDEV=$(blkid | grep "$PKGSIGN" | cut -d: -f1) 13.178 + [ -z "$PKGDEV" -a -L /dev/cdrom ] && \ 13.179 + PKGDEV=$(blkid /dev/cdrom | grep "$PKGSIGN" | cut -d: -f1) 13.180 + if [ -n "$PKGDEV" ]; then 13.181 + echo -n "Mounting packages archive from $PKGDEV..." 13.182 + mkdir /packages && mount -t iso9660 -o ro $PKGDEV /packages 13.183 + status 13.184 + /packages/install.sh 13.185 + fi ;; 13.186 + wm=*) 13.187 + # Check for a Window Manager (for a flavor, default WM can be changed 13.188 + # with boot options or with an addfile in /etc/X11/wm.default. 13.189 + WM=${opt#wm=} 13.190 + mkdir -p /etc/X11 13.191 + case $WM in 13.192 + jwm) 13.193 + echo "jwm" > /etc/X11/wm.default ;; 13.194 + ob|openbox|openbox-session) 13.195 + echo "openbox" > /etc/X11/wm.default ;; 13.196 + e17|enlightenment|enlightenment_start) 13.197 + echo "enlightenment" > /etc/X11/wm.default ;; 13.198 + fluxbox|startfluxbox) 13.199 + echo "fluxbox" > /etc/X11/wm.default ;; 13.200 + awesome) 13.201 + echo "awesome" > /etc/X11/wm.default ;; 13.202 + pekwm) 13.203 + echo "pekwm" > /etc/X11/wm.default ;; 13.204 + xfce|xfce4|xfce4-session) 13.205 + echo "xfce" > /etc/X11/wm.default ;; 13.206 + esac ;; 13.207 + *) 13.208 + continue ;; 13.209 + esac 13.210 +done 13.211 + 13.212 +# If no default WM fallback to Openbox (we never know). 13.213 +if [ ! -f /etc/X11/wm.default ]; then 13.214 + echo "openbox" > /etc/X11/wm.default 13.215 +fi 13.216 + 13.217 +# Activate an eventual swap file or partition. 13.218 +if [ "`fdisk -l | grep swap`" ]; then 13.219 + for SWAP_DEV in `fdisk -l | grep swap | awk '{ print $1 }'`; do 13.220 + echo "Swap memory detected on: $SWAP_DEV" 13.221 + add_swap_in_fstab $SWAP_DEV 13.222 + done 13.223 +fi 13.224 +if grep -q swap /etc/fstab; then 13.225 + echo "Activating swap memory..." 13.226 + swapon -a 13.227 +fi
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/core/overlay/etc/passwd Sat Dec 18 17:56:17 2010 +0000 14.3 @@ -0,0 +1,7 @@ 14.4 +root:x:0:0:Root Administrator:/root:/bin/sh 14.5 +nobody:x:99:99:Unprivileged User:/dev/null:/bin/false 14.6 +www:x:80:80:Web Server User:/var/www:/bin/false 14.7 +messagebus:x:25:25:DBUS Daemon User:/dev/null:/bin/false 14.8 +haldaemon:x:26:26:HAL Daemon User:/dev/null:/bin/false 14.9 +clamav:x:39:39:Linux User,,,:/home/clamav:/bin/false 14.10 +privoxy:x:40:40:Linux User,,,:/home/privoxy:/bin/false
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2 +++ b/core/overlay/etc/shadow Sat Dec 18 17:56:17 2010 +0000 15.3 @@ -0,0 +1,7 @@ 15.4 +root:$1$EbR327ag$7NFmnOi7JQc5/lG0JLiU8/:13525:0:99999:7::: 15.5 +nobody:*:13509:0:99999:7::: 15.6 +www:*:13509:0:99999:7::: 15.7 +messagebus:!:14013:0:99999:7::: 15.8 +haldaemon:!:14013:0:99999:7::: 15.9 +clamav:!:14945:0:99999:7::: 15.10 +privoxy:!:14945:0:99999:7:::
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2 +++ b/core/overlay/etc/slim.conf Sat Dec 18 17:56:17 2010 +0000 16.3 @@ -0,0 +1,80 @@ 16.4 +# /etc/slim.conf: Slim login manger configuration file 16.5 +# 16.6 + 16.7 +# Path, X server and arguments (if needed) 16.8 +# Note: -xauth $authfile is automatically appended 16.9 +default_path ./:/bin:/usr/bin:/usr/local/bin 16.10 +default_xserver /usr/bin/Xvesa 16.11 +xserver_arguments -ac -shadow dpms +extension Composite -screen 1024x768x24 16.12 + 16.13 +# Commands for halt, login, etc. 16.14 +halt_cmd /sbin/poweroff 16.15 +reboot_cmd /sbin/reboot 16.16 +console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -l -c "exec /bin/login" 16.17 +#suspend_cmd /usr/sbin/suspend 16.18 + 16.19 +# Full path to the xauth binary 16.20 +xauth_path /usr/bin/xauth 16.21 + 16.22 +# Xauth file for server 16.23 +authfile /var/run/slim.auth 16.24 + 16.25 +# Activate numlock when slim starts. Valid values: on|off 16.26 +# numlock on 16.27 + 16.28 +# Hide the mouse cursor (note: does not work with some WMs). 16.29 +# Valid values: true|false 16.30 +hidecursor true 16.31 + 16.32 +# This command is executed after a succesful login. 16.33 +# you can place the %session and %theme variables 16.34 +# to handle launching of specific commands in .xinitrc 16.35 +# depending of chosen session and slim theme 16.36 +login_cmd exec /bin/sh -l ~/.xinitrc %session 16.37 + 16.38 +# Commands executed when starting and exiting a session. 16.39 +# They can be used for registering a X11 session with 16.40 +# sessreg. You can use the %user variable 16.41 +# 16.42 +# sessionstart_cmd some command 16.43 +# sessionstop_cmd some command 16.44 + 16.45 +# Start in daemon mode. Valid values: yes | no 16.46 +# Note that this can overridden by the command line 16.47 +# option "-d" 16.48 +#daemon yes 16.49 + 16.50 +# Available sessions (first one is the default). 16.51 +# The current chosen session name is replaced in the login_cmd 16.52 +# above, so your login command can handle different sessions. 16.53 +# see the xinitrc.sample file shipped with slim sources 16.54 +sessions openbox,e17,jwm,xfce,fluxbox 16.55 + 16.56 +# Executed when pressing F11 (requires imagemagick) 16.57 +#screenshot_cmd mtpaint -s /root/slim-shot.png 16.58 + 16.59 +# welcome message. Available variables: %host, %domain 16.60 +welcome_msg Welcome to %host 16.61 + 16.62 +# shutdown / reboot messages 16.63 +shutdown_msg The system is going down... 16.64 +reboot_msg The system is rebooting... 16.65 + 16.66 +# default user, leave blank or remove this line 16.67 +# for avoid pre-loading the username. 16.68 +default_user tux 16.69 + 16.70 +# current theme, use comma separated list to specify a set to 16.71 +# randomly choose from 16.72 +current_theme slitaz,base 16.73 + 16.74 +# Lock file 16.75 +lockfile /var/lock/slim.lock 16.76 + 16.77 +# Log file 16.78 +logfile /var/log/slim.log 16.79 + 16.80 +# Let normal users have access to systems commands. If the value is true, 16.81 +# then the root password is requiered to start a system command. 16.82 +# Valid values: true|false 16.83 +# root_password false
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/core/rootcd/README Sat Dec 18 17:56:17 2010 +0000 17.3 @@ -0,0 +1,66 @@ 17.4 +README SliTaz GNU/Linux CD November 2010 17.5 +=============================================================================== 17.6 + 17.7 + 17.8 +Français 17.9 +-------- 17.10 +Ce cdrom est un système autonome Live, il vous suffit de démarrer sur le CD 17.11 +(booter) et SliTaz se lance en mémoire vive (RAM), sans toucher à votre système 17.12 +actuel. SliTaz peut fonctionner des mois entiers sans redémarrer, le système 17.13 +peut fonctionner dans 144 Mb de mémoire vive et sur des machines sans disque dur. 17.14 +Mais SliTaz est aussi pleinement installable sur un disque dur et largement 17.15 +extensible via le gestionnaire de paquets et la compilation de nouvelles 17.16 +applications depuis les sources. 17.17 + 17.18 +Une fois le système lancé, vous disposez d'un shell ash, et vous pouvez retirer 17.19 +le cdrom, car SliTaz utilise la mémoire vive (RAM) de la machine. Le système 17.20 +fournit plus de 200 commandes Linux, navigateur web, client de chat IRC, 17.21 +support IDE, eth0, usb, le système X et bien plus {...}. 17.22 + 17.23 +SliTaz peut être utilisé pour réparer, et tester un disque dur avec fdisk, 17.24 +hdparm, ou les outils e2fsprogs. Le système et aussi pleinement installable 17.25 +avec l'outil slitaz-installer. 17.26 + 17.27 +Slitaz GNU/Linux est distribué sans aucune garantie et publié car 17.28 +potentiellement utile. SliTaz n'as aucune prétention, nous ne sommes que des 17.29 +passionnés par l'informatique libre, qui aimons la liberté et le partage. Sur 17.30 +le système vous trouverez le manuel d'utilisateur et la documentation dans : 17.31 +/usr/share/doc, et les licences complète dans : /usr/share/licenses. 17.32 + 17.33 +Havefun! 17.34 + 17.35 + 17.36 +English 17.37 +------- 17.38 +SliTaz is a micro GNU/Linux distro using BusyBox, a Linux kernel, and GNU 17.39 +free software. SliTaz also use goodies from the Debian project. The goal of 17.40 +SliTaz is to have a GNU/Linux distro working entirely in memory (RAM). SliTaz 17.41 +boots with Syslinux, provides more than 200 Linux commands, a SSH server/client 17.42 +powered by Dropbear, rescue tools, and much more {...}. 17.43 + 17.44 +On the system you will find documentation in /usr/share/doc, and the full 17.45 +GPL license in /usr/share/licenses. 17.46 + 17.47 + 17.48 +LICENSE 17.49 +------- 17.50 + 17.51 +Copyright (c) 2007 SliTaz GNU/Linux 17.52 + 17.53 +SliTaz is free software; you can redistribute it and/or modify 17.54 +it under the terms of the GNU General Public License as published by 17.55 +the Free Software Foundation; either version 3 of the License, or 17.56 +(at your option) any later version. 17.57 + 17.58 +SliTaz is distributed in the hope that it will be useful, 17.59 +but WITHOUT ANY WARRANTY; without even the implied warranty of 17.60 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17.61 +GNU General Public License for more details. 17.62 + 17.63 +You should have received a copy of the GNU General Public License 17.64 +along with SliTaz; if not, write to the Free Software 17.65 +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17.66 + 17.67 + 17.68 +=============================================================================== 17.69 + http://www.slitaz.org/
18.1 Binary file core/rootcd/images/header.png has changed
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/core/rootcd/index.html Sat Dec 18 17:56:17 2010 +0000 19.3 @@ -0,0 +1,64 @@ 19.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 19.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 19.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 19.7 +<head> 19.8 + <title>SliTaz GNU/Linux - CD</title> 19.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 19.10 + <meta name="description" content="SliTaz documentation book" /> 19.11 + <meta name="expires" content="never" /> 19.12 + <meta name="modified" content="2007-10-07 20:30:00" /> 19.13 + <meta name="publisher" content="www.slitaz.org" /> 19.14 + <meta name="author" content="Christophe Lincoln"/> 19.15 + <link rel="stylesheet" type="text/css" href="style.css" /> 19.16 +</head> 19.17 +<body bgcolor="#ffffff"> 19.18 +<!-- Header --> 19.19 +<div id="header"> 19.20 + <a name="top"></a> 19.21 + <h1>SliTaz GNU/Linux - CD</h1> 19.22 +</div> 19.23 + 19.24 +<!-- Content --> 19.25 +<div id="content"> 19.26 +<h2><font color="#DF8F06">LiveCD informations</font></h2> 19.27 + 19.28 +<h3><font color="#9c2424">Français</font></h3> 19.29 +<p> 19.30 +Bienvenue sur la page d'index d'un cdrom de SliTaz GNU/Linux. Lisez le 19.31 +fichier <a href="README">README</a> pour de plus amples informations, ou 19.32 +démarrez votre ordinateur avec le cdrom dans le lecteur CD ou DVD, pour 19.33 +lancer SliTaz en RAM et sans risques pour la machine hôte. 19.34 +</p> 19.35 + 19.36 +<h3><font color="#9c2424">English</font></h3> 19.37 +<p> 19.38 +Welcome to the SliTaz GNU/Linux cdrom. SliTaz is mostly documented in French, 19.39 +but the full system is available in English. To boot SliTaz from a cdrom 19.40 +just burn the ISO image onto a blank disc. Then reboot your computer with 19.41 +the disc in your cdrom drive. 19.42 +</p> 19.43 +<p> 19.44 +Have fun!<br /> 19.45 +- SliTaz community 19.46 +</p> 19.47 + 19.48 +</div> 19.49 +<!-- End content --> 19.50 +<hr /> 19.51 +<!-- Footer --> 19.52 +<div align="center" id="footer"> 19.53 +<p> 19.54 +<font size="-1"> 19.55 + <a href="#top">Haut de la page</a> 19.56 +</font> 19.57 +</p> 19.58 +<p> 19.59 +<font size="-1"> 19.60 + Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> - 19.61 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a><br /> 19.62 + Code <a href="http://validator.w3.org/">XHTML 1.0 valide</a>. 19.63 +</font> 19.64 +</p> 19.65 +</div> 19.66 +</body> 19.67 +</html>
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/core/rootcd/style.css Sat Dec 18 17:56:17 2010 +0000 20.3 @@ -0,0 +1,57 @@ 20.4 +/* CSS style for SliTaz GNU/Linux generic xHTML files. */ 20.5 +body { 20.6 + font: 90% sans-serif, vernada, arial; 20.7 + margin: 0; 20.8 + } 20.9 +/* Header */ 20.10 +#header{ 20.11 + background: #BFB06B url(images/header.png) repeat-x top; 20.12 + color: black; 20.13 + width: 100%; 20.14 + height: 50px ; 20.15 + border-top: 1px solid black; 20.16 + border-bottom: 1px solid black; 20.17 + } 20.18 +#content { 20.19 + margin: 0px 50px 26px 50px; 20.20 + } 20.21 +#footer { 20.22 + border-top: 1px solid black; 20.23 + } 20.24 +a { 20.25 + text-decoration: underline; 20.26 + } 20.27 +a:hover { 20.28 + text-decoration: none; 20.29 + } 20.30 +h1 { 20.31 + margin: 10px 0px 0px 6px; 20.32 + } 20.33 +h2 { 20.34 + margin: 12px 0; 20.35 + } 20.36 +pre { 20.37 + padding: 5px; 20.38 + color: black; 20.39 + background: #e1e0b0; 20.40 + } 20.41 +pre.script { 20.42 + padding: 10px; 20.43 + color: black; 20.44 + background: #e8e8e8; 20.45 + border: 1px inset #333333; 20.46 +} 20.47 +li { 20.48 + line-height: 1.4em; 20.49 + } 20.50 +code { 20.51 + font-size: 100%; 20.52 + color: #669900; 20.53 + background: transparent; 20.54 + } 20.55 +hr { 20.56 + color: white; 20.57 + background-color: white; 20.58 + height: 1px; 20.59 + border: 0; 20.60 + }
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2 +++ b/initramfs/initramfs.list Sat Dec 18 17:56:17 2010 +0000 21.3 @@ -0,0 +1,11 @@ 21.4 +busybox 21.5 +glibc-base 21.6 +kbd-busybox 21.7 +linux 21.8 +slitaz-base-files 21.9 +slitaz-boot-scripts 21.10 +zlib 21.11 +linux-squashfs 21.12 +aufs 21.13 +module-init-tools 21.14 +util-linux-ng-blkid
22.1 --- a/list/a.001.justx.list Thu Dec 16 09:28:36 2010 +0000 22.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 22.3 @@ -1,96 +0,0 @@ 22.4 -busybox 22.5 -bzlib 22.6 -cairo 22.7 -cdrkit 22.8 -dbus 22.9 -dbus-glib 22.10 -dialog 22.11 -dropbear 22.12 -e2fsprogs 22.13 -expat 22.14 -fontconfig 22.15 -freetype 22.16 -gcc-lib-base 22.17 -glib 22.18 -glibc-base 22.19 -gpxe 22.20 -grub4dos-linux 22.21 -hal 22.22 -isapnptools 22.23 -jpeg 22.24 -kbd-busybox 22.25 -libcap 22.26 -libcomerr 22.27 -libcrypto 22.28 -libgcrypt 22.29 -libgio 22.30 -libpng 22.31 -libxml2 22.32 -linux 22.33 -locale-de 22.34 -locale-es 22.35 -locale-fr 22.36 -locale-pt 22.37 -lzlib 22.38 -lzma 22.39 -nano 22.40 -ncurses 22.41 -openbox 22.42 -pango 22.43 -pciutils 22.44 -pcmciautils 22.45 -pcre 22.46 -pixman 22.47 -popt 22.48 -ppp 22.49 -rp-pppoe 22.50 -slim 22.51 -slitaz-base-files 22.52 -slitaz-boot-scripts 22.53 -slitaz-doc 22.54 -slitaz-polar-cursors 22.55 -slitaz-tools 22.56 -sqlite 22.57 -startup-notification 22.58 -sysfsutils 22.59 -syslinux 22.60 -syslinux-extra 22.61 -tazlito 22.62 -tazpkg 22.63 -tazusb 22.64 -tazwok 22.65 -tiff 22.66 -ttf-dejavu 22.67 -udev 22.68 -xorg-base-fonts 22.69 -xorg-libfontenc 22.70 -xorg-libICE 22.71 -xorg-libSM 22.72 -xorg-libX11 22.73 -xorg-libXau 22.74 -xorg-libXaw 22.75 -xorg-libXcomposite 22.76 -xorg-libXcursor 22.77 -xorg-libXdamage 22.78 -xorg-libXdmcp 22.79 -xorg-libXext 22.80 -xorg-libXfixes 22.81 -xorg-libXfont 22.82 -xorg-libXft 22.83 -xorg-libXi 22.84 -xorg-libXinerama 22.85 -xorg-libXmu 22.86 -xorg-libXpm 22.87 -xorg-libXrandr 22.88 -xorg-libXrender 22.89 -xorg-libXt 22.90 -xorg-libXtst 22.91 -xorg-rgb 22.92 -xorg-server 22.93 -xorg-setxkbmap 22.94 -xorg-xauth 22.95 -xorg-xf86-input-evdev 22.96 -xorg-xf86-video-vesa 22.97 -xorg-xsetroot 22.98 -xterm 22.99 -zlib
23.1 --- a/list/a.002.core-basic.list Thu Dec 16 09:28:36 2010 +0000 23.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 23.3 @@ -1,155 +0,0 @@ 23.4 -atk 23.5 -busybox 23.6 -bzlib 23.7 -cairo 23.8 -cdrkit 23.9 -clearlooks 23.10 -dbus 23.11 -dbus-glib 23.12 -dialog 23.13 -dropbear 23.14 -e2fsprogs 23.15 -expat 23.16 -fontconfig 23.17 -freetype 23.18 -gamin 23.19 -gcc-lib-base 23.20 -get-wifi-firmware 23.21 -glib 23.22 -glibc-base 23.23 -gpxe 23.24 -grub4dos-linux 23.25 -gtk+ 23.26 -gtkdialog 23.27 -hal 23.28 -hardinfo 23.29 -hicolor-icon-theme 23.30 -isapnptools 23.31 -jpeg 23.32 -kbd-busybox 23.33 -leafpad 23.34 -libcap 23.35 -libcomerr 23.36 -libgio 23.37 -libglade 23.38 -libpng 23.39 -libxml2 23.40 -linux 23.41 -linux-wireless 23.42 -linux-sound 23.43 -locale-de 23.44 -locale-es 23.45 -locale-fr 23.46 -locale-pt 23.47 -lxappearance 23.48 -lxpanel 23.49 -lxtask 23.50 -lzlib 23.51 -lzma 23.52 -nano 23.53 -nanochess 23.54 -ncurses 23.55 -ncursesw 23.56 -obconf 23.57 -openbox 23.58 -pango 23.59 -pciutils 23.60 -pcmanfm 23.61 -pcmciautils 23.62 -pcre 23.63 -pixman 23.64 -popt 23.65 -ppp 23.66 -rp-pppoe 23.67 -shared-mime-info 23.68 -slim 23.69 -slitaz-base-files 23.70 -slitaz-boot-scripts 23.71 -slitaz-configs 23.72 -slitaz-doc 23.73 -slitaz-icon 23.74 -slitaz-menus 23.75 -slitaz-polar-cursors 23.76 -slitaz-tools 23.77 -slitaz-tools-boxes 23.78 -sqlite 23.79 -startup-notification 23.80 -sysfsutils 23.81 -syslinux 23.82 -syslinux-extra 23.83 -tazlito 23.84 -tazpkg 23.85 -tazusb 23.86 -tazwikiss 23.87 -tazwok 23.88 -tiff 23.89 -transset-df 23.90 -ttf-dejavu 23.91 -udev 23.92 -xorg 23.93 -xorg-base-fonts 23.94 -xorg-libfontenc 23.95 -xorg-libICE 23.96 -xorg-libSM 23.97 -xorg-libX11 23.98 -xorg-libXau 23.99 -xorg-libXaw 23.100 -xorg-libXcomposite 23.101 -xorg-libXcursor 23.102 -xorg-libXdamage 23.103 -xorg-libXdmcp 23.104 -xorg-libXext 23.105 -xorg-libXfixes 23.106 -xorg-libXfont 23.107 -xorg-libXft 23.108 -xorg-libXi 23.109 -xorg-libXinerama 23.110 -xorg-libXmu 23.111 -xorg-libXpm 23.112 -xorg-libXrandr 23.113 -xorg-libXrender 23.114 -xorg-libXt 23.115 -xorg-libXtst 23.116 -xorg-rgb 23.117 -xorg-xauth 23.118 -xorg-xcompmgr 23.119 -xterm 23.120 -zlib 23.121 -libcrypto 23.122 -wireless_tools 23.123 -wpa_supplicant 23.124 -mtpaint 23.125 -libnotify 23.126 -transmission 23.127 -alsa-lib 23.128 -alsaplayer 23.129 -alsa-utils 23.130 -asunder 23.131 -galculator 23.132 -ntfs-3g 23.133 -ntfsprogs 23.134 -web-applications 23.135 -viewnior 23.136 -sudoku-savant 23.137 -desktop-file-utils 23.138 -xorg-server 23.139 -xorg-xf86-input-evdev 23.140 -xorg-xf86-video-vesa 23.141 -xorg-setxkbmap 23.142 -mhwaveedit 23.143 -isomaster 23.144 -gcolor2 23.145 -lostirc 23.146 -gparted 23.147 -beaver 23.148 -lua 23.149 -epdfview 23.150 -915resolution 23.151 -libunique 23.152 -libwebkit 23.153 -midori 23.154 -gettext-base 23.155 -xorg-xf86-input-synaptics 23.156 -htop 23.157 -aufs-utils 23.158 -squashfs
24.1 --- a/list/a.003.mesa.list Thu Dec 16 09:28:36 2010 +0000 24.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 24.3 @@ -1,3 +0,0 @@ 24.4 -mesa 24.5 -mesa-dri 24.6 -mesa-demos 24.7 \ No newline at end of file
25.1 --- a/list/a.004.xorg-xf86-video.list Thu Dec 16 09:28:36 2010 +0000 25.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 25.3 @@ -1,13 +0,0 @@ 25.4 -xorg-xf86-video-ati 25.5 -xorg-xf86-video-i740 25.6 -xorg-xf86-video-intel 25.7 -#xorg-xf86-video-mga 25.8 -xorg-xf86-video-neomagic 25.9 -xorg-xf86-video-nv 25.10 -xorg-xf86-video-openchrome 25.11 -xorg-xf86-video-s3 25.12 -xorg-xf86-video-savage 25.13 -xorg-xf86-video-sis 25.14 -xorg-xf86-video-trident 25.15 -xorg-xf86-video-v4l 25.16 -xorg-xf86-video-vmware 25.17 \ No newline at end of file
26.1 --- a/list/a.005.firefox.list Thu Dec 16 09:28:36 2010 +0000 26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 26.3 @@ -1,1 +0,0 @@ 26.4 -firefox 26.5 \ No newline at end of file
27.1 --- a/list/a.006.libs.list Thu Dec 16 09:28:36 2010 +0000 27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 27.3 @@ -1,54 +0,0 @@ 27.4 -abiword 27.5 -gnumeric 27.6 -mplayer 27.7 -devede 27.8 -gtkpod 27.9 -gpodder 27.10 -pidgin 27.11 -uget 27.12 -geany 27.13 -deluge 27.14 -mixxx 27.15 -lmms 27.16 -hydrogen 27.17 -gimp 27.18 -gimp-plug-ins 27.19 -gimp-console 27.20 -inkscape 27.21 -xarchiver 27.22 -comix 27.23 -zsnes 27.24 -stella 27.25 -pcsxr-svn 27.26 -visualboyadvance-gtk 27.27 -virtualbox-ose 27.28 -vlc 27.29 -recorder 27.30 -wine 27.31 -#libs-only 27.32 -python 27.33 -patch 27.34 -openssl 27.35 -openssh 27.36 -zip 27.37 -unzip 27.38 -bzip2 27.39 -xz 27.40 -libarchive 27.41 -get-rar 27.42 -perl 27.43 -get-flash-plugin 27.44 -ttf-dejavu-extra 27.45 -libdvdcss 27.46 -libdvdread 27.47 -mpg123 27.48 -dvd+rw-tools 27.49 -openal 27.50 -physfs 27.51 -quesoglc 27.52 -libsdl-net 27.53 -libsdl-pango 27.54 -libsdl-mixer 27.55 -libsdl-perl 27.56 -perl-locale-gettext 27.57 -espeak 27.58 \ No newline at end of file
28.1 --- a/list/a.006.libs.removelist Thu Dec 16 09:28:36 2010 +0000 28.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 28.3 @@ -1,27 +0,0 @@ 28.4 -abiword 28.5 -gnumeric 28.6 -mplayer 28.7 -devede 28.8 -gtkpod 28.9 -gpodder 28.10 -pidgin 28.11 -uget 28.12 -geany 28.13 -deluge 28.14 -mixxx 28.15 -lmms 28.16 -hydrogen 28.17 -gimp 28.18 -gimp-plug-ins 28.19 -gimp-console 28.20 -inkscape 28.21 -xarchiver 28.22 -comix 28.23 -zsnes 28.24 -stella 28.25 -pcsxr-svn 28.26 -visualboyadvance-gtk 28.27 -virtualbox-ose 28.28 -vlc 28.29 -recorder 28.30 -wine 28.31 \ No newline at end of file
29.1 --- a/list/a.007.apps.list Thu Dec 16 09:28:36 2010 +0000 29.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 29.3 @@ -1,27 +0,0 @@ 29.4 -abiword 29.5 -gnumeric 29.6 -mplayer 29.7 -devede 29.8 -gtkpod 29.9 -gpodder 29.10 -pidgin 29.11 -uget 29.12 -geany 29.13 -deluge 29.14 -mixxx 29.15 -lmms 29.16 -hydrogen 29.17 -gimp 29.18 -gimp-plug-ins 29.19 -gimp-console 29.20 -inkscape 29.21 -xarchiver 29.22 -comix 29.23 -zsnes 29.24 -stella 29.25 -pcsxr-svn 29.26 -visualboyadvance-gtk 29.27 -virtualbox-ose 29.28 -vlc 29.29 -recorder 29.30 -#wine 29.31 \ No newline at end of file
30.1 --- a/list/a.008.mercurial.list Thu Dec 16 09:28:36 2010 +0000 30.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 30.3 @@ -1,1 +0,0 @@ 30.4 -mercurial 30.5 \ No newline at end of file
31.1 --- a/list/a.009.pentest.list Thu Dec 16 09:28:36 2010 +0000 31.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 31.3 @@ -1,23 +0,0 @@ 31.4 -aircrack-ng 31.5 -airpwn 31.6 -airsnort 31.7 -aaphoto 31.8 -aescrypt 31.9 -nmap 31.10 -snort 31.11 -nfs-utils 31.12 -wipe 31.13 -tor 31.14 -tinyproxy 31.15 -testdisk 31.16 -scanssh 31.17 -sshfs-fuse 31.18 -dd_rescue 31.19 -sleuthkit 31.20 -secure-delete 31.21 -privoxy 31.22 -magicrescue 31.23 -mdk3 31.24 -airoscript-ng 31.25 -disktype 31.26 -chntpw 31.27 \ No newline at end of file
32.1 --- a/list/a.010.clamav.list Thu Dec 16 09:28:36 2010 +0000 32.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 32.3 @@ -1,1 +0,0 @@ 32.4 -clamav 32.5 \ No newline at end of file
33.1 --- a/list/a.011.warzone2100.list Thu Dec 16 09:28:36 2010 +0000 33.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 33.3 @@ -1,1 +0,0 @@ 33.4 -warzone2100 33.5 \ No newline at end of file
34.1 --- a/list/a.012.frozen-bubble.list Thu Dec 16 09:28:36 2010 +0000 34.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 34.3 @@ -1,1 +0,0 @@ 34.4 -frozen-bubble 34.5 \ No newline at end of file
35.1 --- a/list/a.013.wine.list Thu Dec 16 09:28:36 2010 +0000 35.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 35.3 @@ -1,1 +0,0 @@ 35.4 -wine 35.5 \ No newline at end of file
36.1 --- a/list/initramfs.list Thu Dec 16 09:28:36 2010 +0000 36.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 36.3 @@ -1,14 +0,0 @@ 36.4 -busybox 36.5 -gcc-lib-base 36.6 -glibc-base 36.7 -kbd-busybox 36.8 -linux 36.9 -slitaz-base-files 36.10 -slitaz-boot-scripts 36.11 -sysfsutils 36.12 -udev 36.13 -zlib 36.14 -linux-squashfs 36.15 -aufs 36.16 -module-init-tools 36.17 -util-linux-ng-blkid
37.1 --- a/mkiso.sh Thu Dec 16 09:28:36 2010 +0000 37.2 +++ b/mkiso.sh Sat Dec 18 17:56:17 2010 +0000 37.3 @@ -15,7 +15,8 @@ 37.4 PUBLISHER="Slitaz" 37.5 APPLICATION="Slitaz" 37.6 CREATE_DEFAULT="n" 37.7 -PROFILE="$(pwd)" 37.8 +BASEDIR="$(pwd)" 37.9 +PROFILE="$BASEDIR/$1" 37.10 ver="" 37.11 CDNAME="slitaz" 37.12 RMSTUFF=n 37.13 @@ -35,8 +36,6 @@ 37.14 LASTBR="$INITRAMFS" 37.15 SGNFILE="$ISODIR/$CDNAME/livecd.sgn" 37.16 MODULES_DIR="$WORKING/modules" 37.17 -ROOT_MOD="$(ls -1 ${PROFILE}/list | head -1)" 37.18 -INIT_ROOT="$MODULES_DIR/$(basename ${ROOT_MOD} .list)" 37.19 HG_DIR="$WORKING/hg" 37.20 COPY_HG="no" 37.21 UPDATE_HG="no" 37.22 @@ -55,6 +54,11 @@ 37.23 # error "error: This script must be run as root." 37.24 # exit 1 37.25 #fi 37.26 +if [ "$1" = "" ]; then 37.27 + echo "$0 profile-name" 37.28 + echo "ex $0 core" 37.29 + exit 1 37.30 +fi 37.31 37.32 if [ -f ${PROFILE}/config ]; then 37.33 source ${PROFILE}/config 37.34 @@ -97,7 +101,7 @@ 37.35 37.36 initramfs () { 37.37 37.38 - if [ ! -e "$PROFILE/list/initramfs.list" ]; then 37.39 + if [ ! -e "$BASEDIR/initramfs/initramfs.list" ]; then 37.40 error "error: $PROFILE/list/initramfs.list doesn't exist, aborting." 37.41 exit 1 37.42 fi 37.43 @@ -113,7 +117,7 @@ 37.44 fi 37.45 37.46 info "Making bootable image" 37.47 - cat "$PROFILE/list/initramfs.list" | grep -v "^#" | while read pkgname; do 37.48 + cat "$BASEDIR/initramfs/initramfs.list" | grep -v "^#" | while read pkgname; do 37.49 if [ ! -f ${INITRAMFS}/var/lib/tazpkg/installed/${pkgname}/files.list ]; then 37.50 tazpkg get-install $pkgname --root=$INITRAMFS | tee -a $LOG/initramfs.log 37.51 sleep 1 37.52 @@ -130,14 +134,18 @@ 37.53 cp -f $INITRAMFS/boot/vmlinuz* $ISODIR/boot/bzImage 37.54 rm -f $INITRAMFS/boot/vmlinuz* 37.55 #fi 37.56 + 37.57 + if [ -d $PROFILE/rootcd ]; then 37.58 + cp -af $PROFILE/rootcd/* $ISODIR/ 37.59 + fi 37.60 37.61 info "Copying isolinux files..." 37.62 if [ -d $INST_ROOT/boot/isolinux ]; then 37.63 cp -a $INST_ROOT/boot/isolinux $ISODIR/boot 37.64 fi 37.65 37.66 - if [ -d $PROFILE/initramfs ]; then 37.67 - cp -af $PROFILE/initramfs/* $INITRAMFS 37.68 + if [ -d $BASEDIR/initramfs ]; then 37.69 + cp -af $BASEDIR/initramfs/* $INITRAMFS 37.70 fi 37.71 } 37.72 37.73 @@ -356,14 +364,14 @@ 37.74 fi 37.75 37.76 info "Creating ISO image..." 37.77 - genisoimage -R -o $IMGNAME -b boot/isolinux/isolinux.bin \ 37.78 - -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \ 37.79 - -V "SliTaz" -input-charset iso8859-1 -boot-info-table $ISODIR 37.80 + genisoimage -R -o $IMGNAME -b boot/isolinux/isolinux.bin \ 37.81 + -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \ 37.82 + -V "SliTaz" -input-charset iso8859-1 -boot-info-table $ISODIR 37.83 if [ -x /usr/bin/isohybrid ]; then 37.84 info "Creating hybrid ISO..." 37.85 isohybrid "${IMGNAME}" 37.86 fi 37.87 - md5sum "${IMGNAME}" > $IMGMD5NAME 37.88 + md5sum "${IMGNAME}" > $IMGMD5NAME 37.89 } 37.90 37.91 if [ "$MODULES" != "" ]; then
38.1 --- a/overlay/etc/fstab Thu Dec 16 09:28:36 2010 +0000 38.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 38.3 @@ -1,9 +0,0 @@ 38.4 -# /etc/fstab: Information about static filesystems. 38.5 -# 38.6 -proc /proc proc defaults 0 0 38.7 -sysfs /sys sysfs defaults 0 0 38.8 -devpts /dev/pts devpts defaults 0 0 38.9 -tmpfs /dev/shm tmpfs defaults 0 0 38.10 -tmpfs /tmp tmpfs defaults 0 0 38.11 -#/dev/hda3 /home ext3 defaults 0 2 38.12 -#/dev/hdb1 /mnt/data ext3 defaults 0 2
39.1 --- a/overlay/etc/group Thu Dec 16 09:28:36 2010 +0000 39.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 39.3 @@ -1,17 +0,0 @@ 39.4 -root:x:0: 39.5 -lp:x:10: 39.6 -audio:x:20: 39.7 -messagebus:x:25: 39.8 -haldaemon:x:26: 39.9 -nogroup:x:99: 39.10 -www:x:80: 39.11 -cdrom:x:30: 39.12 -dialout:x:31: 39.13 -disk:x:32: 39.14 -floppy:x:33: 39.15 -kmem:x:34: 39.16 -tape:x:35: 39.17 -tty:x:36: 39.18 -vboxusers:x:37: 39.19 -video:x:38: 39.20 -clamav:x:39:
40.1 --- a/overlay/etc/gshadow Thu Dec 16 09:28:36 2010 +0000 40.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 40.3 @@ -1,16 +0,0 @@ 40.4 -root:*:: 40.5 -messagebus:!:: 40.6 -haldaemon:!:: 40.7 -audio:!:: 40.8 -nogroup:!:: 40.9 -www:!:: 40.10 -cdrom:!:: 40.11 -dialout:!:: 40.12 -disk:!:: 40.13 -floppy:!:: 40.14 -kmem:!:: 40.15 -tape:!:: 40.16 -tty:!:: 40.17 -vboxusers:!:: 40.18 -video:!:: 40.19 -clamav:!::
41.1 --- a/overlay/etc/passwd Thu Dec 16 09:28:36 2010 +0000 41.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 41.3 @@ -1,7 +0,0 @@ 41.4 -root:x:0:0:Root Administrator:/root:/bin/sh 41.5 -nobody:x:99:99:Unprivileged User:/dev/null:/bin/false 41.6 -www:x:80:80:Web Server User:/var/www:/bin/false 41.7 -messagebus:x:25:25:DBUS Daemon User:/dev/null:/bin/false 41.8 -haldaemon:x:26:26:HAL Daemon User:/dev/null:/bin/false 41.9 -clamav:x:39:39:Linux User,,,:/home/clamav:/bin/false 41.10 -privoxy:x:40:40:Linux User,,,:/home/privoxy:/bin/false
42.1 --- a/overlay/etc/shadow Thu Dec 16 09:28:36 2010 +0000 42.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 42.3 @@ -1,7 +0,0 @@ 42.4 -root:$1$EbR327ag$7NFmnOi7JQc5/lG0JLiU8/:13525:0:99999:7::: 42.5 -nobody:*:13509:0:99999:7::: 42.6 -www:*:13509:0:99999:7::: 42.7 -messagebus:!:14013:0:99999:7::: 42.8 -haldaemon:!:14013:0:99999:7::: 42.9 -clamav:!:14945:0:99999:7::: 42.10 -privoxy:!:14945:0:99999:7:::
43.1 --- a/overlay/usr/bin/tazpkg Thu Dec 16 09:28:36 2010 +0000 43.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 43.3 @@ -1,2794 +0,0 @@ 43.4 -#!/bin/sh 43.5 -# Tazpkg - Tiny autonomous zone packages manager. 43.6 -# 43.7 -# This is a lightwight packages manager for *.tazpkg files, all written in 43.8 -# SHell script. It works well with Busybox ash shell and bash. Tazpkg lets you 43.9 -# list, install, remove, download or get information about a package. You can 43.10 -# use 'tazpkg usage' to get a list of commands with short descriptions. Tazpkg 43.11 -# also resolves dependencies and can upgrade packages from a mirror. I18n is 43.12 -# done with gettext and eval_gettext, ex: 43.13 -# gettext "displayed text"; echo 43.14 -# eval_gettext "display \$VARIABLE"; echo 43.15 -# echo -e "BOLD `gettext \"i18n message\"`" 43.16 -# 43.17 -# (C) 2007-2010 SliTaz - GNU General Public License v3. 43.18 -# 43.19 -# Authors : Christophe Lincoln <pankso@slitaz.org> 43.20 -# Pascal Bellard <pascal.bellard@slitaz.org> 43.21 -# Eric Joseph-Alexandre <erjo@slitaz.org> 43.22 -# Paul Issott <paul@slitaz.org> 43.23 -# Rohit Joshi <jozee@slitaz.org> 43.24 -# 43.25 -VERSION=4.0 43.26 - 43.27 -#################### 43.28 -# Script variables # 43.29 -#################### 43.30 - 43.31 -. /etc/slitaz/tazpkg.conf 43.32 - 43.33 -# Include gettext helper script. 43.34 -. /usr/bin/gettext.sh 43.35 - 43.36 -# Export package name for gettext. 43.37 -TEXTDOMAIN='tazpkg' 43.38 -export TEXTDOMAIN 43.39 - 43.40 -# Initialize some variables to use words rather than numbers for functions 43.41 -# and actions. 43.42 -COMMAND=$1 43.43 -if [ -f "$2" ]; then 43.44 - # Set pkg basename for install, extract 43.45 - PACKAGE=$(basename ${2%.tazpkg} 2>/dev/null) 43.46 -else 43.47 - # Pkg name for remove, search and all other cmds 43.48 - PACKAGE=${2%.tazpkg} 43.49 -fi 43.50 -PACKAGE_FILE=$2 43.51 -TARGET_DIR=$3 43.52 -TOP_DIR=`pwd` 43.53 -INSTALL_LIST="" 43.54 - 43.55 -# Path to tazpkg used dir and configuration files 43.56 -INSTALLED=$LOCALSTATE/installed 43.57 -MIRROR=$LOCALSTATE/mirror 43.58 -BLOCKED=$LOCALSTATE/blocked-packages.list 43.59 -DEFAULT_MIRROR="http://mirror.slitaz.org/packages/`cat /etc/slitaz-release`/" 43.60 - 43.61 -# Check if the directories and files used by Tazpkg 43.62 -# exist. If not and user is root we create them. 43.63 -if test $(id -u) = 0 ; then 43.64 - if [ ! -d "$CACHE_DIR" ]; then 43.65 - mkdir -p $CACHE_DIR 43.66 - fi 43.67 - if [ ! -d "$INSTALLED" ]; then 43.68 - mkdir -p $INSTALLED 43.69 - fi 43.70 - if [ ! -f "$LOCALSTATE/mirror" ]; then 43.71 - echo "$DEFAULT_MIRROR" > $LOCALSTATE/mirror 43.72 - fi 43.73 -fi 43.74 - 43.75 -#################### 43.76 -# Script functions # 43.77 -#################### 43.78 - 43.79 -# Print the usage. 43.80 -usage () 43.81 -{ 43.82 - echo -e "SliTaz package manager - Version: $VERSION\n 43.83 -\033[1mUsage:\033[0m tazpkg [command] [package|dir|pattern|list|cat|--opt] [dir|--opt] 43.84 - tazpkg shell\n 43.85 -\033[1mCommands: \033[0m 43.86 - usage Print this short usage. 43.87 - bugs Show known bugs in packages. 43.88 - list List installed packages on the system by category or all. 43.89 - xhtml-list Create a xHTML list of installed packages. 43.90 - list-mirror List all available packages on the mirror (--diff for new). 43.91 - info Print information about a package. 43.92 - desc Print description of a package (if it exists). 43.93 - list-files List the files installed with a package. 43.94 - list-config List the configuration files. 43.95 - search Search for a package by pattern or name (options: -i|-l|-m). 43.96 - search-pkgname Search on mirror for package having a particular file. 43.97 - search-file Search for file(s) in all installed packages files. 43.98 - install Install a local (*.tazpkg) package (--forced to force). 43.99 - install-list Install all packages from a list of packages. 43.100 - remove Remove the specified package and all installed files. 43.101 - extract Extract a (*.tazpkg) package into a directory. 43.102 - pack Pack an unpacked or prepared package tree. 43.103 - recharge Recharge your packages.list from the mirror. 43.104 - repack Create a package archive from an installed package. 43.105 - repack-config Create a package archive with configuration files. 43.106 - recompress Rebuild a package with the better compression ratio. 43.107 - upgrade Upgrade one or all installed/listed package(s) on the mirror. 43.108 - upgradeable Build upgradeable packages list quickly. 43.109 - block|unblock Block an installed package version or unblock it for upgrade. 43.110 - get Download a package into the current directory. 43.111 - get-install Download and install a package from the mirror. 43.112 - get-install-list Download and install a list of packages from the mirror. 43.113 - check Verify consistency of installed packages. 43.114 - add-flavor Install the flavor list of packages. 43.115 - install-flavor Install the flavor list of packages and remove other ones. 43.116 - set-release Change release and update packages. 43.117 - clean-cache Clean all packages downloaded in cache directory. 43.118 - depends Display dependencies tree. 43.119 - rdepends Display reverse dependencies tree. 43.120 - convert Convert a deb/rpm/tgz/arch package to a slitaz (.tazpkg). 43.121 - link Link a package from another slitaz installation. 43.122 - setup-mirror Change the mirror url configuration. 43.123 - list-undigest List undigest mirrors. 43.124 - remove-undigest Remove an undigest mirror. 43.125 - add-undigest Add an undigest mirror. 43.126 - setup-undigest Update an undigest mirror. 43.127 - reconfigure Replay post install script from package." 43.128 -} 43.129 - 43.130 -# Status function with color (supported by Ash). 43.131 -status() 43.132 -{ 43.133 - local CHECK=$? 43.134 - echo -en "\\033[70G[ " 43.135 - if [ $CHECK = 0 ]; then 43.136 - echo -en "\\033[1;33mOK" 43.137 - else 43.138 - echo -en "\\033[1;31mFailed" 43.139 - fi 43.140 - echo -e "\\033[0;39m ]" 43.141 - return $CHECK 43.142 -} 43.143 - 43.144 -# Check if user is root to install, or remove packages. 43.145 -check_root() 43.146 -{ 43.147 - if test $(id -u) != 0 ; then 43.148 - gettext \ 43.149 -"You must be root to run tazpkg with this option. Please use the command: 43.150 -su followed by the root password to become super-user."; echo 43.151 - echo "" && exit 0 43.152 - fi 43.153 -} 43.154 - 43.155 -# Check for a package name on cmdline. 43.156 -check_for_package_on_cmdline() 43.157 -{ 43.158 - if [ -z "$PACKAGE" ]; then 43.159 - echo "" 43.160 - gettext "Please specify a package name on the command line."; echo 43.161 - echo "" 43.162 - exit 0 43.163 - fi 43.164 -} 43.165 - 43.166 -# Check if the package (*.tazpkg) exist before installing or extracting. 43.167 -check_for_package_file() 43.168 -{ 43.169 - if [ ! -f "$PACKAGE_FILE" ]; then 43.170 - echo "" 43.171 - eval_gettext "Unable to find: \$PACKAGE_FILE"; echo 43.172 - echo "" && exit 0 43.173 - fi 43.174 -} 43.175 - 43.176 -# Check for the receipt of an installed package. 43.177 -check_for_receipt() 43.178 -{ 43.179 - if [ ! -f "$1$INSTALLED/$PACKAGE/receipt" ]; then 43.180 - FS=$1 43.181 - echo "" 43.182 - eval_gettext "Unable to find the receipt: \$FS\$INSTALLED/\$PACKAGE/receipt"; echo 43.183 - echo "" && exit 0 43.184 - fi 43.185 -} 43.186 - 43.187 -# Get package name in a directory 43.188 -package_fullname_in_dir() 43.189 -{ 43.190 - [ -f $2$1/receipt ] || return 43.191 - EXTRAVERSION="" 43.192 - . $2$1/receipt 43.193 - echo $PACKAGE-$VERSION$EXTRAVERSION 43.194 -} 43.195 - 43.196 -# Get package name that is already installed. 43.197 -get_installed_package_pathname() 43.198 -{ 43.199 - for i in $2$INSTALLED/${1%%-*}*; do 43.200 - [ -d $i ] || continue 43.201 - if [ "$1" = "$(package_fullname_in_dir $i $2)" ]; then 43.202 - echo $i 43.203 - return 43.204 - fi 43.205 - done 43.206 -} 43.207 - 43.208 -# Check if a package is already installed. 43.209 -check_for_installed_package() 43.210 -{ 43.211 - if [ -n "$(get_installed_package_pathname $PACKAGE $1)" ]; then 43.212 - echo "" 43.213 - eval_gettext "\$PACKAGE package is already installed. You can 43.214 -use the --forced option to force installation or remove it and reinstall."; echo 43.215 - echo "" && exit 0 43.216 - fi 43.217 -} 43.218 - 43.219 -# Check for packages.list to download and install packages. 43.220 -check_for_packages_list() 43.221 -{ 43.222 - if [ ! -f "$LOCALSTATE/packages.list" ]; then 43.223 - if test $(id -u) = 0 ; then 43.224 - tazpkg recharge 43.225 - else 43.226 - echo "" 43.227 - eval_gettext "Unable to find the list: \$LOCALSTATE/packages.list"; echo 43.228 - gettext \ 43.229 -"You must probably run 'tazpkg recharge' as root to get the latest list of 43.230 -packages available on the mirror."; echo 43.231 - echo "" && exit 0 43.232 - fi 43.233 - fi 43.234 -} 43.235 - 43.236 -# get an already installed package from packages.equiv 43.237 -equivalent_pkg() 43.238 -{ 43.239 - for i in $(grep -hs "^$1=" $LOCALSTATE/packages.equiv \ 43.240 - $LOCALSTATE/undigest/*/packages.equiv | sed "s/^$1=//"); do 43.241 - if echo $i | grep -q : ; then 43.242 - # format 'alternative:newname' 43.243 - # if alternative is installed then substitute newname 43.244 - if [ -f $2$INSTALLED/${i%:*}/receipt ]; then 43.245 - # substitute package dependancy 43.246 - echo ${i#*:} 43.247 - return 43.248 - fi 43.249 - else 43.250 - # if alternative is installed then nothing to install 43.251 - if [ -f $2$INSTALLED/$i/receipt ]; then 43.252 - # substitute installed package 43.253 - echo $i 43.254 - return 43.255 - fi 43.256 - fi 43.257 - done 43.258 - # if not found in packages.equiv then no substitution 43.259 - echo $1 43.260 -} 43.261 - 43.262 -# get a virtual package from packages.equiv 43.263 -virtual_pkg() 43.264 -{ 43.265 - for i in $(grep -hs "^$1=" $LOCALSTATE/packages.equiv \ 43.266 - $LOCALSTATE/undigest/*/packages.equiv | sed "s/^$1=//"); do 43.267 - if echo $i | grep -q : ; then 43.268 - # format 'alternative:newname' 43.269 - # if alternative is installed then substitute newname 43.270 - if [ -f $2$INSTALLED/${i%:*}/receipt ]; then 43.271 - # substitute package dependancy 43.272 - echo ${i#*:} 43.273 - return 43.274 - fi 43.275 - else 43.276 - # unconditional substitution 43.277 - echo $i 43.278 - return 43.279 - fi 43.280 - done 43.281 -} 43.282 - 43.283 -# Get package filename available on the mirror 43.284 -get_package_filename() 43.285 -{ 43.286 - local pkg 43.287 - pkg=$(grep -A 1 -sh "^$1$" $LOCALSTATE/packages.txt \ 43.288 - $LOCALSTATE/undigest/*/packages.txt | tail -1) 43.289 - pkg=$(echo $pkg) 43.290 - [ -n "$pkg" ] && pkg=$(grep -sh "^$1-$pkg" \ 43.291 - $LOCALSTATE/packages.list \ 43.292 - $LOCALSTATE/undigest/*/packages.list | head -1) 43.293 - [ -n "$pkg" ] || pkg=$(grep -sh "^$1-[0-9]" \ 43.294 - $LOCALSTATE/packages.list \ 43.295 - $LOCALSTATE/undigest/*/packages.list | head -1) 43.296 - [ -n "$pkg" ] || pkg=$(grep -sh "^$1-.[\.0-9]" \ 43.297 - $LOCALSTATE/packages.list \ 43.298 - $LOCALSTATE/undigest/*/packages.list | head -1) 43.299 - if [ -z "$pkg" ]; then 43.300 - # Check for vitual package 43.301 - local equiv 43.302 - equiv=$(virtual_pkg $1) 43.303 - if [ "$equiv" != "$1" ]; then 43.304 - PACKAGE=$equiv 43.305 - get_package_filename $PACKAGE 43.306 - return 43.307 - fi 43.308 - fi 43.309 - echo $pkg 43.310 -} 43.311 - 43.312 -# Check for a package in packages.list. Used by get and get-install to grep 43.313 -# package basename. 43.314 -check_for_package_in_list() 43.315 -{ 43.316 - local filename 43.317 - local check_only 43.318 - check_only="$1" 43.319 - filename=$(get_package_filename $PACKAGE) 43.320 - if [ -n "$filename" ]; then 43.321 - PACKAGE=$filename 43.322 - else 43.323 - echo "" 43.324 - eval_gettext "Unable to find: \$PACKAGE in the mirrored packages list."; echo 43.325 - echo "" 43.326 - [ -n "$check_only" ] && return 1 43.327 - exit 0 43.328 - fi 43.329 -} 43.330 - 43.331 -# Log this activity 43.332 -log() 43.333 -{ 43.334 - local extra 43.335 - [ "$1" = "Installed" ] && \ 43.336 - extra=" - $(grep $PACKAGE-$VERSION $LOCALSTATE/installed.md5 | awk '{ print $1 }')" 43.337 - [ -e $LOG ] || touch $LOG 43.338 - DATE=`date +'%F %T'` 43.339 - [ -w $LOG ] && 43.340 - echo "$DATE - $1 - $PACKAGE ($VERSION$EXTRAVERSION)$extra" >> $LOG 43.341 -} 43.342 - 43.343 -# Download a file from this mirror 43.344 -download_from() 43.345 -{ 43.346 - local i 43.347 - local mirrors 43.348 - mirrors="$1" 43.349 - shift 43.350 - for i in $mirrors; do 43.351 - case "$i" in 43.352 - http://*|ftp://*) wget -c $i$@ && break;; 43.353 - *) cp $i/$1 . && break;; 43.354 - esac 43.355 - done 43.356 -} 43.357 - 43.358 -# Download a file trying all mirrors 43.359 -download() 43.360 -{ 43.361 - local i 43.362 - case "$1" in 43.363 - *.tazpkg) 43.364 - for i in $LOCALSTATE $LOCALSTATE/undigest/* ; do 43.365 - grep "^${1%.tazpkg}$" $i/packages.list || continue 43.366 - download_from "$(cat $i/mirror)" "$@" && return 43.367 - done 43.368 - esac 43.369 - for i in $(cat $MIRROR $LOCALSTATE/undigest/*/mirror 2> /dev/null); do 43.370 - download_from "$i" "$@" && break 43.371 - done 43.372 -} 43.373 - 43.374 -# Extract a package with cpio and gzip/lzma. 43.375 -extract_package() 43.376 -{ 43.377 - gettext "Extracting $PACKAGE... " 43.378 - cpio -idm < $PACKAGE.tazpkg && rm -f $PACKAGE.tazpkg 43.379 - if [ -f fs.cpio.lzma ]; then 43.380 - gettext "Extracting the pseudo fs... " 43.381 - echo -n "(lzma) " 43.382 - unlzma -c fs.cpio.lzma | cpio -idm && rm fs.cpio.lzma 43.383 - elif [ -f fs.cpio.gz ]; then 43.384 - gettext "Extracting the pseudo fs... " 43.385 - zcat fs.cpio.gz | cpio -idm && rm fs.cpio.gz 43.386 - fi 43.387 -} 43.388 - 43.389 -remove_with_path() 43.390 -{ 43.391 - local dir 43.392 - rm -f $1 2>/dev/null 43.393 - dir="$1" 43.394 - while [ "$dir" != "/" ]; do 43.395 - dir="$(dirname $dir)" 43.396 - rmdir $dir 2> /dev/null || break 43.397 - done 43.398 -} 43.399 - 43.400 -grepesc() 43.401 -{ 43.402 - sed 's/\[/\\[/g' 43.403 -} 43.404 - 43.405 -# This function installs a package in the rootfs. 43.406 -install_package() 43.407 -{ 43.408 - ROOT=$1 43.409 - if [ -n "$ROOT" ]; then 43.410 - # Get absolute path 43.411 - ROOT=$(cd $ROOT; pwd) 43.412 - fi 43.413 - ( 43.414 - # Create package path early to avoid dependencies loop 43.415 - mkdir -p $TMP_DIR 43.416 - ( cd $TMP_DIR ; cpio --quiet -i receipt > /dev/null 2>&1) < $PACKAGE_FILE 43.417 - . $TMP_DIR/receipt 43.418 - if grep -q ^pre_depends $TMP_DIR/receipt; then 43.419 - pre_depends $ROOT 43.420 - fi 43.421 - # keep modifers and file list on upgrade 43.422 - cp $ROOT$INSTALLED/$PACKAGE/modifiers \ 43.423 - $ROOT$INSTALLED/$PACKAGE/files.list $TMP_DIR 2> /dev/null 43.424 - rm -rf $ROOT$INSTALLED/$PACKAGE 2> /dev/null 43.425 - # Make the installed package data dir to store 43.426 - # the receipt and the files list. 43.427 - mkdir -p $ROOT$INSTALLED/$PACKAGE 43.428 - cp $TMP_DIR/modifiers $ROOT$INSTALLED/$PACKAGE 2> /dev/null 43.429 - cp $TMP_DIR/files.list $ROOT$INSTALLED/$PACKAGE 2> /dev/null 43.430 - rm -rf $TMP_DIR 2> /dev/null 43.431 - sed -i "/ $(basename $PACKAGE_FILE)$/d" \ 43.432 - $ROOT$LOCALSTATE/installed.md5 2> /dev/null 43.433 - cd $(dirname $PACKAGE_FILE) 43.434 - md5sum $(basename $PACKAGE_FILE) >> $ROOT$LOCALSTATE/installed.md5 43.435 - ) 43.436 - # Resolve package deps. 43.437 - check_for_deps $ROOT 43.438 - if [ ! "$MISSING_PACKAGE" = "" ]; then 43.439 - install_deps $ROOT 43.440 - fi 43.441 - mkdir -p $TMP_DIR 43.442 - [ -n "$INSTALL_LIST" ] && echo "$PACKAGE_FILE" >> $INSTALL_LIST-processed 43.443 - echo "" 43.444 - echo -e "\033[1m`gettext \"Installation of :\"`\033[0m $PACKAGE" 43.445 - echo "================================================================================" 43.446 - eval_gettext "Copying \$PACKAGE... " 43.447 - cp $PACKAGE_FILE $TMP_DIR 43.448 - status 43.449 - cd $TMP_DIR 43.450 - extract_package 43.451 - SELF_INSTALL=0 43.452 - EXTRAVERSION="" 43.453 - CONFIG_FILES="" 43.454 - # Include temporary receipt to get the right variables. 43.455 - . $PWD/receipt 43.456 - cd $ROOT$INSTALLED 43.457 - if [ $SELF_INSTALL -ne 0 -a -n "$ROOT" ]; then 43.458 - gettext "Checking post install dependencies... " 43.459 - [ -f $INSTALLED/$PACKAGE/receipt ] 43.460 - if ! status; then 43.461 - eval_gettext "Please run 'tazpkg install \$PACKAGE_FILE' in / and retry."; echo 43.462 - rm -rf $TMP_DIR 43.463 - exit 1 43.464 - fi 43.465 - fi 43.466 - # Get files to remove if upgrading 43.467 - if [ -f $PACKAGE/files.list ]; then 43.468 - while read file; do 43.469 - grep -q "^$(echo $file | grepesc)$" $TMP_DIR/files.list && continue 43.470 - for i in $(cat $PACKAGE/modifiers 2> /dev/null ; 43.471 - grep -sl $PACKAGE */modifiers | cut -d/ -f1 ); do 43.472 - grep -qs "^$(echo $file | grepesc)$" $i/files.list && continue 2 43.473 - done 43.474 - echo $file 43.475 - done < $PACKAGE/files.list > $TMP_DIR/files2remove.list 43.476 - fi 43.477 - # Remember modified packages 43.478 - { check=false 43.479 - for i in $(grep -v '\[' $TMP_DIR/files.list); do 43.480 - [ -e "$ROOT$i" ] || continue 43.481 - [ -d "$ROOT$i" ] && continue 43.482 - echo "- $i" 43.483 - check=true 43.484 - done ; 43.485 - $check && for i in *; do 43.486 - [ "$i" == "$PACKAGE" ] && continue 43.487 - [ -s $i/files.list ] || continue 43.488 - awk "{ printf \"$i %s\\n\",\$1 }" < $i/files.list 43.489 - done } | awk ' 43.490 -{ 43.491 - if ($1 == "-" || file[$2] != "") { 43.492 - file[$2] = file[$2] " " $1 43.493 - if ($1 != "-") { 43.494 - if (pkg[$1] == "") all = all " " $1 43.495 - pkg[$1] = pkg[$1] " " $2 43.496 - } 43.497 - } 43.498 -} 43.499 -END { 43.500 - for (i = split(all, p, " "); i > 0; i--) 43.501 - for (j = split(pkg[p[i]], f, " "); j > 0; j--) 43.502 - printf "%s %s\n",p[i],f[j]; 43.503 -} 43.504 - ' | while read dir file; do 43.505 - if grep -qs ^$dir$ $PACKAGE/modifiers; then 43.506 - # Do not overload an overloaded file ! 43.507 - rm $TMP_DIR$file 2> /dev/null 43.508 - continue 43.509 - fi 43.510 - grep -qs ^$PACKAGE$ $dir/modifiers && continue 43.511 - if [ -s "$dir/volatile.cpio.gz" ]; then 43.512 - # We can modify backed up files without notice 43.513 - zcat $dir/volatile.cpio.gz | cpio -t 2> /dev/null | \ 43.514 - grep -q "^${file#/}$" && continue 43.515 - fi 43.516 - echo "$PACKAGE" >> $dir/modifiers 43.517 - done 43.518 - 43.519 - cd $TMP_DIR 43.520 - cp receipt files.list $ROOT$INSTALLED/$PACKAGE 43.521 - # Copy the description if found. 43.522 - if [ -f "description.txt" ]; then 43.523 - cp description.txt $ROOT$INSTALLED/$PACKAGE 43.524 - fi 43.525 - # Copy the md5sum if found. 43.526 - if [ -f "md5sum" ]; then 43.527 - cp md5sum $ROOT$INSTALLED/$PACKAGE 43.528 - fi 43.529 - # Pre install commands. 43.530 - if grep -q ^pre_install $ROOT$INSTALLED/$PACKAGE/receipt; then 43.531 - pre_install $ROOT 43.532 - fi 43.533 - if [ -n "$CONFIG_FILES" ]; then 43.534 - # save 'official' configuration files 43.535 - eval_gettext "Saving configuration files for \$PACKAGE... " 43.536 - for i in $CONFIG_FILES; do 43.537 - ( cd fs ; find ${i#/} -type f ) 43.538 - done | ( cd fs ; cpio -o -H newc | gzip -9 ) > \ 43.539 - $ROOT$INSTALLED/$PACKAGE/volatile.cpio.gz 43.540 - # keep user configuration files 43.541 - for i in $CONFIG_FILES; do 43.542 - ( cd fs ; find ${i#/} -type f ) 43.543 - done | while read i; do 43.544 - [ -e $ROOT/$i ] || continue 43.545 - cp -a $ROOT/$i fs/$i 43.546 - done 43.547 - status 43.548 - fi 43.549 - eval_gettext "Installing \$PACKAGE... " 43.550 - cp -a fs/* $ROOT/ 43.551 - status 43.552 - if [ -s files2remove.list ]; then 43.553 - eval_gettext "Removing old \$PACKAGE... " 43.554 - while read file; do 43.555 - remove_with_path $ROOT$file 43.556 - done < files2remove.list 43.557 - true 43.558 - status 43.559 - fi 43.560 - # Remove the temporary random directory. 43.561 - gettext "Removing all tmp files... " 43.562 - cd .. && rm -rf $TMP_DIR 43.563 - status 43.564 - # Post install commands. 43.565 - if grep -q ^post_install $ROOT$INSTALLED/$PACKAGE/receipt; then 43.566 - post_install $ROOT 43.567 - fi 43.568 - # Update-desktop-database if needed. 43.569 - if [ "$(grep .desktop $ROOT$INSTALLED/$PACKAGE/files.list | grep /usr/share/applications/)" ]; then 43.570 - updatedesktopdb=yes 43.571 - fi 43.572 - # Update-mime-database if needed. 43.573 - if [ "$(grep /usr/share/mime $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then 43.574 - updatemimedb=yes 43.575 - fi 43.576 - cd $TOP_DIR 43.577 - echo "================================================================================" 43.578 - eval_gettext "\$PACKAGE (\$VERSION\$EXTRAVERSION) is installed."; echo 43.579 - echo "" 43.580 - # Log this activity 43.581 - [ -n "$ROOT" ] || log Installed 43.582 -} 43.583 - 43.584 -# Check for loop in deps tree. 43.585 -check_for_deps_loop() 43.586 -{ 43.587 - local list 43.588 - local pkg 43.589 - local deps 43.590 - pkg=$1 43.591 - shift 43.592 - [ -n "$1" ] || return 43.593 - list="" 43.594 - # Filter out already processed deps 43.595 - for i in $@; do 43.596 - case " $ALL_DEPS" in 43.597 - *\ $i\ *);; 43.598 - *) list="$list $i";; 43.599 - esac 43.600 - done 43.601 - ALL_DEPS="$ALL_DEPS$list " 43.602 - for i in $list; do 43.603 - [ -f $i/receipt ] || continue 43.604 - deps="$(DEPENDS=""; . $i/receipt; echo $DEPENDS)" 43.605 - case " $deps " in 43.606 - *\ $pkg\ *) echo -e "$MSG $i"; MSG="";; 43.607 - *) check_for_deps_loop $pkg $deps;; 43.608 - esac 43.609 - done 43.610 -} 43.611 - 43.612 -# Check for missing deps listed in a receipt packages. 43.613 -check_for_deps() 43.614 -{ 43.615 - local saved; 43.616 - saved=$PACKAGE 43.617 - mkdir -p $TMP_DIR 43.618 - ( cd $TMP_DIR ; cpio --quiet -i receipt > /dev/null 2>&1) < $PACKAGE_FILE 43.619 - . $TMP_DIR/receipt 43.620 - PACKAGE=$saved 43.621 - rm -rf $TMP_DIR 43.622 - for pkgorg in $DEPENDS 43.623 - do 43.624 - i=$(equivalent_pkg $pkgorg $1) 43.625 - if [ ! -d "$1$INSTALLED/$i" ]; then 43.626 - MISSING_PACKAGE=$i 43.627 - deps=$(($deps+1)) 43.628 - elif [ ! -f "$1$INSTALLED/$i/receipt" ]; then 43.629 - eval_gettext "WARNING Dependency loop between \$PACKAGE and \$i."; echo 43.630 - fi 43.631 - done 43.632 - if [ ! "$MISSING_PACKAGE" = "" ]; then 43.633 - echo -e "\033[1m`gettext \"Tracking dependencies for :\"`\033[0m $PACKAGE" 43.634 - echo "================================================================================" 43.635 - for pkgorg in $DEPENDS 43.636 - do 43.637 - i=$(equivalent_pkg $pkgorg $1) 43.638 - if [ ! -d "$1$INSTALLED/$i" ]; then 43.639 - MISSING_PACKAGE=$i 43.640 - eval_gettext "Missing: \$MISSING_PACKAGE"; echo 43.641 - fi 43.642 - done 43.643 - echo "================================================================================" 43.644 - eval_gettext "\$deps missing package(s) to install."; echo 43.645 - fi 43.646 -} 43.647 - 43.648 -# Install all missing deps. Auto install or ask user then install all missing 43.649 -# deps from local dir, cdrom, media or from the mirror. In case we want to 43.650 -# install packages from local, we need a packages.list to find the version. 43.651 -install_deps() 43.652 -{ 43.653 - local root 43.654 - root="" 43.655 - [ -n "$1" ] && root="--root=$1" 43.656 - if [ "$AUTO_INSTALL_DEPS" == "yes" ]; then 43.657 - anser="y" 43.658 - else 43.659 - echo "" 43.660 - gettext "Install all missing dependencies (y/N) ? "; read anser 43.661 - echo "" 43.662 - fi 43.663 - if [ "$anser" == "y" ]; then 43.664 - for pkgorg in $DEPENDS 43.665 - do 43.666 - pkg=$(equivalent_pkg $pkgorg $1) 43.667 - if [ ! -d "$1$INSTALLED/$pkg" ]; then 43.668 - local list 43.669 - list="$INSTALL_LIST" 43.670 - [ -n "$list" ] || list="$TOP_DIR/packages.list" 43.671 - # We can install packages from a local dir by greping 43.672 - # the TAZPKG_BASENAME in the local packages.list. 43.673 - found=0 43.674 - if [ -f "$list" ]; then 43.675 - eval_gettext "Checking if \$pkg exists in local list... "; echo 43.676 - mkdir $TMP_DIR 43.677 - for i in $pkg-*.tazpkg; do 43.678 - [ -f $i ] || continue 43.679 - ( cd $TMP_DIR ; cpio --quiet -i receipt > /dev/null 2>&1) < $i 43.680 - [ "$(. $TMP_DIR/receipt; echo $PACKAGE)" = "$pkg" ] || continue 43.681 - if grep -q ^$(package_fullname_in_dir $TMP_DIR).tazpkg$ $list 43.682 - then 43.683 - found=1 43.684 - tazpkg install $i $root --list=$list 43.685 - break 43.686 - fi 43.687 - done 43.688 - rm -rf $TMP_DIR 43.689 - fi 43.690 - # Install deps from the mirror. 43.691 - if [ $found -eq 0 ]; then 43.692 - if [ ! -f "$LOCALSTATE/packages.list" ]; then 43.693 - tazpkg recharge 43.694 - fi 43.695 - tazpkg get-install $pkg $root 43.696 - fi 43.697 - fi 43.698 - done 43.699 - else 43.700 - echo "" 43.701 - eval_gettext \ 43.702 -"Leaving dependencies for \$PACKAGE unsolved. The package is installed but 43.703 -will probably not work."; echo 43.704 - echo "" 43.705 - fi 43.706 -} 43.707 - 43.708 -# xHTML packages list header. 43.709 -xhtml_header() 43.710 -{ 43.711 - cat > $XHTML_LIST << _EOT_ 43.712 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 43.713 - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 43.714 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 43.715 -<head> 43.716 - <title>Installed packages list</title> 43.717 - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 43.718 - <meta name="modified" content="$DATE" /> 43.719 - <meta name="generator" content="Tazpkg" /> 43.720 - <style type="text/css"><!-- 43.721 - body { font: 12px sans-serif, vernada, arial; margin: 0; } 43.722 - #header { background: #f0ba08; color: black; height: 50px; 43.723 - border-top: 1px solid black; border-bottom: 1px solid black; } 43.724 - #content { margin: 0px 50px 26px 50px; } 43.725 - #footer { border-top: 1px solid black; padding-top: 10px;} 43.726 - h1 { margin: 14px 0px 0px 16px; } 43.727 - pre { padding-left: 5px; } 43.728 - hr { color: white; background: white; height: 1px; border: 0; } 43.729 - --></style> 43.730 -</head> 43.731 -<body bgcolor="#ffffff"> 43.732 -<div id="header"> 43.733 -<h1><font color="#3e1220">Installed packages list</font></h1> 43.734 -</div> 43.735 -<hr /> 43.736 -<!-- Start content --> 43.737 -<div id="content"> 43.738 - 43.739 -<p> 43.740 -_packages_ packages installed - List generated on : $DATE 43.741 -<p> 43.742 - 43.743 -_EOT_ 43.744 -} 43.745 - 43.746 -# xHTML content with packages info. 43.747 -xhtml_pkg_info() 43.748 -{ 43.749 - cat >> $XHTML_LIST << _EOT_ 43.750 -<h3>$PACKAGE</h3> 43.751 -<pre> 43.752 -Version : $VERSION$EXTRAVERSION 43.753 -Short desc : $SHORT_DESC 43.754 -Web site : <a href="$WEB_SITE">$WEB_SITE</a> 43.755 -</pre> 43.756 - 43.757 -_EOT_ 43.758 -} 43.759 - 43.760 -# xHTML packages list footer. 43.761 -xhtml_footer() 43.762 -{ 43.763 - cat >> $XHTML_LIST << _EOT_ 43.764 -<hr /> 43.765 -<p id="footer"> 43.766 -$packages packages installed - List generated on : $DATE 43.767 -</p> 43.768 - 43.769 -<!-- End content --> 43.770 -</div> 43.771 -</body> 43.772 -</html> 43.773 -_EOT_ 43.774 -} 43.775 - 43.776 -# Search pattern in installed packages. 43.777 -search_in_installed_packages() 43.778 -{ 43.779 - gettext "Installed packages"; echo 43.780 - echo "================================================================================" 43.781 - list=`ls -1 $INSTALLED | grep -i "$PATTERN"` 43.782 - for pkg in $list 43.783 - do 43.784 - EXTRAVERSION="" 43.785 - [ -f $INSTALLED/$pkg/receipt ] || continue 43.786 - . $INSTALLED/$pkg/receipt 43.787 - echo -n "$PACKAGE " 43.788 - echo -en "\033[24G $VERSION$EXTRAVERSION" 43.789 - echo -e "\033[42G $CATEGORY" 43.790 - packages=$(($packages+1)) 43.791 - done 43.792 - # Set correct ending messages. 43.793 - if [ "$packages" = "" ]; then 43.794 - eval_gettext "0 installed packages found for : \$PATTERN"; echo 43.795 - echo "" 43.796 - else 43.797 - echo "================================================================================" 43.798 - eval_gettext "\$packages installed package(s) found for : \$PATTERN"; echo 43.799 - echo "" 43.800 - fi 43.801 -} 43.802 - 43.803 -# Search in packages.list for available pkgs. 43.804 -search_in_packages_list() 43.805 -{ 43.806 - gettext "Available packages name-version"; echo 43.807 - echo "================================================================================" 43.808 - packages=0 43.809 - for i in $LOCALSTATE/packages.list $LOCALSTATE/undigest/*/packages.list; do 43.810 - grep -is "$PATTERN" $i 43.811 - packages=$(($packages + `grep -is "$PATTERN" $i | wc -l`)) 43.812 - done 43.813 - if [ ! -f "$LOCALSTATE/packages.list" ]; then 43.814 - echo "" 43.815 - gettext \ 43.816 -"No 'packages.list' found to check for mirrored packages. For more results, 43.817 -please run 'tazpkg recharge' once as root before searching."; echo 43.818 - echo "" 43.819 - fi 43.820 - if [ "$packages" = "0" ]; then 43.821 - eval_gettext "0 available packages found for : \$PATTERN"; echo 43.822 - echo "" 43.823 - else 43.824 - echo "================================================================================" 43.825 - eval_gettext "\$packages available package(s) found for : \$PATTERN"; echo 43.826 - echo "" 43.827 - fi 43.828 -} 43.829 - 43.830 -# search --mirror: Search in packages.txt for available pkgs and give more 43.831 -# info than --list or default. 43.832 -search_in_packages_txt() 43.833 -{ 43.834 - gettext "Matching packages name with version and desc"; echo 43.835 - echo "================================================================================" 43.836 - packages=0 43.837 - for i in $LOCALSTATE/packages.txt $LOCALSTATE/undigest/*/packages.txt; do 43.838 - grep -is -A 2 "^$PATTERN" $i 43.839 - packages=$(($packages + `grep -is "^$PATTERN" $i | wc -l`)) 43.840 - done 43.841 - if [ ! -f "$LOCALSTATE/packages.txt" ]; then 43.842 - echo "" 43.843 - gettext \ 43.844 -"No 'packages.txt' found to check for mirrored packages. For more results, 43.845 -please run 'tazpkg recharge' once as root before searching."; echo 43.846 - echo "" 43.847 - fi 43.848 - if [ "$packages" = "0" ]; then 43.849 - eval_gettext "0 available packages found for : \$PATTERN"; echo 43.850 - echo "" 43.851 - else 43.852 - echo "================================================================================" 43.853 - eval_gettext "\$packages available package(s) found for : \$PATTERN"; echo 43.854 - echo "" 43.855 - fi 43.856 -} 43.857 - 43.858 -# Install package-list from a flavor 43.859 -install_flavor() 43.860 -{ 43.861 - check_root 43.862 - FLAVOR=$1 43.863 - ARG=$2 43.864 - mkdir -p $TMP_DIR 43.865 - [ -f $FLAVOR.flavor ] && cp $FLAVOR.flavor $TMP_DIR 43.866 - cd $TMP_DIR 43.867 - if [ -f $FLAVOR.flavor ] || download $FLAVOR.flavor; then 43.868 - zcat $FLAVOR.flavor | cpio -i >/dev/null 43.869 - while read file; do 43.870 - for pkg in $(ls -d $INSTALLED/${file%%-*}*); do 43.871 - [ -f $pkg/receipt ] || continue 43.872 - EXTRAVERSION="" 43.873 - . $pkg/receipt 43.874 - [ "$PACKAGE-$VERSION$EXTRAVERSION" = "$file" ] && break 43.875 - done 43.876 - [ "$PACKAGE-$VERSION$EXTRAVERSION" = "$file" ] && continue 43.877 - cd $CACHE_DIR 43.878 - download $file.tazpkg 43.879 - cd $TMP_DIR 43.880 - tazpkg install $CACHE_DIR/$file.tazpkg --forced 43.881 - done < $FLAVOR.pkglist 43.882 - [ -f $FLAVOR.nonfree ] && while read pkg; do 43.883 - [ -d $INSTALLED/$pkg ] || continue 43.884 - [ -d $INSTALLED/get-$pkg ] && tazpkg get-install get-$pkg 43.885 - get-$pkg 43.886 - done < $FLAVOR.nonfree 43.887 - [ "$ARG" == "--purge" ] && for pkg in $(ls $INSTALLED); do 43.888 - [ -f $INSTALLED/$pkg/receipt ] || continue 43.889 - EXTRAVERSION="" 43.890 - . $INSTALLED/$pkg/receipt 43.891 - grep -q ^$PACKAGE-$VERSION$EXTRAVERSION$ $FLAVOR.pkglist && continue 43.892 - grep -qs ^$PACKAGE$ $FLAVOR.nonfree && continue 43.893 - tazpkg remove $PACKAGE 43.894 - done 43.895 - else 43.896 - eval_gettext "Can't find flavor \$FLAVOR. Aborting."; echo 43.897 - fi 43.898 - cd $TOP_DIR 43.899 - rm -rf $TMP_DIR 43.900 -} 43.901 - 43.902 -# Update mirror urls 43.903 -setup_mirror() 43.904 -{ 43.905 - # Backup old list. 43.906 - if [ -f "$1/mirror" ]; then 43.907 - cp -f $1/mirror $1/mirror.bak 43.908 - fi 43.909 - echo "" 43.910 - echo -e "\033[1m`gettext \"Current mirror(s)\"`\033[0m" 43.911 - echo "================================================================================" 43.912 - echo " `cat $1/mirror 2> /dev/null`" 43.913 - gettext \ 43.914 -"Please enter URL of the new mirror (http, ftp or local path). You must specify 43.915 -the complete address to the directory of the packages and packages.list file."; echo 43.916 - echo "" 43.917 - gettext "New mirror(s) URL : " 43.918 - NEW_MIRROR_URL=$2 43.919 - if [ -n "$NEW_MIRROR_URL" ]; then 43.920 - echo $NEW_MIRROR_URL 43.921 - else 43.922 - read NEW_MIRROR_URL 43.923 - fi 43.924 - if [ "$NEW_MIRROR_URL" = "" ]; then 43.925 - gettext "Nothing has been changed."; echo 43.926 - else 43.927 - eval_gettext "Setting mirror(s) to : $NEW_MIRROR_URL"; echo 43.928 - rm -f $1/mirror 43.929 - for i in $NEW_MIRROR_URL; do 43.930 - echo "$i" >> $1/mirror 43.931 - done 43.932 - fi 43.933 - echo "" 43.934 -} 43.935 - 43.936 -# recursive dependencies scan 43.937 -dep_scan() 43.938 -{ 43.939 -for i in $1; do 43.940 - case " $ALL_DEPS " in 43.941 - *\ $i\ *) continue;; 43.942 - esac 43.943 - ALL_DEPS="$ALL_DEPS $i" 43.944 - [ -n "$2" ] && echo "$2$i ($(grep -A 3 $i $LOCALSTATE/packages.txt \ 43.945 - | tail -1 | sed 's/.*(\([^ ]*\).*/\1/'))" 43.946 - [ -f $i/receipt ] || continue 43.947 - DEPENDS="" 43.948 - . $i/receipt 43.949 - [ -n "$DEPENDS" ] && dep_scan "$DEPENDS" "$2 " 43.950 -done 43.951 -} 43.952 - 43.953 -# recursive reverse dependencies scan 43.954 -rdep_scan() 43.955 -{ 43.956 -SEARCH=$1 43.957 - 43.958 -for i in * ; do 43.959 - DEPENDS="" 43.960 - . $i/receipt 43.961 - echo "$i $(echo $DEPENDS)" 43.962 -done | awk -v search=$SEARCH ' 43.963 -function show_deps(deps, all_deps, pkg, space) 43.964 -{ 43.965 - if (all_deps[pkg] == 1) return 43.966 - all_deps[pkg] = 1 43.967 - if (space != "") printf "%s %s\n",space,pkg 43.968 - for (i = 1, n = split(deps[pkg], mydeps, " "); i <= n; i++) { 43.969 - show_deps(deps, all_deps, mydeps[i],"==" space) 43.970 - } 43.971 -} 43.972 - 43.973 -{ 43.974 - all_deps[$1] = 0 43.975 - for (i = 2; i <= NF; i++) 43.976 - deps[$i] = deps[$i] " " $1 43.977 -} 43.978 - 43.979 -END { 43.980 - show_deps(deps, all_deps, search, "") 43.981 -} 43.982 -' | while read spc pkg; do 43.983 - echo -n $spc | sed 's/=/ /g' 43.984 - echo -n $pkg 43.985 - echo -n ' (' 43.986 - grep -A 3 $pkg $LOCALSTATE/packages.txt | tail -1 | \ 43.987 - sed 's/.*(\([^ ]*\).*/\1)/' 43.988 -done 43.989 -} 43.990 - 43.991 -# Check for ELF file 43.992 -is_elf() 43.993 -{ 43.994 - [ "$(dd if=$1 bs=1 skip=1 count=3 2> /dev/null)" = "ELF" ] 43.995 -} 43.996 - 43.997 -# Print shared library dependencies 43.998 -ldd() 43.999 -{ 43.1000 - LD_TRACE_LOADED_OBJECTS=1 /lib/ld*.so $1 2> /dev/null 43.1001 -} 43.1002 - 43.1003 -# search dependencies for files in $TMP_DIR/$file/fs 43.1004 -find_depends() 43.1005 -{ 43.1006 - DEFAULT_DEPENDS="glibc-base gcc-lib-base" 43.1007 - 43.1008 - [ -f /var/lib/tazpkg/files.list.lzma ] || tazpkg recharge > /dev/null 43.1009 - for i in /var/lib/tazpkg/files.list.lzma \ 43.1010 - /var/lib/tazpkg/undigest/*/files.list.lzma ; do 43.1011 - [ -f $i ] && lzma d $i -so >> $TMP_DIR/files.list 43.1012 - done 43.1013 - find $TMP_DIR/$file/fs -type f | while read chkfile ; do 43.1014 - is_elf $chkfile || continue 43.1015 - case "$chkfile" in 43.1016 - *.o|*.ko|*.ko.gz) continue;; 43.1017 - esac 43.1018 - ldd $chkfile | while read lib rem; do 43.1019 - case "$lib" in 43.1020 - statically|linux-gate.so*|ld-*.so|*/ld-*.so) 43.1021 - continue;; 43.1022 - esac 43.1023 - find $TMP_DIR/$file/fs | grep -q /$lib$ && continue 43.1024 - for dep in $(grep $lib files.list | cut -d: -f1); do 43.1025 - case " $DEFAULT_DEPENDS " in 43.1026 - *\ $dep\ *) continue 2;; 43.1027 - esac 43.1028 - grep -qs "^$dep$" $TMP_DIR/depends && continue 2 43.1029 - done 43.1030 - if [ -n "$dep" ]; then 43.1031 - echo "$dep" >> $TMP_DIR/depends 43.1032 - else 43.1033 - grep -qs ^$lib$ $TMP_DIR/unresolved || 43.1034 - echo "$lib" >> $TMP_DIR/unresolved 43.1035 - fi 43.1036 - done 43.1037 - done 43.1038 - spc="" 43.1039 - cat $TMP_DIR/depends | sort | uniq | while read file; do 43.1040 - echo -n "$spc$file" 43.1041 - spc=" " 43.1042 - done 43.1043 -} 43.1044 - 43.1045 -show_unresolved_lib() 43.1046 -{ 43.1047 - if [ -s $TMP_DIR/unresolved ]; then 43.1048 - echo "BUGS=\"No dependency for" >> $1 43.1049 - cat $TMP_DIR/unresolved | sort | uniq | while read file; do 43.1050 - echo -e "$WARNING: unknown dependency for $lib" 43.1051 - echo -n " $file" >> $1 43.1052 - done 43.1053 - echo "\"" >> $1 43.1054 - fi 43.1055 -} 43.1056 - 43.1057 -# convert a .ipk package to .tazpkg 43.1058 -convert_ipk() 43.1059 -{ 43.1060 - mkdir -p $TMP_DIR 43.1061 - tar xOzf $PACKAGE_FILE ./control.tar.gz | tar xzf - -C $TMP_DIR 43.1062 - package="$(grep ^Package $TMP_DIR/control | sed 's/.*: //')" 43.1063 - version="$(grep ^Version $TMP_DIR/control | sed 's/.*: //')" 43.1064 - maintainer="$(grep ^Maintainer $TMP_DIR/control | sed 's/.*: //')" 43.1065 - target="$(grep ^Architecture $TMP_DIR/control | sed 's/.*: //')" 43.1066 - descrip="$(grep ^Description $TMP_DIR/control | sed 's/.*: //')" 43.1067 - url="http://openwrt.org/" 43.1068 - case "$target" in 43.1069 - i386|all) 43.1070 - file=$package-$version 43.1071 - mkdir -p $TMP_DIR/$file/fs 43.1072 - tar xOzf $PACKAGE_FILE ./data.tar.gz | \ 43.1073 - tar xzf - -C $TMP_DIR/$file/fs 43.1074 - cd $TMP_DIR 43.1075 - cat > $file/receipt <<EOT 43.1076 -# SliTaz package receipt. 43.1077 -# generated by tazpkg from package $(basename $PACKAGE_FILE) 43.1078 -PACKAGE="$package" 43.1079 -VERSION="$version" 43.1080 -CATEGORY="misc" 43.1081 -SHORT_DESC="$descrip" 43.1082 -WEB_SITE="$url" 43.1083 -MAINTAINER="$maintainer" 43.1084 -DEPENDS="$(find_depends)" 43.1085 -EOT 43.1086 - [ -s conffiles ] && cat >> $file/receipt <<EOT 43.1087 -CONFIG_FILES="$(cat conffiles)" 43.1088 -EOT 43.1089 - show_unresolved_lib $file/receipt 43.1090 - while read script func; do 43.1091 - [ -s $script ] && cat >> $file/receipt <<EOT 43.1092 - 43.1093 -$func() 43.1094 -{ 43.1095 -$(cat $script) 43.1096 -} 43.1097 -EOT 43.1098 - done <<EOT 43.1099 -preinst pre_install 43.1100 -postinst post_install 43.1101 -prerm pre_remove 43.1102 -postrm post_remove 43.1103 -EOT 43.1104 - awk ' 43.1105 -{ 43.1106 - if (/^ / && show) print substr($0,2); 43.1107 - else show=0; 43.1108 - if (/^Description/) show=1; 43.1109 -}' < $TMP_DIR/control > $file/description.txt 43.1110 - sed -i 's/^\.$//' $file/description.txt 43.1111 - [ -s $file/description.txt ] || rm -f $file/description.txt 43.1112 - tazpkg pack $file 43.1113 - cd $TOP_DIR 43.1114 - mv $TMP_DIR/$file.tazpkg . 43.1115 - ;; 43.1116 - *) 43.1117 - gettext "Invalid target: $target (expected i386)"; echo 43.1118 - ;; 43.1119 - esac 43.1120 - rm -rf $TMP_DIR 43.1121 -} 43.1122 - 43.1123 -# convert a .pkg.tar.gz package to .tazpkg 43.1124 -convert_arch() 43.1125 -{ 43.1126 - mkdir -p $TMP_DIR/fs 43.1127 - tar xzf $PACKAGE_FILE -C $TMP_DIR/fs 43.1128 - if [ -f $TMP_DIR/fs/.PKGINFO ]; then 43.1129 - cd $TMP_DIR 43.1130 - package="$(grep ^pkgname fs/.PKGINFO | sed 's/.*= //')" 43.1131 - version="$(grep ^pkgver fs/.PKGINFO | sed 's/.*= //')" 43.1132 - descrip="$(grep ^pkgdesc fs/.PKGINFO | sed 's/.*= //')" 43.1133 - url="$(grep ^url fs/.PKGINFO | sed 's/.*= //')" 43.1134 - maintainer="$(grep ^packager fs/.PKGINFO | sed 's/.*= //')" 43.1135 - file=$package-$version 43.1136 - mkdir $file 43.1137 - mv fs $file 43.1138 - cat > $file/receipt <<EOT 43.1139 -# SliTaz package receipt. 43.1140 -# generated by tazpkg from Archlinux package $(basename $PACKAGE_FILE) 43.1141 -PACKAGE="$package" 43.1142 -VERSION="$version" 43.1143 -CATEGORY="misc" 43.1144 -SHORT_DESC="$descrip" 43.1145 -WEB_SITE="$url" 43.1146 -MAINTAINER="$maintainer" 43.1147 -DEPENDS="$(find_depends)" 43.1148 -EOT 43.1149 - show_unresolved_lib $file/receipt 43.1150 - rm -f $file/fs/.[A-Z]* 43.1151 - tazpkg pack $file 43.1152 - mv $file.tazpkg $TOP_DIR 43.1153 - else 43.1154 - eval_gettext "\$PACKAGE_FILE does not look like a Archlinux package !"; echo 43.1155 - fi 43.1156 - cd $TOP_DIR 43.1157 - rm -rf $TMP_DIR 43.1158 -} 43.1159 - 43.1160 -# convert a .tgz package to .tazpkg 43.1161 -convert_tgz() 43.1162 -{ 43.1163 - package=$(basename $PACKAGE_FILE) 43.1164 - IFS='-' 43.1165 - set -- $package 43.1166 - unset IFS 43.1167 - package=$1 43.1168 - version=$2 43.1169 - file="$package-$version" 43.1170 - mkdir -p $TMP_DIR/$file/fs 43.1171 - tar xzf $PACKAGE_FILE -C $TMP_DIR/$file/fs 43.1172 - cd $TMP_DIR 43.1173 - if [ -d $file/fs/install ]; then 43.1174 - descrip=$(grep ^$package $file/fs/install/slack-desc | \ 43.1175 - head -1 | sed 's/.*(\(.*\)).*/\1/') 43.1176 - cat > $file/receipt <<EOT 43.1177 -# SliTaz package receipt. 43.1178 -# generated by tazpkg from slackware package $(basename $PACKAGE_FILE) 43.1179 -PACKAGE="$package" 43.1180 -VERSION="$version" 43.1181 -CATEGORY="misc" 43.1182 -SHORT_DESC="$descrip" 43.1183 -WEB_SITE="http://www.slackware.com/packages/" 43.1184 -MAINTAINER="nobody@slitaz.org" 43.1185 -DEPENDS="$(find_depends)" 43.1186 -EOT 43.1187 - show_unresolved_lib $file/receipt 43.1188 - [ -f $file/fs/install/doinst.sh ] && cat >> $file/receipt <<EOM 43.1189 - 43.1190 -post_install() 43.1191 -{ 43.1192 -chroot \$1/ sh - << EOT 43.1193 -cd / 43.1194 -$(cat $file/fs/install/doinst.sh | sed -e 's/\\/\\\\/g' | sed -e 's/\$/\\$/g') 43.1195 -EOT 43.1196 -} 43.1197 -EOM 43.1198 - grep ^$package $file/fs/install/slack-desc | \ 43.1199 - sed "s/^$package://" > $file/description.txt 43.1200 - [ -s $file/description.txt ] || rm -f $file/description.txt 43.1201 - rm -rf $file/fs/install 43.1202 - tazpkg pack $file 43.1203 - mv $file.tazpkg $TOP_DIR 43.1204 - else 43.1205 - eval_gettext "\$PACKAGE_FILE does not look like a Slackware package !"; echo 43.1206 - fi 43.1207 - cd $TOP_DIR 43.1208 - rm -rf $TMP_DIR 43.1209 -} 43.1210 - 43.1211 -# convert a .deb package to .tazpkg 43.1212 -convert_deb() 43.1213 -{ 43.1214 - mkdir -p $TMP_DIR 43.1215 - dpkg-deb -e $PACKAGE_FILE $TMP_DIR 43.1216 - package=$(grep '^ *Package' $TMP_DIR/control) 43.1217 - package=$(echo ${package##*:}) 43.1218 - version=$(grep '^ *Version' $TMP_DIR/control) 43.1219 - version=$(echo ${version##*:}) 43.1220 - descrip=$(grep '^ *Description' $TMP_DIR/control) 43.1221 - descrip=$(echo ${descrip##*:}) 43.1222 - target="$(grep ^Architecture $TMP_DIR/control | sed 's/.*: //')" 43.1223 - case "$target" in 43.1224 - i386|all) 43.1225 - file="$package-$version" 43.1226 - mkdir -p $TMP_DIR/$file/fs/ 43.1227 - dpkg-deb -x $PACKAGE_FILE $TMP_DIR/$file/fs 43.1228 - cd $TMP_DIR 43.1229 - cat > $file/receipt <<EOT 43.1230 -# SliTaz package receipt. 43.1231 -# generated by tazpkg from debian package $(basename $PACKAGE_FILE) 43.1232 -PACKAGE="$package" 43.1233 -VERSION="$version" 43.1234 -CATEGORY="misc" 43.1235 -SHORT_DESC="$descrip" 43.1236 -WEB_SITE="http://packages.debian.org/search?keywords=$package" 43.1237 -MAINTAINER="nobody@slitaz.org" 43.1238 -DEPENDS="$(find_depends)" 43.1239 -EOT 43.1240 - [ -s conffiles ] && cat >> $file/receipt <<EOT 43.1241 -CONFIG_FILES="$(cat conffiles)" 43.1242 -EOT 43.1243 - show_unresolved_lib $file/receipt 43.1244 - awk ' 43.1245 -{ 43.1246 - if (/^ / && show) print substr($0,2); 43.1247 - else show=0; 43.1248 - if (/^Description/) show=1; 43.1249 -}' < $TMP_DIR/control > $file/description.txt 43.1250 - sed -i 's/^\.$//' $file/description.txt 43.1251 - [ -s $file/description.txt ] || rm -f $file/description.txt 43.1252 - tazpkg pack $file 43.1253 - mv $file.tazpkg $TOP_DIR 43.1254 - ;; 43.1255 - *) 43.1256 - gettext "Invalid target: $target (expected i386)"; echo 43.1257 - ;; 43.1258 - esac 43.1259 - cd $TOP_DIR 43.1260 - rm -rf $TMP_DIR 43.1261 -} 43.1262 - 43.1263 -# convert a .rpm package to .tazpkg 43.1264 -convert_rpm() 43.1265 -{ 43.1266 - mkdir -p $TMP_DIR 43.1267 - cp $PACKAGE_FILE $TMP_DIR 43.1268 - PACKAGE_FILE=$TMP_DIR/$(basename $PACKAGE_FILE) 43.1269 - rpm -qip $PACKAGE_FILE | awk -v pkg=$(basename $PACKAGE_FILE) ' 43.1270 -BEGIN { 43.1271 - goturl=0; 43.1272 - printf "# Taz package receipt.\n"; 43.1273 - printf "# generated by tazpkg from rpm package %s\n",pkg; 43.1274 -} 43.1275 -{ 43.1276 - if (/^Name/) { name=$3; printf "PACKAGE=\"%s\"\n",$3; } 43.1277 - if (/^Version/) printf "VERSION=\"%s-",$3; 43.1278 - if (/^Release/) printf "%s\"\n",$3; 43.1279 - if (/^Summary/) printf "SHORT_DESC=\"%s\"\n",substr($0,15); 43.1280 - if (/^URL/) { goturl=1; printf "WEB_SITE=\"%s\"\n",$3; } 43.1281 -} 43.1282 -END { 43.1283 - if (goturl == 0) 43.1284 - printf "WEB_SITE=\"http://rpmfind.net/linux/rpm2html/search.php?query=%s\"\n",name; 43.1285 - printf "CATEGORY=\"misc\"\n"; 43.1286 - printf "MAINTAINER=\"nobody@slitaz.org\"\n"; 43.1287 -} 43.1288 -' > $TMP_DIR/receipt 43.1289 - . $TMP_DIR/receipt 43.1290 - file=$PACKAGE-$VERSION 43.1291 - mkdir -p $TMP_DIR/$file/fs/ 43.1292 - mv $TMP_DIR/receipt $TMP_DIR/$file 43.1293 - rpm -qip $PACKAGE_FILE | awk ' 43.1294 -DEGIN { show=0 } 43.1295 -{ 43.1296 - if (show) print; 43.1297 - if (/^Description/) show=1; 43.1298 -} 43.1299 -' > $TMP_DIR/$file/description.txt 43.1300 - cd $TMP_DIR/$file/fs/ 43.1301 - rpm2cpio $PACKAGE_FILE | cpio -idm 43.1302 - cd ../.. 43.1303 - echo "DEPENDS=\"$(find_depends)\"" >> $TMP_DIR/$file/receipt 43.1304 - show_unresolved_lib $TMP_DIR/$file/receipt 43.1305 - tazpkg pack $file 43.1306 - mv $file.tazpkg $TOP_DIR 43.1307 - cd $TOP_DIR 43.1308 - rm -rf $TMP_DIR 43.1309 -} 43.1310 - 43.1311 -update_desktop_database() 43.1312 -{ 43.1313 - if [ -f /usr/bin/update-desktop-database ] && [ -n "$updatedesktopdb" ]; then 43.1314 - update-desktop-database $1/usr/share/applications 43.1315 - fi 43.1316 -} 43.1317 - 43.1318 -update_mime_database() 43.1319 -{ 43.1320 - if [ -f /usr/bin/update-desktop-database ] && [ -n "$updatemimedb" ]; then 43.1321 - update-mime-database $1/usr/share/mime 43.1322 - fi 43.1323 -} 43.1324 - 43.1325 -################### 43.1326 -# Tazpkg commands # 43.1327 -################### 43.1328 - 43.1329 -case "$COMMAND" in 43.1330 - list) 43.1331 - # List all installed packages or a specific category. 43.1332 - # 43.1333 - if [ "$2" = "blocked" ]; then 43.1334 - echo "" 43.1335 - echo -e "\033[1m`gettext \"Blocked packages\"`\033[0m" 43.1336 - echo "================================================================================" 43.1337 - if [ -s "$BLOCKED" ];then 43.1338 - cat $BLOCKED 43.1339 - else 43.1340 - gettext "No blocked packages found." 43.1341 - fi 43.1342 - echo "" && exit 0 43.1343 - fi 43.1344 - # Display the list of categories. 43.1345 - if [ "$2" = "cat" -o "$2" = "categories" ]; then 43.1346 - echo "" 43.1347 - echo -e "\033[1m`gettext \"Packages categories\"`\033[0m" 43.1348 - echo "================================================================================" 43.1349 - for i in $CATEGORIES 43.1350 - do 43.1351 - echo $i 43.1352 - categories=$(($categories+1)) 43.1353 - done 43.1354 - echo "================================================================================" 43.1355 - echo "$categories categories" 43.1356 - echo "" 43.1357 - exit 0 43.1358 - fi 43.1359 - # Check for an asked category. 43.1360 - if [ -n "$2" ]; then 43.1361 - ASKED_CATEGORY=$2 43.1362 - echo "" 43.1363 - echo -e "\033[1m`gettext \"Installed packages of category:\"`\033[0m $ASKED_CATEGORY" 43.1364 - echo "================================================================================" 43.1365 - for pkg in $INSTALLED/* 43.1366 - do 43.1367 - [ -f $pkg/receipt ] || continue 43.1368 - EXTRAVERSION="" 43.1369 - . $pkg/receipt 43.1370 - if [ "$CATEGORY" == "$ASKED_CATEGORY" ]; then 43.1371 - echo -n "$PACKAGE" 43.1372 - echo -e "\033[24G $VERSION$EXTRAVERSION" 43.1373 - packages=$(($packages+1)) 43.1374 - fi 43.1375 - done 43.1376 - echo "================================================================================" 43.1377 - eval_gettext "\$packages packages installed of category \$ASKED_CATEGORY."; echo 43.1378 - echo "" 43.1379 - else 43.1380 - # By default list all packages and versions. 43.1381 - echo "" 43.1382 - echo -e "\033[1m`gettext \"List of all installed packages\"`\033[0m" 43.1383 - echo "================================================================================" 43.1384 - for pkg in $INSTALLED/* 43.1385 - do 43.1386 - [ -f $pkg/receipt ] || continue 43.1387 - EXTRAVERSION="" 43.1388 - . $pkg/receipt 43.1389 - echo -n "$PACKAGE" 43.1390 - echo -en "\033[24G $VERSION$EXTRAVERSION" 43.1391 - echo -e "\033[42G $CATEGORY" 43.1392 - packages=$(($packages+1)) 43.1393 - done 43.1394 - echo "================================================================================" 43.1395 - eval_gettext "\$packages packages installed."; echo 43.1396 - echo "" 43.1397 - fi ;; 43.1398 - xhtml-list) 43.1399 - # Get info in receipts and build list. 43.1400 - DATE=`date +%Y-%m-%d\ \%H:%M:%S` 43.1401 - if [ -n "$2" ]; then 43.1402 - XHTML_LIST=$2 43.1403 - else 43.1404 - XHTML_LIST=installed-packages.html 43.1405 - fi 43.1406 - echo "" 43.1407 - echo -e "\033[1m`gettext \"Creating xHTML list of installed packages\"`\033[0m" 43.1408 - echo "================================================================================" 43.1409 - gettext "Generating xHTML header..." 43.1410 - xhtml_header 43.1411 - status 43.1412 - # Packages 43.1413 - gettext "Creating packages information..." 43.1414 - for pkg in $INSTALLED/* 43.1415 - do 43.1416 - [ -f $pkg/receipt ] || continue 43.1417 - EXTRAVERSION="" 43.1418 - . $pkg/receipt 43.1419 - xhtml_pkg_info 43.1420 - packages=$(($packages+1)) 43.1421 - done 43.1422 - status 43.1423 - gettext "Generating xHTML footer..." 43.1424 - xhtml_footer 43.1425 - status 43.1426 - # sed pkgs nb in header. 43.1427 - sed -i s/'_packages_'/"$packages"/ $XHTML_LIST 43.1428 - echo "================================================================================" 43.1429 - eval_gettext "\$XHTML_LIST created - $packages packages."; echo 43.1430 - echo "" ;; 43.1431 - list-mirror) 43.1432 - # List all available packages on the mirror. Option --diff displays 43.1433 - # last mirrored packages diff (see recharge). 43.1434 - check_for_packages_list 43.1435 - case $2 in 43.1436 - --diff) 43.1437 - if [ -f "$LOCALSTATE/packages.diff" ]; then 43.1438 - echo "" 43.1439 - echo -e "\033[1m`gettext \"Mirrored packages diff\"`\033[0m" 43.1440 - echo "================================================================================" 43.1441 - cat $LOCALSTATE/packages.diff 43.1442 - echo "================================================================================" 43.1443 - pkgs=`cat $LOCALSTATE/packages.diff | wc -l` 43.1444 - eval_gettext "\$pkgs new packages listed on the mirror."; echo 43.1445 - echo "" 43.1446 - else 43.1447 - echo "" 43.1448 - gettext "Unable to list anything, no packages.diff found."; echo 43.1449 - gettext "Recharge your current list to create a first diff."; echo 43.1450 - echo "" 43.1451 - fi && exit 0 ;; 43.1452 - --text|--txt) 43.1453 - echo "" 43.1454 - echo -e "\033[1m`gettext \"List of available packages on the mirror\"`\033[0m" 43.1455 - echo "================================================================================" 43.1456 - cat $LOCALSTATE/packages.txt ;; 43.1457 - --raw|*) 43.1458 - echo "" 43.1459 - echo -e "\033[1m`gettext \"List of available packages on the mirror\"`\033[0m" 43.1460 - echo "================================================================================" 43.1461 - cat $LOCALSTATE/packages.list ;; 43.1462 - esac 43.1463 - echo "================================================================================" 43.1464 - pkgs=`cat $LOCALSTATE/packages.list | wc -l` 43.1465 - eval_gettext "\$pkgs packages in the last recharged list."; echo 43.1466 - echo "" ;; 43.1467 - list-files) 43.1468 - # List files installed with the package. 43.1469 - # 43.1470 - check_for_package_on_cmdline 43.1471 - check_for_receipt 43.1472 - echo "" 43.1473 - echo -e "\033[1m`gettext \"Installed files with:\"`\033[0m $PACKAGE" 43.1474 - echo "================================================================================" 43.1475 - cat $INSTALLED/$PACKAGE/files.list | sort 43.1476 - echo "================================================================================" 43.1477 - files=`cat $INSTALLED/$PACKAGE/files.list | wc -l` 43.1478 - echo "$files files installed with $PACKAGE." 43.1479 - echo "" ;; 43.1480 - info) 43.1481 - # Information about package. 43.1482 - # 43.1483 - check_for_package_on_cmdline 43.1484 - check_for_receipt 43.1485 - EXTRAVERSION="" 43.1486 - . $INSTALLED/$PACKAGE/receipt 43.1487 - echo "" 43.1488 - echo -e "\033[1m`gettext \"Tazpkg information\"`\033[0m 43.1489 -================================================================================ 43.1490 -Package : $PACKAGE 43.1491 -Version : $VERSION$EXTRAVERSION 43.1492 -Category : $CATEGORY 43.1493 -Short desc : $SHORT_DESC 43.1494 -Maintainer : $MAINTAINER" 43.1495 - if [ ! "$DEPENDS" = "" ]; then 43.1496 - echo -e "Depends : $DEPENDS" 43.1497 - fi 43.1498 - if [ ! "$SUGGESTED" = "" ]; then 43.1499 - echo -e "Suggested : $SUGGESTED" 43.1500 - fi 43.1501 - if [ ! "$BUILD_DEPENDS" = "" ]; then 43.1502 - echo -e "Build deps : $BUILD_DEPENDS" 43.1503 - fi 43.1504 - if [ ! "$WANTED" = "" ]; then 43.1505 - echo -e "Wanted src : $WANTED" 43.1506 - fi 43.1507 - if [ ! "$WEB_SITE" = "" ]; then 43.1508 - echo -e "Web site : $WEB_SITE" 43.1509 - fi 43.1510 - echo "================================================================================" 43.1511 - echo "" ;; 43.1512 - desc) 43.1513 - # Display package description.txt if available. 43.1514 - if [ -f "$INSTALLED/$PACKAGE/description.txt" ]; then 43.1515 - echo "" 43.1516 - echo -e "\033[1m`gettext \"Description of:\"`\033[0m $PACKAGE" 43.1517 - echo "================================================================================" 43.1518 - cat $INSTALLED/$PACKAGE/description.txt 43.1519 - echo "================================================================================" 43.1520 - echo "" 43.1521 - else 43.1522 - echo "" 43.1523 - gettext "Sorry, no description available for this package."; echo 43.1524 - echo "" 43.1525 - fi ;; 43.1526 - search) 43.1527 - # Search for a package by pattern or name. 43.1528 - # 43.1529 - PATTERN="$2" 43.1530 - if [ -z "$PATTERN" ]; then 43.1531 - echo "" 43.1532 - gettext "Please specify a pattern or package name to search for."; echo 43.1533 - gettext "Example : 'tazpkg search paint'"; echo 43.1534 - echo "" 43.1535 - exit 0 43.1536 - fi 43.1537 - echo "" 43.1538 - echo -e "\033[1m`gettext \"Search result for:\"`\033[0m $PATTERN" 43.1539 - echo "" 43.1540 - # Default is to search in installed pkgs and the raw list. 43.1541 - case $3 in 43.1542 - -i|--installed) 43.1543 - search_in_installed_packages ;; 43.1544 - -l|--list) 43.1545 - search_in_packages_list ;; 43.1546 - -m|--mirror) 43.1547 - search_in_packages_txt ;; 43.1548 - *) 43.1549 - search_in_installed_packages 43.1550 - search_in_packages_list ;; 43.1551 - esac ;; 43.1552 - search-file) 43.1553 - # Search for a file by pattern or name in all files.list. 43.1554 - # 43.1555 - if [ -z "$2" ]; then 43.1556 - echo "" 43.1557 - gettext "Please specify a pattern or file name to search for."; echo 43.1558 - gettext "Example : 'tazpkg search-file libnss'"; echo 43.1559 - echo "" 43.1560 - exit 0 43.1561 - fi 43.1562 - echo "" 43.1563 - echo -e "\033[1m`gettext \"Search result for file\"`\033[0m $2" 43.1564 - echo "================================================================================" 43.1565 - 43.1566 - if [ "$3" == "--mirror" ]; then 43.1567 - 43.1568 - match=0 43.1569 - for i in $LOCALSTATE/files.list.lzma \ 43.1570 - $LOCALSTATE/undigest/*/files.list.lzma; do 43.1571 - [ -f $i ] || continue 43.1572 - unlzma -c $i | grep -- ".*:.*$2" | awk ' 43.1573 - BEGIN { last="" } 43.1574 - { 43.1575 - pkg=substr($0,0,index($0,":")-1); 43.1576 - file=substr($0,index($0,":")+2); 43.1577 - if (last != pkg) { 43.1578 - last = pkg; 43.1579 - printf("\n%c[1mPackage %s :%c[0m\n",27,pkg,27); 43.1580 - } 43.1581 - printf("%s\n",file); 43.1582 - }' 43.1583 - match=$(($match + `unlzma -c $i | grep -- ".*:.*$2" | wc -l`)) 43.1584 - done 43.1585 - 43.1586 - else 43.1587 - 43.1588 - # Check all pkg files.list in search match with specify the package 43.1589 - # name and the full path to the file(s). 43.1590 - for pkg in $INSTALLED/* 43.1591 - do 43.1592 - if grep -qs "$2" $pkg/files.list; then 43.1593 - . $pkg/receipt 43.1594 - echo "" 43.1595 - echo -e "\033[1m`gettext \"Package\"` $PACKAGE:\033[0m" 43.1596 - grep "$2" $pkg/files.list 43.1597 - files=`grep $2 $pkg/files.list | wc -l` 43.1598 - match=$(($match+$files)) 43.1599 - fi 43.1600 - done 43.1601 - 43.1602 - fi 43.1603 - pkg=$2 43.1604 - if [ "$match" = "" ]; then 43.1605 - eval_gettext "0 file found for: \$pkg"; echo 43.1606 - echo "" 43.1607 - else 43.1608 - echo "" 43.1609 - echo "================================================================================" 43.1610 - eval_gettext "\$match file(s) found for: \$pkg"; echo 43.1611 - echo "" 43.1612 - fi ;; 43.1613 - search-pkgname) 43.1614 - # Search for a package name 43.1615 - if [ -z "$2" ]; then 43.1616 - echo "" 43.1617 - gettext "Please specify a pattern or file name to search for."; echo 43.1618 - gettext "Example : 'tazpkg search-pkgname libnss'"; echo 43.1619 - echo "" 43.1620 - exit 0 43.1621 - fi 43.1622 - echo "" 43.1623 - echo -e "\033[1m`gettext \"Search result for file\"`\033[0m $2" 43.1624 - echo "================================================================================" 43.1625 - 43.1626 - # Search for a file on mirror and output only the package name 43.1627 - match=0 43.1628 - for i in $LOCALSTATE/files.list.lzma \ 43.1629 - $LOCALSTATE/undigest/*/files.list.lzma; do 43.1630 - [ -f $i ] || continue 43.1631 - unlzma -c $i | grep -- ".*:.*$2" | cut -d: -f1 | uniq | awk '{ print $1 }' 43.1632 - match=$(($match + `unlzma -c $i | grep -- ".*:.*$2" | cut -d: -f1 | uniq | wc -l`)) 43.1633 - done 43.1634 - file=$2 43.1635 - if [ "$match" = "" ]; then 43.1636 - eval_gettext "0 file found for : \$file"; echo 43.1637 - echo "" 43.1638 - else 43.1639 - echo "" 43.1640 - echo "================================================================================" 43.1641 - eval_gettext "$match pkg(s) found with file: \$file"; echo 43.1642 - echo "" 43.1643 - fi 43.1644 - ;; 43.1645 - install) 43.1646 - # Install .tazpkg packages. 43.1647 - # 43.1648 - check_root 43.1649 - check_for_package_on_cmdline 43.1650 - check_for_package_file 43.1651 - # Check if forced install. 43.1652 - DO_CHECK="yes" 43.1653 - ROOT="" 43.1654 - while [ -n "$3" ]; do 43.1655 - case "$3" in 43.1656 - --forced) 43.1657 - DO_CHECK="no" 43.1658 - ;; 43.1659 - --root=*) 43.1660 - ROOT="${3#--root=}" 43.1661 - ;; 43.1662 - --list=*) 43.1663 - INSTALL_LIST="${3#--list=}" 43.1664 - ;; 43.1665 - *) shift 2 43.1666 - echo -e "\nUnknown option $*.\n" 43.1667 - exit 1 43.1668 - ;; 43.1669 - esac 43.1670 - shift 43.1671 - done 43.1672 - if [ "$DO_CHECK" = "yes" ]; then 43.1673 - check_for_installed_package $ROOT 43.1674 - fi 43.1675 - install_package $ROOT 43.1676 - update_desktop_database $ROOT 43.1677 - update_mime_database $ROOT ;; 43.1678 - install-list|get-install-list) 43.1679 - # Install a set of packages from a list. 43.1680 - # 43.1681 - check_root 43.1682 - if [ -z "$2" ]; then 43.1683 - echo "" 43.1684 - gettext \ 43.1685 -"Please change directory (cd) to the packages repository and specify the 43.1686 -list of packages to install. Example : tazpkg install-list packages.list" 43.1687 - echo "" && exit 0 43.1688 - fi 43.1689 - # Check if the packages list exist. 43.1690 - list_file=$2 43.1691 - if [ ! -f "$list_file" ]; then 43.1692 - gettext "Unable to find : $list_file"; echo 43.1693 - exit 0 43.1694 - else 43.1695 - LIST=`cat $2` 43.1696 - fi 43.1697 - 43.1698 - # Remember processed list 43.1699 - export INSTALL_LIST="$2" 43.1700 - 43.1701 - # Set $COMMAND and install all packages. 43.1702 - if [ "$1" = "get-install-list" ]; then 43.1703 - COMMAND=get-install 43.1704 - else 43.1705 - COMMAND=install 43.1706 - fi 43.1707 - touch $2-processed 43.1708 - 43.1709 - # Upgrade tazpkg first. It may handle new features/formats... 43.1710 - # then upgrade essential packages early 43.1711 - for pkg in busybox-pam busybox gcc-lib-base glibc-base \ 43.1712 - slitaz-base-files tazpkg ; do 43.1713 - pkg=$(egrep $pkg-[0-9] $INSTALL_LIST) 43.1714 - [ -n "$pkg" ] || continue 43.1715 - echo "Adding implicit depends $pkg ..." 43.1716 - LIST="$pkg 43.1717 -$LIST" 43.1718 - done 43.1719 - 43.1720 - for pkg in $LIST 43.1721 - do 43.1722 - grep -qs ^$pkg$ $2-processed && continue 43.1723 - tazpkg $COMMAND $pkg --list=$2 "$3" "$4" "$5" 43.1724 - done 43.1725 - rm -f $2-processed ;; 43.1726 - add-flavor) 43.1727 - # Install a set of packages from a flavor. 43.1728 - # 43.1729 - install_flavor $2 ;; 43.1730 - install-flavor) 43.1731 - # Install a set of packages from a flavor and purge other ones. 43.1732 - # 43.1733 - install_flavor $2 --purge ;; 43.1734 - set-release) 43.1735 - # Change curent release and upgrade packages. 43.1736 - # 43.1737 - RELEASE=$2 43.1738 - if [ -z "$RELEASE" ]; then 43.1739 - echo "" 43.1740 - gettext "Please specify the release you want on the command line."; echo 43.1741 - gettext "Example: tazpkg set-release cooking"; echo 43.1742 - echo "" 43.1743 - exit 0 43.1744 - fi 43.1745 - rm /var/lib/tazpkg/mirror 43.1746 - echo "$RELEASE" > /etc/slitaz-release 43.1747 - tazpkg recharge && tazpkg upgrade 43.1748 - 43.1749 - # Install missing depends 43.1750 - cd $INSTALLED 43.1751 - for i in * ; do 43.1752 - DEPENDS="" 43.1753 - . $i/receipt 43.1754 - for j in $DEPENDS ; do 43.1755 - [ -d $j ] || tazpkg get-install $j 43.1756 - done 43.1757 - done ;; 43.1758 - remove) 43.1759 - # Remove packages. 43.1760 - # 43.1761 - check_root 43.1762 - check_for_package_on_cmdline 43.1763 - ROOT="" 43.1764 - while [ -n "$3" ]; do 43.1765 - case "$3" in 43.1766 - --root=*) 43.1767 - ROOT="${3#--root=}" 43.1768 - if [ "$ROOT" ]; then 43.1769 - ROOTOPTS="--root=$ROOT" 43.1770 - else 43.1771 - ROOTOPTS="" 43.1772 - fi 43.1773 - ;; 43.1774 - *) shift 2 43.1775 - echo -e "\nUnknown option $*.\n" 43.1776 - exit 1 43.1777 - ;; 43.1778 - esac 43.1779 - shift 43.1780 - done 43.1781 - if [ ! -f "$ROOT$INSTALLED/$PACKAGE/receipt" ]; then 43.1782 - echo "" 43.1783 - eval_gettext "\$PACKAGE is not installed."; echo 43.1784 - exit 0 43.1785 - else 43.1786 - ALTERED="" 43.1787 - THE_PACKAGE=$PACKAGE # altered by receipt 43.1788 - for i in $(cd $ROOT$INSTALLED ; ls); do 43.1789 - [ -f $ROOT$INSTALLED/$i/receipt ] || continue 43.1790 - DEPENDS="" 43.1791 - . $ROOT$INSTALLED/$i/receipt 43.1792 - case " $(echo $DEPENDS) " in 43.1793 - *\ $THE_PACKAGE\ *) ALTERED="$ALTERED $i";; 43.1794 - esac 43.1795 - done 43.1796 - EXTRAVERSION="" 43.1797 - . $ROOT$INSTALLED/$THE_PACKAGE/receipt 43.1798 - fi 43.1799 - echo "" 43.1800 - if [ -n "$ALTERED" ]; then 43.1801 - eval_gettext "The following packages depend on \$PACKAGE:"; echo 43.1802 - for i in $ALTERED; do 43.1803 - echo " $i" 43.1804 - done 43.1805 - fi 43.1806 - REFRESH=$(cd $ROOT$INSTALLED ; grep -sl ^$PACKAGE$ */modifiers) 43.1807 - if [ -n "$REFRESH" ]; then 43.1808 - eval_gettext "The following packages have been modified by \$PACKAGE:"; echo 43.1809 - for i in $REFRESH; do 43.1810 - echo " ${i%/modifiers}" 43.1811 - done 43.1812 - fi 43.1813 - eval_gettext "Remove \$PACKAGE (\$VERSION\$EXTRAVERSION) ?"; echo 43.1814 - gettext "Please confirm uninstallation (y/N) : "; read anser 43.1815 - if [ "$anser" = "y" ]; then 43.1816 - echo "" 43.1817 - echo -e "\033[1m`gettext \"Removing:\"`\033[0m $PACKAGE" 43.1818 - echo "================================================================================" 43.1819 - # Pre remove commands. 43.1820 - if grep -q ^pre_remove $ROOT$INSTALLED/$PACKAGE/receipt; then 43.1821 - pre_remove 43.1822 - fi 43.1823 - gettext "Removing all files installed..." 43.1824 - if [ -f $ROOT$INSTALLED/$PACKAGE/modifiers ]; then 43.1825 - for mod in `cat $ROOT$INSTALLED/$PACKAGE/modifiers` 43.1826 - do 43.1827 - for file in `cat $ROOT$INSTALLED/$PACKAGE/files.list` 43.1828 - do 43.1829 - [ $(grep "^$(echo $file | grepesc)$" $ROOT$INSTALLED/$mod/files.list | wc -l) -gt 1 ] && continue 43.1830 - remove_with_path $ROOT$file 43.1831 - done 43.1832 - done 43.1833 - else 43.1834 - for file in `cat $ROOT$INSTALLED/$PACKAGE/files.list` 43.1835 - do 43.1836 - remove_with_path $ROOT$file 43.1837 - done 43.1838 - fi 43.1839 - status 43.1840 - if grep -q ^post_remove $ROOT$INSTALLED/$PACKAGE/receipt; then 43.1841 - post_remove 43.1842 - fi 43.1843 - # Remove package receipt. 43.1844 - gettext "Removing package receipt..." 43.1845 - rm -rf $ROOT$INSTALLED/$PACKAGE 43.1846 - status 43.1847 - sed -i "/ $PACKAGE-$VERSION$EXTRAVERSION$/d" \ 43.1848 - $LOCALSTATE/installed.md5 2> /dev/null 43.1849 - # Log this activity 43.1850 - log Removed 43.1851 - if [ -n "$ALTERED" ]; then 43.1852 - eval_gettext "Remove packages depending on \$PACKAGE" 43.1853 - echo -n " (y/N) ? "; read anser 43.1854 - if [ "$anser" = "y" ]; then 43.1855 - for i in $ALTERED; do 43.1856 - if [ -d "$ROOT$INSTALLED/$i" ]; then 43.1857 - tazpkg remove $i $ROOTOPTS 43.1858 - fi 43.1859 - done 43.1860 - fi 43.1861 - fi 43.1862 - if [ -n "$REFRESH" ]; then 43.1863 - eval_gettext "Reinstall packages modified by \$PACKAGE" 43.1864 - echo -n " (y/N) ? "; read anser 43.1865 - if [ "$anser" = "y" ]; then 43.1866 - for i in $REFRESH; do 43.1867 - if [ $(wc -l < $ROOT$INSTALLED/$i) -gt 1 ]; then 43.1868 - eval_gettext "Check \$INSTALLED/\$i for reinstallation"; echo 43.1869 - continue 43.1870 - fi 43.1871 - rm -r $ROOT$INSTALLED/$i 43.1872 - tazpkg get-install ${i%/modifiers} $ROOTOPTS --forced 43.1873 - done 43.1874 - fi 43.1875 - fi 43.1876 - else 43.1877 - echo "" 43.1878 - eval_gettext "Uninstallation of \$PACKAGE cancelled."; echo 43.1879 - fi 43.1880 - echo "" ;; 43.1881 - extract) 43.1882 - # Extract .tazpkg cpio archive into a directory. 43.1883 - # 43.1884 - check_for_package_on_cmdline 43.1885 - check_for_package_file 43.1886 - echo "" 43.1887 - echo -e "\033[1m`gettext \"Extracting:\"`\033[0m $PACKAGE" 43.1888 - echo "================================================================================" 43.1889 - # If no directory destination is found on the cmdline 43.1890 - # we create one in the current dir using the package name. 43.1891 - if [ -n "$TARGET_DIR" ]; then 43.1892 - DESTDIR=$TARGET_DIR/$PACKAGE 43.1893 - else 43.1894 - DESTDIR=$PACKAGE 43.1895 - fi 43.1896 - mkdir -p $DESTDIR 43.1897 - gettext "Copying original package..." 43.1898 - cp $PACKAGE_FILE $DESTDIR 43.1899 - status 43.1900 - cd $DESTDIR 43.1901 - extract_package 43.1902 - echo "================================================================================" 43.1903 - eval_gettext "\$PACKAGE is extracted to: \$DESTDIR"; echo 43.1904 - echo "" ;; 43.1905 - recompress) 43.1906 - # Recompress .tazpkg cpio archive with lzma. 43.1907 - # 43.1908 - check_for_package_on_cmdline 43.1909 - check_for_package_file 43.1910 - echo "" 43.1911 - echo -e "\033[1m`gettext \"Recompressing:\"`\033[0m $PACKAGE" 43.1912 - echo "================================================================================" 43.1913 - mkdir -p $TMP_DIR 43.1914 - gettext "Copying original package..." 43.1915 - cp $PACKAGE_FILE $TMP_DIR 43.1916 - status 43.1917 - cd $TMP_DIR 43.1918 - extract_package 43.1919 - gettext "Recompressing the fs... " 43.1920 - find fs | cpio -o -H newc 2> /dev/null | lzma e fs.cpio.lzma -si 43.1921 - rm -rf fs 43.1922 - status 43.1923 - gettext "Creating new package... " 43.1924 - find . -print | cpio -o -H newc > \ 43.1925 - $TOP_DIR/$(basename $PACKAGE_FILE).$$ && mv -f \ 43.1926 - $TOP_DIR/$(basename $PACKAGE_FILE).$$ \ 43.1927 - $TOP_DIR/$(basename $PACKAGE_FILE) 43.1928 - status 43.1929 - cd $TOP_DIR 43.1930 - rm -rf $TMP_DIR ;; 43.1931 - list-config) 43.1932 - # List configuration files installed. 43.1933 - # 43.1934 - if [ "$2" = "--box" ]; then 43.1935 - mkdir -p $TMP_DIR && cd $TMP_DIR 43.1936 - FILES="$INSTALLED/*/volatile.cpio.gz" 43.1937 - [ -n "$3" ] && FILES="$INSTALLED/$3/volatile.cpio.gz" 43.1938 - for i in $FILES; do 43.1939 - zcat $i | cpio -idm > /dev/null 43.1940 - find * -type f 2>/dev/null | while read file; do 43.1941 - if [ ! -e /$file ]; then 43.1942 - echo -n "|--|--|--|File lost" 43.1943 - else 43.1944 - echo -n "$(stat -c "%A|%U|%G|%s|" /$file)" 43.1945 - cmp $file /$file > /dev/null 2>&1 || \ 43.1946 - echo -n "$(stat -c "%.16y" /$file)" 43.1947 - fi 43.1948 - echo "|/$file" 43.1949 - done 43.1950 - rm -rf * 43.1951 - done 43.1952 - cd $TOP_DIR 43.1953 - rm -rf $TMP_DIR 43.1954 - else 43.1955 - echo "" 43.1956 - echo -e "\033[1m`gettext \"Configuration files\"`" 43.1957 - echo "================================================================================" 43.1958 - for i in $INSTALLED/*/volatile.cpio.gz; do 43.1959 - [ -n "$2" -a "$i" != "$INSTALLED/$2/volatile.cpio.gz" ] && continue 43.1960 - [ -f "$i" ] || continue 43.1961 - zcat $i | cpio -t | grep -v "[0-9]* blocks" 43.1962 - done | sed 's|^|/|' | sort 43.1963 - echo "================================================================================" 43.1964 - echo "" 43.1965 - fi ;; 43.1966 - repack-config) 43.1967 - # Create SliTaz package archive from configuration files. 43.1968 - # 43.1969 - mkdir -p $TMP_DIR && cd $TMP_DIR 43.1970 - CONFIG_VERSION=1.0 43.1971 - mkdir config-$CONFIG_VERSION 43.1972 - cd config-$CONFIG_VERSION 43.1973 - for i in $INSTALLED/*/volatile.cpio.gz; do 43.1974 - zcat $i | cpio -t | grep -v "[0-9]* blocks" 43.1975 - done > files.list 43.1976 - mkdir fs 43.1977 - cd fs 43.1978 - ( cd / ; cpio -o -H newc ) < ../files.list | cpio -idm > /dev/null 43.1979 - mkdir -p etc/tazlito 43.1980 - for i in $INSTALLED/*/receipt; do 43.1981 - EXTRAVERSION="" 43.1982 - . $i 43.1983 - echo "$PACKAGE-$VERSION$EXTRAVERSION" 43.1984 - done > etc/tazlito/config-packages.list 43.1985 - cd .. 43.1986 - echo "etc/tazlito/config-packages.list" >> files.list 43.1987 - cat > receipt <<EOT 43.1988 -# SliTaz package receipt. 43.1989 - 43.1990 -PACKAGE="config" 43.1991 -VERSION="$CONFIG_VERSION" 43.1992 -CATEGORY="base-system" 43.1993 -SHORT_DESC="User configuration backup on $(date)" 43.1994 -DEPENDS="$(ls $INSTALLED)" 43.1995 -EOT 43.1996 - cd .. 43.1997 - tazpkg pack config-$CONFIG_VERSION 43.1998 - cp config-$CONFIG_VERSION.tazpkg $TOP_DIR 43.1999 - cd $TOP_DIR 43.2000 - rm -rf $TMP_DIR 43.2001 - ;; 43.2002 - repack) 43.2003 - # Create SliTaz package archive from an installed package. 43.2004 - # 43.2005 - check_for_package_on_cmdline 43.2006 - check_for_receipt 43.2007 - EXTRAVERSION="" 43.2008 - . $INSTALLED/$PACKAGE/receipt 43.2009 - echo "" 43.2010 - echo -e "\033[1mRepacking :\033[0m $PACKAGE-$VERSION$EXTRAVERSION.tazpkg" 43.2011 - echo "================================================================================" 43.2012 - if grep -qs ^NO_REPACK= $INSTALLED/$PACKAGE/receipt; then 43.2013 - echo "Can't repack $PACKAGE" 43.2014 - exit 1 43.2015 - fi 43.2016 - if [ -s $INSTALLED/$PACKAGE/modifiers ]; then 43.2017 - eval_gettext "Can't repack, \$PACKAGE files have been modified by:"; echo 43.2018 - for i in $(cat $INSTALLED/$PACKAGE/modifiers); do 43.2019 - echo " $i" 43.2020 - done 43.2021 - exit 1 43.2022 - fi 43.2023 - MISSING="" 43.2024 - while read i; do 43.2025 - [ -e "$i" ] && continue 43.2026 - [ -L "$i" ] || MISSING="$MISSING\n $i" 43.2027 - done < $INSTALLED/$PACKAGE/files.list 43.2028 - if [ -n "$MISSING" ]; then 43.2029 - gettext "Can't repack, the following files are lost:" 43.2030 - echo -e "$MISSING" 43.2031 - exit 1 43.2032 - fi 43.2033 - mkdir -p $TMP_DIR && cd $TMP_DIR 43.2034 - FILES="fs.cpio.lzma\n" 43.2035 - for i in $(ls $INSTALLED/$PACKAGE) ; do 43.2036 - [ "$i" = "volatile.cpio.gz" ] && continue 43.2037 - [ "$i" = "modifiers" ] && continue 43.2038 - cp $INSTALLED/$PACKAGE/$i . && FILES="$FILES$i\n" 43.2039 - done 43.2040 - ln -s / rootfs 43.2041 - mkdir tmp 43.2042 - sed 's/^/rootfs/' < files.list | cpio -o -H newc 2>/dev/null |\ 43.2043 - ( cd tmp ; cpio -idm >/dev/null ) 43.2044 - mv tmp/rootfs fs 43.2045 - if [ -f $INSTALLED/$PACKAGE/volatile.cpio.gz ]; then 43.2046 - zcat $INSTALLED/$PACKAGE/volatile.cpio.gz | \ 43.2047 - ( cd fs; cpio -idm ) 43.2048 - fi 43.2049 - if grep -q repack_cleanup $INSTALLED/$PACKAGE/receipt; then 43.2050 - . $INSTALLED/$PACKAGE/receipt 43.2051 - repack_cleanup fs 43.2052 - fi 43.2053 - if [ -f $INSTALLED/$PACKAGE/md5sum ]; then 43.2054 - sed 's, , fs,' < $INSTALLED/$PACKAGE/md5sum | \ 43.2055 - md5sum -s -c || { 43.2056 - echo "Can't repack, md5sum error." 43.2057 - cd $TOP_DIR 43.2058 - rm -rf $TMP_DIR 43.2059 - exit 1 43.2060 - } 43.2061 - fi 43.2062 - find fs | cpio -o -H newc 2> /dev/null | lzma e fs.cpio.lzma -si 43.2063 - echo -e "$FILES" | cpio -o -H newc 2> /dev/null > \ 43.2064 - $TOP_DIR/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg 43.2065 - cd $TOP_DIR 43.2066 - \rm -R $TMP_DIR 43.2067 - eval_gettext "Package \$PACKAGE repacked successfully."; echo 43.2068 - echo "Size : `du -sh $PACKAGE-$VERSION$EXTRAVERSION.tazpkg`" 43.2069 - echo "" ;; 43.2070 - pack) 43.2071 - # Create SliTaz package archive using cpio and gzip. 43.2072 - # 43.2073 - check_for_package_on_cmdline 43.2074 - cd $PACKAGE 43.2075 - if [ ! -f "receipt" ]; then 43.2076 - gettext "Receipt is missing. Please read the documentation."; echo 43.2077 - exit 0 43.2078 - else 43.2079 - echo "" 43.2080 - echo -e "\033[1mPacking :\033[0m $PACKAGE" 43.2081 - echo "================================================================================" 43.2082 - # Create files.list with redirecting find outpout. 43.2083 - gettext "Creating the list of files..." && cd fs 43.2084 - find . -type f -print > ../files.list 43.2085 - find . -type l -print >> ../files.list 43.2086 - cd .. && sed -i s/'^.'/''/ files.list 43.2087 - status 43.2088 - gettext "Creating md5sum of files..." 43.2089 - while read file; do 43.2090 - [ -L "fs$file" ] && continue 43.2091 - [ -f "fs$file" ] || continue 43.2092 - case "$file" in 43.2093 - /lib/modules/*/modules.*|*.pyc) continue;; 43.2094 - esac 43.2095 - md5sum "fs$file" | sed 's/ fs/ /' 43.2096 - done < files.list > md5sum 43.2097 - status 43.2098 - UNPACKED_SIZE=$(du -chs fs receipt files.list md5sum \ 43.2099 - description.txt 2> /dev/null | awk \ 43.2100 - '{ sz=$1 } END { print sz }') 43.2101 - # Build cpio archives. 43.2102 - gettext "Compressing the fs... " 43.2103 - find fs | cpio -o -H newc | lzma e fs.cpio.lzma -si 43.2104 - rm -rf fs 43.2105 - status 43.2106 - PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list \ 43.2107 - md5sum description.txt 2> /dev/null | awk \ 43.2108 - '{ sz=$1 } END { print sz }') 43.2109 - gettext "Updating receipt sizes..." 43.2110 - sed -i s/^PACKED_SIZE.*$// receipt 43.2111 - sed -i s/^UNPACKED_SIZE.*$// receipt 43.2112 - sed -i "s/^PACKAGE=/PACKED_SIZE=\"$PACKED_SIZE\"\nUNPACKED_SIZE=\"$UNPACKED_SIZE\"\nPACKAGE=/" receipt 43.2113 - status 43.2114 - gettext "Creating full cpio archive... " 43.2115 - find . -print | cpio -o -H newc > ../$PACKAGE.tazpkg 43.2116 - status 43.2117 - gettext "Restoring original package tree... " 43.2118 - unlzma -c fs.cpio.lzma | cpio -idm 43.2119 - status 43.2120 - rm fs.cpio.lzma && cd .. 43.2121 - echo "================================================================================" 43.2122 - eval_gettext "Package \$PACKAGE compressed successfully."; echo 43.2123 - echo "Size : `du -sh $PACKAGE.tazpkg`" 43.2124 - echo "" 43.2125 - fi ;; 43.2126 - recharge) 43.2127 - # Recharge packages.list from a mirror. 43.2128 - # 43.2129 - check_root 43.2130 - for path in $LOCALSTATE $LOCALSTATE/undigest/*; do 43.2131 - [ -f $path/mirror ] || continue 43.2132 - echo "" 43.2133 - if [ "$path" != "$LOCALSTATE" ]; then 43.2134 - echo "Recharging undigest $(basename $path):" 43.2135 - fi 43.2136 - cd $path 43.2137 - if [ -f "packages.list" ]; then 43.2138 - gettext "Creating backup of the last packages list..." 43.2139 - mv -f packages.desc packages.desc.bak 2>/dev/null 43.2140 - mv -f packages.md5 packages.md5.txt 2>/dev/null 43.2141 - mv -f packages.txt packages.txt.bak 2>/dev/null 43.2142 - mv -f packages.list packages.list.bak 2>/dev/null 43.2143 - mv -f packages.equiv packages.equiv.bak 2>/dev/null 43.2144 - mv -f files.list.lzma files.list.lzma.bak 2> /dev/null 43.2145 - mv -f mirrors mirrors.bak 2> /dev/null 43.2146 - status 43.2147 - fi 43.2148 - download_from "$(cat mirror)" packages.desc 43.2149 - download_from "$(cat mirror)" packages.md5 43.2150 - download_from "$(cat mirror)" packages.txt 43.2151 - download_from "$(cat mirror)" packages.list 43.2152 - download_from "$(cat mirror)" packages.equiv 43.2153 - download_from "$(cat mirror)" files.list.lzma 43.2154 - download_from "$(sed 's|packages/.*||' < mirror)" mirrors 43.2155 - [ -f mirrors ] || mv mirrors.bak mirrors 2> /dev/null 43.2156 - suffix=$(head -1 mirror) 43.2157 - suffix=packages${suffix#*/packages} 43.2158 - for i in $(cat mirrors 2> /dev/null); do 43.2159 - grep -qs $i mirror || echo $i$suffix >> mirror 43.2160 - done 43.2161 - if [ -f "packages.list.bak" ]; then 43.2162 - diff -u packages.list.bak packages.list | grep ^+[a-z] > packages.diff 43.2163 - sed -i s/+// packages.diff 43.2164 - echo "" 43.2165 - echo -e "\033[1m`gettext \"Mirrored packages diff\"`\033[0m" 43.2166 - echo "================================================================================" 43.2167 - cat packages.diff 43.2168 - new_pkgs=`cat packages.diff | wc -l` 43.2169 - if [ "$new_pkgs" != 0 ]; then 43.2170 - echo "================================================================================" 43.2171 - eval_gettext "\$new_pkgs new packages on the mirror."; echo 43.2172 - echo "" 43.2173 - else 43.2174 - gettext "No new packages on the mirror."; echo 43.2175 - echo "" 43.2176 - fi 43.2177 - else 43.2178 - echo -e " 43.2179 -================================================================================" 43.2180 - gettext \ 43.2181 -"Last packages.list is ready to use. Note that next time you recharge the 43.2182 -list, a list of differences will be displayed to show new and upgradeable 43.2183 -packages." 43.2184 - echo "" 43.2185 - fi 43.2186 - done ;; 43.2187 - upgradeable) 43.2188 - # Build upgradeable-packages.list quickly. 43.2189 - # 43.2190 - check_root 43.2191 - cd $LOCALSTATE 43.2192 - while read md5 file ; do 43.2193 - grep -qs "$md5 $file" packages.md5 && continue 43.2194 - for i in 1 2 3 4 5; do 43.2195 - file=${file%-*} 43.2196 - [ -d installed/$file ] || continue 43.2197 - echo $file 43.2198 - break 43.2199 - done 43.2200 - done < installed.md5 > upgradeable-packages.list ;; 43.2201 - upgrade) 43.2202 - # Upgrade all installed packages with the new version from the mirror. 43.2203 - # 43.2204 - check_root 43.2205 - check_for_packages_list 43.2206 - cd $LOCALSTATE 43.2207 - # Touch the blocked pkgs list to avoid errors and remove any old 43.2208 - # upgrade list. 43.2209 - touch blocked-packages.list 43.2210 - rm -f upgradeable-packages.list 43.2211 - echo "" 43.2212 - echo -e "\033[1m`gettext \"Available upgrades\"`\033[0m" 43.2213 - echo "================================================================================" 43.2214 - echo "" 43.2215 - # Some packages must be installed first 43.2216 - FIRST_CLASS_PACKAGE=" glibc-base slitaz-base-files slitaz-boot-scripts " 43.2217 - if [ -n "$PACKAGE_FILE" -a -d "$INSTALLED/$PACKAGE_FILE" ]; then 43.2218 - ALL=$INSTALLED/$PACKAGE_FILE 43.2219 - else 43.2220 - ALL="$(ls -d $INSTALLED/*)" 43.2221 - fi 43.2222 - for pkg in $ALL 43.2223 - do 43.2224 - [ -f $pkg/receipt ] || continue 43.2225 - EXTRAVERSION="" 43.2226 - . $pkg/receipt 43.2227 - # Display package name to show that Tazpkg is working... 43.2228 - echo -en "\\033[0G " 43.2229 - echo -en "\\033[0G$PACKAGE" 43.2230 - # Skip specified pkgs listed in $LOCALSTATE/blocked-packages.list 43.2231 - if grep -qs "^$PACKAGE" $BLOCKED; then 43.2232 - blocked=$(($blocked+1)) 43.2233 - else 43.2234 - # Check if the installed package is in the current list (other 43.2235 - # mirror or local). 43.2236 - NEW_PACKAGE=$(get_package_filename $PACKAGE) 43.2237 - 43.2238 - if [ -n "$NEW_PACKAGE" ]; then 43.2239 - # Set new pkg and version for future comparison 43.2240 - NEW_VERSION=`echo $NEW_PACKAGE | sed s/$PACKAGE-/''/` 43.2241 - # Change '-' and 'pre' to points. 43.2242 - NEW_VERSION=`echo $NEW_VERSION | sed s/'-'/'.'/` 43.2243 - VERSION=`echo $VERSION | sed s/'-'/'.'/`$EXTRAVERSION 43.2244 - NEW_VERSION=`echo $NEW_VERSION | sed s/'pre'/'.'/` 43.2245 - VERSION=`echo $VERSION | sed s/'pre'/'.'/` 43.2246 - NEW_VERSION=`echo $NEW_VERSION | sed 's/[A-Z]\.//'` 43.2247 - VERSION=`echo $VERSION | sed 's/[A-Z]\.//'` 43.2248 - # Compare version. Upgrades are only available for official 43.2249 - # packages, so we control the mirror and it should be ok if 43.2250 - # we just check for equality. 43.2251 - RELEASE="" 43.2252 - if [ -f installed.md5 -a -f packages.md5 ]; then 43.2253 - current_md5=$(grep -s " $PACKAGE-$VERSION" installed.md5 | awk '{ print $1 }') 43.2254 - new_md5=$(grep -hs " $PACKAGE-$VERSION" packages.md5 undigest/*/packages.md5 | head -1 | awk '{ print $1 }') 43.2255 - [ -n "$current_md5" ] && [ -n "$new_md5" ] && 43.2256 - [ "$current_md5" != "$new_md5" ] && RELEASE=build 43.2257 - fi 43.2258 - if [ "$VERSION" != "$NEW_VERSION" -o -n "$RELEASE" ]; then 43.2259 - # Version seems different. Check for major, minor or 43.2260 - # revision 43.2261 - PKG_MAJOR=`echo ${VERSION%_*} | cut -f1 -d"."` 43.2262 - NEW_MAJOR=`echo ${NEW_VERSION%_*} | cut -f1 -d"."` 43.2263 - PKG_MINOR=`echo ${VERSION%_*} | cut -f2 -d"."` 43.2264 - NEW_MINOR=`echo ${NEW_VERSION%_*} | cut -f2 -d"."` 43.2265 - # Minor 43.2266 - if [ "$NEW_MINOR" -gt "$PKG_MINOR" ] 2> /dev/null; then 43.2267 - RELEASE=minor 43.2268 - fi 43.2269 - if [ "$NEW_MINOR" -lt "$PKG_MINOR" ] 2> /dev/null; then 43.2270 - RELEASE=$WARNING 43.2271 - FIXE=yes 43.2272 - fi 43.2273 - # Major 43.2274 - if [ "$NEW_MAJOR" -gt "$PKG_MAJOR" ] 2> /dev/null; then 43.2275 - RELEASE=major 43.2276 - FIXE="" 43.2277 - fi 43.2278 - if [ "$NEW_MAJOR" -lt "$PKG_MAJOR" ] 2> /dev/null; then 43.2279 - RELEASE=WARNING 43.2280 - FIXE=yes 43.2281 - fi 43.2282 - # Default to revision. 43.2283 - if [ -z $RELEASE ]; then 43.2284 - RELEASE=revision 43.2285 - fi 43.2286 - # Pkg name is already displayed by the check process. 43.2287 - echo -en "\033[24G $VERSION" 43.2288 - echo -en "\033[38G --->" 43.2289 - echo -en "\033[43G $NEW_VERSION" 43.2290 - echo -en "\033[58G $CATEGORY" 43.2291 - echo -e "\033[72G $RELEASE" 43.2292 - up=$(($up+1)) 43.2293 - echo "$PACKAGE" >> upgradeable-packages.list 43.2294 - case "$FIRST_CLASS_PACKAGE" in 43.2295 - *\ $PACKAGE\ *) echo "$PACKAGE" >> upgradeable-packages.list$$;; 43.2296 - esac 43.2297 - unset RELEASE 43.2298 - fi 43.2299 - packages=$(($packages+1)) 43.2300 - fi 43.2301 - fi 43.2302 - done 43.2303 - if [ -z $blocked ]; then 43.2304 - blocked=0 43.2305 - fi 43.2306 - # Clean last checked package and display summary. 43.2307 - if [ ! "$up" = "" ]; then 43.2308 - echo -e "\\033[0G " 43.2309 - echo "================================================================================" 43.2310 - eval_gettext "\$packages installed and listed packages to consider, \$up to upgrade, \$blocked blocked."; echo 43.2311 - echo "" 43.2312 - else 43.2313 - echo -e "\\033[0G`gettext \"System is up-to-date.\"` " 43.2314 - echo "" 43.2315 - echo "================================================================================" 43.2316 - eval_gettext "\$packages installed and listed packages to consider, 0 to upgrade, \$blocked blocked."; echo 43.2317 - echo "" 43.2318 - exit 0 43.2319 - fi 43.2320 - # What to do if major or minor version is smaller. 43.2321 - if [ "$FIXE" == "yes" ]; then 43.2322 - gettext \ 43.2323 -"WARNING ---> Installed package seems more recent than the mirrored 43.2324 -one. You can block packages using the command : 'tazpkg block package'. 43.2325 -Or upgrade packages at your own risk." 43.2326 - echo "" 43.2327 - fi 43.2328 - # Ask for upgrade, it can be done another time. 43.2329 - echo -n "Upgrade now (y/N) ? "; read anser 43.2330 - if [ ! "$anser" = "y" ]; then 43.2331 - echo "" 43.2332 - gettext "Exiting. No package upgraded."; echo 43.2333 - echo "" 43.2334 - exit 0 43.2335 - fi 43.2336 - # If anser is yes (y). Install all new versions. 43.2337 - cat upgradeable-packages.list >> upgradeable-packages.list$$ 43.2338 - mv -f upgradeable-packages.list$$ upgradeable-packages.list 43.2339 - yes y | tazpkg get-install-list upgradeable-packages.list --forced 43.2340 - rm -f upgradeable-packages.list 43.2341 - ;; 43.2342 - bugs) 43.2343 - # Show known bugs in package(s) 43.2344 - # 43.2345 - cd $INSTALLED 43.2346 - shift 43.2347 - LIST=$@ 43.2348 - [ -n "$LIST" ] || LIST=`ls` 43.2349 - MSG=`gettext "No known bugs."` 43.2350 - for PACKAGE in $LIST; do 43.2351 - BUGS="" 43.2352 - EXTRAVERSION="" 43.2353 - . $PACKAGE/receipt 43.2354 - if [ -n "$BUGS" ]; then 43.2355 - MSG=`gettext "Bug list completed"` 43.2356 - echo "" 43.2357 - eval_gettext "Bugs in package \$PACKAGE version \$VERSION\$EXTRAVERSION:"; echo 43.2358 - cat <<EOT 43.2359 - $BUGS 43.2360 -EOT 43.2361 - fi 43.2362 - done 43.2363 - echo "$MSG" ;; 43.2364 - check) 43.2365 - # Check installed packages set. 43.2366 - # 43.2367 - check_root 43.2368 - cd $INSTALLED 43.2369 - for PACKAGE in `ls`; do 43.2370 - if [ ! -f $PACKAGE/receipt ]; then 43.2371 - eval_gettext "The package \$PACKAGE installation has not completed"; echo 43.2372 - continue 43.2373 - fi 43.2374 - DEPENDS="" 43.2375 - EXTRAVERSION="" 43.2376 - . $PACKAGE/receipt 43.2377 - if [ -s $PACKAGE/modifiers ]; then 43.2378 - eval_gettext \ 43.2379 - "The package \$PACKAGE \$VERSION\$EXTRAVERSION has been modified by:"; echo 43.2380 - for i in $(cat $PACKAGE/modifiers); do 43.2381 - echo " $i" 43.2382 - done 43.2383 - fi 43.2384 - MSG="Files lost from $PACKAGE $VERSION$EXTRAVERSION :\n" 43.2385 - while read file; do 43.2386 - [ -e "$file" ] && continue 43.2387 - if [ -L "$file" ]; then 43.2388 - MSG="$MSG target of symlink" 43.2389 - fi 43.2390 - echo -e "$MSG $file" 43.2391 - MSG="" 43.2392 - done < $PACKAGE/files.list 43.2393 - MSG="Missing dependencies for $PACKAGE $VERSION$EXTRAVERSION :\n" 43.2394 - for i in $DEPENDS; do 43.2395 - [ -d $i ] && continue 43.2396 - [ -d $(equivalent_pkg $i) ] && continue 43.2397 - echo -e "$MSG $i" 43.2398 - MSG="" 43.2399 - done 43.2400 - MSG="Dependencies loop between $PACKAGE and :\n" 43.2401 - ALL_DEPS="" 43.2402 - check_for_deps_loop $PACKAGE $DEPENDS 43.2403 - done 43.2404 - echo -n "Looking for known bugs... " 43.2405 - tazpkg bugs 43.2406 - if [ "$PACKAGE_FILE" = "--full" ]; then 43.2407 - for file in */md5sum; do 43.2408 - CONFIG_FILES="" 43.2409 - . $(dirname "$file")/receipt 43.2410 - [ -s "$file" ] || continue 43.2411 - while read md5 f; do 43.2412 - [ -f $f ] || continue 43.2413 - for i in $CONFIG_FILES; do 43.2414 - case "$f" in 43.2415 - $i|$i/*) continue 2;; 43.2416 - esac 43.2417 - done 43.2418 - echo "$md5 $f" 43.2419 - done < "$file" | md5sum -c - 2> /dev/null | \ 43.2420 - grep -v OK$ | sed 's/FAILED$/MD5SUM MISMATCH/' 43.2421 - done 43.2422 - FILES=" " 43.2423 - for file in $(cat */files.list); do 43.2424 - [ -d "$file" ] && continue 43.2425 - case "$FILES" in *\ $file\ *) continue;; esac 43.2426 - [ $(grep "^$(echo $file | grepesc)$" */files.list 2> /dev/null | \ 43.2427 - wc -l) -gt 1 ] || continue 43.2428 - FILES="$FILES$file " 43.2429 - echo "The following packages provide $file :" 43.2430 - grep -l "^$(echo $file | grepesc)$" */files.list | while read f 43.2431 - do 43.2432 - pkg=${f%/files.list} 43.2433 - echo -n " $pkg" 43.2434 - if [ -f $pkg/modifiers ]; then 43.2435 - echo -n " (overridden by $(echo "$(cat $pkg/modifiers)"))" 43.2436 - fi 43.2437 - echo "" 43.2438 - done 43.2439 - done 43.2440 - MSG="No package has installed the following files:\n" 43.2441 - find /etc /bin /sbin /lib /usr /var/www \ 43.2442 - -not -type d 2> /dev/null | while read file; do 43.2443 - case "$file" in *\[*) continue;; esac 43.2444 - grep -q "^$(echo $file | grepesc)$" */files.list && continue 43.2445 - echo -e "$MSG $file" 43.2446 - MSG="" 43.2447 - done 43.2448 - fi 43.2449 - echo "Check completed." ;; 43.2450 - block) 43.2451 - # Add a pkg name to the list of blocked packages. 43.2452 - # 43.2453 - check_root 43.2454 - check_for_package_on_cmdline 43.2455 - echo "" 43.2456 - if grep -qs "^$PACKAGE" $BLOCKED; then 43.2457 - eval_gettext "\$PACKAGE is already in the blocked packages list."; echo 43.2458 - echo "" 43.2459 - exit 0 43.2460 - else 43.2461 - eval_gettext "Add \$PACKAGE to : \$BLOCKED..." 43.2462 - echo $PACKAGE >> $BLOCKED 43.2463 - status 43.2464 - # Log this activity 43.2465 - . $INSTALLED/$PACKAGE/receipt 43.2466 - log Blocked 43.2467 - fi 43.2468 - echo "" ;; 43.2469 - unblock) 43.2470 - # Remove a pkg name from the list of blocked packages. 43.2471 - # 43.2472 - check_root 43.2473 - check_for_package_on_cmdline 43.2474 - echo "" 43.2475 - if grep -qs "^$PACKAGE" $BLOCKED; then 43.2476 - eval_gettext "Removing \$PACKAGE from : \$BLOCKED..." 43.2477 - sed -i s/$PACKAGE/''/ $BLOCKED 43.2478 - sed -i '/^$/d' $BLOCKED 43.2479 - status 43.2480 - # Log this activity 43.2481 - . $INSTALLED/$PACKAGE/receipt 43.2482 - log Unblocked 43.2483 - else 43.2484 - eval_gettext "\$PACKAGE is not in the blocked packages list." 43.2485 - echo "" 43.2486 - exit 0 43.2487 - fi 43.2488 - echo "" ;; 43.2489 - get) 43.2490 - # Downlowd a package with wget. 43.2491 - # 43.2492 - check_for_package_on_cmdline 43.2493 - check_for_packages_list 43.2494 - check_for_package_in_list 43.2495 - echo "" 43.2496 - if [ -f $PACKAGE.tazpkg ]; then 43.2497 - if [ "$(md5sum $PACKAGE.tazpkg)" != "$(grep " $PACKAGE.tazpkg$" /var/lib/tazpkg/packages.md5)" ]; then 43.2498 - rm -f $PACKAGE.tazpkg 43.2499 - download $PACKAGE.tazpkg 43.2500 - fi 43.2501 - else 43.2502 - download $PACKAGE.tazpkg 43.2503 - fi 43.2504 - echo "" ;; 43.2505 - get-install) 43.2506 - # Download and install a package. 43.2507 - # 43.2508 - check_root 43.2509 - check_for_package_on_cmdline 43.2510 - check_for_packages_list 43.2511 - DO_CHECK="" 43.2512 - while [ -n "$3" ]; do 43.2513 - case "$3" in 43.2514 - --forced) 43.2515 - DO_CHECK="no" 43.2516 - ;; 43.2517 - --root=*) 43.2518 - ROOT="${3#--root=}" 43.2519 - ;; 43.2520 - --list=*) 43.2521 - INSTALL_LIST="${3#--list=}" 43.2522 - ;; 43.2523 - *) shift 2 43.2524 - echo -e "\nUnknown option $*.\n" 43.2525 - exit 1 43.2526 - ;; 43.2527 - esac 43.2528 - shift 43.2529 - done 43.2530 - AUTOEXEC="no" 43.2531 - if ! check_for_package_in_list check; then 43.2532 - PACKAGE=get-$PACKAGE 43.2533 - AUTOEXEC=$PACKAGE 43.2534 - check_for_package_in_list 43.2535 - if [ -n "$(get_installed_package_pathname $PACKAGE $ROOT)" ]; then 43.2536 - $AUTOEXEC $ROOT 43.2537 - exit 0 43.2538 - fi 43.2539 - fi 43.2540 - # Check if forced install. 43.2541 - if [ "$DO_CHECK" = "no" ]; then 43.2542 - rm -f $CACHE_DIR/$PACKAGE.tazpkg 43.2543 - else 43.2544 - check_for_installed_package $ROOT 43.2545 - fi 43.2546 - cd $CACHE_DIR 43.2547 - if [ -f "$PACKAGE.tazpkg" ]; then 43.2548 - echo "$PACKAGE already in the cache : $CACHE_DIR" 43.2549 - # Check package download was finished 43.2550 - tail -c 2k $PACKAGE.tazpkg | grep -q 00000000TRAILER || { 43.2551 - eval_gettext "Continuing \$PACKAGE download"; echo 43.2552 - download $PACKAGE.tazpkg 43.2553 - } 43.2554 - if [ "$(md5sum $PACKAGE.tazpkg)" != "$(grep " $PACKAGE.tazpkg$" /var/lib/tazpkg/packages.md5)" ]; then 43.2555 - rm -f $PACKAGE.tazpkg 43.2556 - download $PACKAGE.tazpkg 43.2557 - fi 43.2558 - else 43.2559 - echo "" 43.2560 - download $PACKAGE.tazpkg 43.2561 - fi 43.2562 - PACKAGE_FILE=$CACHE_DIR/$PACKAGE.tazpkg 43.2563 - install_package $ROOT 43.2564 - [ "$AUTOEXEC" != "no" ] && $PACKAGE $ROOT 43.2565 - update_desktop_database $ROOT 43.2566 - update_mime_database $ROOT ;; 43.2567 - clean-cache) 43.2568 - # Remove all downloaded packages. 43.2569 - # 43.2570 - check_root 43.2571 - files=`ls -1 $CACHE_DIR | wc -l` 43.2572 - echo "" 43.2573 - echo -e "\033[1m`gettext \"Clean cache:\"`\033[0m $CACHE_DIR" 43.2574 - echo "================================================================================" 43.2575 - gettext "Cleaning cache directory..." 43.2576 - rm -rf $CACHE_DIR/* 43.2577 - status 43.2578 - echo "================================================================================" 43.2579 - eval_gettext "\$files file(s) removed from cache."; echo 43.2580 - echo "" ;; 43.2581 - list-undigest) 43.2582 - # list undigest URLs. 43.2583 - # 43.2584 - if [ "$2" = "--box" ]; then 43.2585 - for i in $LOCALSTATE/undigest/*/mirror; do 43.2586 - [ -f $i ] || continue 43.2587 - echo "$(basename $(dirname $i))|$(cat $i)" 43.2588 - done 43.2589 - else 43.2590 - echo "" 43.2591 - echo -e "\033[1m`gettext \"Current undigest(s)\"`\033[0m" 43.2592 - echo "================================================================================" 43.2593 - for i in $LOCALSTATE/undigest/*/mirror; do 43.2594 - if [ ! -f $i ]; then 43.2595 - gettext "No undigest mirror found."; echo 43.2596 - exit 1 43.2597 - fi 43.2598 - echo "$(basename $(dirname $i)) $(cat $i)" 43.2599 - done 43.2600 - echo "" 43.2601 - fi ;; 43.2602 - remove-undigest) 43.2603 - # remove undigest URL. 43.2604 - # 43.2605 - check_root 43.2606 - if [ -d $LOCALSTATE/undigest/$2 ]; then 43.2607 - echo -n "Remove $2 undigest (y/N) ? "; read anser 43.2608 - if [ "$anser" = "y" ]; then 43.2609 - echo -n "Removing $2 undigest..." 43.2610 - rm -rf $LOCALSTATE/undigest/$2 43.2611 - status 43.2612 - rmdir $LOCALSTATE/undigest 2> /dev/null 43.2613 - fi 43.2614 - else 43.2615 - echo "Undigest $2 not found" 43.2616 - fi ;; 43.2617 - add-undigest|setup-undigest) 43.2618 - # Add undigest URL. 43.2619 - # 43.2620 - check_root 43.2621 - undigest=$2 43.2622 - [ -d $LOCALSTATE/undigest ] || mkdir $LOCALSTATE/undigest 43.2623 - if [ -z "$undigest" ]; then 43.2624 - i=1 43.2625 - while [ -d $LOCALSTATE/undigest/$i ]; do 43.2626 - i=$(($i+1)) 43.2627 - done 43.2628 - undigest=$i 43.2629 - fi 43.2630 - if [ ! -d $LOCALSTATE/undigest/$undigest ]; then 43.2631 - eval_gettext "Creating new undigest \$undigest."; echo 43.2632 - mkdir $LOCALSTATE/undigest/$undigest 43.2633 - fi 43.2634 - setup_mirror $LOCALSTATE/undigest/$undigest $3 ;; 43.2635 - setup-mirror) 43.2636 - # Change mirror URL. 43.2637 - # 43.2638 - check_root 43.2639 - setup_mirror $LOCALSTATE $2 ;; 43.2640 - reconfigure) 43.2641 - # Replay post_install from receipt 43.2642 - # 43.2643 - check_for_package_on_cmdline 43.2644 - check_root 43.2645 - ROOT="" 43.2646 - while [ -n "$3" ]; do 43.2647 - case "$3" in 43.2648 - --root=*) 43.2649 - ROOT="${3#--root=}/" ;; 43.2650 - *) shift 2 43.2651 - echo -e "\nUnknown option $*.\n" 43.2652 - exit 1 ;; 43.2653 - esac 43.2654 - shift 43.2655 - done 43.2656 - if [ -d "$ROOT$INSTALLED/$PACKAGE" ]; then 43.2657 - check_for_receipt $ROOT 43.2658 - # Check for post_install 43.2659 - if grep -q ^post_install $ROOT$INSTALLED/$PACKAGE/receipt; then 43.2660 - . $ROOT$INSTALLED/$PACKAGE/receipt 43.2661 - post_install $ROOT 43.2662 - # Log this activity 43.2663 - [ -n "$ROOT" ] || log Reconfigured 43.2664 - else 43.2665 - echo "" 43.2666 - eval_gettext "Nothing to do for \$PACKAGE."; echo 43.2667 - fi 43.2668 - else 43.2669 - echo "" 43.2670 - eval_gettext "Package \$PACKAGE is not installed."; echo 43.2671 - gettext "Install package with 'tazpkg install' or 'tazpkg get-install'"; echo 43.2672 - echo "" 43.2673 - fi ;; 43.2674 - shell) 43.2675 - # Tazpkg SHell 43.2676 - # 43.2677 - if test $(id -u) = 0 ; then 43.2678 - PROMPT="\\033[1;33mtazpkg\\033[0;39m# " 43.2679 - else 43.2680 - PROMPT="\\033[1;33mtazpkg\\033[0;39m> " 43.2681 - fi 43.2682 - if [ ! "$2" = "--noheader" ]; then 43.2683 - clear 43.2684 - echo "" 43.2685 - echo -e "\033[1mTazpkg SHell.\033[0m" 43.2686 - echo "================================================================================" 43.2687 - gettext "Type 'usage' to list all available commands or 'quit' or 'q' to exit."; echo 43.2688 - echo "" 43.2689 - fi 43.2690 - while true 43.2691 - do 43.2692 - echo -en "$PROMPT"; read cmd 43.2693 - case $cmd in 43.2694 - q|quit) 43.2695 - break ;; 43.2696 - shell) 43.2697 - gettext "You are already running a Tazpkg SHell."; echo ;; 43.2698 - su) 43.2699 - su -c 'exec tazpkg shell --noheader' && break ;; 43.2700 - "") 43.2701 - continue ;; 43.2702 - *) 43.2703 - tazpkg $cmd ;; 43.2704 - esac 43.2705 - done ;; 43.2706 - depends) 43.2707 - # Display dependencies tree 43.2708 - cd $INSTALLED 43.2709 - ALL_DEPS="" 43.2710 - if [ -f $2/receipt ]; then 43.2711 - dep_scan $2 "" 43.2712 - fi ;; 43.2713 - rdepends) 43.2714 - # Display reverse dependencies tree 43.2715 - cd $INSTALLED 43.2716 - ALL_DEPS="" 43.2717 - if [ -f $2/receipt ]; then 43.2718 - rdep_scan $2 43.2719 - fi ;; 43.2720 - convert) 43.2721 - # convert misc package format to .tazpkg 43.2722 - check_for_package_file 43.2723 - case "$PACKAGE_FILE" in 43.2724 - *.deb|*.udeb) 43.2725 - convert_deb;; 43.2726 - *.rpm) 43.2727 - convert_rpm;; 43.2728 - *.tgz) 43.2729 - convert_tgz;; 43.2730 - *.pkg.tar.gz) 43.2731 - convert_arch;; 43.2732 - *.ipk|*.opk) 43.2733 - convert_ipk;; 43.2734 - *) 43.2735 - gettext "Unsupported format"; echo ;; 43.2736 - esac ;; 43.2737 - link) 43.2738 - # link a package from another slitaz installation 43.2739 - PACKAGE=$2 43.2740 - if [ ! -d "$TARGET_DIR" -o \ 43.2741 - ! -d "$TARGET_DIR$INSTALLED/$PACKAGE" ]; then 43.2742 - cat <<EOT 43.2743 -usage: tazpkg link package_name slitaz_root 43.2744 -example: 'tazpkg link openoffice /mnt' will use less than 100k in 43.2745 - your ram running system. 43.2746 -EOT 43.2747 - exit 1 43.2748 - fi 43.2749 - if [ -e "$INSTALLED/$PACKAGE" ]; then 43.2750 - eval_gettext "\$PACKAGE is already installed."; echo 43.2751 - exit 1 43.2752 - fi 43.2753 - ln -s $TARGET_DIR$INSTALLED/$PACKAGE $INSTALLED 43.2754 - DEPENDS="$(. $INSTALLED/$PACKAGE/receipt ; echo $DEPENDS)" 43.2755 - MISSING="" 43.2756 - for i in $DEPENDS; do 43.2757 - [ -e $INSTALLED/$i ] && continue 43.2758 - MISSING="$MISSING$i " 43.2759 - eval_gettext "Missing : \$i"; echo 43.2760 - done 43.2761 - if [ -n "$MISSING" ]; then 43.2762 - echo "" 43.2763 - gettext "Link all missing dependencies (y/N) ? "; read answer 43.2764 - echo "" 43.2765 - if [ "$answer" = "y" ]; then 43.2766 - for i in $MISSING; do 43.2767 - tazpkg link $i $TARGET_DIR 43.2768 - done 43.2769 - else 43.2770 - echo "" 43.2771 - eval_gettext "Leaving dependencies for \$PACKAGE unsolved."; echo 43.2772 - gettext "The package is installed but will probably not work."; echo 43.2773 - echo "" 43.2774 - fi 43.2775 - fi 43.2776 - . $INSTALLED/$PACKAGE/receipt 43.2777 - if grep -q ^pre_install $INSTALLED/$PACKAGE/receipt; then 43.2778 - pre_install 43.2779 - fi 43.2780 - while read path; do 43.2781 - [ -e $path ] && continue 43.2782 - while true; do 43.2783 - dir=$(dirname $path) 43.2784 - [ -e $dir ] && break 43.2785 - path=$dir 43.2786 - done 43.2787 - ln -s $TARGET_DIR$path $dir 43.2788 - done < $INSTALLED/$PACKAGE/files.list 43.2789 - if grep -q ^post_install $INSTALLED/$PACKAGE/receipt; then 43.2790 - post_install 43.2791 - fi ;; 43.2792 - usage|*) 43.2793 - # Print a short help or give usage for an unknown or empty command. 43.2794 - usage ;; 43.2795 -esac 43.2796 - 43.2797 -exit 0