slitaz-arm rev 25
sat: check pkgs deps and some cosmetic improvment
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Mon Mar 03 03:48:52 2014 +0100 (2014-03-03) |
parents | 0074518df282 |
children | 490947b1da1a |
files | .hgignore flavors/base/packages.list sat |
line diff
1.1 --- a/.hgignore Mon Mar 03 02:33:55 2014 +0100 1.2 +++ b/.hgignore Mon Mar 03 03:48:52 2014 +0100 1.3 @@ -1,7 +1,9 @@ 1.4 distro/ 1.5 +cache/ 1.6 mirror/ 1.7 packages/ 1.8 spk/ 1.9 linux-arm 1.10 -slitaz-arm.gz 1.11 +slitaz-arm.* 1.12 vdisk.img 1.13 +packages.list
2.1 --- a/flavors/base/packages.list Mon Mar 03 02:33:55 2014 +0100 2.2 +++ b/flavors/base/packages.list Mon Mar 03 03:48:52 2014 +0100 2.3 @@ -10,3 +10,8 @@ 2.4 tazirc 2.5 util-linux-blkid 2.6 util-linux-uuid 2.7 +ncurses-common 2.8 +ncursesw 2.9 +libcomerr 2.10 +e2fsprogs 2.11 +dialog
3.1 --- a/sat Mon Mar 03 02:33:55 2014 +0100 3.2 +++ b/sat Mon Mar 03 03:48:52 2014 +0100 3.3 @@ -16,6 +16,7 @@ 3.4 packages=$work/packages 3.5 distro=$work/distro 3.6 flavors=$work/flavors 3.7 +cache=$work/cache 3.8 # http://mirror.slitaz.org/packages/cooking/arm/ 3.9 mirror="http://cook.slitaz.org/cross/arm/packages/" 3.10 3.11 @@ -28,6 +29,7 @@ 3.12 $(boldify "Commands:") 3.13 gen Generate a distro cpio/gzip initramfs 3.14 flavors List and give info about flavors 3.15 + pkgs Distro packages check and count 3.16 clean Clean up the work directory 3.17 vdisk Create a virtual disk to be used by Qemu 3.18 emu Emulate the distro with qemu-system-arm 3.19 @@ -70,8 +72,11 @@ 3.20 gen) 3.21 time=$(date +%s) 3.22 check_root 3.23 + echo "" 3.24 + boldify "Generating SliTaz ARM distro" 3.25 + separator 3.26 rm -rf $distro $initramfs 3.27 - mkdir -p $distro 3.28 + mkdir -p $distro $cache 3.29 3.30 # Get --flavor= packages lists 3.31 if [ "$flavor" ]; then 3.32 @@ -81,7 +86,7 @@ 3.33 fi 3.34 3.35 # Packages 3.36 - rm -f $work/packages.full 3.37 + rm -f $cache/packages.full 3.38 if [ -f "packages.list" ]; then 3.39 for pkg in $(cat $packages.list) 3.40 do 3.41 @@ -89,21 +94,22 @@ 3.42 grep "^$pkg |" $work/mirror/packages.desc | while read pkg version desc 3.43 do 3.44 echo ${pkg}-${version}-arm.tazpkg | sed s'/ //'g \ 3.45 - >> $work/packages.full 3.46 + >> $cache/packages.full 3.47 done 3.48 unset IFS 3.49 done 3.50 cd ${work}/mirror 3.51 else 3.52 - [ ! -d "$packages" ] && echo "Missing: $packages" && exit 1 3.53 + [ ! -d "$packages" ] && \ 3.54 + echo "Missing packages.list or packages/ directory" && exit 1 3.55 echo -n "Using packages directory..." 3.56 - cd $packages && ls -1 > $work/packages.full 3.57 + cd $packages && ls -1 > $cache/packages.full 3.58 status 3.59 fi 3.60 3.61 # Deps install is not well handled by tazpkg/spk actually. 3.62 # So simply install all packages and don't resolve deps. 3.63 - for pkg in $(cat $work/packages.full) 3.64 + for pkg in $(cat $cache/packages.full) 3.65 do 3.66 pkgdir=$(basename $pkg .tazpkg) 3.67 db=$distro/var/lib/tazpkg 3.68 @@ -175,14 +181,20 @@ 3.69 case $initramfs in 3.70 *.bz2) find . | cpio -o -H newc | bzip2 > ../$initramfs ;; 3.71 *.gz) find . | cpio -o -H newc | gzip -9 > ../$initramfs ;; 3.72 - *.xz) find . | cpio -o -H newc | xz -9 --format=lzma \ 3.73 - > ../$initramfs ;; 3.74 + *.xz) find . | cpio -o -H newc | xz -9 --format=lzma > ../$initramfs ;; 3.75 esac 3.76 + 3.77 + # Summary 3.78 status 3.79 + separator && echo "" 3.80 + boldify "SliTaz ARM distro summary" 3.81 + separator 3.82 time=$(($(date +%s) - $time)) 3.83 - echo "Build time : ${time}s" 3.84 - echo -n "Distro size : " 3.85 - cd $work && du -sh $initramfs | awk '{print $1}' ;; 3.86 + echo -n "Build time : " && echo "${time}s" 3.87 + echo -n "Initramfs size : " && du -sh $work/$initramfs | awk '{print $1}' 3.88 + echo -n "Rootfs size : " && du -sh $distro | awk '{print $1}' 3.89 + echo -n "Packages : " && ls $db/installed | wc -l 3.90 + separator && echo "" ;; 3.91 3.92 flavors) 3.93 echo "" 3.94 @@ -195,9 +207,35 @@ 3.95 done 3.96 echo "" ;; 3.97 3.98 + pkgs) 3.99 + installed="$distro/var/lib/tazpkg/installed" 3.100 + SLITAZ_ARCH="arm" 3.101 + count=0 3.102 + echo "" 3.103 + echo -n "Package name" && indent 24 "Missing dependencie" 3.104 + separator 3.105 + for pkg in ${installed}/* 3.106 + do 3.107 + . $pkg/receipt 3.108 + for dep in $DEPENDS 3.109 + do 3.110 + if [ ! -d "${installed}/$dep" ]; then 3.111 + echo -n "$(colorize 34 $PACKAGE)" && indent 24 "$dep" 3.112 + count=$(($count + 1)) 3.113 + fi 3.114 + done 3.115 + unset DEPENDS 3.116 + done 3.117 + if [ "$count" == 0 ]; then 3.118 + echo "No missing dependencies" 3.119 + fi 3.120 + separator 3.121 + echo -n "Installed packages: "; colorize 32 $(ls $installed | wc -l) 3.122 + echo "" ;; 3.123 + 3.124 clean) 3.125 check_root 3.126 - for r in distro linux-arm slitaz-arm.*z spk packages.*; do 3.127 + for r in distro cache linux-arm slitaz-arm.*z; do 3.128 echo -n "Cleaning: $r" 3.129 rm -rf $work/$r && status 3.130 done ;;